Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

ng-select2-component

Package Overview
Dependencies
Maintainers
1
Versions
66
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ng-select2-component - npm Package Compare versions

Comparing version 7.0.1 to 7.0.2

2

bundles/ng-select2-component.umd.min.js

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("rxjs"),require("@angular/core"),require("@angular/common"),require("@angular/forms")):"function"==typeof define&&define.amd?define("ng-select2-component",["exports","rxjs","@angular/core","@angular/common","@angular/forms"],t):t(e["ng-select2-component"]={},e.rxjs,e.ng.core,e.ng.common,e.ng.forms)}(this,function(e,l,i,t,n){"use strict";function b(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}var s=[{l:"a",s:/[ⓐaẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐ]/gi},{l:"aa",s:/ꜳ/gi},{l:"ae",s:/[æǽǣ]/gi},{l:"ao",s:/ꜵ/gi},{l:"au",s:/ꜷ/gi},{l:"av",s:/[ꜹꜻ]/gi},{l:"ay",s:/ꜽ/gi},{l:"b",s:/[ⓑbḃḅḇƀƃɓ]/gi},{l:"c",s:/[ⓒcćĉċčçḉƈȼꜿↄ]/gi},{l:"d",s:/[ⓓdḋďḍḑḓḏđƌɖɗꝺ]/gi},{l:"dz",s:/[dzdž]/gi},{l:"e",s:/[ⓔeèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇɛǝ]/gi},{l:"f",s:/[ⓕfḟƒꝼ]/gi},{l:"g",s:/[ⓖgǵĝḡğġǧģǥɠꞡᵹꝿ]/gi},{l:"h",s:/[ⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ]/gi},{l:"hv",s:/ƕ/gi},{l:"i",s:/[ⓘiìíîĩīĭİïḯỉǐȉȋịįḭɨı]/gi},{l:"j",s:/[ⓙjĵǰɉ]/gi},{l:"k",s:/[ⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ]/gi},{l:"l",s:/[ⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇꝆ]/gi},{l:"lj",s:/lj/gi},{l:"m",s:/[ⓜmḿṁṃɱɯ]/gi},{l:"n",s:/[ⓝnǹńñṅňṇņṋṉƞɲʼnꞑꞥ]/gi},{l:"nj",s:/nj/gi},{l:"o",s:/[ⓞoòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿɔƟꝋꝍɵ]/gi},{l:"oi",s:/ƣ/gi},{l:"oe",s:/œ/gi},{l:"oo",s:/ꝏ/gi},{l:"ou",s:/ȣ/gi},{l:"p",s:/[ⓟpṕṗƥᵽꝑꝓꝕ]/gi},{l:"q",s:/[ⓠqɋꝗꝙ]/gi},{l:"r",s:/[ⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ]/gi},{l:"s",s:/[ⓢsßẞśṥŝṡšṧṣṩșşȿꞩꞅẛ]/gi},{l:"t",s:/[ⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ]/gi},{l:"tz",s:/ꜩ/gi},{l:"u",s:/[ⓤuùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ]/gi},{l:"v",s:/[ⓥvṽṿʋꝟʌ]/gi},{l:"vy",s:/ꝡ/gi},{l:"w",s:/[ⓦwẁẃŵẇẅẘẉⱳ]/gi},{l:"x",s:/[ⓧxẋẍ]/gi},{l:"y",s:/[ⓨyỳýŷỹȳẏÿỷẙỵƴɏỿ]/gi},{l:"z",s:/[ⓩzźẑżžẓẕƶȥɀⱬꝣ]/gi}],o=function(){function m(){}return m.getScrollUpIndex=function(e,t){var n,o,r=0;try{for(var l=b(e),i=l.next();!i.done;i=l.next()){var s=i.value,c=s.options;if(c){r++;var a=c.findIndex(function(e){return e.value===t});if(-1!==a)return r+a;r+=c.length}else{if(s.value===t)return r;r++}}}catch(u){n={error:u}}finally{try{i&&!i.done&&(o=l["return"])&&o.call(l)}finally{if(n)throw n.error}}return 0},m.getOptionByValue=function(e,t){var n,o,r,l;try{for(var i=b(e),s=i.next();!s.done;s=i.next()){var c=s.value,a=c.options;if(a)try{for(var u=b(a),p=u.next();!p.done;p=u.next()){var d=p.value;if(d.value===t)return d}}catch(h){r={error:h}}finally{try{p&&!p.done&&(l=u["return"])&&l.call(u)}finally{if(r)throw r.error}}else if(c.value===t)return c}}catch(f){n={error:f}}finally{try{s&&!s.done&&(o=i["return"])&&o.call(i)}finally{if(n)throw n.error}}return null},m.getOptionsByValue=function(e,t,n){var o,r;if(n){var l=Array.isArray(t)?t:[],i=[];try{for(var s=b(l),c=s.next();!c.done;c=s.next()){var a=c.value,u=m.getOptionByValue(e,a);u&&i.push(u)}}catch(p){o={error:p}}finally{try{c&&!c.done&&(r=s["return"])&&r.call(s)}finally{if(o)throw o.error}}return i}return m.getOptionByValue(e,t)},m.getFirstAvailableOption=function(e){var t,n,o,r;try{for(var l=b(e),i=l.next();!i.done;i=l.next()){var s=i.value,c=s.options;if(c)try{for(var a=b(c),u=a.next();!u.done;u=a.next()){var p;if(!(p=u.value).disabled)return p.value}}catch(d){o={error:d}}finally{try{u&&!u.done&&(r=a["return"])&&r.call(a)}finally{if(o)throw o.error}}else if(!(p=s).disabled)return p.value}}catch(h){t={error:h}}finally{try{i&&!i.done&&(n=l["return"])&&n.call(l)}finally{if(t)throw t.error}}return null},m.getOptionsCount=function(e){var t,n,o=0;try{for(var r=b(e),l=r.next();!l.done;l=r.next()){var i=l.value.options;i?o+=i.length:o++}}catch(s){t={error:s}}finally{try{l&&!l.done&&(n=r["return"])&&n.call(r)}finally{if(t)throw t.error}}return o},m.valueIsNotInFilteredData=function(e,t){var n,o,r,l;if(m.isNullOrUndefined(t))return!0;try{for(var i=b(e),s=i.next();!s.done;s=i.next()){var c=s.value,a=c.options;if(a)try{for(var u=b(a),p=u.next();!p.done;p=u.next()){if(p.value.value===t)return!1}}catch(d){r={error:d}}finally{try{p&&!p.done&&(l=u["return"])&&l.call(u)}finally{if(r)throw r.error}}else if(c.value===t)return!1}}catch(h){n={error:h}}finally{try{s&&!s.done&&(o=i["return"])&&o.call(i)}finally{if(n)throw n.error}}return!0},m.getPreviousOption=function(e,t){for(var n=m.isNullOrUndefined(t),o=e.length-1;0<=o;o--){var r=e[o],l=r.options;if(l)for(var i=l.length-1;0<=i;i--){var s=l[i];if(n&&!s.disabled)return s;n=s.value===t}else{s=r;if(n&&!s.disabled)return s;n=s.value===t}}return null},m.getNextOption=function(e,t){var n,o,r,l,i=m.isNullOrUndefined(t);try{for(var s=b(e),c=s.next();!c.done;c=s.next()){var a=c.value,u=a.options;if(u)try{for(var p=b(u),d=p.next();!d.done;d=p.next()){var h=d.value;if(i){if(!h.disabled)return h}else i=h.value===t}}catch(f){r={error:f}}finally{try{d&&!d.done&&(l=p["return"])&&l.call(p)}finally{if(r)throw r.error}}else{h=a;if(i){if(!h.disabled)return h}else i=h.value===t}}}catch(g){n={error:g}}finally{try{c&&!c.done&&(o=s["return"])&&o.call(s)}finally{if(n)throw n.error}}return null},m.isNullOrUndefined=function(e){return null===e||e===undefined},m.containSearchText=function(e,t,n){return!t||null!==m.formatSansUnicode(e).match(new RegExp(m.formatPattern(t,n),"i"))},m.protectPattern=function(e){return e.replace(new RegExp("[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]","g"),"\\$&")},m.formatSansUnicode=function(e){var t,n;try{for(var o=b(s),r=o.next();!r.done;r=o.next()){var l=r.value;e=e.replace(l.s,l.l)}}catch(i){t={error:i}}finally{try{r&&!r.done&&(n=o["return"])&&n.call(o)}finally{if(t)throw t.error}}return e},m.formatPattern=function(e,t){return e=m.formatSansUnicode(m.protectPattern(e)),t&&"function"==typeof t&&(e=t(e)),e},m.getFilteredData=function(e,t,n){var o,r;if(t){var l=[];try{for(var i=b(e),s=i.next();!s.done;s=i.next()){var c=s.value,a=c.options;if(a){if(a.some(function(e){return m.containSearchText(e.label,t,n)})){var u=a.filter(function(e){return m.containSearchText(e.label,t,n)});l.push({label:c.label,options:u})}}else m.containSearchText(c.label,t,n)&&l.push(c)}}catch(p){o={error:p}}finally{try{s&&!s.done&&(r=i["return"])&&r.call(i)}finally{if(o)throw o.error}}return l}return e},m.getOptionStyle=function(e,t){return e===t?"select2-results__option select2-results__option--highlighted":"select2-results__option"},m.getDropdownStyle=function(e){return e?"select2-container select2-container--default select2-container-dropdown select2-container--open":"select2-container select2-container--default select2-container-dropdown"},m.getContainerStyle=function(e,t){return"select2 select2-container select2-container--default "+(e?"select2-container--disabled":"")+" "+(t?"select2-container--open":"")+" select2-container--below select2-container--focus"},m.getSelectionStyle=function(e){return"select2-selection select2-selection--"+(e?"multiple":"single")},m.isSearchboxHiddex=function(e,t){return"number"!=typeof t&&(t=6),m.getOptionsCount(e)<t},m.getSearchStyle=function(e){return e?"select2-search select2-search--dropdown select2-search--hide":"select2-search select2-search--dropdown"},m.isSelected=function(e,t,n){return n?e&&e.some(function(e){return e.value===t.value})?"true":"false":e&&t.value===e.value?"true":"false"},m.removeSelection=function(e,t){for(var n=0;n<e.length;n++)if(e[n].value===t.value)return void e.splice(n,1)},m}(),c=0,r=function(){function e(e,t,n,o,r){this._changeDetectorRef=e,this._parentForm=t,this._parentFormGroup=n,this._control=o,this.update=new i.EventEmitter,this.open=new i.EventEmitter,this.search=new i.EventEmitter,this.option=null,this.isOpen=!1,this.hoveringValue=null,this.innerSearchText="",this.lastScrollTopIndex=0,this._stateChanges=new l.Subject,this.focused=!1,this._onTouched=function(){},this._onChange=function(){},this._disabled=!1,this._required=!1,this._readonly=!1,this._clickDetection=!1,this._uid="select2-"+c++,this._previousNativeValue=this._value,this.id=this.id,this._tabIndex=parseInt(r,10)||0,this._control&&(this._control.valueAccessor=this),this._clickDetectionFc=this.clickDetection.bind(this)}return Object.defineProperty(e.prototype,"select2Options",{get:function(){return this.multiple?this.option:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"select2Option",{get:function(){return this.multiple?null:this.option},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"searchText",{get:function(){return this.innerSearchText},set:function(e){this.customSearchEnabled&&this.search.emit(e),this.innerSearchText=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dropdownStyle",{get:function(){return o.getDropdownStyle(this.isOpen)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"containerStyle",{get:function(){return o.getContainerStyle(this.disabled,this.isOpen)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selectionStyle",{get:function(){return o.getSelectionStyle(this.multiple)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},set:function(e){this._id=e||this._uid},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"required",{get:function(){return this._required},set:function(e){this._required=this._coerceBooleanProperty(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this._control?this._control.disabled:this._disabled},set:function(e){this._disabled=this._coerceBooleanProperty(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"readonly",{get:function(){return this._readonly},set:function(e){this._readonly=this._coerceBooleanProperty(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this._value},set:function(e){var t=this;setTimeout(function(){t._value=e,t.writeValue(e)})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"tabIndex",{get:function(){return this.disabled?-1:this._tabIndex},set:function(e){void 0!==e&&(this._tabIndex=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ariaInvalid",{get:function(){return this._isErrorState()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"classMaterial",{get:function(){return""===this.material||!0===this.material},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=o.getOptionsByValue(this.data,this._control?this._control.value:this.value,this.multiple);null!==e&&(this.option=e),Array.isArray(e)||(this.hoveringValue=this.value),this.isSearchboxHidden=!this.customSearchEnabled&&o.isSearchboxHiddex(this.data,this.minCountForSearch),this.searchStyle=o.getSearchStyle(this.isSearchboxHidden)},e.prototype.ngAfterViewInit=function(){this.selectionElement=this.selection.nativeElement,this.searchInputElement=this.searchInput.nativeElement,this.resultsElement=this.resultContainer.nativeElement},e.prototype.ngDoCheck=function(){this._dirtyCheckNativeValue()},e.prototype.ngOnDestroy=function(){window.document.body.removeEventListener("click",this._clickDetectionFc)},e.prototype.getOptionStyle=function(e){return o.getOptionStyle(e.value,this.hoveringValue)+(e.classes?" "+e.classes:"")},e.prototype.mouseenter=function(e){e.disabled||(this.hoveringValue=e.value)},e.prototype.click=function(e){e.disabled||this.select(e)},e.prototype.toggleOpenAndClose=function(){var e=this;this.disabled||(this.focused=!0,this.isOpen=!this.isOpen,this.isOpen&&(this.innerSearchText="",this.updateFilteredData(),this.focusSearchboxOrResultsElement(),this.resultsElement&&this.lastScrollTopIndex&&(this.resultsElement.scrollTop=this.lastScrollTopIndex),this.open.emit()),this.isOpen&&!this._clickDetection&&setTimeout(function(){window.document.body.addEventListener("click",e._clickDetectionFc,!1),e._clickDetection=!0},200),this._changeDetectorRef.markForCheck())},e.prototype.updateFilteredData=function(){var e=this.customSearchEnabled?this.data:o.getFilteredData(this.data,this.searchText,this.editPattern);o.valueIsNotInFilteredData(e,this.hoveringValue)&&(this.hoveringValue=o.getFirstAvailableOption(e)),this.filteredData=e},e.prototype.clickDetection=function(e){this.ifParentContainsClass(e.target,"selection")?this.isOpen&&!this.ifParentContainsId(e.target,this._id)&&(this.toggleOpenAndClose(),this.clickExit()):(this.isOpen&&!this.ifParentContainsClass(e.target,"select2-dropdown")&&this.toggleOpenAndClose(),this.ifParentContainsId(e.target,this._id)||this.clickExit())},e.prototype.clickExit=function(){this.focused=!1,window.document.body.removeEventListener("click",this._clickDetectionFc),this._clickDetection=!1},e.prototype.ifParentContainsClass=function(e,t){return null!==this.getParentElementByClass(e,t)},e.prototype.ifParentContainsId=function(e,t){return null!==this.getParentElementById(e,t)},e.prototype.getParentElementByClass=function(e,t){return this.containClasses(e,t.trim().split(/\s+/))?e:e.parentElement?this.getParentElementByClass(e.parentElement,t):null},e.prototype.getParentElementById=function(e,t){return e.id===t?e:e.parentElement?this.getParentElementById(e.parentElement,t):null},e.prototype.containClasses=function(e,t){var n,o;if(!e.classList)return!1;try{for(var r=b(t),l=r.next();!l.done;l=r.next()){var i=l.value;if(!e.classList.contains(i))return!1}}catch(s){n={error:s}}finally{try{l&&!l.done&&(o=r["return"])&&o.call(r)}finally{if(n)throw n.error}}return!0},e.prototype.focusin=function(){this.disabled||(this.focused=!0)},e.prototype.focusout=function(){this.selectionElement&&!this.selectionElement.classList.contains("select2-focused")&&(this.focused=!1,this._onTouched())},e.prototype.moveUp=function(){this.updateScrollFromOption(o.getPreviousOption(this.filteredData,this.hoveringValue))},e.prototype.moveDown=function(){this.updateScrollFromOption(o.getNextOption(this.filteredData,this.hoveringValue))},e.prototype.updateScrollFromOption=function(t){if(t){this.hoveringValue=t.value;var e=this.results.find(function(e){return e.nativeElement.innerText.trim()===t.label});if(e){var n=e.nativeElement.getBoundingClientRect();this.lastScrollTopIndex=n.top+this.resultsElement.scrollTop-this.resultsElement.getBoundingClientRect().height-this.selection.nativeElement.getBoundingClientRect().top+2*n.height,this.resultsElement.scrollTop=this.lastScrollTopIndex}}},e.prototype.selectByEnter=function(){if(this.hoveringValue){var e=o.getOptionByValue(this.data,this.hoveringValue);this.select(e)}},e.prototype.select=function(t){var e;if(null!==t)if(this.multiple){var n=this.option,o=n.findIndex(function(e){return e.value===t.value});-1===o?n.push(t):n.splice(o,1),e=this.option.map(function(e){return e.value})}else this.option=t,this.isOpen=!1,this.selectionElement&&this.selectionElement.focus(),e=this.option.value;else this._control&&(this.option=null);this._control&&this._onChange(e),this.update.emit(e)},e.prototype.keyDown=function(e){this._testKey(e,["ArrowDown",40])?(this.moveDown(),e.preventDefault()):this._testKey(e,["ArrowUp",38])?(this.moveUp(),e.preventDefault()):this._testKey(e,["Enter",13])?(this.selectByEnter(),e.preventDefault()):this._testKey(e,["Escape","Tab",9,27])&&this.isOpen&&(this.toggleOpenAndClose(),this.focused=!1)},e.prototype.openKey=function(e){this._testKey(e,["ArrowDown","ArrowUp","Enter",40,38,13])?(this.toggleOpenAndClose(),e.preventDefault()):this._testKey(e,["Escape",9])&&(this.focused=!1,this._onTouched())},e.prototype.trackBy=function(e,t){return t.value},e.prototype.searchUpdate=function(e){this.searchText=e.target.value,this.updateFilteredData()},e.prototype.isSelected=function(e){return o.isSelected(this.option,e,this.multiple)},e.prototype.isDisabled=function(e){return e.disabled?"true":"false"},e.prototype.removeSelection=function(e,t){o.removeSelection(this.option,t);var n=this.option.map(function(e){return e.value});this._control&&this._onChange(n),this.update.emit(n),e.preventDefault(),e.stopPropagation(),this.isOpen&&this.focusSearchboxOrResultsElement()},e.prototype.writeValue=function(e){this._setSelectionByValue(e)},e.prototype.registerOnChange=function(e){this._onChange=e},e.prototype.registerOnTouched=function(e){this._onTouched=e},e.prototype.setDisabledState=function(e){this.disabled=e},e.prototype._isErrorState=function(){var e=this._control&&this._control.invalid,t=this._control&&this._control.touched,n=this._parentFormGroup&&this._parentFormGroup.submitted||this._parentForm&&this._parentForm.submitted;return!(!e||!t&&!n)},e.prototype._testKey=function(e,t){return void 0===t&&(t=[]),this._isKey(this._getKey(e),t)},e.prototype._getKey=function(e){var t;return e.key!==undefined?t=e.key:e.keyIdentifier!==undefined?t=e.keyIdentifier:e.keyCode!==undefined?t=e.keyCode:e.preventDefault(),t},e.prototype._isKey=function(e,t){return void 0===t&&(t=[]),!!(t&&0<t.length)&&-1!==t.indexOf(e)},e.prototype._setSelectionByValue=function(e){var t=this;if(this.option||e!==undefined&&null!==e){var n=Array.isArray(e);if(this.multiple&&e&&!n)throw new Error("Non array value.");this.data?this._control&&this.multiple?(this.option=[],n&&o.getOptionsByValue(this.data,e,this.multiple).map(function(e){return t.select(e)})):this.select(o.getOptionByValue(this.data,e)):this._control&&this._control.viewToModelUpdate(e),this._changeDetectorRef.markForCheck()}},e.prototype._dirtyCheckNativeValue=function(){var e=this.value;this._previousNativeValue!==e&&(this._previousNativeValue=e,this._stateChanges.next())},e.prototype._coerceBooleanProperty=function(e){return null!=e&&""+e!="false"},e.prototype.focusSearchboxOrResultsElement=function(){this.isSearchboxHidden?this.resultsElement&&this.resultsElement.focus():this.searchInputElement&&this.searchInputElement.focus()},e.decorators=[{type:i.Component,args:[{selector:"select2",template:'<div class="select2-lalel"\r\n (click)="toggleOpenAndClose()">\r\n <ng-content select="select2-label"></ng-content>\r\n</div>\r\n<div [class]="containerStyle">\r\n <div class="selection"\r\n #selection\r\n [attr.tabindex]="!this.isOpen ? tabIndex : \'-1\'"\r\n (click)="toggleOpenAndClose()"\r\n (focus)="focusin()"\r\n (blur)="focusout()"\r\n (keydown)="openKey($event)"\r\n [class.select2-focused]="focused">\r\n <div [class]="selectionStyle"\r\n role="combobox">\r\n <span *ngIf="!multiple"\r\n class="select2-selection__rendered"\r\n [title]="select2Option ? select2Option.label : \'\'">\r\n <span *ngIf="!select2Option">&nbsp;</span>\r\n <ng-container *ngIf="select2Option">{{select2Option.label}}</ng-container>\r\n <span [class.select2-selection__placeholder__option]="option"\r\n class="select2-selection__placeholder">{{placeholder}}</span>\r\n </span>\r\n <span *ngIf="!multiple"\r\n class="select2-selection__arrow"\r\n role="presentation">\r\n <b role="presentation"></b>\r\n </span>\r\n <ul *ngIf="multiple"\r\n class="select2-selection__rendered">\r\n <span [class.select2-selection__placeholder__option]="select2Options?.length > 0"\r\n class="select2-selection__placeholder">{{placeholder}}</span>\r\n <li *ngFor="let op of option; trackBy: trackBy"\r\n class="select2-selection__choice"\r\n [title]="op.label">\r\n <span (click)="removeSelection($event, op)"\r\n class="select2-selection__choice__remove"\r\n role="presentation">×</span>\r\n {{op.label}}\r\n </li>\r\n </ul>\r\n </div>\r\n <div class="select2-subscript-wrapper">\r\n <ng-content select="select2-hint"></ng-content>\r\n </div>\r\n </div>\r\n <div [class]="dropdownStyle">\r\n <div class="select2-dropdown select2-dropdown--below">\r\n <div [class]="searchStyle">\r\n <input #searchInput\r\n [id]="id + \'-search-field\'"\r\n [value]="searchText"\r\n (keydown)="keyDown($event)"\r\n (keyup)="searchUpdate($event)"\r\n class="select2-search__field"\r\n type="search"\r\n role="textbox"\r\n autocomplete="off"\r\n autocorrect="off"\r\n autocapitalize="off"\r\n spellcheck="false"\r\n [attr.tabindex]="this.isOpen ? tabIndex : \'-1\'">\r\n </div>\r\n <div class="select2-results">\r\n <ul #results\r\n class="select2-results__options"\r\n role="tree"\r\n tabindex="-1"\r\n (keydown)="keyDown($event)">\r\n <ng-template ngFor\r\n [ngForOf]="filteredData"\r\n let-groupOrOption\r\n [ngForTrackBy]="trackBy">\r\n <li *ngIf="groupOrOption.options"\r\n class="select2-results__option"\r\n role="group">\r\n <strong\r\n [attr.class]="\'select2-results__group\' + (groupOrOption.classes ? \' \' + groupOrOption.classes : \'\')">{{groupOrOption.label}}</strong>\r\n <ul class="select2-results__options select2-results__options--nested">\r\n <li *ngFor="let option of groupOrOption.options; trackBy:trackBy"\r\n #result\r\n [class]="getOptionStyle(option)"\r\n role="treeitem"\r\n [attr.aria-selected]="isSelected(option)"\r\n [attr.aria-disabled]="isDisabled(option)"\r\n (mouseenter)="mouseenter(option)"\r\n (click)="click(option)">{{option.label}}</li>\r\n </ul>\r\n </li>\r\n <li *ngIf="!groupOrOption.options"\r\n #result\r\n [class]="getOptionStyle(groupOrOption)"\r\n role="treeitem"\r\n [attr.aria-selected]="isSelected(groupOrOption)"\r\n [attr.aria-disabled]="isDisabled(groupOrOption)"\r\n (mouseenter)="mouseenter(groupOrOption)"\r\n (click)="click(groupOrOption)">\r\n {{groupOrOption.label}}\r\n </li>\r\n </ng-template>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n</div>',styles:[".select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle;width:100%}.select2-container .select2-container-dropdown{position:absolute;width:0}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container.select2-container-dropdown.select2-container--open{width:100%}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default.select2-container--focused .select2-selection--multiple,.select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--multiple,.select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--single{border:1px solid #000;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:0 0;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px;color:gray}:host.material{display:inline-block;width:300px}:host.material>.select2-container{padding-bottom:1.29688em;vertical-align:inherit}:host.material>.select2-container .selection{padding:.4375em 0;border-top:.84375em solid transparent;display:inline-flex;align-items:baseline;width:100%;height:auto}:host.material .select2-container--default .select2-selection--multiple,:host.material .select2-container--default .select2-selection--single{width:100%;border:0;border-radius:0;height:24px;box-sizing:border-box}:host.material .select2-container--default .select2-selection--multiple::before,:host.material .select2-container--default .select2-selection--single::before{content:' ';display:block;position:absolute;bottom:1.65em;background-color:#ddd;height:1px;width:100%}:host.material .select2-container--default .select2-selection--multiple::after,:host.material .select2-container--default .select2-selection--single::after{content:' ';display:block;position:absolute;bottom:1.63em;background-color:#5a419e;height:2px;width:0%;left:50%;transition:none}:host.material .select2-container--default .select2-selection--multiple .select2-selection__rendered,:host.material .select2-container--default .select2-selection--single .select2-selection__rendered{padding-left:1px;line-height:inherit}:host.material .select2-container--default .select2-selection--multiple .select2-selection__placeholder,:host.material .select2-container--default .select2-selection--single .select2-selection__placeholder{display:block;color:rgba(0,0,0,.38);transition:transform .3s;transition:transform .3s,-webkit-transform .3s;position:absolute;-webkit-transform-origin:0 21px;transform-origin:0 21px;left:0;top:20px}:host.material .select2-container--default .select2-container--open{left:0;bottom:1.6em}:host.material .select2-container--default .select2-selection__placeholder__option{-webkit-transform:translateY(-1.5em) scale(.75) perspective(100px) translateZ(.001px);transform:translateY(-1.5em) scale(.75) perspective(100px) translateZ(.001px);width:133.33333%}:host.material .select2-container--default .select2-selection__arrow{top:20px}:host.material .select2-container--default .select2-focused .select2-selection--multiple::after,:host.material .select2-container--default .select2-focused .select2-selection--single::after,:host.material .select2-container--default.select2-container--open .select2-selection--multiple::after,:host.material .select2-container--default.select2-container--open .select2-selection--single::after{transition:width .3s cubic-bezier(.12,1,.77,1),left .3s cubic-bezier(.12,1,.77,1);width:100%;left:0}:host.material .select2-container--default .select2-dropdown{border-radius:0;border:0;box-shadow:0 5px 5px rgba(0,0,0,.5)}:host.material .select2-container--default .select2-results__option--highlighted[aria-selected],:host.material .select2-container--default .select2-results__option[aria-selected=true]{background-color:rgba(0,0,0,.04);color:#000}:host.material .select2-container--default .select2-results__option[aria-selected=true]{color:#ff5722}:host.material .select2-container--default.select2-container--disabled .select2-selection--multiple,:host.material .select2-container--default.select2-container--disabled .select2-selection--single{background-color:transparent}:host.material .select2-container--default.select2-container--disabled .select2-selection--multiple::before,:host.material .select2-container--default.select2-container--disabled .select2-selection--single::before{background-image:linear-gradient(to right,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 33%,transparent 0);background-size:4px 1px;background-repeat:repeat-x;background-color:transparent;background-position:0 bottom}:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--multiple::after,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--multiple::before,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--single::after,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--single::before{background-color:red}:host.material:not(.select2-container--open) .select2-focused .select2-selection--multiple,:host.material:not(.select2-container--open) .select2-focused .select2-selection--single{border:0}:host.material .select2-subscript-wrapper{position:absolute;top:calc(100% - 1.72917em);font-size:75%}@supports (-moz-appearance:none){select2.material .select2-container--default .select2-selection--multiple,select2.material .select2-container--default .select2-selection--single{height:26px}}@supports (-ms-scroll-limit:0){select2.material .select2-container--default .select2-selection--multiple,select2.material .select2-container--default .select2-selection--single{height:25px}}"]}]}],e.ctorParameters=function(){return[{type:i.ChangeDetectorRef},{type:n.NgForm,decorators:[{type:i.Optional}]},{type:n.FormGroupDirective,decorators:[{type:i.Optional}]},{type:n.NgControl,decorators:[{type:i.Self},{type:i.Optional}]},{type:String,decorators:[{type:i.Attribute,args:["tabindex"]}]}]},e.propDecorators={data:[{type:i.Input}],minCountForSearch:[{type:i.Input}],placeholder:[{type:i.Input}],customSearchEnabled:[{type:i.Input}],multiple:[{type:i.Input}],material:[{type:i.Input}],editPattern:[{type:i.Input}],update:[{type:i.Output}],open:[{type:i.Output}],search:[{type:i.Output}],selection:[{type:i.ViewChild,args:["selection"]}],resultContainer:[{type:i.ViewChild,args:["results"]}],results:[{type:i.ViewChildren,args:["result"]}],searchInput:[{type:i.ViewChild,args:["searchInput"]}],id:[{type:i.Input},{type:i.HostBinding,args:["id"]}],required:[{type:i.Input}],disabled:[{type:i.Input}],readonly:[{type:i.Input}],value:[{type:i.Input}],tabIndex:[{type:i.Input}],ariaInvalid:[{type:i.HostBinding,args:["attr.aria-invalid"]}],classMaterial:[{type:i.HostBinding,args:["class.material"]}]},e}(),a=function(){function e(){}return e.decorators=[{type:i.Directive,args:[{selector:"select2-hint"}]}],e}(),u=function(){function e(){}return e.decorators=[{type:i.Directive,args:[{selector:"select2-label"}]}],e}(),p=function(){function e(){}return e.decorators=[{type:i.NgModule,args:[{imports:[t.CommonModule,n.FormsModule,n.ReactiveFormsModule],declarations:[a,u,r],exports:[n.FormsModule,n.ReactiveFormsModule,a,u,r]}]}],e}();e.Select2=r,e.Select2Hint=a,e.Select2Label=u,e.timeout=200,e.Select2Utils=o,e.Select2Module=p,Object.defineProperty(e,"__esModule",{value:!0})});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("rxjs"),require("@angular/core"),require("@angular/common"),require("@angular/forms")):"function"==typeof define&&define.amd?define("ng-select2-component",["exports","rxjs","@angular/core","@angular/common","@angular/forms"],t):t(e["ng-select2-component"]={},e.rxjs,e.ng.core,e.ng.common,e.ng.forms)}(this,function(e,l,i,t,n){"use strict";function y(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}var s=[{l:"a",s:/[ⓐaẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐ]/gi},{l:"aa",s:/ꜳ/gi},{l:"ae",s:/[æǽǣ]/gi},{l:"ao",s:/ꜵ/gi},{l:"au",s:/ꜷ/gi},{l:"av",s:/[ꜹꜻ]/gi},{l:"ay",s:/ꜽ/gi},{l:"b",s:/[ⓑbḃḅḇƀƃɓ]/gi},{l:"c",s:/[ⓒcćĉċčçḉƈȼꜿↄ]/gi},{l:"d",s:/[ⓓdḋďḍḑḓḏđƌɖɗꝺ]/gi},{l:"dz",s:/[dzdž]/gi},{l:"e",s:/[ⓔeèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇɛǝ]/gi},{l:"f",s:/[ⓕfḟƒꝼ]/gi},{l:"g",s:/[ⓖgǵĝḡğġǧģǥɠꞡᵹꝿ]/gi},{l:"h",s:/[ⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ]/gi},{l:"hv",s:/ƕ/gi},{l:"i",s:/[ⓘiìíîĩīĭİïḯỉǐȉȋịįḭɨı]/gi},{l:"j",s:/[ⓙjĵǰɉ]/gi},{l:"k",s:/[ⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ]/gi},{l:"l",s:/[ⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇꝆ]/gi},{l:"lj",s:/lj/gi},{l:"m",s:/[ⓜmḿṁṃɱɯ]/gi},{l:"n",s:/[ⓝnǹńñṅňṇņṋṉƞɲʼnꞑꞥ]/gi},{l:"nj",s:/nj/gi},{l:"o",s:/[ⓞoòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿɔƟꝋꝍɵ]/gi},{l:"oi",s:/ƣ/gi},{l:"oe",s:/œ/gi},{l:"oo",s:/ꝏ/gi},{l:"ou",s:/ȣ/gi},{l:"p",s:/[ⓟpṕṗƥᵽꝑꝓꝕ]/gi},{l:"q",s:/[ⓠqɋꝗꝙ]/gi},{l:"r",s:/[ⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ]/gi},{l:"s",s:/[ⓢsßẞśṥŝṡšṧṣṩșşȿꞩꞅẛ]/gi},{l:"t",s:/[ⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ]/gi},{l:"tz",s:/ꜩ/gi},{l:"u",s:/[ⓤuùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ]/gi},{l:"v",s:/[ⓥvṽṿʋꝟʌ]/gi},{l:"vy",s:/ꝡ/gi},{l:"w",s:/[ⓦwẁẃŵẇẅẘẉⱳ]/gi},{l:"x",s:/[ⓧxẋẍ]/gi},{l:"y",s:/[ⓨyỳýŷỹȳẏÿỷẙỵƴɏỿ]/gi},{l:"z",s:/[ⓩzźẑżžẓẕƶȥɀⱬꝣ]/gi}],o=function(){function m(){}return m.getScrollUpIndex=function(e,t){var n,o,r=0;try{for(var l=y(e),i=l.next();!i.done;i=l.next()){var s=i.value,c=s.options;if(c){r++;var a=c.findIndex(function(e){return e.value===t});if(-1!==a)return r+a;r+=c.length}else{if(s.value===t)return r;r++}}}catch(u){n={error:u}}finally{try{i&&!i.done&&(o=l["return"])&&o.call(l)}finally{if(n)throw n.error}}return 0},m.getOptionByValue=function(e,t){var n,o,r,l;try{for(var i=y(e),s=i.next();!s.done;s=i.next()){var c=s.value,a=c.options;if(a)try{for(var u=y(a),p=u.next();!p.done;p=u.next()){var d=p.value;if(d.value===t)return d}}catch(h){r={error:h}}finally{try{p&&!p.done&&(l=u["return"])&&l.call(u)}finally{if(r)throw r.error}}else if(c.value===t)return c}}catch(f){n={error:f}}finally{try{s&&!s.done&&(o=i["return"])&&o.call(i)}finally{if(n)throw n.error}}return null},m.getOptionsByValue=function(e,t,n){var o,r;if(n){var l=Array.isArray(t)?t:[],i=[];try{for(var s=y(l),c=s.next();!c.done;c=s.next()){var a=c.value,u=m.getOptionByValue(e,a);u&&i.push(u)}}catch(p){o={error:p}}finally{try{c&&!c.done&&(r=s["return"])&&r.call(s)}finally{if(o)throw o.error}}return i}return m.getOptionByValue(e,t)},m.getFirstAvailableOption=function(e){var t,n,o,r;try{for(var l=y(e),i=l.next();!i.done;i=l.next()){var s=i.value,c=s.options;if(c)try{for(var a=y(c),u=a.next();!u.done;u=a.next()){var p;if(!(p=u.value).disabled)return p.value}}catch(d){o={error:d}}finally{try{u&&!u.done&&(r=a["return"])&&r.call(a)}finally{if(o)throw o.error}}else if(!(p=s).disabled)return p.value}}catch(h){t={error:h}}finally{try{i&&!i.done&&(n=l["return"])&&n.call(l)}finally{if(t)throw t.error}}return null},m.getOptionsCount=function(e){var t,n,o=0;try{for(var r=y(e),l=r.next();!l.done;l=r.next()){var i=l.value.options;i?o+=i.length:o++}}catch(s){t={error:s}}finally{try{l&&!l.done&&(n=r["return"])&&n.call(r)}finally{if(t)throw t.error}}return o},m.valueIsNotInFilteredData=function(e,t){var n,o,r,l;if(m.isNullOrUndefined(t))return!0;try{for(var i=y(e),s=i.next();!s.done;s=i.next()){var c=s.value,a=c.options;if(a)try{for(var u=y(a),p=u.next();!p.done;p=u.next()){if(p.value.value===t)return!1}}catch(d){r={error:d}}finally{try{p&&!p.done&&(l=u["return"])&&l.call(u)}finally{if(r)throw r.error}}else if(c.value===t)return!1}}catch(h){n={error:h}}finally{try{s&&!s.done&&(o=i["return"])&&o.call(i)}finally{if(n)throw n.error}}return!0},m.getPreviousOption=function(e,t){for(var n=m.isNullOrUndefined(t),o=e.length-1;0<=o;o--){var r=e[o],l=r.options;if(l)for(var i=l.length-1;0<=i;i--){var s=l[i];if(n&&!s.disabled)return s;n||(n=s.value===t)}else{s=r;if(n&&!s.disabled)return s;n||(n=s.value===t)}}return null},m.getNextOption=function(e,t){var n,o,r,l,i=m.isNullOrUndefined(t);try{for(var s=y(e),c=s.next();!c.done;c=s.next()){var a=c.value,u=a.options;if(u)try{for(var p=y(u),d=p.next();!d.done;d=p.next()){var h=d.value;if(i){if(!h.disabled)return h}else i||(i=h.value===t)}}catch(f){r={error:f}}finally{try{d&&!d.done&&(l=p["return"])&&l.call(p)}finally{if(r)throw r.error}}else{h=a;if(i){if(!h.disabled)return h}else i||(i=h.value===t)}}}catch(g){n={error:g}}finally{try{c&&!c.done&&(o=s["return"])&&o.call(s)}finally{if(n)throw n.error}}return null},m.isNullOrUndefined=function(e){return null===e||e===undefined},m.containSearchText=function(e,t,n){return!t||null!==m.formatSansUnicode(e).match(new RegExp(m.formatPattern(t,n),"i"))},m.protectPattern=function(e){return e.replace(new RegExp("[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]","g"),"\\$&")},m.formatSansUnicode=function(e){var t,n;try{for(var o=y(s),r=o.next();!r.done;r=o.next()){var l=r.value;e=e.replace(l.s,l.l)}}catch(i){t={error:i}}finally{try{r&&!r.done&&(n=o["return"])&&n.call(o)}finally{if(t)throw t.error}}return e},m.formatPattern=function(e,t){return e=m.formatSansUnicode(m.protectPattern(e)),t&&"function"==typeof t&&(e=t(e)),e},m.getFilteredData=function(e,t,n){var o,r;if(t){var l=[];try{for(var i=y(e),s=i.next();!s.done;s=i.next()){var c=s.value,a=c.options;if(a){if(a.some(function(e){return m.containSearchText(e.label,t,n)})){var u=a.filter(function(e){return m.containSearchText(e.label,t,n)});l.push({label:c.label,options:u})}}else m.containSearchText(c.label,t,n)&&l.push(c)}}catch(p){o={error:p}}finally{try{s&&!s.done&&(r=i["return"])&&r.call(i)}finally{if(o)throw o.error}}return l}return e},m.getOptionStyle=function(e,t){return e===t?"select2-results__option select2-results__option--highlighted":"select2-results__option"},m.getDropdownStyle=function(e){return e?"select2-container select2-container--default select2-container-dropdown select2-container--open":"select2-container select2-container--default select2-container-dropdown"},m.getContainerStyle=function(e,t){return"select2 select2-container select2-container--default "+(e?"select2-container--disabled":"")+" "+(t?"select2-container--open":"")+" select2-container--below select2-container--focus"},m.getSelectionStyle=function(e){return"select2-selection select2-selection--"+(e?"multiple":"single")},m.isSearchboxHiddex=function(e,t){return"number"!=typeof t&&(t=6),m.getOptionsCount(e)<t},m.getSearchStyle=function(e){return e?"select2-search select2-search--dropdown select2-search--hide":"select2-search select2-search--dropdown"},m.isSelected=function(e,t,n){return n?e&&e.some(function(e){return e.value===t.value})?"true":"false":e&&t.value===e.value?"true":"false"},m.removeSelection=function(e,t){for(var n=0;n<e.length;n++)if(e[n].value===t.value)return void e.splice(n,1)},m}(),c=0,r=function(){function e(e,t,n,o,r){this._changeDetectorRef=e,this._parentForm=t,this._parentFormGroup=n,this._control=o,this.update=new i.EventEmitter,this.open=new i.EventEmitter,this.search=new i.EventEmitter,this.option=null,this.isOpen=!1,this.hoveringValue=null,this.innerSearchText="",this.lastScrollTopIndex=0,this._stateChanges=new l.Subject,this.focused=!1,this._onTouched=function(){},this._onChange=function(){},this._disabled=!1,this._required=!1,this._readonly=!1,this._clickDetection=!1,this._uid="select2-"+c++,this._previousNativeValue=this._value,this.id=this.id,this._tabIndex=parseInt(r,10)||0,this._control&&(this._control.valueAccessor=this),this._clickDetectionFc=this.clickDetection.bind(this)}return Object.defineProperty(e.prototype,"select2Options",{get:function(){return this.multiple?this.option:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"select2Option",{get:function(){return this.multiple?null:this.option},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"searchText",{get:function(){return this.innerSearchText},set:function(e){this.customSearchEnabled&&this.search.emit(e),this.innerSearchText=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dropdownStyle",{get:function(){return o.getDropdownStyle(this.isOpen)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"containerStyle",{get:function(){return o.getContainerStyle(this.disabled,this.isOpen)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selectionStyle",{get:function(){return o.getSelectionStyle(this.multiple)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},set:function(e){this._id=e||this._uid},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"required",{get:function(){return this._required},set:function(e){this._required=this._coerceBooleanProperty(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this._control?this._control.disabled:this._disabled},set:function(e){this._disabled=this._coerceBooleanProperty(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"readonly",{get:function(){return this._readonly},set:function(e){this._readonly=this._coerceBooleanProperty(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this._value},set:function(e){var t=this;setTimeout(function(){t._value=e,t.writeValue(e)})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"tabIndex",{get:function(){return this.disabled?-1:this._tabIndex},set:function(e){void 0!==e&&(this._tabIndex=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ariaInvalid",{get:function(){return this._isErrorState()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"classMaterial",{get:function(){return""===this.material||!0===this.material},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=o.getOptionsByValue(this.data,this._control?this._control.value:this.value,this.multiple);null!==e&&(this.option=e),Array.isArray(e)||(this.hoveringValue=this.value),this.isSearchboxHidden=!this.customSearchEnabled&&o.isSearchboxHiddex(this.data,this.minCountForSearch),this.searchStyle=o.getSearchStyle(this.isSearchboxHidden)},e.prototype.ngAfterViewInit=function(){this.selectionElement=this.selection.nativeElement,this.searchInputElement=this.searchInput.nativeElement,this.resultsElement=this.resultContainer.nativeElement},e.prototype.ngDoCheck=function(){this._dirtyCheckNativeValue()},e.prototype.ngOnDestroy=function(){window.document.body.removeEventListener("click",this._clickDetectionFc)},e.prototype.getOptionStyle=function(e){return o.getOptionStyle(e.value,this.hoveringValue)+(e.classes?" "+e.classes:"")},e.prototype.mouseenter=function(e){e.disabled||(this.hoveringValue=e.value)},e.prototype.click=function(e){e.disabled||this.select(e)},e.prototype.toggleOpenAndClose=function(){var t=this;this.disabled||(this.focused=!0,this.isOpen=!this.isOpen,this.isOpen&&(this.innerSearchText="",this.updateFilteredData(),this._focusSearchboxOrResultsElement(),setTimeout(function(){if(t.option){var e=t.option instanceof Array?t.option[0]:t.option;t.updateScrollFromOption(e)}else t.resultsElement.scrollTop=0}),this.open.emit()),this.isOpen&&!this._clickDetection&&setTimeout(function(){window.document.body.addEventListener("click",t._clickDetectionFc,!1),t._clickDetection=!0},200),this._changeDetectorRef.markForCheck())},e.prototype.updateFilteredData=function(){var e=this.customSearchEnabled?this.data:o.getFilteredData(this.data,this.searchText,this.editPattern);o.valueIsNotInFilteredData(e,this.hoveringValue)&&(this.hoveringValue=o.getFirstAvailableOption(e)),this.filteredData=e},e.prototype.clickDetection=function(e){this.ifParentContainsClass(e.target,"selection")?this.isOpen&&!this.ifParentContainsId(e.target,this._id)&&(this.toggleOpenAndClose(),this.clickExit()):(this.isOpen&&!this.ifParentContainsClass(e.target,"select2-dropdown")&&this.toggleOpenAndClose(),this.ifParentContainsId(e.target,this._id)||this.clickExit())},e.prototype.clickExit=function(){this.focused=!1,window.document.body.removeEventListener("click",this._clickDetectionFc),this._clickDetection=!1},e.prototype.ifParentContainsClass=function(e,t){return null!==this.getParentElementByClass(e,t)},e.prototype.ifParentContainsId=function(e,t){return null!==this.getParentElementById(e,t)},e.prototype.getParentElementByClass=function(e,t){return this.containClasses(e,t.trim().split(/\s+/))?e:e.parentElement?this.getParentElementByClass(e.parentElement,t):null},e.prototype.getParentElementById=function(e,t){return e.id===t?e:e.parentElement?this.getParentElementById(e.parentElement,t):null},e.prototype.containClasses=function(e,t){var n,o;if(!e.classList)return!1;try{for(var r=y(t),l=r.next();!l.done;l=r.next()){var i=l.value;if(!e.classList.contains(i))return!1}}catch(s){n={error:s}}finally{try{l&&!l.done&&(o=r["return"])&&o.call(r)}finally{if(n)throw n.error}}return!0},e.prototype.focusin=function(){this.disabled||(this.focused=!0)},e.prototype.focusout=function(){this.selectionElement&&!this.selectionElement.classList.contains("select2-focused")&&(this.focused=!1,this._onTouched())},e.prototype.moveUp=function(){this.updateScrollFromOption(o.getPreviousOption(this.filteredData,this.hoveringValue))},e.prototype.moveDown=function(){this.updateScrollFromOption(o.getNextOption(this.filteredData,this.hoveringValue))},e.prototype.updateScrollFromOption=function(t){if(t){this.hoveringValue=t.value;var e=this.results.find(function(e){return e.nativeElement.innerText.trim()===t.label});if(e){this.resultsElement.scrollTop=0;var n=this.resultsElement.getBoundingClientRect(),o=e.nativeElement.getBoundingClientRect();this.resultsElement.scrollTop=o.top-n.top}}},e.prototype.selectByEnter=function(){if(this.hoveringValue){var e=o.getOptionByValue(this.data,this.hoveringValue);this.select(e)}},e.prototype.select=function(t){var e;if(null!==t)if(this.multiple){var n=this.option,o=n.findIndex(function(e){return e.value===t.value});-1===o?n.push(t):n.splice(o,1),e=this.option.map(function(e){return e.value})}else this.option=t,this.isOpen=!1,this.selectionElement&&this.selectionElement.focus(),e=this.option.value;else this._control&&(this.option=null);this._control&&this._onChange(e),this.update.emit(e)},e.prototype.keyDown=function(e){this._testKey(e,["ArrowDown",40])?(this.moveDown(),e.preventDefault()):this._testKey(e,["ArrowUp",38])?(this.moveUp(),e.preventDefault()):this._testKey(e,["Enter",13])?(this.selectByEnter(),e.preventDefault()):this._testKey(e,["Escape","Tab",9,27])&&this.isOpen&&(this.toggleOpenAndClose(),this.focused=!1)},e.prototype.openKey=function(e){this._testKey(e,["ArrowDown","ArrowUp","Enter",40,38,13])?(this.toggleOpenAndClose(),e.preventDefault()):this._testKey(e,["Escape",9])&&(this.focused=!1,this._onTouched())},e.prototype.trackBy=function(e,t){return t.value},e.prototype.searchUpdate=function(e){this.searchText=e.target.value,this.updateFilteredData()},e.prototype.isSelected=function(e){return o.isSelected(this.option,e,this.multiple)},e.prototype.isDisabled=function(e){return e.disabled?"true":"false"},e.prototype.removeSelection=function(e,t){o.removeSelection(this.option,t);var n=this.option.map(function(e){return e.value});this._control&&this._onChange(n),this.update.emit(n),e.preventDefault(),e.stopPropagation(),this.isOpen&&this._focusSearchboxOrResultsElement()},e.prototype.writeValue=function(e){this._setSelectionByValue(e)},e.prototype.registerOnChange=function(e){this._onChange=e},e.prototype.registerOnTouched=function(e){this._onTouched=e},e.prototype.setDisabledState=function(e){this.disabled=e},e.prototype._isErrorState=function(){var e=this._control&&this._control.invalid,t=this._control&&this._control.touched,n=this._parentFormGroup&&this._parentFormGroup.submitted||this._parentForm&&this._parentForm.submitted;return!(!e||!t&&!n)},e.prototype._testKey=function(e,t){return void 0===t&&(t=[]),this._isKey(this._getKey(e),t)},e.prototype._getKey=function(e){var t;return e.key!==undefined?t=e.key:e.keyIdentifier!==undefined?t=e.keyIdentifier:e.keyCode!==undefined?t=e.keyCode:e.preventDefault(),t},e.prototype._isKey=function(e,t){return void 0===t&&(t=[]),!!(t&&0<t.length)&&-1!==t.indexOf(e)},e.prototype._setSelectionByValue=function(e){var t=this;if(this.option||e!==undefined&&null!==e){var n=Array.isArray(e);if(this.multiple&&e&&!n)throw new Error("Non array value.");this.data?this._control&&this.multiple?(this.option=[],n&&o.getOptionsByValue(this.data,e,this.multiple).map(function(e){return t.select(e)})):this.select(o.getOptionByValue(this.data,e)):this._control&&this._control.viewToModelUpdate(e),this._changeDetectorRef.markForCheck()}},e.prototype._dirtyCheckNativeValue=function(){var e=this.value;this._previousNativeValue!==e&&(this._previousNativeValue=e,this._stateChanges.next())},e.prototype._coerceBooleanProperty=function(e){return null!=e&&""+e!="false"},e.prototype._focusSearchboxOrResultsElement=function(){this.isSearchboxHidden?this.resultsElement&&this.resultsElement.focus():this.searchInputElement&&this.searchInputElement.focus()},e.decorators=[{type:i.Component,args:[{selector:"select2",template:'<div class="select2-lalel"\r\n (click)="toggleOpenAndClose()">\r\n <ng-content select="select2-label"></ng-content>\r\n</div>\r\n<div [class]="containerStyle">\r\n <div class="selection"\r\n #selection\r\n [attr.tabindex]="!this.isOpen ? tabIndex : \'-1\'"\r\n (click)="toggleOpenAndClose()"\r\n (focus)="focusin()"\r\n (blur)="focusout()"\r\n (keydown)="openKey($event)"\r\n [class.select2-focused]="focused">\r\n <div [class]="selectionStyle"\r\n role="combobox">\r\n <span *ngIf="!multiple"\r\n class="select2-selection__rendered"\r\n [title]="select2Option ? select2Option.label : \'\'">\r\n <span *ngIf="!select2Option">&nbsp;</span>\r\n <ng-container *ngIf="select2Option">{{select2Option.label}}</ng-container>\r\n <span [class.select2-selection__placeholder__option]="option"\r\n class="select2-selection__placeholder">{{placeholder}}</span>\r\n </span>\r\n <span *ngIf="!multiple"\r\n class="select2-selection__arrow"\r\n role="presentation">\r\n <b role="presentation"></b>\r\n </span>\r\n <ul *ngIf="multiple"\r\n class="select2-selection__rendered">\r\n <span [class.select2-selection__placeholder__option]="select2Options?.length > 0"\r\n class="select2-selection__placeholder">{{placeholder}}</span>\r\n <li *ngFor="let op of option; trackBy: trackBy"\r\n class="select2-selection__choice"\r\n [title]="op.label">\r\n <span (click)="removeSelection($event, op)"\r\n class="select2-selection__choice__remove"\r\n role="presentation">×</span>\r\n {{op.label}}\r\n </li>\r\n </ul>\r\n </div>\r\n <div class="select2-subscript-wrapper">\r\n <ng-content select="select2-hint"></ng-content>\r\n </div>\r\n </div>\r\n <div [class]="dropdownStyle">\r\n <div class="select2-dropdown select2-dropdown--below">\r\n <div [class]="searchStyle">\r\n <input #searchInput\r\n [id]="id + \'-search-field\'"\r\n [value]="searchText"\r\n (keydown)="keyDown($event)"\r\n (keyup)="searchUpdate($event)"\r\n class="select2-search__field"\r\n type="search"\r\n role="textbox"\r\n autocomplete="off"\r\n autocorrect="off"\r\n autocapitalize="off"\r\n spellcheck="false"\r\n [attr.tabindex]="this.isOpen ? tabIndex : \'-1\'">\r\n </div>\r\n <div class="select2-results">\r\n <ul #results\r\n class="select2-results__options"\r\n role="tree"\r\n tabindex="-1"\r\n (keydown)="keyDown($event)">\r\n <ng-template ngFor\r\n [ngForOf]="filteredData"\r\n let-groupOrOption\r\n [ngForTrackBy]="trackBy">\r\n <li *ngIf="groupOrOption.options"\r\n class="select2-results__option"\r\n role="group">\r\n <strong\r\n [attr.class]="\'select2-results__group\' + (groupOrOption.classes ? \' \' + groupOrOption.classes : \'\')">{{groupOrOption.label}}</strong>\r\n <ul class="select2-results__options select2-results__options--nested">\r\n <li *ngFor="let option of groupOrOption.options; trackBy:trackBy"\r\n #result\r\n [class]="getOptionStyle(option)"\r\n role="treeitem"\r\n [attr.aria-selected]="isSelected(option)"\r\n [attr.aria-disabled]="isDisabled(option)"\r\n (mouseenter)="mouseenter(option)"\r\n (click)="click(option)">{{option.label}}</li>\r\n </ul>\r\n </li>\r\n <li *ngIf="!groupOrOption.options"\r\n #result\r\n [class]="getOptionStyle(groupOrOption)"\r\n role="treeitem"\r\n [attr.aria-selected]="isSelected(groupOrOption)"\r\n [attr.aria-disabled]="isDisabled(groupOrOption)"\r\n (mouseenter)="mouseenter(groupOrOption)"\r\n (click)="click(groupOrOption)">\r\n {{groupOrOption.label}}\r\n </li>\r\n </ng-template>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n</div>',styles:[".select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle;width:100%}.select2-container .select2-container-dropdown{position:absolute;width:0}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container.select2-container-dropdown.select2-container--open{width:100%}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default.select2-container--focused .select2-selection--multiple,.select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--multiple,.select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--single{border:1px solid #000;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:0 0;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px;color:gray}:host.material{display:inline-block;width:300px}:host.material>.select2-container{padding-bottom:1.29688em;vertical-align:inherit}:host.material>.select2-container .selection{padding:.4375em 0;border-top:.84375em solid transparent;display:inline-flex;align-items:baseline;width:100%;height:auto}:host.material .select2-container--default .select2-selection--multiple,:host.material .select2-container--default .select2-selection--single{width:100%;border:0;border-radius:0;height:24px;box-sizing:border-box}:host.material .select2-container--default .select2-selection--multiple::before,:host.material .select2-container--default .select2-selection--single::before{content:' ';display:block;position:absolute;bottom:1.65em;background-color:#ddd;height:1px;width:100%}:host.material .select2-container--default .select2-selection--multiple::after,:host.material .select2-container--default .select2-selection--single::after{content:' ';display:block;position:absolute;bottom:1.63em;background-color:#5a419e;height:2px;width:0%;left:50%;transition:none}:host.material .select2-container--default .select2-selection--multiple .select2-selection__rendered,:host.material .select2-container--default .select2-selection--single .select2-selection__rendered{padding-left:1px;line-height:inherit}:host.material .select2-container--default .select2-selection--multiple .select2-selection__placeholder,:host.material .select2-container--default .select2-selection--single .select2-selection__placeholder{display:block;color:rgba(0,0,0,.38);transition:transform .3s;transition:transform .3s,-webkit-transform .3s;position:absolute;-webkit-transform-origin:0 21px;transform-origin:0 21px;left:0;top:20px}:host.material .select2-container--default .select2-container--open{left:0;bottom:1.6em}:host.material .select2-container--default .select2-selection__placeholder__option{-webkit-transform:translateY(-1.5em) scale(.75) perspective(100px) translateZ(.001px);transform:translateY(-1.5em) scale(.75) perspective(100px) translateZ(.001px);width:133.33333%}:host.material .select2-container--default .select2-selection__arrow{top:20px}:host.material .select2-container--default .select2-focused .select2-selection--multiple::after,:host.material .select2-container--default .select2-focused .select2-selection--single::after,:host.material .select2-container--default.select2-container--open .select2-selection--multiple::after,:host.material .select2-container--default.select2-container--open .select2-selection--single::after{transition:width .3s cubic-bezier(.12,1,.77,1),left .3s cubic-bezier(.12,1,.77,1);width:100%;left:0}:host.material .select2-container--default .select2-dropdown{border-radius:0;border:0;box-shadow:0 5px 5px rgba(0,0,0,.5)}:host.material .select2-container--default .select2-results__option--highlighted[aria-selected],:host.material .select2-container--default .select2-results__option[aria-selected=true]{background-color:rgba(0,0,0,.04);color:#000}:host.material .select2-container--default .select2-results__option[aria-selected=true]{color:#ff5722}:host.material .select2-container--default.select2-container--disabled .select2-selection--multiple,:host.material .select2-container--default.select2-container--disabled .select2-selection--single{background-color:transparent}:host.material .select2-container--default.select2-container--disabled .select2-selection--multiple::before,:host.material .select2-container--default.select2-container--disabled .select2-selection--single::before{background-image:linear-gradient(to right,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 33%,transparent 0);background-size:4px 1px;background-repeat:repeat-x;background-color:transparent;background-position:0 bottom}:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--multiple::after,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--multiple::before,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--single::after,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--single::before{background-color:red}:host.material:not(.select2-container--open) .select2-focused .select2-selection--multiple,:host.material:not(.select2-container--open) .select2-focused .select2-selection--single{border:0}:host.material .select2-subscript-wrapper{position:absolute;top:calc(100% - 1.72917em);font-size:75%}@supports (-moz-appearance:none){select2.material .select2-container--default .select2-selection--multiple,select2.material .select2-container--default .select2-selection--single{height:26px}}@supports (-ms-scroll-limit:0){select2.material .select2-container--default .select2-selection--multiple,select2.material .select2-container--default .select2-selection--single{height:25px}}"]}]}],e.ctorParameters=function(){return[{type:i.ChangeDetectorRef},{type:n.NgForm,decorators:[{type:i.Optional}]},{type:n.FormGroupDirective,decorators:[{type:i.Optional}]},{type:n.NgControl,decorators:[{type:i.Self},{type:i.Optional}]},{type:String,decorators:[{type:i.Attribute,args:["tabindex"]}]}]},e.propDecorators={data:[{type:i.Input}],minCountForSearch:[{type:i.Input}],placeholder:[{type:i.Input}],customSearchEnabled:[{type:i.Input}],multiple:[{type:i.Input}],material:[{type:i.Input}],editPattern:[{type:i.Input}],update:[{type:i.Output}],open:[{type:i.Output}],search:[{type:i.Output}],selection:[{type:i.ViewChild,args:["selection"]}],resultContainer:[{type:i.ViewChild,args:["results"]}],results:[{type:i.ViewChildren,args:["result"]}],searchInput:[{type:i.ViewChild,args:["searchInput"]}],id:[{type:i.Input},{type:i.HostBinding,args:["id"]}],required:[{type:i.Input}],disabled:[{type:i.Input}],readonly:[{type:i.Input}],value:[{type:i.Input}],tabIndex:[{type:i.Input}],ariaInvalid:[{type:i.HostBinding,args:["attr.aria-invalid"]}],classMaterial:[{type:i.HostBinding,args:["class.material"]}]},e}(),a=function(){function e(){}return e.decorators=[{type:i.Directive,args:[{selector:"select2-hint"}]}],e}(),u=function(){function e(){}return e.decorators=[{type:i.Directive,args:[{selector:"select2-label"}]}],e}(),p=function(){function e(){}return e.decorators=[{type:i.NgModule,args:[{imports:[t.CommonModule,n.FormsModule,n.ReactiveFormsModule],declarations:[a,u,r],exports:[n.FormsModule,n.ReactiveFormsModule,a,u,r]}]}],e}();e.Select2=r,e.Select2Hint=a,e.Select2Label=u,e.timeout=200,e.Select2Utils=o,e.Select2Module=p,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=ng-select2-component.umd.min.js.map

@@ -237,3 +237,5 @@ /**

}
findIt = option.value === hoveringValue;
if (!findIt) {
findIt = option.value === hoveringValue;
}
}

@@ -248,3 +250,5 @@ }

}
findIt = option.value === hoveringValue;
if (!findIt) {
findIt = option.value === hoveringValue;
}
}

@@ -270,3 +274,3 @@ }

}
else {
else if (!findIt) {
findIt = option.value === hoveringValue;

@@ -283,3 +287,3 @@ }

}
else {
else if (!findIt) {
findIt = option.value === hoveringValue;

@@ -455,2 +459,2 @@ }

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi11dGlscy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXNlbGVjdDItY29tcG9uZW50LyIsInNvdXJjZXMiOlsibGliL3NlbGVjdDItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkEsTUFBTSxDQUFDLHVCQUFNLE9BQU8sR0FBRyxHQUFHLENBQUM7QUFFM0IsdUJBQU0sZUFBZSxHQUErQjtJQUNoRCxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLHdDQUF3QyxFQUFFO0lBQ3ZELEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0lBQ3JCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFO0lBQ3pCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0lBQ3JCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0lBQ3JCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFO0lBQ3hCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0lBQ3JCLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsY0FBYyxFQUFFO0lBQzdCLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsa0JBQWtCLEVBQUU7SUFDakMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxtQkFBbUIsRUFBRTtJQUNsQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRTtJQUN4QixFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLG9DQUFvQyxFQUFFO0lBQ25ELEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsV0FB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YWNlIFNlbGVjdDJHcm91cCB7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgb3B0aW9uczogU2VsZWN0Mk9wdGlvbltdO1xyXG4gICAgY2xhc3Nlcz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3QyT3B0aW9uIHtcclxuICAgIHZhbHVlOiBTZWxlY3QyVmFsdWU7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gICAgY29tcG9uZW50Pzogc3RyaW5nIHwgRnVuY3Rpb247XHJcbiAgICBjbGFzc2VzPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBTZWxlY3QyVmFsdWUgPSBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuO1xyXG5cclxuZXhwb3J0IHR5cGUgU2VsZWN0MlVwZGF0ZVZhbHVlID0gU2VsZWN0MlZhbHVlIHwgU2VsZWN0MlZhbHVlW107XHJcblxyXG5leHBvcnQgdHlwZSBTZWxlY3QyRGF0YSA9IChTZWxlY3QyR3JvdXAgfCBTZWxlY3QyT3B0aW9uKVtdO1xyXG5cclxuZXhwb3J0IGNvbnN0IHRpbWVvdXQgPSAyMDA7XHJcblxyXG5jb25zdCB1bmljb2RlUGF0dGVybnM6IHsgbDogc3RyaW5nLCBzOiBSZWdFeHAgfVtdID0gW1xyXG4gICAgeyBsOiAnYScsIHM6IC9b4pOQ772B4bqaw6DDocOi4bqn4bql4bqr4bqpw6PEgcSD4bqx4bqv4bq14bqzyKfHocOkx5/huqPDpce7x47IgciD4bqh4bqt4bq34biBxIXisaXJkF0vZ2kgfSxcclxuICAgIHsgbDogJ2FhJywgczogL+qcsy9naSB9LFxyXG4gICAgeyBsOiAnYWUnLCBzOiAvW8Omx73Ho10vZ2kgfSxcclxuICAgIHsgbDogJ2FvJywgczogL+qctS9naSB9LFxyXG4gICAgeyBsOiAnYXUnLCBzOiAv6py3L2dpIH0sXHJcbiAgICB7IGw6ICdhdicsIHM6IC9b6py56py7XS9naSB9LFxyXG4gICAgeyBsOiAnYXknLCBzOiAv6py9L2dpIH0sXHJcbiAgICB7IGw6ICdiJywgczogL1vik5HvvYLhuIPhuIXhuIfGgMaDyZNdL2dpIH0sXHJcbiAgICB7IGw6ICdjJywgczogL1vik5LvvYPEh8SJxIvEjcOn4biJxojIvOqcv+KGhF0vZ2kgfSxcclxuICAgIHsgbDogJ2QnLCBzOiAvW+KTk++9hOG4i8SP4biN4biR4biT4biPxJHGjMmWyZfqnbpdL2dpIH0sXHJcbiAgICB7IGw6ICdkeicsIHM6IC9bx7PHhl0vZ2kgfSxcclxuICAgIHsgbDogJ2UnLCBzOiAvW+KTlO+9hcOow6nDquG7geG6v+G7heG7g+G6vcST4biV4biXxJXEl8Or4bq7xJvIhciH4bq54buHyKnhuJ3EmeG4meG4m8mHyZvHnV0vZ2kgfSxcclxuICAgIHsgbDogJ2YnLCBzOiAvW+KTle+9huG4n8aS6p28XS9naSB9LFxyXG4gICAgeyBsOiAnZycsIHM6IC9b4pOW772Hx7XEneG4ocSfxKHHp8Sjx6XJoOqeoeG1ueqdv10vZ2kgfSxcclxuICAgIHsgbDogJ2gnLCBzOiAvW+KTl++9iMSl4bij4binyJ/huKXhuKnhuKvhupbEp+KxqOKxtsmlXS9naSB9LFxyXG4gICAgeyBsOiAnaHYnLCBzOiAvxpUvZ2kgfSxcclxuICAgIHsgbDogJ2knLCBzOiAvW+KTmO+9icOsw63DrsSpxKvErcSww6/huK/hu4nHkMiJyIvhu4vEr+G4rcmoxLFdL2dpIH0sXHJcbiAgICB7IGw6ICdqJywgczogL1vik5nvvYrEtcewyYldL2dpIH0sXHJcbiAgICB7IGw6ICdrJywgczogL1vik5rvvYvhuLHHqeG4s8S34bi1xpnisarqnYHqnYPqnYXqnqNdL2dpIH0sXHJcbiAgICB7IGw6ICdsJywgczogL1vik5vvvYzFgMS6xL7huLfhuLnEvOG4veG4u8W/xYLGmsmr4rGh6p2J6p6B6p2H6p2GXS9naSB9LFxyXG4gICAgeyBsOiAnbGonLCBzOiAvx4kvZ2kgfSxcclxuICAgIHsgbDogJ20nLCBzOiAvW+KTnO+9jeG4v+G5geG5g8mxya9dL2dpIH0sXHJcbiAgICB7IGw6ICduJywgczogL1vik53vvY7HucWEw7HhuYXFiOG5h8WG4bmL4bmJxp7JssWJ6p6R6p6lXS9naSB9LFxyXG4gICAgeyBsOiAnbmonLCBzOiAvx4wvZ2kgfSxcclxuICAgIHsgbDogJ28nLCBzOiAvW+KTnu+9j8Oyw7PDtOG7k+G7keG7l+G7lcO14bmNyK3huY/FjeG5keG5k8WPyK/IscO2yKvhu4/FkceSyI3Ij8ah4bud4bub4buh4buf4buj4buN4buZx6vHrcO4x7/JlMaf6p2L6p2NybVdL2dpIH0sXHJcbiAgICB7IGw6ICdvaScsIHM6IC/Goy9naSB9LFxyXG4gICAgeyBsOiAnb2UnLCBzOiAvxZMvZ2kgfSxcclxuICAgIHsgbDogJ29vJywgczogL+qdjy9naSB9LFxyXG4gICAgeyBsOiAnb3UnLCBzOiAvyKMvZ2kgfSxcclxuICAgIHsgbDogJ3AnLCBzOiAvW+KTn++9kOG5leG5l8al4bW96p2R6p2T6p2VXS9naSB9LFxyXG4gICAgeyBsOiAncScsIHM6IC9b4pOg772RyYvqnZfqnZldL2dpIH0sXHJcbiAgICB7IGw6ICdyJywgczogL1vik6HvvZLFleG5mcWZyJHIk+G5m+G5ncWX4bmfyY3Jveqdm+qep+qeg10vZ2kgfSxcclxuICAgIHsgbDogJ3MnLCBzOiAvW+KTou+9k8Of4bqexZvhuaXFneG5ocWh4bmn4bmj4bmpyJnFn8i/6p6p6p6F4bqbXS9naSB9LFxyXG4gICAgeyBsOiAndCcsIHM6IC9b4pOj772U4bmr4bqXxaXhua3Im8Wj4bmx4bmvxafGrcqI4rGm6p6HXS9naSB9LFxyXG4gICAgeyBsOiAndHonLCBzOiAv6pypL2dpIH0sXHJcbiAgICB7IGw6ICd1JywgczogL1vik6TvvZXDucO6w7vFqeG5ucWr4bm7xa3DvMecx5jHlsea4bunxa/FsceUyJXIl8aw4bur4bup4buv4but4bux4bul4bmzxbPhubfhubXKiV0vZ2kgfSxcclxuICAgIHsgbDogJ3YnLCBzOiAvW+KTpe+9luG5veG5v8qL6p2fyoxdL2dpIH0sXHJcbiAgICB7IGw6ICd2eScsIHM6IC/qnaEvZ2kgfSxcclxuICAgIHsgbDogJ3cnLCBzOiAvW+KTpu+9l+G6geG6g8W14bqH4bqF4bqY4bqJ4rGzXS9naSB9LFxyXG4gICAgeyBsOiAneCcsIHM6IC9b4pOn772Y4bqL4bqNXS9naSB9LFxyXG4gICAgeyBsOiAneScsIHM6IC9b4pOo772Z4buzw73Ft+G7uciz4bqPw7/hu7fhupnhu7XGtMmP4bu/XS9naSB9LFxyXG4gICAgeyBsOiAneicsIHM6IC9b4pOp772axbrhupHFvMW+4bqT4bqVxrbIpcmA4rGs6p2jXS9naSB9XHJcbl07XHJcblxyXG5jb25zdCBkZWZhdWx0TWluQ291bnRGb3JTZWFyY2ggPSA2O1xyXG5cclxuZXhwb3J0IGNsYXNzIFNlbGVjdDJVdGlscyB7XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgZ2V0U2Nyb2xsVXBJbmRleChkYXRhOiBTZWxlY3QyRGF0YSwgdmFsdWU6IFNlbGVjdDJWYWx1ZSkge1xyXG4gICAgICAgIGxldCBpbmRleCA9IDA7XHJcbiAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGRhdGEpIHtcclxuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGluZGV4Kys7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZUluZGV4ID0gb3B0aW9ucy5maW5kSW5kZXgob3AgPT4gb3AudmFsdWUgPT09IHZhbHVlKTtcclxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZUluZGV4ICE9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpbmRleCArIHZhbHVlSW5kZXg7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGluZGV4ICs9IG9wdGlvbnMubGVuZ3RoO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaWYgKChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJPcHRpb24pLnZhbHVlID09PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpbmRleDtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5kZXgrKztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0T3B0aW9uQnlWYWx1ZShkYXRhOiBTZWxlY3QyRGF0YSwgdmFsdWU6IFNlbGVjdDJWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZGF0YSkge1xyXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBvcHRpb24gb2Ygb3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb24udmFsdWUgPT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb247XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaWYgKChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJPcHRpb24pLnZhbHVlID09PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJPcHRpb247XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldE9wdGlvbnNCeVZhbHVlKFxyXG4gICAgICAgIGRhdGE6IFNlbGVjdDJEYXRhLFxyXG4gICAgICAgIHZhbHVlOiBTZWxlY3QyVXBkYXRlVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkLFxyXG4gICAgICAgIG11bHRpcGxlOiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZFxyXG4gICAgKSB7XHJcbiAgICAgICAgaWYgKG11bHRpcGxlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlczogU2VsZWN0MlZhbHVlW10gPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW107XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdDogU2VsZWN0Mk9wdGlvbltdID0gW107XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgdiBvZiB2YWx1ZXMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IFNlbGVjdDJVdGlscy5nZXRPcHRpb25CeVZhbHVlKGRhdGEsIHYpO1xyXG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKG9wdGlvbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIFNlbGVjdDJVdGlscy5nZXRPcHRpb25CeVZhbHVlKGRhdGEsIHZhbHVlIGFzIFNlbGVjdDJWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRGaXJzdEF2YWlsYWJsZU9wdGlvbihkYXRhOiBTZWxlY3QyRGF0YSkge1xyXG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBkYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi52YWx1ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJPcHRpb247XHJcbiAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb24udmFsdWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgZ2V0T3B0aW9uc0NvdW50KGRhdGE6IFNlbGVjdDJEYXRhKSB7XHJcbiAgICAgICAgbGV0IGNvdW50ID0gMDtcclxuICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZGF0YSkge1xyXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgY291bnQgKz0gb3B0aW9ucy5sZW5ndGg7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb3VudCsrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBjb3VudDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgdmFsdWVJc05vdEluRmlsdGVyZWREYXRhKGZpbHRlcmVkRGF0YTogU2VsZWN0MkRhdGEsIHZhbHVlOiBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgaWYgKFNlbGVjdDJVdGlscy5pc051bGxPclVuZGVmaW5lZCh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBmaWx0ZXJlZERhdGEpIHtcclxuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9uLnZhbHVlID09PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaWYgKChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJPcHRpb24pLnZhbHVlID09PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29nbml0aXZlLWNvbXBsZXhpdHlcclxuICAgIHN0YXRpYyBnZXRQcmV2aW91c09wdGlvbihmaWx0ZXJlZERhdGE6IFNlbGVjdDJEYXRhLCBob3ZlcmluZ1ZhbHVlOiBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgbGV0IGZpbmRJdCA9IFNlbGVjdDJVdGlscy5pc051bGxPclVuZGVmaW5lZChob3ZlcmluZ1ZhbHVlKTtcclxuICAgICAgICBmb3IgKGxldCBpID0gZmlsdGVyZWREYXRhLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwT3JPcHRpb24gPSBmaWx0ZXJlZERhdGFbaV07XHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gb3B0aW9ucy5sZW5ndGggLSAxOyBqID49IDA7IGotLSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnNbal07XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpbmRJdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBmaW5kSXQgPSBvcHRpb24udmFsdWUgPT09IGhvdmVyaW5nVmFsdWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJPcHRpb247XHJcbiAgICAgICAgICAgICAgICBpZiAoZmluZEl0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBmaW5kSXQgPSBvcHRpb24udmFsdWUgPT09IGhvdmVyaW5nVmFsdWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29nbml0aXZlLWNvbXBsZXhpdHlcclxuICAgIHN0YXRpYyBnZXROZXh0T3B0aW9uKGZpbHRlcmVkRGF0YTogU2VsZWN0MkRhdGEsIGhvdmVyaW5nVmFsdWU6IFNlbGVjdDJWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQpIHtcclxuICAgICAgICBsZXQgZmluZEl0ID0gU2VsZWN0MlV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGhvdmVyaW5nVmFsdWUpO1xyXG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBmaWx0ZXJlZERhdGEpIHtcclxuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZmluZEl0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9uLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmluZEl0ID0gb3B0aW9uLnZhbHVlID09PSBob3ZlcmluZ1ZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbjtcclxuICAgICAgICAgICAgICAgIGlmIChmaW5kSXQpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmluZEl0ID0gb3B0aW9uLnZhbHVlID09PSBob3ZlcmluZ1ZhbHVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlOiBhbnkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBjb250YWluU2VhcmNoVGV4dChcclxuICAgICAgICBsYWJlbDogc3RyaW5nLFxyXG4gICAgICAgIHNlYXJjaFRleHQ6IHN0cmluZyB8IG51bGwsXHJcbiAgICAgICAgZWRpdFBhdHRlcm46ICgoc3RyOiBzdHJpbmcpID0+IHN0cmluZykgfCB1bmRlZmluZWRcclxuICAgICk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBzZWFyY2hUZXh0XHJcbiAgICAgICAgICAgID8gU2VsZWN0MlV0aWxzXHJcbiAgICAgICAgICAgICAgICAuZm9ybWF0U2Fuc1VuaWNvZGUobGFiZWwpXHJcbiAgICAgICAgICAgICAgICAubWF0Y2gobmV3IFJlZ0V4cChTZWxlY3QyVXRpbHMuZm9ybWF0UGF0dGVybihzZWFyY2hUZXh0LCBlZGl0UGF0dGVybiksICdpJykpICE9PSBudWxsXHJcbiAgICAgICAgICAgIDogdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBwcm90ZWN0UGF0dGVybihzdHI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKG5ldyBSZWdFeHAoJ1tcXFxcLVxcXFxbXFxcXF1cXFxcL1xcXFx7XFxcXH1cXFxcKFxcXFwpXFxcXCpcXFxcK1xcXFw/XFxcXC5cXFxcXFxcXFxcXFxeXFxcXCRcXFxcfF0nLCAnZycpLCAnXFxcXCQmJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgZm9ybWF0U2Fuc1VuaWNvZGUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGZvciAoY29uc3QgdW5pY29kZVBhdHRlcm4gb2YgdW5pY29kZVBhdHRlcm5zKSB7XHJcbiAgICAgICAgICAgIHN0ciA9IHN0ci5yZXBsYWNlKHVuaWNvZGVQYXR0ZXJuLnMsIHVuaWNvZGVQYXR0ZXJuLmwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc3RyO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGZvcm1hdFBhdHRlcm4oc3RyOiBzdHJpbmcsIGVkaXRQYXR0ZXJuOiAoKHN0cjogc3RyaW5nKSA9PiBzdHJpbmcpIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcclxuICAgICAgICBzdHIgPSBTZWxlY3QyVXRpbHMuZm9ybWF0U2Fuc1VuaWNvZGUoU2VsZWN0MlV0aWxzLnByb3RlY3RQYXR0ZXJuKHN0cikpO1xyXG5cclxuICAgICAgICBpZiAoZWRpdFBhdHRlcm4gJiYgdHlwZW9mIGVkaXRQYXR0ZXJuID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIHN0ciA9IGVkaXRQYXR0ZXJuKHN0cik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBzdHI7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldEZpbHRlcmVkRGF0YShkYXRhOiBTZWxlY3QyRGF0YSwgc2VhcmNoVGV4dDogc3RyaW5nIHwgbnVsbCwgZWRpdFBhdHRlcm4/OiAoc3RyOiBzdHJpbmcpID0+IHN0cmluZyk6IFNlbGVjdDJEYXRhIHtcclxuICAgICAgICBpZiAoc2VhcmNoVGV4dCkge1xyXG4gICAgICAgICAgICBjb25zdCByZXN1bHQ6IFNlbGVjdDJEYXRhID0gW107XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5zb21lKGdyb3VwID0+IFNlbGVjdDJVdGlscy5jb250YWluU2VhcmNoVGV4dChncm91cC5sYWJlbCwgc2VhcmNoVGV4dCwgZWRpdFBhdHRlcm4pKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJlZE9wdGlvbnMgPSBvcHRpb25zLmZpbHRlcihcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwID0+IFNlbGVjdDJVdGlscy5jb250YWluU2VhcmNoVGV4dChncm91cC5sYWJlbCwgc2VhcmNoVGV4dCwgZWRpdFBhdHRlcm4pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBncm91cE9yT3B0aW9uLmxhYmVsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogZmlsdGVyZWRPcHRpb25zXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoU2VsZWN0MlV0aWxzLmNvbnRhaW5TZWFyY2hUZXh0KGdyb3VwT3JPcHRpb24ubGFiZWwsIHNlYXJjaFRleHQsIGVkaXRQYXR0ZXJuKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGdyb3VwT3JPcHRpb24pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRPcHRpb25TdHlsZSh2YWx1ZTogU2VsZWN0MlZhbHVlLCBob3ZlcmluZ1ZhbHVlOiBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSBob3ZlcmluZ1ZhbHVlXHJcbiAgICAgICAgICAgID8gJ3NlbGVjdDItcmVzdWx0c19fb3B0aW9uIHNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZCdcclxuICAgICAgICAgICAgOiAnc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24nO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXREcm9wZG93blN0eWxlKGlzT3BlbjogYm9vbGVhbikge1xyXG4gICAgICAgIHJldHVybiBpc09wZW5cclxuICAgICAgICAgICAgPyAnc2VsZWN0Mi1jb250YWluZXIgc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgc2VsZWN0Mi1jb250YWluZXItZHJvcGRvd24gc2VsZWN0Mi1jb250YWluZXItLW9wZW4nXHJcbiAgICAgICAgICAgIDogJ3NlbGVjdDItY29udGFpbmVyIHNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHNlbGVjdDItY29udGFpbmVyLWRyb3Bkb3duJztcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0Q29udGFpbmVyU3R5bGUoZGlzYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQsIGlzT3BlbjogYm9vbGVhbikge1xyXG4gICAgICAgIHJldHVybiBgc2VsZWN0MiBzZWxlY3QyLWNvbnRhaW5lciBzZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAke2Rpc2FibGVkID8gJ3NlbGVjdDItY29udGFpbmVyLS1kaXNhYmxlZCcgOiAnJ30gYFxyXG4gICAgICAgICAgICArIGAke2lzT3BlbiA/ICdzZWxlY3QyLWNvbnRhaW5lci0tb3BlbicgOiAnJ30gc2VsZWN0Mi1jb250YWluZXItLWJlbG93IHNlbGVjdDItY29udGFpbmVyLS1mb2N1c2A7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldFNlbGVjdGlvblN0eWxlKG11bHRpcGxlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgcmV0dXJuIGBzZWxlY3QyLXNlbGVjdGlvbiBzZWxlY3QyLXNlbGVjdGlvbi0tJHttdWx0aXBsZSA/ICdtdWx0aXBsZScgOiAnc2luZ2xlJ31gO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBzdGF0aWMgaXNTZWFyY2hib3hIaWRkZXgoZGF0YTogU2VsZWN0MkRhdGEsIG1pbkNvdW50Rm9yU2VhcmNoPzogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBtaW5Db3VudEZvclNlYXJjaCAhPT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgbWluQ291bnRGb3JTZWFyY2ggPSBkZWZhdWx0TWluQ291bnRGb3JTZWFyY2g7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IG9wdGlvbkNvdW50ID0gU2VsZWN0MlV0aWxzLmdldE9wdGlvbnNDb3VudChkYXRhKTtcclxuICAgICAgICByZXR1cm4gb3B0aW9uQ291bnQgPCBtaW5Db3VudEZvclNlYXJjaDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0U2VhcmNoU3R5bGUoaXNIaWRkZW46IGJvb2xlYW4pIHtcclxuICAgICAgICByZXR1cm4gaXNIaWRkZW5cclxuICAgICAgICAgICAgPyAnc2VsZWN0Mi1zZWFyY2ggc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duIHNlbGVjdDItc2VhcmNoLS1oaWRlJ1xyXG4gICAgICAgICAgICA6ICdzZWxlY3QyLXNlYXJjaCBzZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24nO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBpc1NlbGVjdGVkKFxyXG4gICAgICAgIG9wdGlvbnM6IFNlbGVjdDJPcHRpb24gfCBTZWxlY3QyT3B0aW9uW10gfCBudWxsLFxyXG4gICAgICAgIG9wdGlvbjogU2VsZWN0Mk9wdGlvbixcclxuICAgICAgICBtdWx0aXBsZTogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWRcclxuICAgICkge1xyXG4gICAgICAgIGlmIChtdWx0aXBsZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gb3B0aW9ucyAmJiAob3B0aW9ucyBhcyBTZWxlY3QyT3B0aW9uW10pLnNvbWUob3AgPT4gb3AudmFsdWUgPT09IG9wdGlvbi52YWx1ZSkgPyAndHJ1ZScgOiAnZmFsc2UnO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBvcHRpb25zICYmIG9wdGlvbi52YWx1ZSA9PT0gKG9wdGlvbnMgYXMgU2VsZWN0Mk9wdGlvbikudmFsdWUgPyAndHJ1ZScgOiAnZmFsc2UnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgcmVtb3ZlU2VsZWN0aW9uKG9wdGlvbnM6IFNlbGVjdDJPcHRpb24gfCBTZWxlY3QyT3B0aW9uW10gfCBudWxsLCBvcHRpb246IFNlbGVjdDJPcHRpb24pIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb25bXSkubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb25bXSlbaV0udmFsdWUgPT09IG9wdGlvbi52YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgKG9wdGlvbnMgYXMgU2VsZWN0Mk9wdGlvbltdKS5zcGxpY2UoaSwgMSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi11dGlscy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXNlbGVjdDItY29tcG9uZW50LyIsInNvdXJjZXMiOlsibGliL3NlbGVjdDItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkEsTUFBTSxDQUFDLHVCQUFNLE9BQU8sR0FBRyxHQUFHLENBQUM7QUFFM0IsdUJBQU0sZUFBZSxHQUErQjtJQUNoRCxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLHdDQUF3QyxFQUFFO0lBQ3ZELEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0lBQ3JCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFO0lBQ3pCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0lBQ3JCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0lBQ3JCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFO0lBQ3hCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0lBQ3JCLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsY0FBYyxFQUFFO0lBQzdCLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsa0JBQWtCLEVBQUU7SUFDakMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxtQkFBbUIsRUFBRTtJQUNsQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRTtJQUN4QixFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLG9DQUFvQyxFQUFFO0lBQ25ELEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsV0FB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LENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDMUMsT0FBTzthQUNWO1NBQ0o7S0FDSjtDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTZWxlY3QyR3JvdXAge1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIG9wdGlvbnM6IFNlbGVjdDJPcHRpb25bXTtcclxuICAgIGNsYXNzZXM/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0Mk9wdGlvbiB7XHJcbiAgICB2YWx1ZTogU2VsZWN0MlZhbHVlO1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcclxuICAgIGNvbXBvbmVudD86IHN0cmluZyB8IEZ1bmN0aW9uO1xyXG4gICAgY2xhc3Nlcz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgU2VsZWN0MlZhbHVlID0gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbjtcclxuXHJcbmV4cG9ydCB0eXBlIFNlbGVjdDJVcGRhdGVWYWx1ZSA9IFNlbGVjdDJWYWx1ZSB8IFNlbGVjdDJWYWx1ZVtdO1xyXG5cclxuZXhwb3J0IHR5cGUgU2VsZWN0MkRhdGEgPSAoU2VsZWN0Mkdyb3VwIHwgU2VsZWN0Mk9wdGlvbilbXTtcclxuXHJcbmV4cG9ydCBjb25zdCB0aW1lb3V0ID0gMjAwO1xyXG5cclxuY29uc3QgdW5pY29kZVBhdHRlcm5zOiB7IGw6IHN0cmluZywgczogUmVnRXhwIH1bXSA9IFtcclxuICAgIHsgbDogJ2EnLCBzOiAvW+KTkO+9geG6msOgw6HDouG6p+G6peG6q+G6qcOjxIHEg+G6seG6r+G6teG6s8inx6HDpMef4bqjw6XHu8eOyIHIg+G6oeG6reG6t+G4gcSF4rGlyZBdL2dpIH0sXHJcbiAgICB7IGw6ICdhYScsIHM6IC/qnLMvZ2kgfSxcclxuICAgIHsgbDogJ2FlJywgczogL1vDpse9x6NdL2dpIH0sXHJcbiAgICB7IGw6ICdhbycsIHM6IC/qnLUvZ2kgfSxcclxuICAgIHsgbDogJ2F1JywgczogL+qcty9naSB9LFxyXG4gICAgeyBsOiAnYXYnLCBzOiAvW+qcueqcu10vZ2kgfSxcclxuICAgIHsgbDogJ2F5JywgczogL+qcvS9naSB9LFxyXG4gICAgeyBsOiAnYicsIHM6IC9b4pOR772C4biD4biF4biHxoDGg8mTXS9naSB9LFxyXG4gICAgeyBsOiAnYycsIHM6IC9b4pOS772DxIfEicSLxI3Dp+G4icaIyLzqnL/ihoRdL2dpIH0sXHJcbiAgICB7IGw6ICdkJywgczogL1vik5PvvYThuIvEj+G4jeG4keG4k+G4j8SRxozJlsmX6p26XS9naSB9LFxyXG4gICAgeyBsOiAnZHonLCBzOiAvW8ezx4ZdL2dpIH0sXHJcbiAgICB7IGw6ICdlJywgczogL1vik5TvvYXDqMOpw6rhu4Hhur/hu4Xhu4Phur3Ek+G4leG4l8SVxJfDq+G6u8SbyIXIh+G6ueG7h8ip4bidxJnhuJnhuJvJh8mbx51dL2dpIH0sXHJcbiAgICB7IGw6ICdmJywgczogL1vik5XvvYbhuJ/GkuqdvF0vZ2kgfSxcclxuICAgIHsgbDogJ2cnLCBzOiAvW+KTlu+9h8e1xJ3huKHEn8Shx6fEo8elyaDqnqHhtbnqnb9dL2dpIH0sXHJcbiAgICB7IGw6ICdoJywgczogL1vik5fvvYjEpeG4o+G4p8if4bil4bip4bir4bqWxKfisajisbbJpV0vZ2kgfSxcclxuICAgIHsgbDogJ2h2JywgczogL8aVL2dpIH0sXHJcbiAgICB7IGw6ICdpJywgczogL1vik5jvvYnDrMOtw67EqcSrxK3EsMOv4biv4buJx5DIiciL4buLxK/huK3JqMSxXS9naSB9LFxyXG4gICAgeyBsOiAnaicsIHM6IC9b4pOZ772KxLXHsMmJXS9naSB9LFxyXG4gICAgeyBsOiAnaycsIHM6IC9b4pOa772L4bixx6nhuLPEt+G4tcaZ4rGq6p2B6p2D6p2F6p6jXS9naSB9LFxyXG4gICAgeyBsOiAnbCcsIHM6IC9b4pOb772MxYDEusS+4bi34bi5xLzhuL3huLvFv8WCxprJq+Kxoeqdieqegeqdh+qdhl0vZ2kgfSxcclxuICAgIHsgbDogJ2xqJywgczogL8eJL2dpIH0sXHJcbiAgICB7IGw6ICdtJywgczogL1vik5zvvY3huL/huYHhuYPJscmvXS9naSB9LFxyXG4gICAgeyBsOiAnbicsIHM6IC9b4pOd772Ox7nFhMOx4bmFxYjhuYfFhuG5i+G5icaeybLFieqekeqepV0vZ2kgfSxcclxuICAgIHsgbDogJ25qJywgczogL8eML2dpIH0sXHJcbiAgICB7IGw6ICdvJywgczogL1vik57vvY/DssOzw7Thu5Phu5Hhu5fhu5XDteG5jcit4bmPxY3huZHhuZPFj8ivyLHDtsir4buPxZHHksiNyI/GoeG7neG7m+G7oeG7n+G7o+G7jeG7mcerx63DuMe/yZTGn+qdi+qdjcm1XS9naSB9LFxyXG4gICAgeyBsOiAnb2knLCBzOiAvxqMvZ2kgfSxcclxuICAgIHsgbDogJ29lJywgczogL8WTL2dpIH0sXHJcbiAgICB7IGw6ICdvbycsIHM6IC/qnY8vZ2kgfSxcclxuICAgIHsgbDogJ291JywgczogL8ijL2dpIH0sXHJcbiAgICB7IGw6ICdwJywgczogL1vik5/vvZDhuZXhuZfGpeG1veqdkeqdk+qdlV0vZ2kgfSxcclxuICAgIHsgbDogJ3EnLCBzOiAvW+KToO+9kcmL6p2X6p2ZXS9naSB9LFxyXG4gICAgeyBsOiAncicsIHM6IC9b4pOh772SxZXhuZnFmciRyJPhuZvhuZ3Fl+G5n8mNyb3qnZvqnqfqnoNdL2dpIH0sXHJcbiAgICB7IGw6ICdzJywgczogL1vik6LvvZPDn+G6nsWb4bmlxZ3huaHFoeG5p+G5o+G5qciZxZ/Iv+qeqeqeheG6m10vZ2kgfSxcclxuICAgIHsgbDogJ3QnLCBzOiAvW+KTo++9lOG5q+G6l8Wl4bmtyJvFo+G5seG5r8Wnxq3KiOKxpuqeh10vZ2kgfSxcclxuICAgIHsgbDogJ3R6JywgczogL+qcqS9naSB9LFxyXG4gICAgeyBsOiAndScsIHM6IC9b4pOk772Vw7nDusO7xanhubnFq+G5u8Wtw7zHnMeYx5bHmuG7p8WvxbHHlMiVyJfGsOG7q+G7qeG7r+G7reG7seG7peG5s8Wz4bm34bm1yoldL2dpIH0sXHJcbiAgICB7IGw6ICd2JywgczogL1vik6XvvZbhub3hub/Ki+qdn8qMXS9naSB9LFxyXG4gICAgeyBsOiAndnknLCBzOiAv6p2hL2dpIH0sXHJcbiAgICB7IGw6ICd3JywgczogL1vik6bvvZfhuoHhuoPFteG6h+G6heG6mOG6ieKxs10vZ2kgfSxcclxuICAgIHsgbDogJ3gnLCBzOiAvW+KTp++9mOG6i+G6jV0vZ2kgfSxcclxuICAgIHsgbDogJ3knLCBzOiAvW+KTqO+9meG7s8O9xbfhu7nIs+G6j8O/4bu34bqZ4bu1xrTJj+G7v10vZ2kgfSxcclxuICAgIHsgbDogJ3onLCBzOiAvW+KTqe+9msW64bqRxbzFvuG6k+G6lca2yKXJgOKxrOqdo10vZ2kgfVxyXG5dO1xyXG5cclxuY29uc3QgZGVmYXVsdE1pbkNvdW50Rm9yU2VhcmNoID0gNjtcclxuXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3QyVXRpbHMge1xyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGdldFNjcm9sbFVwSW5kZXgoZGF0YTogU2VsZWN0MkRhdGEsIHZhbHVlOiBTZWxlY3QyVmFsdWUpIHtcclxuICAgICAgICBsZXQgaW5kZXggPSAwO1xyXG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBkYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBpbmRleCsrO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWVJbmRleCA9IG9wdGlvbnMuZmluZEluZGV4KG9wID0+IG9wLnZhbHVlID09PSB2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICBpZiAodmFsdWVJbmRleCAhPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW5kZXggKyB2YWx1ZUluZGV4O1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBpbmRleCArPSBvcHRpb25zLmxlbmd0aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGlmICgoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uKS52YWx1ZSA9PT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW5kZXg7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGluZGV4Kys7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIDA7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldE9wdGlvbkJ5VmFsdWUoZGF0YTogU2VsZWN0MkRhdGEsIHZhbHVlOiBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGRhdGEpIHtcclxuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9uLnZhbHVlID09PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGlmICgoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uKS52YWx1ZSA9PT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRPcHRpb25zQnlWYWx1ZShcclxuICAgICAgICBkYXRhOiBTZWxlY3QyRGF0YSxcclxuICAgICAgICB2YWx1ZTogU2VsZWN0MlVwZGF0ZVZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCxcclxuICAgICAgICBtdWx0aXBsZTogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWRcclxuICAgICkge1xyXG4gICAgICAgIGlmIChtdWx0aXBsZSkge1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZXM6IFNlbGVjdDJWYWx1ZVtdID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFtdO1xyXG4gICAgICAgICAgICBjb25zdCByZXN1bHQ6IFNlbGVjdDJPcHRpb25bXSA9IFtdO1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHYgb2YgdmFsdWVzKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBTZWxlY3QyVXRpbHMuZ2V0T3B0aW9uQnlWYWx1ZShkYXRhLCB2KTtcclxuICAgICAgICAgICAgICAgIGlmIChvcHRpb24pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChvcHRpb24pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBTZWxlY3QyVXRpbHMuZ2V0T3B0aW9uQnlWYWx1ZShkYXRhLCB2YWx1ZSBhcyBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0Rmlyc3RBdmFpbGFibGVPcHRpb24oZGF0YTogU2VsZWN0MkRhdGEpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZGF0YSkge1xyXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBvcHRpb24gb2Ygb3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9uLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb24udmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGdldE9wdGlvbnNDb3VudChkYXRhOiBTZWxlY3QyRGF0YSkge1xyXG4gICAgICAgIGxldCBjb3VudCA9IDA7XHJcbiAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGRhdGEpIHtcclxuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGNvdW50ICs9IG9wdGlvbnMubGVuZ3RoO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY291bnQrKztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gY291bnQ7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHZhbHVlSXNOb3RJbkZpbHRlcmVkRGF0YShmaWx0ZXJlZERhdGE6IFNlbGVjdDJEYXRhLCB2YWx1ZTogU2VsZWN0MlZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGlmIChTZWxlY3QyVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQodmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZmlsdGVyZWREYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGlmICgoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uKS52YWx1ZSA9PT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvZ25pdGl2ZS1jb21wbGV4aXR5XHJcbiAgICBzdGF0aWMgZ2V0UHJldmlvdXNPcHRpb24oZmlsdGVyZWREYXRhOiBTZWxlY3QyRGF0YSwgaG92ZXJpbmdWYWx1ZTogU2VsZWN0MlZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGxldCBmaW5kSXQgPSBTZWxlY3QyVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoaG92ZXJpbmdWYWx1ZSk7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IGZpbHRlcmVkRGF0YS5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xyXG4gICAgICAgICAgICBjb25zdCBncm91cE9yT3B0aW9uID0gZmlsdGVyZWREYXRhW2ldO1xyXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IG9wdGlvbnMubGVuZ3RoIC0gMTsgaiA+PSAwOyBqLS0pIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBvcHRpb25zW2pdO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChmaW5kSXQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb247XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFmaW5kSXQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmluZEl0ID0gb3B0aW9uLnZhbHVlID09PSBob3ZlcmluZ1ZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbjtcclxuICAgICAgICAgICAgICAgIGlmIChmaW5kSXQpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICghZmluZEl0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmluZEl0ID0gb3B0aW9uLnZhbHVlID09PSBob3ZlcmluZ1ZhbHVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvZ25pdGl2ZS1jb21wbGV4aXR5XHJcbiAgICBzdGF0aWMgZ2V0TmV4dE9wdGlvbihmaWx0ZXJlZERhdGE6IFNlbGVjdDJEYXRhLCBob3ZlcmluZ1ZhbHVlOiBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgbGV0IGZpbmRJdCA9IFNlbGVjdDJVdGlscy5pc051bGxPclVuZGVmaW5lZChob3ZlcmluZ1ZhbHVlKTtcclxuICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZmlsdGVyZWREYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpbmRJdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWZpbmRJdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaW5kSXQgPSBvcHRpb24udmFsdWUgPT09IGhvdmVyaW5nVmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgaWYgKGZpbmRJdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9uLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb247XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICghZmluZEl0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmluZEl0ID0gb3B0aW9uLnZhbHVlID09PSBob3ZlcmluZ1ZhbHVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlOiBhbnkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBjb250YWluU2VhcmNoVGV4dChcclxuICAgICAgICBsYWJlbDogc3RyaW5nLFxyXG4gICAgICAgIHNlYXJjaFRleHQ6IHN0cmluZyB8IG51bGwsXHJcbiAgICAgICAgZWRpdFBhdHRlcm46ICgoc3RyOiBzdHJpbmcpID0+IHN0cmluZykgfCB1bmRlZmluZWRcclxuICAgICk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBzZWFyY2hUZXh0XHJcbiAgICAgICAgICAgID8gU2VsZWN0MlV0aWxzXHJcbiAgICAgICAgICAgICAgICAuZm9ybWF0U2Fuc1VuaWNvZGUobGFiZWwpXHJcbiAgICAgICAgICAgICAgICAubWF0Y2gobmV3IFJlZ0V4cChTZWxlY3QyVXRpbHMuZm9ybWF0UGF0dGVybihzZWFyY2hUZXh0LCBlZGl0UGF0dGVybiksICdpJykpICE9PSBudWxsXHJcbiAgICAgICAgICAgIDogdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBwcm90ZWN0UGF0dGVybihzdHI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKG5ldyBSZWdFeHAoJ1tcXFxcLVxcXFxbXFxcXF1cXFxcL1xcXFx7XFxcXH1cXFxcKFxcXFwpXFxcXCpcXFxcK1xcXFw/XFxcXC5cXFxcXFxcXFxcXFxeXFxcXCRcXFxcfF0nLCAnZycpLCAnXFxcXCQmJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgZm9ybWF0U2Fuc1VuaWNvZGUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGZvciAoY29uc3QgdW5pY29kZVBhdHRlcm4gb2YgdW5pY29kZVBhdHRlcm5zKSB7XHJcbiAgICAgICAgICAgIHN0ciA9IHN0ci5yZXBsYWNlKHVuaWNvZGVQYXR0ZXJuLnMsIHVuaWNvZGVQYXR0ZXJuLmwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc3RyO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGZvcm1hdFBhdHRlcm4oc3RyOiBzdHJpbmcsIGVkaXRQYXR0ZXJuOiAoKHN0cjogc3RyaW5nKSA9PiBzdHJpbmcpIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcclxuICAgICAgICBzdHIgPSBTZWxlY3QyVXRpbHMuZm9ybWF0U2Fuc1VuaWNvZGUoU2VsZWN0MlV0aWxzLnByb3RlY3RQYXR0ZXJuKHN0cikpO1xyXG5cclxuICAgICAgICBpZiAoZWRpdFBhdHRlcm4gJiYgdHlwZW9mIGVkaXRQYXR0ZXJuID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIHN0ciA9IGVkaXRQYXR0ZXJuKHN0cik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBzdHI7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldEZpbHRlcmVkRGF0YShkYXRhOiBTZWxlY3QyRGF0YSwgc2VhcmNoVGV4dDogc3RyaW5nIHwgbnVsbCwgZWRpdFBhdHRlcm4/OiAoc3RyOiBzdHJpbmcpID0+IHN0cmluZyk6IFNlbGVjdDJEYXRhIHtcclxuICAgICAgICBpZiAoc2VhcmNoVGV4dCkge1xyXG4gICAgICAgICAgICBjb25zdCByZXN1bHQ6IFNlbGVjdDJEYXRhID0gW107XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5zb21lKGdyb3VwID0+IFNlbGVjdDJVdGlscy5jb250YWluU2VhcmNoVGV4dChncm91cC5sYWJlbCwgc2VhcmNoVGV4dCwgZWRpdFBhdHRlcm4pKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJlZE9wdGlvbnMgPSBvcHRpb25zLmZpbHRlcihcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwID0+IFNlbGVjdDJVdGlscy5jb250YWluU2VhcmNoVGV4dChncm91cC5sYWJlbCwgc2VhcmNoVGV4dCwgZWRpdFBhdHRlcm4pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBncm91cE9yT3B0aW9uLmxhYmVsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogZmlsdGVyZWRPcHRpb25zXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoU2VsZWN0MlV0aWxzLmNvbnRhaW5TZWFyY2hUZXh0KGdyb3VwT3JPcHRpb24ubGFiZWwsIHNlYXJjaFRleHQsIGVkaXRQYXR0ZXJuKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGdyb3VwT3JPcHRpb24pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRPcHRpb25TdHlsZSh2YWx1ZTogU2VsZWN0MlZhbHVlLCBob3ZlcmluZ1ZhbHVlOiBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSBob3ZlcmluZ1ZhbHVlXHJcbiAgICAgICAgICAgID8gJ3NlbGVjdDItcmVzdWx0c19fb3B0aW9uIHNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZCdcclxuICAgICAgICAgICAgOiAnc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24nO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXREcm9wZG93blN0eWxlKGlzT3BlbjogYm9vbGVhbikge1xyXG4gICAgICAgIHJldHVybiBpc09wZW5cclxuICAgICAgICAgICAgPyAnc2VsZWN0Mi1jb250YWluZXIgc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgc2VsZWN0Mi1jb250YWluZXItZHJvcGRvd24gc2VsZWN0Mi1jb250YWluZXItLW9wZW4nXHJcbiAgICAgICAgICAgIDogJ3NlbGVjdDItY29udGFpbmVyIHNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHNlbGVjdDItY29udGFpbmVyLWRyb3Bkb3duJztcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0Q29udGFpbmVyU3R5bGUoZGlzYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQsIGlzT3BlbjogYm9vbGVhbikge1xyXG4gICAgICAgIHJldHVybiBgc2VsZWN0MiBzZWxlY3QyLWNvbnRhaW5lciBzZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAke2Rpc2FibGVkID8gJ3NlbGVjdDItY29udGFpbmVyLS1kaXNhYmxlZCcgOiAnJ30gYFxyXG4gICAgICAgICAgICArIGAke2lzT3BlbiA/ICdzZWxlY3QyLWNvbnRhaW5lci0tb3BlbicgOiAnJ30gc2VsZWN0Mi1jb250YWluZXItLWJlbG93IHNlbGVjdDItY29udGFpbmVyLS1mb2N1c2A7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldFNlbGVjdGlvblN0eWxlKG11bHRpcGxlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgcmV0dXJuIGBzZWxlY3QyLXNlbGVjdGlvbiBzZWxlY3QyLXNlbGVjdGlvbi0tJHttdWx0aXBsZSA/ICdtdWx0aXBsZScgOiAnc2luZ2xlJ31gO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBzdGF0aWMgaXNTZWFyY2hib3hIaWRkZXgoZGF0YTogU2VsZWN0MkRhdGEsIG1pbkNvdW50Rm9yU2VhcmNoPzogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBtaW5Db3VudEZvclNlYXJjaCAhPT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgbWluQ291bnRGb3JTZWFyY2ggPSBkZWZhdWx0TWluQ291bnRGb3JTZWFyY2g7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IG9wdGlvbkNvdW50ID0gU2VsZWN0MlV0aWxzLmdldE9wdGlvbnNDb3VudChkYXRhKTtcclxuICAgICAgICByZXR1cm4gb3B0aW9uQ291bnQgPCBtaW5Db3VudEZvclNlYXJjaDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0U2VhcmNoU3R5bGUoaXNIaWRkZW46IGJvb2xlYW4pIHtcclxuICAgICAgICByZXR1cm4gaXNIaWRkZW5cclxuICAgICAgICAgICAgPyAnc2VsZWN0Mi1zZWFyY2ggc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duIHNlbGVjdDItc2VhcmNoLS1oaWRlJ1xyXG4gICAgICAgICAgICA6ICdzZWxlY3QyLXNlYXJjaCBzZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24nO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBpc1NlbGVjdGVkKFxyXG4gICAgICAgIG9wdGlvbnM6IFNlbGVjdDJPcHRpb24gfCBTZWxlY3QyT3B0aW9uW10gfCBudWxsLFxyXG4gICAgICAgIG9wdGlvbjogU2VsZWN0Mk9wdGlvbixcclxuICAgICAgICBtdWx0aXBsZTogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWRcclxuICAgICkge1xyXG4gICAgICAgIGlmIChtdWx0aXBsZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gb3B0aW9ucyAmJiAob3B0aW9ucyBhcyBTZWxlY3QyT3B0aW9uW10pLnNvbWUob3AgPT4gb3AudmFsdWUgPT09IG9wdGlvbi52YWx1ZSkgPyAndHJ1ZScgOiAnZmFsc2UnO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBvcHRpb25zICYmIG9wdGlvbi52YWx1ZSA9PT0gKG9wdGlvbnMgYXMgU2VsZWN0Mk9wdGlvbikudmFsdWUgPyAndHJ1ZScgOiAnZmFsc2UnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgcmVtb3ZlU2VsZWN0aW9uKG9wdGlvbnM6IFNlbGVjdDJPcHRpb24gfCBTZWxlY3QyT3B0aW9uW10gfCBudWxsLCBvcHRpb246IFNlbGVjdDJPcHRpb24pIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb25bXSkubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb25bXSlbaV0udmFsdWUgPT09IG9wdGlvbi52YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgKG9wdGlvbnMgYXMgU2VsZWN0Mk9wdGlvbltdKS5zcGxpY2UoaSwgMSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19

@@ -371,3 +371,5 @@ /**

}
findIt = option.value === hoveringValue;
if (!findIt) {
findIt = option.value === hoveringValue;
}
}

@@ -382,3 +384,5 @@ }

}
findIt = option.value === hoveringValue;
if (!findIt) {
findIt = option.value === hoveringValue;
}
}

@@ -415,3 +419,3 @@ }

}
else {
else if (!findIt) {
findIt = option.value === hoveringValue;

@@ -436,3 +440,3 @@ }

}
else {
else if (!findIt) {
findIt = option.value === hoveringValue;

@@ -707,2 +711,2 @@ }

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi11dGlscy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXNlbGVjdDItY29tcG9uZW50LyIsInNvdXJjZXMiOlsibGliL3NlbGVjdDItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBLE1BQU0sQ0FBQyxxQkFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDO0FBRTNCLHFCQUFNLGVBQWUsR0FBK0I7SUFDaEQsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSx3Q0FBd0MsRUFBRTtJQUN2RCxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRTtJQUNyQixFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRTtJQUN6QixFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRTtJQUNyQixFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRTtJQUNyQixFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRTtJQUN4QixFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRTtJQUNyQixFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLGNBQWMsRUFBRTtJQUM3QixFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLGtCQUFrQixFQUFFO0lBQ2pDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsbUJBQW1CLEVBQUU7SUFDbEMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUU7SUFDeEIsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxvQ0FBb0MsRUFBRTtJQUNuRCxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLFdB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SUFBSSxRQUFRLEVBQUU7WUFDVixPQUFPLE9BQU8sSUFBSSxtQkFBQyxPQUEwQixFQUFDLENBQUMsSUFBSSxDQUFDLFVBQUEsRUFBRSxJQUFJLE9BQUEsRUFBRSxDQUFDLEtBQUssS0FBSyxNQUFNLENBQUMsS0FBSyxFQUF6QixDQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1NBQzNHO2FBQU07WUFDSCxPQUFPLE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxLQUFLLG1CQUFDLE9BQXdCLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1NBQzFGO0tBQ0o7Ozs7OztJQUVNLDRCQUFlOzs7OztJQUF0QixVQUF1QixPQUErQyxFQUFFLE1BQXFCO1FBQ3pGLEtBQUsscUJBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsbUJBQUMsT0FBMEIsRUFBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxRCxJQUFJLG1CQUFDLE9BQTBCLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRTtnQkFDeEQsbUJBQUMsT0FBMEIsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzFDLE9BQU87YUFDVjtTQUNKO0tBQ0o7dUJBcldMO0lBc1dDLENBQUE7QUFqU0Qsd0JBaVNDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTZWxlY3QyR3JvdXAge1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIG9wdGlvbnM6IFNlbGVjdDJPcHRpb25bXTtcclxuICAgIGNsYXNzZXM/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0Mk9wdGlvbiB7XHJcbiAgICB2YWx1ZTogU2VsZWN0MlZhbHVlO1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcclxuICAgIGNvbXBvbmVudD86IHN0cmluZyB8IEZ1bmN0aW9uO1xyXG4gICAgY2xhc3Nlcz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgU2VsZWN0MlZhbHVlID0gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbjtcclxuXHJcbmV4cG9ydCB0eXBlIFNlbGVjdDJVcGRhdGVWYWx1ZSA9IFNlbGVjdDJWYWx1ZSB8IFNlbGVjdDJWYWx1ZVtdO1xyXG5cclxuZXhwb3J0IHR5cGUgU2VsZWN0MkRhdGEgPSAoU2VsZWN0Mkdyb3VwIHwgU2VsZWN0Mk9wdGlvbilbXTtcclxuXHJcbmV4cG9ydCBjb25zdCB0aW1lb3V0ID0gMjAwO1xyXG5cclxuY29uc3QgdW5pY29kZVBhdHRlcm5zOiB7IGw6IHN0cmluZywgczogUmVnRXhwIH1bXSA9IFtcclxuICAgIHsgbDogJ2EnLCBzOiAvW+KTkO+9geG6msOgw6HDouG6p+G6peG6q+G6qcOjxIHEg+G6seG6r+G6teG6s8inx6HDpMef4bqjw6XHu8eOyIHIg+G6oeG6reG6t+G4gcSF4rGlyZBdL2dpIH0sXHJcbiAgICB7IGw6ICdhYScsIHM6IC/qnLMvZ2kgfSxcclxuICAgIHsgbDogJ2FlJywgczogL1vDpse9x6NdL2dpIH0sXHJcbiAgICB7IGw6ICdhbycsIHM6IC/qnLUvZ2kgfSxcclxuICAgIHsgbDogJ2F1JywgczogL+qcty9naSB9LFxyXG4gICAgeyBsOiAnYXYnLCBzOiAvW+qcueqcu10vZ2kgfSxcclxuICAgIHsgbDogJ2F5JywgczogL+qcvS9naSB9LFxyXG4gICAgeyBsOiAnYicsIHM6IC9b4pOR772C4biD4biF4biHxoDGg8mTXS9naSB9LFxyXG4gICAgeyBsOiAnYycsIHM6IC9b4pOS772DxIfEicSLxI3Dp+G4icaIyLzqnL/ihoRdL2dpIH0sXHJcbiAgICB7IGw6ICdkJywgczogL1vik5PvvYThuIvEj+G4jeG4keG4k+G4j8SRxozJlsmX6p26XS9naSB9LFxyXG4gICAgeyBsOiAnZHonLCBzOiAvW8ezx4ZdL2dpIH0sXHJcbiAgICB7IGw6ICdlJywgczogL1vik5TvvYXDqMOpw6rhu4Hhur/hu4Xhu4Phur3Ek+G4leG4l8SVxJfDq+G6u8SbyIXIh+G6ueG7h8ip4bidxJnhuJnhuJvJh8mbx51dL2dpIH0sXHJcbiAgICB7IGw6ICdmJywgczogL1vik5XvvYbhuJ/GkuqdvF0vZ2kgfSxcclxuICAgIHsgbDogJ2cnLCBzOiAvW+KTlu+9h8e1xJ3huKHEn8Shx6fEo8elyaDqnqHhtbnqnb9dL2dpIH0sXHJcbiAgICB7IGw6ICdoJywgczogL1vik5fvvYjEpeG4o+G4p8if4bil4bip4bir4bqWxKfisajisbbJpV0vZ2kgfSxcclxuICAgIHsgbDogJ2h2JywgczogL8aVL2dpIH0sXHJcbiAgICB7IGw6ICdpJywgczogL1vik5jvvYnDrMOtw67EqcSrxK3EsMOv4biv4buJx5DIiciL4buLxK/huK3JqMSxXS9naSB9LFxyXG4gICAgeyBsOiAnaicsIHM6IC9b4pOZ772KxLXHsMmJXS9naSB9LFxyXG4gICAgeyBsOiAnaycsIHM6IC9b4pOa772L4bixx6nhuLPEt+G4tcaZ4rGq6p2B6p2D6p2F6p6jXS9naSB9LFxyXG4gICAgeyBsOiAnbCcsIHM6IC9b4pOb772MxYDEusS+4bi34bi5xLzhuL3huLvFv8WCxprJq+Kxoeqdieqegeqdh+qdhl0vZ2kgfSxcclxuICAgIHsgbDogJ2xqJywgczogL8eJL2dpIH0sXHJcbiAgICB7IGw6ICdtJywgczogL1vik5zvvY3huL/huYHhuYPJscmvXS9naSB9LFxyXG4gICAgeyBsOiAnbicsIHM6IC9b4pOd772Ox7nFhMOx4bmFxYjhuYfFhuG5i+G5icaeybLFieqekeqepV0vZ2kgfSxcclxuICAgIHsgbDogJ25qJywgczogL8eML2dpIH0sXHJcbiAgICB7IGw6ICdvJywgczogL1vik57vvY/DssOzw7Thu5Phu5Hhu5fhu5XDteG5jcit4bmPxY3huZHhuZPFj8ivyLHDtsir4buPxZHHksiNyI/GoeG7neG7m+G7oeG7n+G7o+G7jeG7mcerx63DuMe/yZTGn+qdi+qdjcm1XS9naSB9LFxyXG4gICAgeyBsOiAnb2knLCBzOiAvxqMvZ2kgfSxcclxuICAgIHsgbDogJ29lJywgczogL8WTL2dpIH0sXHJcbiAgICB7IGw6ICdvbycsIHM6IC/qnY8vZ2kgfSxcclxuICAgIHsgbDogJ291JywgczogL8ijL2dpIH0sXHJcbiAgICB7IGw6ICdwJywgczogL1vik5/vvZDhuZXhuZfGpeG1veqdkeqdk+qdlV0vZ2kgfSxcclxuICAgIHsgbDogJ3EnLCBzOiAvW+KToO+9kcmL6p2X6p2ZXS9naSB9LFxyXG4gICAgeyBsOiAncicsIHM6IC9b4pOh772SxZXhuZnFmciRyJPhuZvhuZ3Fl+G5n8mNyb3qnZvqnqfqnoNdL2dpIH0sXHJcbiAgICB7IGw6ICdzJywgczogL1vik6LvvZPDn+G6nsWb4bmlxZ3huaHFoeG5p+G5o+G5qciZxZ/Iv+qeqeqeheG6m10vZ2kgfSxcclxuICAgIHsgbDogJ3QnLCBzOiAvW+KTo++9lOG5q+G6l8Wl4bmtyJvFo+G5seG5r8Wnxq3KiOKxpuqeh10vZ2kgfSxcclxuICAgIHsgbDogJ3R6JywgczogL+qcqS9naSB9LFxyXG4gICAgeyBsOiAndScsIHM6IC9b4pOk772Vw7nDusO7xanhubnFq+G5u8Wtw7zHnMeYx5bHmuG7p8WvxbHHlMiVyJfGsOG7q+G7qeG7r+G7reG7seG7peG5s8Wz4bm34bm1yoldL2dpIH0sXHJcbiAgICB7IGw6ICd2JywgczogL1vik6XvvZbhub3hub/Ki+qdn8qMXS9naSB9LFxyXG4gICAgeyBsOiAndnknLCBzOiAv6p2hL2dpIH0sXHJcbiAgICB7IGw6ICd3JywgczogL1vik6bvvZfhuoHhuoPFteG6h+G6heG6mOG6ieKxs10vZ2kgfSxcclxuICAgIHsgbDogJ3gnLCBzOiAvW+KTp++9mOG6i+G6jV0vZ2kgfSxcclxuICAgIHsgbDogJ3knLCBzOiAvW+KTqO+9meG7s8O9xbfhu7nIs+G6j8O/4bu34bqZ4bu1xrTJj+G7v10vZ2kgfSxcclxuICAgIHsgbDogJ3onLCBzOiAvW+KTqe+9msW64bqRxbzFvuG6k+G6lca2yKXJgOKxrOqdo10vZ2kgfVxyXG5dO1xyXG5cclxuY29uc3QgZGVmYXVsdE1pbkNvdW50Rm9yU2VhcmNoID0gNjtcclxuXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3QyVXRpbHMge1xyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGdldFNjcm9sbFVwSW5kZXgoZGF0YTogU2VsZWN0MkRhdGEsIHZhbHVlOiBTZWxlY3QyVmFsdWUpIHtcclxuICAgICAgICBsZXQgaW5kZXggPSAwO1xyXG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBkYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBpbmRleCsrO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWVJbmRleCA9IG9wdGlvbnMuZmluZEluZGV4KG9wID0+IG9wLnZhbHVlID09PSB2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICBpZiAodmFsdWVJbmRleCAhPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW5kZXggKyB2YWx1ZUluZGV4O1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBpbmRleCArPSBvcHRpb25zLmxlbmd0aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGlmICgoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uKS52YWx1ZSA9PT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW5kZXg7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGluZGV4Kys7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIDA7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldE9wdGlvbkJ5VmFsdWUoZGF0YTogU2VsZWN0MkRhdGEsIHZhbHVlOiBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGRhdGEpIHtcclxuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9uLnZhbHVlID09PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGlmICgoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uKS52YWx1ZSA9PT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRPcHRpb25zQnlWYWx1ZShcclxuICAgICAgICBkYXRhOiBTZWxlY3QyRGF0YSxcclxuICAgICAgICB2YWx1ZTogU2VsZWN0MlVwZGF0ZVZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCxcclxuICAgICAgICBtdWx0aXBsZTogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWRcclxuICAgICkge1xyXG4gICAgICAgIGlmIChtdWx0aXBsZSkge1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZXM6IFNlbGVjdDJWYWx1ZVtdID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFtdO1xyXG4gICAgICAgICAgICBjb25zdCByZXN1bHQ6IFNlbGVjdDJPcHRpb25bXSA9IFtdO1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHYgb2YgdmFsdWVzKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBTZWxlY3QyVXRpbHMuZ2V0T3B0aW9uQnlWYWx1ZShkYXRhLCB2KTtcclxuICAgICAgICAgICAgICAgIGlmIChvcHRpb24pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChvcHRpb24pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBTZWxlY3QyVXRpbHMuZ2V0T3B0aW9uQnlWYWx1ZShkYXRhLCB2YWx1ZSBhcyBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0Rmlyc3RBdmFpbGFibGVPcHRpb24oZGF0YTogU2VsZWN0MkRhdGEpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZGF0YSkge1xyXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBvcHRpb24gb2Ygb3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9uLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb24udmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGdldE9wdGlvbnNDb3VudChkYXRhOiBTZWxlY3QyRGF0YSkge1xyXG4gICAgICAgIGxldCBjb3VudCA9IDA7XHJcbiAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGRhdGEpIHtcclxuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGNvdW50ICs9IG9wdGlvbnMubGVuZ3RoO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY291bnQrKztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gY291bnQ7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHZhbHVlSXNOb3RJbkZpbHRlcmVkRGF0YShmaWx0ZXJlZERhdGE6IFNlbGVjdDJEYXRhLCB2YWx1ZTogU2VsZWN0MlZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGlmIChTZWxlY3QyVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQodmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZmlsdGVyZWREYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGlmICgoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uKS52YWx1ZSA9PT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvZ25pdGl2ZS1jb21wbGV4aXR5XHJcbiAgICBzdGF0aWMgZ2V0UHJldmlvdXNPcHRpb24oZmlsdGVyZWREYXRhOiBTZWxlY3QyRGF0YSwgaG92ZXJpbmdWYWx1ZTogU2VsZWN0MlZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGxldCBmaW5kSXQgPSBTZWxlY3QyVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoaG92ZXJpbmdWYWx1ZSk7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IGZpbHRlcmVkRGF0YS5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xyXG4gICAgICAgICAgICBjb25zdCBncm91cE9yT3B0aW9uID0gZmlsdGVyZWREYXRhW2ldO1xyXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IG9wdGlvbnMubGVuZ3RoIC0gMTsgaiA+PSAwOyBqLS0pIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBvcHRpb25zW2pdO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChmaW5kSXQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb247XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZmluZEl0ID0gb3B0aW9uLnZhbHVlID09PSBob3ZlcmluZ1ZhbHVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgaWYgKGZpbmRJdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9uLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb247XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZmluZEl0ID0gb3B0aW9uLnZhbHVlID09PSBob3ZlcmluZ1ZhbHVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvZ25pdGl2ZS1jb21wbGV4aXR5XHJcbiAgICBzdGF0aWMgZ2V0TmV4dE9wdGlvbihmaWx0ZXJlZERhdGE6IFNlbGVjdDJEYXRhLCBob3ZlcmluZ1ZhbHVlOiBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgbGV0IGZpbmRJdCA9IFNlbGVjdDJVdGlscy5pc051bGxPclVuZGVmaW5lZChob3ZlcmluZ1ZhbHVlKTtcclxuICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZmlsdGVyZWREYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpbmRJdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbmRJdCA9IG9wdGlvbi52YWx1ZSA9PT0gaG92ZXJpbmdWYWx1ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJPcHRpb247XHJcbiAgICAgICAgICAgICAgICBpZiAoZmluZEl0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbmRJdCA9IG9wdGlvbi52YWx1ZSA9PT0gaG92ZXJpbmdWYWx1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBpc051bGxPclVuZGVmaW5lZCh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgY29udGFpblNlYXJjaFRleHQoXHJcbiAgICAgICAgbGFiZWw6IHN0cmluZyxcclxuICAgICAgICBzZWFyY2hUZXh0OiBzdHJpbmcgfCBudWxsLFxyXG4gICAgICAgIGVkaXRQYXR0ZXJuOiAoKHN0cjogc3RyaW5nKSA9PiBzdHJpbmcpIHwgdW5kZWZpbmVkXHJcbiAgICApOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gc2VhcmNoVGV4dFxyXG4gICAgICAgICAgICA/IFNlbGVjdDJVdGlsc1xyXG4gICAgICAgICAgICAgICAgLmZvcm1hdFNhbnNVbmljb2RlKGxhYmVsKVxyXG4gICAgICAgICAgICAgICAgLm1hdGNoKG5ldyBSZWdFeHAoU2VsZWN0MlV0aWxzLmZvcm1hdFBhdHRlcm4oc2VhcmNoVGV4dCwgZWRpdFBhdHRlcm4pLCAnaScpKSAhPT0gbnVsbFxyXG4gICAgICAgICAgICA6IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgcHJvdGVjdFBhdHRlcm4oc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBzdHIucmVwbGFjZShuZXcgUmVnRXhwKCdbXFxcXC1cXFxcW1xcXFxdXFxcXC9cXFxce1xcXFx9XFxcXChcXFxcKVxcXFwqXFxcXCtcXFxcP1xcXFwuXFxcXFxcXFxcXFxcXlxcXFwkXFxcXHxdJywgJ2cnKSwgJ1xcXFwkJicpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGZvcm1hdFNhbnNVbmljb2RlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBmb3IgKGNvbnN0IHVuaWNvZGVQYXR0ZXJuIG9mIHVuaWNvZGVQYXR0ZXJucykge1xyXG4gICAgICAgICAgICBzdHIgPSBzdHIucmVwbGFjZSh1bmljb2RlUGF0dGVybi5zLCB1bmljb2RlUGF0dGVybi5sKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHN0cjtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBmb3JtYXRQYXR0ZXJuKHN0cjogc3RyaW5nLCBlZGl0UGF0dGVybjogKChzdHI6IHN0cmluZykgPT4gc3RyaW5nKSB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICAgICAgc3RyID0gU2VsZWN0MlV0aWxzLmZvcm1hdFNhbnNVbmljb2RlKFNlbGVjdDJVdGlscy5wcm90ZWN0UGF0dGVybihzdHIpKTtcclxuXHJcbiAgICAgICAgaWYgKGVkaXRQYXR0ZXJuICYmIHR5cGVvZiBlZGl0UGF0dGVybiA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICBzdHIgPSBlZGl0UGF0dGVybihzdHIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc3RyO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRGaWx0ZXJlZERhdGEoZGF0YTogU2VsZWN0MkRhdGEsIHNlYXJjaFRleHQ6IHN0cmluZyB8IG51bGwsIGVkaXRQYXR0ZXJuPzogKHN0cjogc3RyaW5nKSA9PiBzdHJpbmcpOiBTZWxlY3QyRGF0YSB7XHJcbiAgICAgICAgaWYgKHNlYXJjaFRleHQpIHtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBTZWxlY3QyRGF0YSA9IFtdO1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZGF0YSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuc29tZShncm91cCA9PiBTZWxlY3QyVXRpbHMuY29udGFpblNlYXJjaFRleHQoZ3JvdXAubGFiZWwsIHNlYXJjaFRleHQsIGVkaXRQYXR0ZXJuKSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyZWRPcHRpb25zID0gb3B0aW9ucy5maWx0ZXIoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cCA9PiBTZWxlY3QyVXRpbHMuY29udGFpblNlYXJjaFRleHQoZ3JvdXAubGFiZWwsIHNlYXJjaFRleHQsIGVkaXRQYXR0ZXJuKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogZ3JvdXBPck9wdGlvbi5sYWJlbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IGZpbHRlcmVkT3B0aW9uc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKFNlbGVjdDJVdGlscy5jb250YWluU2VhcmNoVGV4dChncm91cE9yT3B0aW9uLmxhYmVsLCBzZWFyY2hUZXh0LCBlZGl0UGF0dGVybikpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChncm91cE9yT3B0aW9uKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0T3B0aW9uU3R5bGUodmFsdWU6IFNlbGVjdDJWYWx1ZSwgaG92ZXJpbmdWYWx1ZTogU2VsZWN0MlZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZSA9PT0gaG92ZXJpbmdWYWx1ZVxyXG4gICAgICAgICAgICA/ICdzZWxlY3QyLXJlc3VsdHNfX29wdGlvbiBzZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWQnXHJcbiAgICAgICAgICAgIDogJ3NlbGVjdDItcmVzdWx0c19fb3B0aW9uJztcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0RHJvcGRvd25TdHlsZShpc09wZW46IGJvb2xlYW4pIHtcclxuICAgICAgICByZXR1cm4gaXNPcGVuXHJcbiAgICAgICAgICAgID8gJ3NlbGVjdDItY29udGFpbmVyIHNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHNlbGVjdDItY29udGFpbmVyLWRyb3Bkb3duIHNlbGVjdDItY29udGFpbmVyLS1vcGVuJ1xyXG4gICAgICAgICAgICA6ICdzZWxlY3QyLWNvbnRhaW5lciBzZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCBzZWxlY3QyLWNvbnRhaW5lci1kcm9wZG93bic7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldENvbnRhaW5lclN0eWxlKGRpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkLCBpc09wZW46IGJvb2xlYW4pIHtcclxuICAgICAgICByZXR1cm4gYHNlbGVjdDIgc2VsZWN0Mi1jb250YWluZXIgc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgJHtkaXNhYmxlZCA/ICdzZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQnIDogJyd9IGBcclxuICAgICAgICAgICAgKyBgJHtpc09wZW4gPyAnc2VsZWN0Mi1jb250YWluZXItLW9wZW4nIDogJyd9IHNlbGVjdDItY29udGFpbmVyLS1iZWxvdyBzZWxlY3QyLWNvbnRhaW5lci0tZm9jdXNgO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRTZWxlY3Rpb25TdHlsZShtdWx0aXBsZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHJldHVybiBgc2VsZWN0Mi1zZWxlY3Rpb24gc2VsZWN0Mi1zZWxlY3Rpb24tLSR7bXVsdGlwbGUgPyAnbXVsdGlwbGUnIDogJ3NpbmdsZSd9YDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgc3RhdGljIGlzU2VhcmNoYm94SGlkZGV4KGRhdGE6IFNlbGVjdDJEYXRhLCBtaW5Db3VudEZvclNlYXJjaD86IG51bWJlcikge1xyXG4gICAgICAgIGlmICh0eXBlb2YgbWluQ291bnRGb3JTZWFyY2ggIT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIG1pbkNvdW50Rm9yU2VhcmNoID0gZGVmYXVsdE1pbkNvdW50Rm9yU2VhcmNoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBvcHRpb25Db3VudCA9IFNlbGVjdDJVdGlscy5nZXRPcHRpb25zQ291bnQoZGF0YSk7XHJcbiAgICAgICAgcmV0dXJuIG9wdGlvbkNvdW50IDwgbWluQ291bnRGb3JTZWFyY2g7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldFNlYXJjaFN0eWxlKGlzSGlkZGVuOiBib29sZWFuKSB7XHJcbiAgICAgICAgcmV0dXJuIGlzSGlkZGVuXHJcbiAgICAgICAgICAgID8gJ3NlbGVjdDItc2VhcmNoIHNlbGVjdDItc2VhcmNoLS1kcm9wZG93biBzZWxlY3QyLXNlYXJjaC0taGlkZSdcclxuICAgICAgICAgICAgOiAnc2VsZWN0Mi1zZWFyY2ggc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duJztcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgaXNTZWxlY3RlZChcclxuICAgICAgICBvcHRpb25zOiBTZWxlY3QyT3B0aW9uIHwgU2VsZWN0Mk9wdGlvbltdIHwgbnVsbCxcclxuICAgICAgICBvcHRpb246IFNlbGVjdDJPcHRpb24sXHJcbiAgICAgICAgbXVsdGlwbGU6IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkXHJcbiAgICApIHtcclxuICAgICAgICBpZiAobXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9wdGlvbnMgJiYgKG9wdGlvbnMgYXMgU2VsZWN0Mk9wdGlvbltdKS5zb21lKG9wID0+IG9wLnZhbHVlID09PSBvcHRpb24udmFsdWUpID8gJ3RydWUnIDogJ2ZhbHNlJztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gb3B0aW9ucyAmJiBvcHRpb24udmFsdWUgPT09IChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb24pLnZhbHVlID8gJ3RydWUnIDogJ2ZhbHNlJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHJlbW92ZVNlbGVjdGlvbihvcHRpb25zOiBTZWxlY3QyT3B0aW9uIHwgU2VsZWN0Mk9wdGlvbltdIHwgbnVsbCwgb3B0aW9uOiBTZWxlY3QyT3B0aW9uKSB7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAob3B0aW9ucyBhcyBTZWxlY3QyT3B0aW9uW10pLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmICgob3B0aW9ucyBhcyBTZWxlY3QyT3B0aW9uW10pW2ldLnZhbHVlID09PSBvcHRpb24udmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb25bXSkuc3BsaWNlKGksIDEpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi11dGlscy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXNlbGVjdDItY29tcG9uZW50LyIsInNvdXJjZXMiOlsibGliL3NlbGVjdDItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBLE1BQU0sQ0FBQyxxQkFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDO0FBRTNCLHFCQUFNLGVBQWUsR0FBK0I7SUFDaEQsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSx3Q0FBd0MsRUFBRTtJQUN2RCxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRTtJQUNyQixFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRTtJQUN6QixFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRTtJQUNyQixFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRTtJQUNyQixFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRTtJQUN4QixFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRTtJQUNyQixFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLGNBQWMsRUFBRTtJQUM3QixFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLGtCQUFrQixFQUFFO0lBQ2pDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsbUJBQW1CLEVBQUU7SUFDbEMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUU7SUFDeEIsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxvQ0FBb0MsRUFBRTtJQUNuRCxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLFdB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OEQ7WUFDaEUsQ0FBQyxDQUFDLHlDQUF5QyxDQUFDO0tBQ25EOzs7Ozs7O0lBRU0sdUJBQVU7Ozs7OztJQUFqQixVQUNJLE9BQStDLEVBQy9DLE1BQXFCLEVBQ3JCLFFBQW9DO1FBRXBDLElBQUksUUFBUSxFQUFFO1lBQ1YsT0FBTyxPQUFPLElBQUksbUJBQUMsT0FBMEIsRUFBQyxDQUFDLElBQUksQ0FBQyxVQUFBLEVBQUUsSUFBSSxPQUFBLEVBQUUsQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDLEtBQUssRUFBekIsQ0FBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztTQUMzRzthQUFNO1lBQ0gsT0FBTyxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssS0FBSyxtQkFBQyxPQUF3QixFQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztTQUMxRjtLQUNKOzs7Ozs7SUFFTSw0QkFBZTs7Ozs7SUFBdEIsVUFBdUIsT0FBK0MsRUFBRSxNQUFxQjtRQUN6RixLQUFLLHFCQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLG1CQUFDLE9BQTBCLEVBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDMUQsSUFBSSxtQkFBQyxPQUEwQixFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLE1BQU0sQ0FBQyxLQUFLLEVBQUU7Z0JBQ3hELG1CQUFDLE9BQTBCLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMxQyxPQUFPO2FBQ1Y7U0FDSjtLQUNKO3VCQXpXTDtJQTBXQyxDQUFBO0FBclNELHdCQXFTQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0Mkdyb3VwIHtcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBvcHRpb25zOiBTZWxlY3QyT3B0aW9uW107XHJcbiAgICBjbGFzc2VzPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdDJPcHRpb24ge1xyXG4gICAgdmFsdWU6IFNlbGVjdDJWYWx1ZTtcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgICBjb21wb25lbnQ/OiBzdHJpbmcgfCBGdW5jdGlvbjtcclxuICAgIGNsYXNzZXM/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFNlbGVjdDJWYWx1ZSA9IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW47XHJcblxyXG5leHBvcnQgdHlwZSBTZWxlY3QyVXBkYXRlVmFsdWUgPSBTZWxlY3QyVmFsdWUgfCBTZWxlY3QyVmFsdWVbXTtcclxuXHJcbmV4cG9ydCB0eXBlIFNlbGVjdDJEYXRhID0gKFNlbGVjdDJHcm91cCB8IFNlbGVjdDJPcHRpb24pW107XHJcblxyXG5leHBvcnQgY29uc3QgdGltZW91dCA9IDIwMDtcclxuXHJcbmNvbnN0IHVuaWNvZGVQYXR0ZXJuczogeyBsOiBzdHJpbmcsIHM6IFJlZ0V4cCB9W10gPSBbXHJcbiAgICB7IGw6ICdhJywgczogL1vik5DvvYHhuprDoMOhw6LhuqfhuqXhuqvhuqnDo8SBxIPhurHhuq/hurXhurPIp8ehw6THn+G6o8Olx7vHjsiByIPhuqHhuq3hurfhuIHEheKxpcmQXS9naSB9LFxyXG4gICAgeyBsOiAnYWEnLCBzOiAv6pyzL2dpIH0sXHJcbiAgICB7IGw6ICdhZScsIHM6IC9bw6bHvcejXS9naSB9LFxyXG4gICAgeyBsOiAnYW8nLCBzOiAv6py1L2dpIH0sXHJcbiAgICB7IGw6ICdhdScsIHM6IC/qnLcvZ2kgfSxcclxuICAgIHsgbDogJ2F2JywgczogL1vqnLnqnLtdL2dpIH0sXHJcbiAgICB7IGw6ICdheScsIHM6IC/qnL0vZ2kgfSxcclxuICAgIHsgbDogJ2InLCBzOiAvW+KTke+9guG4g+G4heG4h8aAxoPJk10vZ2kgfSxcclxuICAgIHsgbDogJ2MnLCBzOiAvW+KTku+9g8SHxInEi8SNw6fhuInGiMi86py/4oaEXS9naSB9LFxyXG4gICAgeyBsOiAnZCcsIHM6IC9b4pOT772E4biLxI/huI3huJHhuJPhuI/EkcaMyZbJl+qdul0vZ2kgfSxcclxuICAgIHsgbDogJ2R6JywgczogL1vHs8eGXS9naSB9LFxyXG4gICAgeyBsOiAnZScsIHM6IC9b4pOU772Fw6jDqcOq4buB4bq/4buF4buD4bq9xJPhuJXhuJfElcSXw6vhurvEm8iFyIfhurnhu4fIqeG4ncSZ4biZ4bibyYfJm8edXS9naSB9LFxyXG4gICAgeyBsOiAnZicsIHM6IC9b4pOV772G4bifxpLqnbxdL2dpIH0sXHJcbiAgICB7IGw6ICdnJywgczogL1vik5bvvYfHtcSd4bihxJ/EocenxKPHpcmg6p6h4bW56p2/XS9naSB9LFxyXG4gICAgeyBsOiAnaCcsIHM6IC9b4pOX772IxKXhuKPhuKfIn+G4peG4qeG4q+G6lsSn4rGo4rG2yaVdL2dpIH0sXHJcbiAgICB7IGw6ICdodicsIHM6IC/GlS9naSB9LFxyXG4gICAgeyBsOiAnaScsIHM6IC9b4pOY772Jw6zDrcOuxKnEq8StxLDDr+G4r+G7iceQyInIi+G7i8Sv4bityajEsV0vZ2kgfSxcclxuICAgIHsgbDogJ2onLCBzOiAvW+KTme+9isS1x7DJiV0vZ2kgfSxcclxuICAgIHsgbDogJ2snLCBzOiAvW+KTmu+9i+G4scep4bizxLfhuLXGmeKxquqdgeqdg+qdheqeo10vZ2kgfSxcclxuICAgIHsgbDogJ2wnLCBzOiAvW+KTm++9jMWAxLrEvuG4t+G4ucS84bi94bi7xb/FgsaayavisaHqnYnqnoHqnYfqnYZdL2dpIH0sXHJcbiAgICB7IGw6ICdsaicsIHM6IC/HiS9naSB9LFxyXG4gICAgeyBsOiAnbScsIHM6IC9b4pOc772N4bi/4bmB4bmDybHJr10vZ2kgfSxcclxuICAgIHsgbDogJ24nLCBzOiAvW+KTne+9jse5xYTDseG5hcWI4bmHxYbhuYvhuYnGnsmyxYnqnpHqnqVdL2dpIH0sXHJcbiAgICB7IGw6ICduaicsIHM6IC/HjC9naSB9LFxyXG4gICAgeyBsOiAnbycsIHM6IC9b4pOe772Pw7LDs8O04buT4buR4buX4buVw7XhuY3IreG5j8WN4bmR4bmTxY/Ir8ixw7bIq+G7j8WRx5LIjciPxqHhu53hu5vhu6Hhu5/hu6Phu43hu5nHq8etw7jHv8mUxp/qnYvqnY3JtV0vZ2kgfSxcclxuICAgIHsgbDogJ29pJywgczogL8ajL2dpIH0sXHJcbiAgICB7IGw6ICdvZScsIHM6IC/Fky9naSB9LFxyXG4gICAgeyBsOiAnb28nLCBzOiAv6p2PL2dpIH0sXHJcbiAgICB7IGw6ICdvdScsIHM6IC/Ioy9naSB9LFxyXG4gICAgeyBsOiAncCcsIHM6IC9b4pOf772Q4bmV4bmXxqXhtb3qnZHqnZPqnZVdL2dpIH0sXHJcbiAgICB7IGw6ICdxJywgczogL1vik6DvvZHJi+qdl+qdmV0vZ2kgfSxcclxuICAgIHsgbDogJ3InLCBzOiAvW+KToe+9ksWV4bmZxZnIkciT4bmb4bmdxZfhuZ/Jjcm96p2b6p6n6p6DXS9naSB9LFxyXG4gICAgeyBsOiAncycsIHM6IC9b4pOi772Tw5/hup7Fm+G5pcWd4bmhxaHhuafhuaPhuanImcWfyL/qnqnqnoXhuptdL2dpIH0sXHJcbiAgICB7IGw6ICd0JywgczogL1vik6PvvZThuavhupfFpeG5rcibxaPhubHhua/Fp8atyojisabqnoddL2dpIH0sXHJcbiAgICB7IGw6ICd0eicsIHM6IC/qnKkvZ2kgfSxcclxuICAgIHsgbDogJ3UnLCBzOiAvW+KTpO+9lcO5w7rDu8Wp4bm5xavhubvFrcO8x5zHmMeWx5rhu6fFr8Wxx5TIlciXxrDhu6vhu6nhu6/hu63hu7Hhu6XhubPFs+G5t+G5tcqJXS9naSB9LFxyXG4gICAgeyBsOiAndicsIHM6IC9b4pOl772W4bm94bm/yovqnZ/KjF0vZ2kgfSxcclxuICAgIHsgbDogJ3Z5JywgczogL+qdoS9naSB9LFxyXG4gICAgeyBsOiAndycsIHM6IC9b4pOm772X4bqB4bqDxbXhuofhuoXhupjhuonisbNdL2dpIH0sXHJcbiAgICB7IGw6ICd4JywgczogL1vik6fvvZjhuovhuo1dL2dpIH0sXHJcbiAgICB7IGw6ICd5JywgczogL1vik6jvvZnhu7PDvcW34bu5yLPhuo/Dv+G7t+G6meG7tca0yY/hu79dL2dpIH0sXHJcbiAgICB7IGw6ICd6JywgczogL1vik6nvvZrFuuG6kcW8xb7hupPhupXGtsilyYDisazqnaNdL2dpIH1cclxuXTtcclxuXHJcbmNvbnN0IGRlZmF1bHRNaW5Db3VudEZvclNlYXJjaCA9IDY7XHJcblxyXG5leHBvcnQgY2xhc3MgU2VsZWN0MlV0aWxzIHtcclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBnZXRTY3JvbGxVcEluZGV4KGRhdGE6IFNlbGVjdDJEYXRhLCB2YWx1ZTogU2VsZWN0MlZhbHVlKSB7XHJcbiAgICAgICAgbGV0IGluZGV4ID0gMDtcclxuICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZGF0YSkge1xyXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgaW5kZXgrKztcclxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlSW5kZXggPSBvcHRpb25zLmZpbmRJbmRleChvcCA9PiBvcC52YWx1ZSA9PT0gdmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlSW5kZXggIT09IC0xKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGluZGV4ICsgdmFsdWVJbmRleDtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5kZXggKz0gb3B0aW9ucy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbikudmFsdWUgPT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGluZGV4O1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBpbmRleCsrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRPcHRpb25CeVZhbHVlKGRhdGE6IFNlbGVjdDJEYXRhLCB2YWx1ZTogU2VsZWN0MlZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBkYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbikudmFsdWUgPT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0T3B0aW9uc0J5VmFsdWUoXHJcbiAgICAgICAgZGF0YTogU2VsZWN0MkRhdGEsXHJcbiAgICAgICAgdmFsdWU6IFNlbGVjdDJVcGRhdGVWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQsXHJcbiAgICAgICAgbXVsdGlwbGU6IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkXHJcbiAgICApIHtcclxuICAgICAgICBpZiAobXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsdWVzOiBTZWxlY3QyVmFsdWVbXSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbXTtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBTZWxlY3QyT3B0aW9uW10gPSBbXTtcclxuICAgICAgICAgICAgZm9yIChjb25zdCB2IG9mIHZhbHVlcykge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gU2VsZWN0MlV0aWxzLmdldE9wdGlvbkJ5VmFsdWUoZGF0YSwgdik7XHJcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2gob3B0aW9uKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gU2VsZWN0MlV0aWxzLmdldE9wdGlvbkJ5VmFsdWUoZGF0YSwgdmFsdWUgYXMgU2VsZWN0MlZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldEZpcnN0QXZhaWxhYmxlT3B0aW9uKGRhdGE6IFNlbGVjdDJEYXRhKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGRhdGEpIHtcclxuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbjtcclxuICAgICAgICAgICAgICAgIGlmICghb3B0aW9uLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi52YWx1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBnZXRPcHRpb25zQ291bnQoZGF0YTogU2VsZWN0MkRhdGEpIHtcclxuICAgICAgICBsZXQgY291bnQgPSAwO1xyXG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBkYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBjb3VudCArPSBvcHRpb25zLmxlbmd0aDtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvdW50Kys7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGNvdW50O1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyB2YWx1ZUlzTm90SW5GaWx0ZXJlZERhdGEoZmlsdGVyZWREYXRhOiBTZWxlY3QyRGF0YSwgdmFsdWU6IFNlbGVjdDJWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQpIHtcclxuICAgICAgICBpZiAoU2VsZWN0MlV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGZpbHRlcmVkRGF0YSkge1xyXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBvcHRpb24gb2Ygb3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb24udmFsdWUgPT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbikudmFsdWUgPT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb2duaXRpdmUtY29tcGxleGl0eVxyXG4gICAgc3RhdGljIGdldFByZXZpb3VzT3B0aW9uKGZpbHRlcmVkRGF0YTogU2VsZWN0MkRhdGEsIGhvdmVyaW5nVmFsdWU6IFNlbGVjdDJWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQpIHtcclxuICAgICAgICBsZXQgZmluZEl0ID0gU2VsZWN0MlV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGhvdmVyaW5nVmFsdWUpO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSBmaWx0ZXJlZERhdGEubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcclxuICAgICAgICAgICAgY29uc3QgZ3JvdXBPck9wdGlvbiA9IGZpbHRlcmVkRGF0YVtpXTtcclxuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGogPSBvcHRpb25zLmxlbmd0aCAtIDE7IGogPj0gMDsgai0tKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc1tqXTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZmluZEl0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9uLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghZmluZEl0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbmRJdCA9IG9wdGlvbi52YWx1ZSA9PT0gaG92ZXJpbmdWYWx1ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJPcHRpb247XHJcbiAgICAgICAgICAgICAgICBpZiAoZmluZEl0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoIWZpbmRJdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbmRJdCA9IG9wdGlvbi52YWx1ZSA9PT0gaG92ZXJpbmdWYWx1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb2duaXRpdmUtY29tcGxleGl0eVxyXG4gICAgc3RhdGljIGdldE5leHRPcHRpb24oZmlsdGVyZWREYXRhOiBTZWxlY3QyRGF0YSwgaG92ZXJpbmdWYWx1ZTogU2VsZWN0MlZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGxldCBmaW5kSXQgPSBTZWxlY3QyVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoaG92ZXJpbmdWYWx1ZSk7XHJcbiAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGZpbHRlcmVkRGF0YSkge1xyXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBvcHRpb24gb2Ygb3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChmaW5kSXQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb247XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFmaW5kSXQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmluZEl0ID0gb3B0aW9uLnZhbHVlID09PSBob3ZlcmluZ1ZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbjtcclxuICAgICAgICAgICAgICAgIGlmIChmaW5kSXQpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWZpbmRJdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbmRJdCA9IG9wdGlvbi52YWx1ZSA9PT0gaG92ZXJpbmdWYWx1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBpc051bGxPclVuZGVmaW5lZCh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgY29udGFpblNlYXJjaFRleHQoXHJcbiAgICAgICAgbGFiZWw6IHN0cmluZyxcclxuICAgICAgICBzZWFyY2hUZXh0OiBzdHJpbmcgfCBudWxsLFxyXG4gICAgICAgIGVkaXRQYXR0ZXJuOiAoKHN0cjogc3RyaW5nKSA9PiBzdHJpbmcpIHwgdW5kZWZpbmVkXHJcbiAgICApOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gc2VhcmNoVGV4dFxyXG4gICAgICAgICAgICA/IFNlbGVjdDJVdGlsc1xyXG4gICAgICAgICAgICAgICAgLmZvcm1hdFNhbnNVbmljb2RlKGxhYmVsKVxyXG4gICAgICAgICAgICAgICAgLm1hdGNoKG5ldyBSZWdFeHAoU2VsZWN0MlV0aWxzLmZvcm1hdFBhdHRlcm4oc2VhcmNoVGV4dCwgZWRpdFBhdHRlcm4pLCAnaScpKSAhPT0gbnVsbFxyXG4gICAgICAgICAgICA6IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgcHJvdGVjdFBhdHRlcm4oc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBzdHIucmVwbGFjZShuZXcgUmVnRXhwKCdbXFxcXC1cXFxcW1xcXFxdXFxcXC9cXFxce1xcXFx9XFxcXChcXFxcKVxcXFwqXFxcXCtcXFxcP1xcXFwuXFxcXFxcXFxcXFxcXlxcXFwkXFxcXHxdJywgJ2cnKSwgJ1xcXFwkJicpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGZvcm1hdFNhbnNVbmljb2RlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBmb3IgKGNvbnN0IHVuaWNvZGVQYXR0ZXJuIG9mIHVuaWNvZGVQYXR0ZXJucykge1xyXG4gICAgICAgICAgICBzdHIgPSBzdHIucmVwbGFjZSh1bmljb2RlUGF0dGVybi5zLCB1bmljb2RlUGF0dGVybi5sKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHN0cjtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBmb3JtYXRQYXR0ZXJuKHN0cjogc3RyaW5nLCBlZGl0UGF0dGVybjogKChzdHI6IHN0cmluZykgPT4gc3RyaW5nKSB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICAgICAgc3RyID0gU2VsZWN0MlV0aWxzLmZvcm1hdFNhbnNVbmljb2RlKFNlbGVjdDJVdGlscy5wcm90ZWN0UGF0dGVybihzdHIpKTtcclxuXHJcbiAgICAgICAgaWYgKGVkaXRQYXR0ZXJuICYmIHR5cGVvZiBlZGl0UGF0dGVybiA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICBzdHIgPSBlZGl0UGF0dGVybihzdHIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc3RyO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRGaWx0ZXJlZERhdGEoZGF0YTogU2VsZWN0MkRhdGEsIHNlYXJjaFRleHQ6IHN0cmluZyB8IG51bGwsIGVkaXRQYXR0ZXJuPzogKHN0cjogc3RyaW5nKSA9PiBzdHJpbmcpOiBTZWxlY3QyRGF0YSB7XHJcbiAgICAgICAgaWYgKHNlYXJjaFRleHQpIHtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBTZWxlY3QyRGF0YSA9IFtdO1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZGF0YSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuc29tZShncm91cCA9PiBTZWxlY3QyVXRpbHMuY29udGFpblNlYXJjaFRleHQoZ3JvdXAubGFiZWwsIHNlYXJjaFRleHQsIGVkaXRQYXR0ZXJuKSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyZWRPcHRpb25zID0gb3B0aW9ucy5maWx0ZXIoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cCA9PiBTZWxlY3QyVXRpbHMuY29udGFpblNlYXJjaFRleHQoZ3JvdXAubGFiZWwsIHNlYXJjaFRleHQsIGVkaXRQYXR0ZXJuKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogZ3JvdXBPck9wdGlvbi5sYWJlbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IGZpbHRlcmVkT3B0aW9uc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKFNlbGVjdDJVdGlscy5jb250YWluU2VhcmNoVGV4dChncm91cE9yT3B0aW9uLmxhYmVsLCBzZWFyY2hUZXh0LCBlZGl0UGF0dGVybikpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChncm91cE9yT3B0aW9uKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0T3B0aW9uU3R5bGUodmFsdWU6IFNlbGVjdDJWYWx1ZSwgaG92ZXJpbmdWYWx1ZTogU2VsZWN0MlZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZSA9PT0gaG92ZXJpbmdWYWx1ZVxyXG4gICAgICAgICAgICA/ICdzZWxlY3QyLXJlc3VsdHNfX29wdGlvbiBzZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWQnXHJcbiAgICAgICAgICAgIDogJ3NlbGVjdDItcmVzdWx0c19fb3B0aW9uJztcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0RHJvcGRvd25TdHlsZShpc09wZW46IGJvb2xlYW4pIHtcclxuICAgICAgICByZXR1cm4gaXNPcGVuXHJcbiAgICAgICAgICAgID8gJ3NlbGVjdDItY29udGFpbmVyIHNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHNlbGVjdDItY29udGFpbmVyLWRyb3Bkb3duIHNlbGVjdDItY29udGFpbmVyLS1vcGVuJ1xyXG4gICAgICAgICAgICA6ICdzZWxlY3QyLWNvbnRhaW5lciBzZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCBzZWxlY3QyLWNvbnRhaW5lci1kcm9wZG93bic7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldENvbnRhaW5lclN0eWxlKGRpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkLCBpc09wZW46IGJvb2xlYW4pIHtcclxuICAgICAgICByZXR1cm4gYHNlbGVjdDIgc2VsZWN0Mi1jb250YWluZXIgc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgJHtkaXNhYmxlZCA/ICdzZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQnIDogJyd9IGBcclxuICAgICAgICAgICAgKyBgJHtpc09wZW4gPyAnc2VsZWN0Mi1jb250YWluZXItLW9wZW4nIDogJyd9IHNlbGVjdDItY29udGFpbmVyLS1iZWxvdyBzZWxlY3QyLWNvbnRhaW5lci0tZm9jdXNgO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRTZWxlY3Rpb25TdHlsZShtdWx0aXBsZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHJldHVybiBgc2VsZWN0Mi1zZWxlY3Rpb24gc2VsZWN0Mi1zZWxlY3Rpb24tLSR7bXVsdGlwbGUgPyAnbXVsdGlwbGUnIDogJ3NpbmdsZSd9YDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgc3RhdGljIGlzU2VhcmNoYm94SGlkZGV4KGRhdGE6IFNlbGVjdDJEYXRhLCBtaW5Db3VudEZvclNlYXJjaD86IG51bWJlcikge1xyXG4gICAgICAgIGlmICh0eXBlb2YgbWluQ291bnRGb3JTZWFyY2ggIT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIG1pbkNvdW50Rm9yU2VhcmNoID0gZGVmYXVsdE1pbkNvdW50Rm9yU2VhcmNoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBvcHRpb25Db3VudCA9IFNlbGVjdDJVdGlscy5nZXRPcHRpb25zQ291bnQoZGF0YSk7XHJcbiAgICAgICAgcmV0dXJuIG9wdGlvbkNvdW50IDwgbWluQ291bnRGb3JTZWFyY2g7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldFNlYXJjaFN0eWxlKGlzSGlkZGVuOiBib29sZWFuKSB7XHJcbiAgICAgICAgcmV0dXJuIGlzSGlkZGVuXHJcbiAgICAgICAgICAgID8gJ3NlbGVjdDItc2VhcmNoIHNlbGVjdDItc2VhcmNoLS1kcm9wZG93biBzZWxlY3QyLXNlYXJjaC0taGlkZSdcclxuICAgICAgICAgICAgOiAnc2VsZWN0Mi1zZWFyY2ggc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duJztcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgaXNTZWxlY3RlZChcclxuICAgICAgICBvcHRpb25zOiBTZWxlY3QyT3B0aW9uIHwgU2VsZWN0Mk9wdGlvbltdIHwgbnVsbCxcclxuICAgICAgICBvcHRpb246IFNlbGVjdDJPcHRpb24sXHJcbiAgICAgICAgbXVsdGlwbGU6IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkXHJcbiAgICApIHtcclxuICAgICAgICBpZiAobXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9wdGlvbnMgJiYgKG9wdGlvbnMgYXMgU2VsZWN0Mk9wdGlvbltdKS5zb21lKG9wID0+IG9wLnZhbHVlID09PSBvcHRpb24udmFsdWUpID8gJ3RydWUnIDogJ2ZhbHNlJztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gb3B0aW9ucyAmJiBvcHRpb24udmFsdWUgPT09IChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb24pLnZhbHVlID8gJ3RydWUnIDogJ2ZhbHNlJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHJlbW92ZVNlbGVjdGlvbihvcHRpb25zOiBTZWxlY3QyT3B0aW9uIHwgU2VsZWN0Mk9wdGlvbltdIHwgbnVsbCwgb3B0aW9uOiBTZWxlY3QyT3B0aW9uKSB7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAob3B0aW9ucyBhcyBTZWxlY3QyT3B0aW9uW10pLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmICgob3B0aW9ucyBhcyBTZWxlY3QyT3B0aW9uW10pW2ldLnZhbHVlID09PSBvcHRpb24udmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb25bXSkuc3BsaWNlKGksIDEpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==

@@ -214,3 +214,5 @@ import { Subject } from 'rxjs';

}
findIt = option.value === hoveringValue;
if (!findIt) {
findIt = option.value === hoveringValue;
}
}

@@ -225,3 +227,5 @@ }

}
findIt = option.value === hoveringValue;
if (!findIt) {
findIt = option.value === hoveringValue;
}
}

@@ -247,3 +251,3 @@ }

}
else {
else if (!findIt) {
findIt = option.value === hoveringValue;

@@ -260,3 +264,3 @@ }

}
else {
else if (!findIt) {
findIt = option.value === hoveringValue;

@@ -689,6 +693,12 @@ }

this.updateFilteredData();
this.focusSearchboxOrResultsElement();
if (this.resultsElement && this.lastScrollTopIndex) {
this.resultsElement.scrollTop = this.lastScrollTopIndex;
}
this._focusSearchboxOrResultsElement();
setTimeout(() => {
if (this.option) {
const /** @type {?} */ option = this.option instanceof Array ? this.option[0] : this.option;
this.updateScrollFromOption(option);
}
else {
this.resultsElement.scrollTop = 0;
}
});
this.open.emit();

@@ -839,10 +849,6 @@ }

if (domElement) {
const /** @type {?} */ rect = domElement.nativeElement.getBoundingClientRect();
this.lastScrollTopIndex =
rect.top +
this.resultsElement.scrollTop -
this.resultsElement.getBoundingClientRect().height -
this.selection.nativeElement.getBoundingClientRect().top +
rect.height * 2;
this.resultsElement.scrollTop = this.lastScrollTopIndex;
this.resultsElement.scrollTop = 0;
const /** @type {?} */ listClientRect = this.resultsElement.getBoundingClientRect();
const /** @type {?} */ optionClientRect = domElement.nativeElement.getBoundingClientRect();
this.resultsElement.scrollTop = optionClientRect.top - listClientRect.top;
}

@@ -976,3 +982,3 @@ }

if (this.isOpen) {
this.focusSearchboxOrResultsElement();
this._focusSearchboxOrResultsElement();
}

@@ -1119,3 +1125,3 @@ }

*/
focusSearchboxOrResultsElement() {
_focusSearchboxOrResultsElement() {
if (!this.isSearchboxHidden) {

@@ -1122,0 +1128,0 @@ if (this.searchInputElement) {

@@ -146,3 +146,3 @@ import { EventEmitter, ElementRef, ChangeDetectorRef, OnInit, OnDestroy, DoCheck, AfterViewInit } from '@angular/core';

private _coerceBooleanProperty;
private focusSearchboxOrResultsElement;
private _focusSearchboxOrResultsElement;
}

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"Select2":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":16,"character":1},"arguments":[{"selector":"select2","template":"<div class=\"select2-lalel\"\r\n (click)=\"toggleOpenAndClose()\">\r\n <ng-content select=\"select2-label\"></ng-content>\r\n</div>\r\n<div [class]=\"containerStyle\">\r\n <div class=\"selection\"\r\n #selection\r\n [attr.tabindex]=\"!this.isOpen ? tabIndex : '-1'\"\r\n (click)=\"toggleOpenAndClose()\"\r\n (focus)=\"focusin()\"\r\n (blur)=\"focusout()\"\r\n (keydown)=\"openKey($event)\"\r\n [class.select2-focused]=\"focused\">\r\n <div [class]=\"selectionStyle\"\r\n role=\"combobox\">\r\n <span *ngIf=\"!multiple\"\r\n class=\"select2-selection__rendered\"\r\n [title]=\"select2Option ? select2Option.label : ''\">\r\n <span *ngIf=\"!select2Option\">&nbsp;</span>\r\n <ng-container *ngIf=\"select2Option\">{{select2Option.label}}</ng-container>\r\n <span [class.select2-selection__placeholder__option]=\"option\"\r\n class=\"select2-selection__placeholder\">{{placeholder}}</span>\r\n </span>\r\n <span *ngIf=\"!multiple\"\r\n class=\"select2-selection__arrow\"\r\n role=\"presentation\">\r\n <b role=\"presentation\"></b>\r\n </span>\r\n <ul *ngIf=\"multiple\"\r\n class=\"select2-selection__rendered\">\r\n <span [class.select2-selection__placeholder__option]=\"select2Options?.length > 0\"\r\n class=\"select2-selection__placeholder\">{{placeholder}}</span>\r\n <li *ngFor=\"let op of option; trackBy: trackBy\"\r\n class=\"select2-selection__choice\"\r\n [title]=\"op.label\">\r\n <span (click)=\"removeSelection($event, op)\"\r\n class=\"select2-selection__choice__remove\"\r\n role=\"presentation\">×</span>\r\n {{op.label}}\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"select2-subscript-wrapper\">\r\n <ng-content select=\"select2-hint\"></ng-content>\r\n </div>\r\n </div>\r\n <div [class]=\"dropdownStyle\">\r\n <div class=\"select2-dropdown select2-dropdown--below\">\r\n <div [class]=\"searchStyle\">\r\n <input #searchInput\r\n [id]=\"id + '-search-field'\"\r\n [value]=\"searchText\"\r\n (keydown)=\"keyDown($event)\"\r\n (keyup)=\"searchUpdate($event)\"\r\n class=\"select2-search__field\"\r\n type=\"search\"\r\n role=\"textbox\"\r\n autocomplete=\"off\"\r\n autocorrect=\"off\"\r\n autocapitalize=\"off\"\r\n spellcheck=\"false\"\r\n [attr.tabindex]=\"this.isOpen ? tabIndex : '-1'\">\r\n </div>\r\n <div class=\"select2-results\">\r\n <ul #results\r\n class=\"select2-results__options\"\r\n role=\"tree\"\r\n tabindex=\"-1\"\r\n (keydown)=\"keyDown($event)\">\r\n <ng-template ngFor\r\n [ngForOf]=\"filteredData\"\r\n let-groupOrOption\r\n [ngForTrackBy]=\"trackBy\">\r\n <li *ngIf=\"groupOrOption.options\"\r\n class=\"select2-results__option\"\r\n role=\"group\">\r\n <strong\r\n [attr.class]=\"'select2-results__group' + (groupOrOption.classes ? ' ' + groupOrOption.classes : '')\">{{groupOrOption.label}}</strong>\r\n <ul class=\"select2-results__options select2-results__options--nested\">\r\n <li *ngFor=\"let option of groupOrOption.options; trackBy:trackBy\"\r\n #result\r\n [class]=\"getOptionStyle(option)\"\r\n role=\"treeitem\"\r\n [attr.aria-selected]=\"isSelected(option)\"\r\n [attr.aria-disabled]=\"isDisabled(option)\"\r\n (mouseenter)=\"mouseenter(option)\"\r\n (click)=\"click(option)\">{{option.label}}</li>\r\n </ul>\r\n </li>\r\n <li *ngIf=\"!groupOrOption.options\"\r\n #result\r\n [class]=\"getOptionStyle(groupOrOption)\"\r\n role=\"treeitem\"\r\n [attr.aria-selected]=\"isSelected(groupOrOption)\"\r\n [attr.aria-disabled]=\"isDisabled(groupOrOption)\"\r\n (mouseenter)=\"mouseenter(groupOrOption)\"\r\n (click)=\"click(groupOrOption)\">\r\n {{groupOrOption.label}}\r\n </li>\r\n </ng-template>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","styles":[".select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle;width:100%}.select2-container .select2-container-dropdown{position:absolute;width:0}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container.select2-container-dropdown.select2-container--open{width:100%}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default.select2-container--focused .select2-selection--multiple,.select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--multiple,.select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--single{border:1px solid #000;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:0 0;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px;color:gray}:host.material{display:inline-block;width:300px}:host.material>.select2-container{padding-bottom:1.29688em;vertical-align:inherit}:host.material>.select2-container .selection{padding:.4375em 0;border-top:.84375em solid transparent;display:inline-flex;align-items:baseline;width:100%;height:auto}:host.material .select2-container--default .select2-selection--multiple,:host.material .select2-container--default .select2-selection--single{width:100%;border:0;border-radius:0;height:24px;box-sizing:border-box}:host.material .select2-container--default .select2-selection--multiple::before,:host.material .select2-container--default .select2-selection--single::before{content:' ';display:block;position:absolute;bottom:1.65em;background-color:#ddd;height:1px;width:100%}:host.material .select2-container--default .select2-selection--multiple::after,:host.material .select2-container--default .select2-selection--single::after{content:' ';display:block;position:absolute;bottom:1.63em;background-color:#5a419e;height:2px;width:0%;left:50%;transition:none}:host.material .select2-container--default .select2-selection--multiple .select2-selection__rendered,:host.material .select2-container--default .select2-selection--single .select2-selection__rendered{padding-left:1px;line-height:inherit}:host.material .select2-container--default .select2-selection--multiple .select2-selection__placeholder,:host.material .select2-container--default .select2-selection--single .select2-selection__placeholder{display:block;color:rgba(0,0,0,.38);transition:transform .3s;transition:transform .3s,-webkit-transform .3s;position:absolute;-webkit-transform-origin:0 21px;transform-origin:0 21px;left:0;top:20px}:host.material .select2-container--default .select2-container--open{left:0;bottom:1.6em}:host.material .select2-container--default .select2-selection__placeholder__option{-webkit-transform:translateY(-1.5em) scale(.75) perspective(100px) translateZ(.001px);transform:translateY(-1.5em) scale(.75) perspective(100px) translateZ(.001px);width:133.33333%}:host.material .select2-container--default .select2-selection__arrow{top:20px}:host.material .select2-container--default .select2-focused .select2-selection--multiple::after,:host.material .select2-container--default .select2-focused .select2-selection--single::after,:host.material .select2-container--default.select2-container--open .select2-selection--multiple::after,:host.material .select2-container--default.select2-container--open .select2-selection--single::after{transition:width .3s cubic-bezier(.12,1,.77,1),left .3s cubic-bezier(.12,1,.77,1);width:100%;left:0}:host.material .select2-container--default .select2-dropdown{border-radius:0;border:0;box-shadow:0 5px 5px rgba(0,0,0,.5)}:host.material .select2-container--default .select2-results__option--highlighted[aria-selected],:host.material .select2-container--default .select2-results__option[aria-selected=true]{background-color:rgba(0,0,0,.04);color:#000}:host.material .select2-container--default .select2-results__option[aria-selected=true]{color:#ff5722}:host.material .select2-container--default.select2-container--disabled .select2-selection--multiple,:host.material .select2-container--default.select2-container--disabled .select2-selection--single{background-color:transparent}:host.material .select2-container--default.select2-container--disabled .select2-selection--multiple::before,:host.material .select2-container--default.select2-container--disabled .select2-selection--single::before{background-image:linear-gradient(to right,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 33%,transparent 0);background-size:4px 1px;background-repeat:repeat-x;background-color:transparent;background-position:0 bottom}:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--multiple::after,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--multiple::before,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--single::after,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--single::before{background-color:red}:host.material:not(.select2-container--open) .select2-focused .select2-selection--multiple,:host.material:not(.select2-container--open) .select2-focused .select2-selection--single{border:0}:host.material .select2-subscript-wrapper{position:absolute;top:calc(100% - 1.72917em);font-size:75%}@supports (-moz-appearance:none){select2.material .select2-container--default .select2-selection--multiple,select2.material .select2-container--default .select2-selection--single{height:26px}}@supports (-ms-scroll-limit:0){select2.material .select2-container--default .select2-selection--multiple,select2.material .select2-container--default .select2-selection--single{height:25px}}"]}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"minCountForSearch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"placeholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"customSearchEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"multiple":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"material":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"editPattern":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"update":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":37,"character":3}}]}],"open":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":38,"character":3}}]}],"search":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":39,"character":3}}]}],"selection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":45,"character":3},"arguments":["selection"]}]}],"resultContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":46,"character":3},"arguments":["results"]}]}],"results":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":47,"character":3},"arguments":["result"]}]}],"searchInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":48,"character":3},"arguments":["searchInput"]}]}],"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":104,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":105,"character":3},"arguments":["id"]}]}],"required":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":110,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":115,"character":3}}]}],"readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":120,"character":3}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":125,"character":3}}]}],"tabIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":135,"character":3}}]}],"ariaInvalid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":143,"character":3},"arguments":["attr.aria-invalid"]}]}],"classMaterial":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":148,"character":3},"arguments":["class.material"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":168,"character":5}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":169,"character":5}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":170,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":170,"character":13}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute","line":171,"character":5},"arguments":["tabindex"]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":167,"character":32},{"__symbolic":"reference","module":"@angular/forms","name":"NgForm","line":168,"character":37},{"__symbolic":"reference","module":"@angular/forms","name":"FormGroupDirective","line":169,"character":42},{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":170,"character":41},{"__symbolic":"reference","name":"string"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getOptionStyle":[{"__symbolic":"method"}],"mouseenter":[{"__symbolic":"method"}],"click":[{"__symbolic":"method"}],"toggleOpenAndClose":[{"__symbolic":"method"}],"updateFilteredData":[{"__symbolic":"method"}],"clickDetection":[{"__symbolic":"method"}],"clickExit":[{"__symbolic":"method"}],"ifParentContainsClass":[{"__symbolic":"method"}],"ifParentContainsId":[{"__symbolic":"method"}],"getParentElementByClass":[{"__symbolic":"method"}],"getParentElementById":[{"__symbolic":"method"}],"containClasses":[{"__symbolic":"method"}],"focusin":[{"__symbolic":"method"}],"focusout":[{"__symbolic":"method"}],"moveUp":[{"__symbolic":"method"}],"moveDown":[{"__symbolic":"method"}],"updateScrollFromOption":[{"__symbolic":"method"}],"selectByEnter":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"keyDown":[{"__symbolic":"method"}],"openKey":[{"__symbolic":"method"}],"trackBy":[{"__symbolic":"method"}],"searchUpdate":[{"__symbolic":"method"}],"isSelected":[{"__symbolic":"method"}],"isDisabled":[{"__symbolic":"method"}],"removeSelection":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"_isErrorState":[{"__symbolic":"method"}],"_testKey":[{"__symbolic":"method"}],"_getKey":[{"__symbolic":"method"}],"_isKey":[{"__symbolic":"method"}],"_setSelectionByValue":[{"__symbolic":"method"}],"_dirtyCheckNativeValue":[{"__symbolic":"method"}],"_coerceBooleanProperty":[{"__symbolic":"method"}],"focusSearchboxOrResultsElement":[{"__symbolic":"method"}]}},"Select2Hint":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"select2-hint"}]}],"members":{}},"Select2Label":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"select2-label"}]}],"members":{}},"Select2Group":{"__symbolic":"interface"},"Select2Option":{"__symbolic":"interface"},"Select2Value":{"__symbolic":"interface"},"Select2UpdateValue":{"__symbolic":"interface"},"Select2Data":{"__symbolic":"interface"},"timeout":200,"Select2Utils":{"__symbolic":"class","members":{},"statics":{"isNullOrUndefined":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"reference","name":"value"},"right":null},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"reference","name":"value"},"right":{"__symbolic":"reference","name":"undefined"}}}},"containSearchText":{"__symbolic":"function","parameters":["label","searchText","editPattern"],"value":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"searchText"},"thenExpression":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Select2Utils"},"member":"formatSansUnicode"},"arguments":[{"__symbolic":"reference","name":"label"}]},"member":"match"},"arguments":[{"__symbolic":"new","expression":{"__symbolic":"reference","name":"RegExp"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Select2Utils"},"member":"formatPattern"},"arguments":[{"__symbolic":"reference","name":"searchText"},{"__symbolic":"reference","name":"editPattern"}]},"i"]}]},"right":null},"elseExpression":true}},"protectPattern":{"__symbolic":"function","parameters":["str"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"str"},"member":"replace"},"arguments":[{"__symbolic":"new","expression":{"__symbolic":"reference","name":"RegExp"},"arguments":["[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]","g"]},"\\$&"]}},"getOptionStyle":{"__symbolic":"function","parameters":["value","hoveringValue"],"value":{"__symbolic":"if","condition":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"reference","name":"value"},"right":{"__symbolic":"reference","name":"hoveringValue"}},"thenExpression":"select2-results__option select2-results__option--highlighted","elseExpression":"select2-results__option"}},"getDropdownStyle":{"__symbolic":"function","parameters":["isOpen"],"value":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"isOpen"},"thenExpression":"select2-container select2-container--default select2-container-dropdown select2-container--open","elseExpression":"select2-container select2-container--default select2-container-dropdown"}},"getContainerStyle":{"__symbolic":"function","parameters":["disabled","isOpen"],"value":{"__symbolic":"binop","operator":"+","left":{"__symbolic":"binop","operator":"+","left":{"__symbolic":"binop","operator":"+","left":"select2 select2-container select2-container--default ","right":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"disabled"},"thenExpression":"select2-container--disabled","elseExpression":""}},"right":" "},"right":{"__symbolic":"binop","operator":"+","left":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"isOpen"},"thenExpression":"select2-container--open","elseExpression":""},"right":" select2-container--below select2-container--focus"}}},"getSelectionStyle":{"__symbolic":"function","parameters":["multiple"],"value":{"__symbolic":"binop","operator":"+","left":"select2-selection select2-selection--","right":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"multiple"},"thenExpression":"multiple","elseExpression":"single"}}},"getSearchStyle":{"__symbolic":"function","parameters":["isHidden"],"value":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"isHidden"},"thenExpression":"select2-search select2-search--dropdown select2-search--hide","elseExpression":"select2-search select2-search--dropdown"}}}},"Select2Module":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":9,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":10,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":11,"character":4}],"declarations":[{"__symbolic":"reference","name":"Select2Hint"},{"__symbolic":"reference","name":"Select2Label"},{"__symbolic":"reference","name":"Select2"}],"exports":[{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":19,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":20,"character":4},{"__symbolic":"reference","name":"Select2Hint"},{"__symbolic":"reference","name":"Select2Label"},{"__symbolic":"reference","name":"Select2"}]}]}],"members":{}}},"origins":{"Select2":"./lib/select2.component","Select2Hint":"./lib/select2-hint.component","Select2Label":"./lib/select2-label.component","Select2Group":"./lib/select2-utils","Select2Option":"./lib/select2-utils","Select2Value":"./lib/select2-utils","Select2UpdateValue":"./lib/select2-utils","Select2Data":"./lib/select2-utils","timeout":"./lib/select2-utils","Select2Utils":"./lib/select2-utils","Select2Module":"./lib/select2.module"},"importAs":"ng-select2-component"}
{"__symbolic":"module","version":4,"metadata":{"Select2":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":16,"character":1},"arguments":[{"selector":"select2","template":"<div class=\"select2-lalel\"\r\n (click)=\"toggleOpenAndClose()\">\r\n <ng-content select=\"select2-label\"></ng-content>\r\n</div>\r\n<div [class]=\"containerStyle\">\r\n <div class=\"selection\"\r\n #selection\r\n [attr.tabindex]=\"!this.isOpen ? tabIndex : '-1'\"\r\n (click)=\"toggleOpenAndClose()\"\r\n (focus)=\"focusin()\"\r\n (blur)=\"focusout()\"\r\n (keydown)=\"openKey($event)\"\r\n [class.select2-focused]=\"focused\">\r\n <div [class]=\"selectionStyle\"\r\n role=\"combobox\">\r\n <span *ngIf=\"!multiple\"\r\n class=\"select2-selection__rendered\"\r\n [title]=\"select2Option ? select2Option.label : ''\">\r\n <span *ngIf=\"!select2Option\">&nbsp;</span>\r\n <ng-container *ngIf=\"select2Option\">{{select2Option.label}}</ng-container>\r\n <span [class.select2-selection__placeholder__option]=\"option\"\r\n class=\"select2-selection__placeholder\">{{placeholder}}</span>\r\n </span>\r\n <span *ngIf=\"!multiple\"\r\n class=\"select2-selection__arrow\"\r\n role=\"presentation\">\r\n <b role=\"presentation\"></b>\r\n </span>\r\n <ul *ngIf=\"multiple\"\r\n class=\"select2-selection__rendered\">\r\n <span [class.select2-selection__placeholder__option]=\"select2Options?.length > 0\"\r\n class=\"select2-selection__placeholder\">{{placeholder}}</span>\r\n <li *ngFor=\"let op of option; trackBy: trackBy\"\r\n class=\"select2-selection__choice\"\r\n [title]=\"op.label\">\r\n <span (click)=\"removeSelection($event, op)\"\r\n class=\"select2-selection__choice__remove\"\r\n role=\"presentation\">×</span>\r\n {{op.label}}\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"select2-subscript-wrapper\">\r\n <ng-content select=\"select2-hint\"></ng-content>\r\n </div>\r\n </div>\r\n <div [class]=\"dropdownStyle\">\r\n <div class=\"select2-dropdown select2-dropdown--below\">\r\n <div [class]=\"searchStyle\">\r\n <input #searchInput\r\n [id]=\"id + '-search-field'\"\r\n [value]=\"searchText\"\r\n (keydown)=\"keyDown($event)\"\r\n (keyup)=\"searchUpdate($event)\"\r\n class=\"select2-search__field\"\r\n type=\"search\"\r\n role=\"textbox\"\r\n autocomplete=\"off\"\r\n autocorrect=\"off\"\r\n autocapitalize=\"off\"\r\n spellcheck=\"false\"\r\n [attr.tabindex]=\"this.isOpen ? tabIndex : '-1'\">\r\n </div>\r\n <div class=\"select2-results\">\r\n <ul #results\r\n class=\"select2-results__options\"\r\n role=\"tree\"\r\n tabindex=\"-1\"\r\n (keydown)=\"keyDown($event)\">\r\n <ng-template ngFor\r\n [ngForOf]=\"filteredData\"\r\n let-groupOrOption\r\n [ngForTrackBy]=\"trackBy\">\r\n <li *ngIf=\"groupOrOption.options\"\r\n class=\"select2-results__option\"\r\n role=\"group\">\r\n <strong\r\n [attr.class]=\"'select2-results__group' + (groupOrOption.classes ? ' ' + groupOrOption.classes : '')\">{{groupOrOption.label}}</strong>\r\n <ul class=\"select2-results__options select2-results__options--nested\">\r\n <li *ngFor=\"let option of groupOrOption.options; trackBy:trackBy\"\r\n #result\r\n [class]=\"getOptionStyle(option)\"\r\n role=\"treeitem\"\r\n [attr.aria-selected]=\"isSelected(option)\"\r\n [attr.aria-disabled]=\"isDisabled(option)\"\r\n (mouseenter)=\"mouseenter(option)\"\r\n (click)=\"click(option)\">{{option.label}}</li>\r\n </ul>\r\n </li>\r\n <li *ngIf=\"!groupOrOption.options\"\r\n #result\r\n [class]=\"getOptionStyle(groupOrOption)\"\r\n role=\"treeitem\"\r\n [attr.aria-selected]=\"isSelected(groupOrOption)\"\r\n [attr.aria-disabled]=\"isDisabled(groupOrOption)\"\r\n (mouseenter)=\"mouseenter(groupOrOption)\"\r\n (click)=\"click(groupOrOption)\">\r\n {{groupOrOption.label}}\r\n </li>\r\n </ng-template>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","styles":[".select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle;width:100%}.select2-container .select2-container-dropdown{position:absolute;width:0}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container.select2-container-dropdown.select2-container--open{width:100%}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default.select2-container--focused .select2-selection--multiple,.select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--multiple,.select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--single{border:1px solid #000;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:0 0;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px;color:gray}:host.material{display:inline-block;width:300px}:host.material>.select2-container{padding-bottom:1.29688em;vertical-align:inherit}:host.material>.select2-container .selection{padding:.4375em 0;border-top:.84375em solid transparent;display:inline-flex;align-items:baseline;width:100%;height:auto}:host.material .select2-container--default .select2-selection--multiple,:host.material .select2-container--default .select2-selection--single{width:100%;border:0;border-radius:0;height:24px;box-sizing:border-box}:host.material .select2-container--default .select2-selection--multiple::before,:host.material .select2-container--default .select2-selection--single::before{content:' ';display:block;position:absolute;bottom:1.65em;background-color:#ddd;height:1px;width:100%}:host.material .select2-container--default .select2-selection--multiple::after,:host.material .select2-container--default .select2-selection--single::after{content:' ';display:block;position:absolute;bottom:1.63em;background-color:#5a419e;height:2px;width:0%;left:50%;transition:none}:host.material .select2-container--default .select2-selection--multiple .select2-selection__rendered,:host.material .select2-container--default .select2-selection--single .select2-selection__rendered{padding-left:1px;line-height:inherit}:host.material .select2-container--default .select2-selection--multiple .select2-selection__placeholder,:host.material .select2-container--default .select2-selection--single .select2-selection__placeholder{display:block;color:rgba(0,0,0,.38);transition:transform .3s;transition:transform .3s,-webkit-transform .3s;position:absolute;-webkit-transform-origin:0 21px;transform-origin:0 21px;left:0;top:20px}:host.material .select2-container--default .select2-container--open{left:0;bottom:1.6em}:host.material .select2-container--default .select2-selection__placeholder__option{-webkit-transform:translateY(-1.5em) scale(.75) perspective(100px) translateZ(.001px);transform:translateY(-1.5em) scale(.75) perspective(100px) translateZ(.001px);width:133.33333%}:host.material .select2-container--default .select2-selection__arrow{top:20px}:host.material .select2-container--default .select2-focused .select2-selection--multiple::after,:host.material .select2-container--default .select2-focused .select2-selection--single::after,:host.material .select2-container--default.select2-container--open .select2-selection--multiple::after,:host.material .select2-container--default.select2-container--open .select2-selection--single::after{transition:width .3s cubic-bezier(.12,1,.77,1),left .3s cubic-bezier(.12,1,.77,1);width:100%;left:0}:host.material .select2-container--default .select2-dropdown{border-radius:0;border:0;box-shadow:0 5px 5px rgba(0,0,0,.5)}:host.material .select2-container--default .select2-results__option--highlighted[aria-selected],:host.material .select2-container--default .select2-results__option[aria-selected=true]{background-color:rgba(0,0,0,.04);color:#000}:host.material .select2-container--default .select2-results__option[aria-selected=true]{color:#ff5722}:host.material .select2-container--default.select2-container--disabled .select2-selection--multiple,:host.material .select2-container--default.select2-container--disabled .select2-selection--single{background-color:transparent}:host.material .select2-container--default.select2-container--disabled .select2-selection--multiple::before,:host.material .select2-container--default.select2-container--disabled .select2-selection--single::before{background-image:linear-gradient(to right,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 33%,transparent 0);background-size:4px 1px;background-repeat:repeat-x;background-color:transparent;background-position:0 bottom}:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--multiple::after,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--multiple::before,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--single::after,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--single::before{background-color:red}:host.material:not(.select2-container--open) .select2-focused .select2-selection--multiple,:host.material:not(.select2-container--open) .select2-focused .select2-selection--single{border:0}:host.material .select2-subscript-wrapper{position:absolute;top:calc(100% - 1.72917em);font-size:75%}@supports (-moz-appearance:none){select2.material .select2-container--default .select2-selection--multiple,select2.material .select2-container--default .select2-selection--single{height:26px}}@supports (-ms-scroll-limit:0){select2.material .select2-container--default .select2-selection--multiple,select2.material .select2-container--default .select2-selection--single{height:25px}}"]}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"minCountForSearch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"placeholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"customSearchEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"multiple":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"material":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"editPattern":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"update":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":37,"character":3}}]}],"open":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":38,"character":3}}]}],"search":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":39,"character":3}}]}],"selection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":45,"character":3},"arguments":["selection"]}]}],"resultContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":46,"character":3},"arguments":["results"]}]}],"results":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":47,"character":3},"arguments":["result"]}]}],"searchInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":48,"character":3},"arguments":["searchInput"]}]}],"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":104,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":105,"character":3},"arguments":["id"]}]}],"required":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":110,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":115,"character":3}}]}],"readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":120,"character":3}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":125,"character":3}}]}],"tabIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":135,"character":3}}]}],"ariaInvalid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":143,"character":3},"arguments":["attr.aria-invalid"]}]}],"classMaterial":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":148,"character":3},"arguments":["class.material"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":168,"character":5}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":169,"character":5}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":170,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":170,"character":13}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute","line":171,"character":5},"arguments":["tabindex"]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":167,"character":32},{"__symbolic":"reference","module":"@angular/forms","name":"NgForm","line":168,"character":37},{"__symbolic":"reference","module":"@angular/forms","name":"FormGroupDirective","line":169,"character":42},{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":170,"character":41},{"__symbolic":"reference","name":"string"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getOptionStyle":[{"__symbolic":"method"}],"mouseenter":[{"__symbolic":"method"}],"click":[{"__symbolic":"method"}],"toggleOpenAndClose":[{"__symbolic":"method"}],"updateFilteredData":[{"__symbolic":"method"}],"clickDetection":[{"__symbolic":"method"}],"clickExit":[{"__symbolic":"method"}],"ifParentContainsClass":[{"__symbolic":"method"}],"ifParentContainsId":[{"__symbolic":"method"}],"getParentElementByClass":[{"__symbolic":"method"}],"getParentElementById":[{"__symbolic":"method"}],"containClasses":[{"__symbolic":"method"}],"focusin":[{"__symbolic":"method"}],"focusout":[{"__symbolic":"method"}],"moveUp":[{"__symbolic":"method"}],"moveDown":[{"__symbolic":"method"}],"updateScrollFromOption":[{"__symbolic":"method"}],"selectByEnter":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"keyDown":[{"__symbolic":"method"}],"openKey":[{"__symbolic":"method"}],"trackBy":[{"__symbolic":"method"}],"searchUpdate":[{"__symbolic":"method"}],"isSelected":[{"__symbolic":"method"}],"isDisabled":[{"__symbolic":"method"}],"removeSelection":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"_isErrorState":[{"__symbolic":"method"}],"_testKey":[{"__symbolic":"method"}],"_getKey":[{"__symbolic":"method"}],"_isKey":[{"__symbolic":"method"}],"_setSelectionByValue":[{"__symbolic":"method"}],"_dirtyCheckNativeValue":[{"__symbolic":"method"}],"_coerceBooleanProperty":[{"__symbolic":"method"}],"_focusSearchboxOrResultsElement":[{"__symbolic":"method"}]}},"Select2Hint":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"select2-hint"}]}],"members":{}},"Select2Label":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"select2-label"}]}],"members":{}},"Select2Group":{"__symbolic":"interface"},"Select2Option":{"__symbolic":"interface"},"Select2Value":{"__symbolic":"interface"},"Select2UpdateValue":{"__symbolic":"interface"},"Select2Data":{"__symbolic":"interface"},"timeout":200,"Select2Utils":{"__symbolic":"class","members":{},"statics":{"isNullOrUndefined":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"reference","name":"value"},"right":null},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"reference","name":"value"},"right":{"__symbolic":"reference","name":"undefined"}}}},"containSearchText":{"__symbolic":"function","parameters":["label","searchText","editPattern"],"value":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"searchText"},"thenExpression":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Select2Utils"},"member":"formatSansUnicode"},"arguments":[{"__symbolic":"reference","name":"label"}]},"member":"match"},"arguments":[{"__symbolic":"new","expression":{"__symbolic":"reference","name":"RegExp"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Select2Utils"},"member":"formatPattern"},"arguments":[{"__symbolic":"reference","name":"searchText"},{"__symbolic":"reference","name":"editPattern"}]},"i"]}]},"right":null},"elseExpression":true}},"protectPattern":{"__symbolic":"function","parameters":["str"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"str"},"member":"replace"},"arguments":[{"__symbolic":"new","expression":{"__symbolic":"reference","name":"RegExp"},"arguments":["[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]","g"]},"\\$&"]}},"getOptionStyle":{"__symbolic":"function","parameters":["value","hoveringValue"],"value":{"__symbolic":"if","condition":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"reference","name":"value"},"right":{"__symbolic":"reference","name":"hoveringValue"}},"thenExpression":"select2-results__option select2-results__option--highlighted","elseExpression":"select2-results__option"}},"getDropdownStyle":{"__symbolic":"function","parameters":["isOpen"],"value":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"isOpen"},"thenExpression":"select2-container select2-container--default select2-container-dropdown select2-container--open","elseExpression":"select2-container select2-container--default select2-container-dropdown"}},"getContainerStyle":{"__symbolic":"function","parameters":["disabled","isOpen"],"value":{"__symbolic":"binop","operator":"+","left":{"__symbolic":"binop","operator":"+","left":{"__symbolic":"binop","operator":"+","left":"select2 select2-container select2-container--default ","right":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"disabled"},"thenExpression":"select2-container--disabled","elseExpression":""}},"right":" "},"right":{"__symbolic":"binop","operator":"+","left":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"isOpen"},"thenExpression":"select2-container--open","elseExpression":""},"right":" select2-container--below select2-container--focus"}}},"getSelectionStyle":{"__symbolic":"function","parameters":["multiple"],"value":{"__symbolic":"binop","operator":"+","left":"select2-selection select2-selection--","right":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"multiple"},"thenExpression":"multiple","elseExpression":"single"}}},"getSearchStyle":{"__symbolic":"function","parameters":["isHidden"],"value":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"isHidden"},"thenExpression":"select2-search select2-search--dropdown select2-search--hide","elseExpression":"select2-search select2-search--dropdown"}}}},"Select2Module":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":9,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":10,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":11,"character":4}],"declarations":[{"__symbolic":"reference","name":"Select2Hint"},{"__symbolic":"reference","name":"Select2Label"},{"__symbolic":"reference","name":"Select2"}],"exports":[{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":19,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":20,"character":4},{"__symbolic":"reference","name":"Select2Hint"},{"__symbolic":"reference","name":"Select2Label"},{"__symbolic":"reference","name":"Select2"}]}]}],"members":{}}},"origins":{"Select2":"./lib/select2.component","Select2Hint":"./lib/select2-hint.component","Select2Label":"./lib/select2-label.component","Select2Group":"./lib/select2-utils","Select2Option":"./lib/select2-utils","Select2Value":"./lib/select2-utils","Select2UpdateValue":"./lib/select2-utils","Select2Data":"./lib/select2-utils","timeout":"./lib/select2-utils","Select2Utils":"./lib/select2-utils","Select2Module":"./lib/select2.module"},"importAs":"ng-select2-component"}
{
"name": "ng-select2-component",
"version": "7.0.1",
"version": "7.0.2",
"peerDependencies": {

@@ -5,0 +5,0 @@ "@angular/common": "^7.0.0-rc.0 || ^7.0.0",

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc