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.1.6 to 7.1.7

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/common"),require("@angular/core"),require("@angular/forms")):"function"==typeof define&&define.amd?define("ng-select2-component",["exports","rxjs","@angular/common","@angular/core","@angular/forms"],t):t(e["ng-select2-component"]={},e.rxjs,e.ng.common,e.ng.core,e.ng.forms)}(this,function(e,l,t,i,n){"use strict";function m(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 b(){}return b.getOptionByValue=function(e,t){var n,o,r,l;try{for(var i=m(e),s=i.next();!s.done;s=i.next()){var a=s.value,c=a.options;if(c)try{for(var u=m(c),d=u.next();!d.done;d=u.next()){var p=d.value;if(p.value===t)return p}}catch(h){r={error:h}}finally{try{d&&!d.done&&(l=u["return"])&&l.call(u)}finally{if(r)throw r.error}}else if(a.value===t)return a}}catch(f){n={error:f}}finally{try{s&&!s.done&&(o=i["return"])&&o.call(i)}finally{if(n)throw n.error}}return null},b.getOptionsByValue=function(e,t,n){var o,r;if(n){var l=Array.isArray(t)?t:[],i=[];try{for(var s=m(l),a=s.next();!a.done;a=s.next()){var c=a.value,u=b.getOptionByValue(e,c);u&&i.push(u)}}catch(d){o={error:d}}finally{try{a&&!a.done&&(r=s["return"])&&r.call(s)}finally{if(o)throw o.error}}return i}return b.getOptionByValue(e,t)},b.getFirstAvailableOption=function(e){var t,n,o,r;try{for(var l=m(e),i=l.next();!i.done;i=l.next()){var s=i.value,a=s.options;if(a)try{for(var c=m(a),u=c.next();!u.done;u=c.next()){var d;if(!(d=u.value).disabled)return d.value}}catch(p){o={error:p}}finally{try{u&&!u.done&&(r=c["return"])&&r.call(c)}finally{if(o)throw o.error}}else if(!(d=s).disabled)return d.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},b.getOptionsCount=function(e){var t,n,o=0;try{for(var r=m(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},b.valueIsNotInFilteredData=function(e,t){var n,o,r,l;if(b.isNullOrUndefined(t))return!0;try{for(var i=m(e),s=i.next();!s.done;s=i.next()){var a=s.value,c=a.options;if(c)try{for(var u=m(c),d=u.next();!d.done;d=u.next()){if(d.value.value===t)return!1}}catch(p){r={error:p}}finally{try{d&&!d.done&&(l=u["return"])&&l.call(u)}finally{if(r)throw r.error}}else if(a.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},b.getPreviousOption=function(e,t){for(var n=b.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},b.getNextOption=function(e,t){var n,o,r,l,i=b.isNullOrUndefined(t);try{for(var s=m(e),a=s.next();!a.done;a=s.next()){var c=a.value,u=c.options;if(u)try{for(var d=m(u),p=d.next();!p.done;p=d.next()){var h=p.value;if(i){if(!h.disabled)return h}else i||(i=h.value===t)}}catch(f){r={error:f}}finally{try{p&&!p.done&&(l=d["return"])&&l.call(d)}finally{if(r)throw r.error}}else{h=c;if(i){if(!h.disabled)return h}else i||(i=h.value===t)}}}catch(g){n={error:g}}finally{try{a&&!a.done&&(o=s["return"])&&o.call(s)}finally{if(n)throw n.error}}return null},b.isNullOrUndefined=function(e){return null===e||e===undefined},b.containSearchText=function(e,t,n){return!t||null!==b.formatSansUnicode(e).match(new RegExp(b.formatPattern(t,n),"i"))},b.protectPattern=function(e){return e.replace(new RegExp("[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]","g"),"\\$&")},b.formatSansUnicode=function(e){var t,n;try{for(var o=m(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},b.formatPattern=function(e,t){return e=b.formatSansUnicode(b.protectPattern(e)),t&&"function"==typeof t&&(e=t(e)),e},b.getFilteredData=function(e,t,n){var o,r;if(t){var l=[];try{for(var i=m(e),s=i.next();!s.done;s=i.next()){var a=s.value,c=a.options;if(c){if(c.some(function(e){return b.containSearchText(e.label,t,n)})){var u=c.filter(function(e){return b.containSearchText(e.label,t,n)});l.push({label:a.label,options:u})}}else b.containSearchText(a.label,t,n)&&l.push(a)}}catch(d){o={error:d}}finally{try{s&&!s.done&&(r=i["return"])&&r.call(i)}finally{if(o)throw o.error}}return l}return e},b.getFilteredSelectedData=function(e,t){var n,o,r=[];try{for(var l=m(e),i=l.next();!i.done;i=l.next()){var s=i.value,a=s.options;if(a){var c=a.filter(function(e){return"false"===b.isSelected(t,e,!0)});c.length&&r.push({label:s.label,options:c})}else"false"===b.isSelected(t,s,!0)&&r.push(s)}}catch(u){n={error:u}}finally{try{i&&!i.done&&(o=l["return"])&&o.call(l)}finally{if(n)throw n.error}}return r},b.isSearchboxHiddex=function(e,t){return(""===t||t===undefined||null===t||isNaN(+t))&&(t=6),b.getOptionsCount(e)<+t},b.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"},b.removeSelection=function(e,t){for(var n=0;n<e.length;n++)if(e[n].value===t.value)return void e.splice(n,1)},b}(),a=0,r=["default","hidden","always"],c=function(){function e(e,t,n,o,r){this._changeDetectorRef=e,this._parentForm=t,this._parentFormGroup=n,this._control=o,this.minCharForSearch=0,this.limitSelection=0,this.resultMaxHeight="200px",this.update=new i.EventEmitter,this.open=new i.EventEmitter,this.close=new i.EventEmitter,this.focus=new i.EventEmitter,this.blur=new i.EventEmitter,this.search=new i.EventEmitter,this.option=null,this.isOpen=!1,this.focused=!1,this.hoveringValue=null,this.innerSearchText="",this._stateChanges=new l.Subject,this._disabled=!1,this._required=!1,this._readonly=!1,this._hideSelectedItems=!1,this._clickDetection=!1,this._uid="select2-"+a++,this._previousNativeValue=this._value,this._onTouched=function(){},this._onChange=function(){},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,"minCountForSearch",{get:function(){return this._minCountForSearch},set:function(e){this._minCountForSearch=e,this.updateSearchBox()},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,"hideSelectedItems",{get:function(){return this._hideSelectedItems},set:function(e){this._hideSelectedItems=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;this.testValueChange(this._value,e)&&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||"true"===this.material},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"classNostyle",{get:function(){return""===this.noStyle||!0===this.noStyle||"true"===this.noStyle},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"select2above",{get:function(){return"above"===this.listPosition},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.updateSearchBox()},e.prototype.ngAfterViewInit=function(){this.selectionElement=this.selection.nativeElement,this.searchInputElement=this.searchInput.nativeElement,this.resultsElement=this.resultContainer.nativeElement},e.prototype.ngDoCheck=function(){this.updateSearchBox(),this._dirtyCheckNativeValue()},e.prototype.ngOnDestroy=function(){window.document.body.removeEventListener("click",this._clickDetectionFc)},e.prototype.updateSearchBox=function(){var e=!this.customSearchEnabled&&o.isSearchboxHiddex(this.data,this._minCountForSearch);this.isSearchboxHidden!==e&&(this.isSearchboxHidden=e)},e.prototype.hideSearch=function(){var e=-1<r.indexOf(this.displaySearchStatus)?this.displaySearchStatus:"default";return"default"===e&&this.isSearchboxHidden||"hidden"===e},e.prototype.getOptionStyle=function(e){return"select2-results__option "+(e.value===this.hoveringValue?"select2-results__option--highlighted ":"")+(e.classes||"")},e.prototype.mouseenter=function(e){e.disabled||(this.hoveringValue=e.value)},e.prototype.click=function(e){this.testSelection(e)&&this.select(e)},e.prototype.toggleOpenAndClose=function(){var t=this;this.disabled||(this._focus(!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.close.emit(),this.isOpen&&!this._clickDetection&&setTimeout(function(){window.document.body.addEventListener("click",t._clickDetectionFc,!1),t._clickDetection=!0},200),this._changeDetectorRef.markForCheck())},e.prototype.testSelection=function(e){return!e.disabled&&!(this.multiple&&this.limitSelection&&!(Array.isArray(this._value)&&this._value.length<this.limitSelection))},e.prototype.testValueChange=function(e,t){var n,o;if(!e&&!t||e===t)return!1;if(this.multiple&&e&&e.length&&t&&t.length&&e.length===t.length){try{for(var r=m(e),l=r.next();!l.done;l=r.next()){var i=l.value;if(!(-1<t.indexOf(i)))return!0}}catch(s){n={error:s}}finally{try{l&&!l.done&&(o=r["return"])&&o.call(r)}finally{if(n)throw n.error}}return!1}return!0},e.prototype.updateFilteredData=function(){var t=this;setTimeout(function(){var e=t.data;t.multiple&&t.hideSelectedItems&&(e=o.getFilteredSelectedData(e,t.option)),!t.customSearchEnabled&&t.searchText&&t.searchText.length>=+t.minCharForSearch&&(e=o.getFilteredData(e,t.searchText,t.editPattern)),o.valueIsNotInFilteredData(e,t.hoveringValue)&&(t.hoveringValue=o.getFirstAvailableOption(e)),t.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._focus(!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=m(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._focus(!0)},e.prototype.focusout=function(){this.selectionElement&&!this.selectionElement.classList.contains("select2-focused")&&(this._focus(!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&&(this.isOpen=!1,this.close.emit(),this.selectionElement&&this.selectionElement.focus()),e=this.option.value;else this.option=null;this.multiple&&this.hideSelectedItems&&this.updateFilteredData(),this._control&&this._onChange(e),this.update.emit({component:this,value:e,options:Array.isArray(this.option)?this.option:this.option?[this.option]:null})},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._focus(!1))},e.prototype.openKey=function(e){this._testKey(e,["ArrowDown","ArrowUp","Enter",40,38,13])?(this.toggleOpenAndClose(),e.preventDefault()):this._testKey(e,["Escape","Tab",9,27])&&(this._focus(!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),this.multiple&&this.hideSelectedItems&&this.updateFilteredData();var n=this.option.map(function(e){return e.value});this._control&&this._onChange(n),this.update.emit({component:this,value:n,options:Array.isArray(this.option)?this.option:this.option?[this.option]:null}),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.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.prototype._focus=function(e){!e&&this.focused?(this.focused=e,this.blur.emit()):e&&!this.focused&&(this.focused=e,this.focus.emit())},e.decorators=[{type:i.Component,args:[{selector:"select2",template:'<div class="select2-label"\r\n (click)="toggleOpenAndClose()">\r\n <ng-content select="select2-label"></ng-content><span *ngIf="required"\r\n class="select2-required"></span>\r\n</div>\r\n<div class="select2 select2-container select2-container--default select2-container--focus"\r\n [class.select2-container--below]="!select2above"\r\n [class.select2-container--above]="select2above"\r\n [class.select2-container--open]="isOpen"\r\n [class.select2-container--disabled]="disabled">\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="select2-selection"\r\n [class.select2-selection--multiple]="multiple"\r\n [class.select2-selection--single]="!multiple"\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 <span *ngIf="select2Option"\r\n [innerHTML]="select2Option.label"></span>\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 </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 <span [innerHTML]="op.label"></span>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class="select2-container select2-container--default select2-container-dropdown"\r\n [class.select2-container--open]="isOpen">\r\n <div class="select2-dropdown"\r\n [class.select2-dropdown--below]="!select2above"\r\n [class.select2-dropdown--above]="select2above">\r\n <div class="select2-search select2-search--dropdown"\r\n [class.select2-search--hide]="hideSearch()">\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 [style.max-height]="resultMaxHeight"\r\n role="tree"\r\n tabindex="-1"\r\n (keydown)="keyDown($event)">\r\n <ng-container *ngFor="let groupOrOption of filteredData; index as i; trackBy:trackBy">\r\n <li *ngIf="groupOrOption.options"\r\n class="select2-results__option"\r\n role="group">\r\n <strong [attr.class]="\'select2-results__group\' + (groupOrOption.classes ? \' \' + groupOrOption.classes : \'\')"\r\n [innerHTML]="groupOrOption.label"></strong>\r\n <ul class="select2-results__options select2-results__options--nested">\r\n <li *ngFor="let option of groupOrOption.options; index as j; trackBy:trackBy"\r\n #result\r\n [id]="option.id || id + \'-option-\' + i + \'-\' + j"\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)"\r\n [innerHTML]="option.label"></li>\r\n </ul>\r\n </li>\r\n <li *ngIf="!groupOrOption.options"\r\n #result\r\n [id]="groupOrOption.id || id + \'-option-\' + i"\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 [innerHTML]="groupOrOption.label">\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </div>\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>',styles:[".select2-label{color:#000;color:var(--select2-label-text-color,#000)}.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;opacity: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:0 0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.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:#fff;background:var(--select2-dropdown-background,#fff);border:1px solid #aaa;border:1px solid var(--select2-dropdown-border-color,#aaa);border-radius:4px;border-radius:var(--select2-selection-border-radius,4px);box-sizing:border-box;display:block;position:absolute;width:100%;z-index:1051;height:0;overflow:hidden}.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;color:#000;color:var(--select2-option-text-color,#000)}.select2-results__option[aria-selected]{cursor:pointer}.select2-container.select2-container-dropdown.select2-container--open{width:100%;opacity:1}.select2-container--open .select2-dropdown{overflow:auto;height:auto}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;bottom:27px;display:flex;flex-direction:column-reverse}.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:#fff}.select2-required::before{content:'*';color:red;color:var(--select2-required-color,red)}.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:#fff;background:var(--select2-selection-background,#fff);border:1px solid #aaa;border:1px solid var(--select2-selection-border-color,#aaa);border-radius:4px;border-radius:var(--select2-selection-border-radius,4px);display:flex}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;color:var(--select2-selection-text-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;color:var(--select2-placeholder-color,#999)}.select2-container--default .select2-selection--single .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--single .select2-selection__arrow{display:flex;width:20px;align-items:center;justify-content:center}.select2-container--default .select2-selection--single .select2-selection__arrow::before{content:' ';border-color:#888 transparent;border-color:var(--select2-arrow-color,#888) transparent;border-style:solid;border-width:5px 4px 0;height:0;width:0}.select2-container--default.select2-container--disabled .select2-selection--single{background:#eee;background:var(--select2-selection-disabled-background,#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::before{border-color:transparent transparent #888;border-color:transparent transparent var(--select2-arrow-color,#888);border-width:0 4px 5px}.select2-container--default .select2-selection--multiple{background:#fff;background:var(--select2-selection-background,#fff);border:1px solid #aaa;border:1px solid var(--select2-selection-border-color,#aaa);border-radius:4px;border-radius:var(--select2-selection-border-radius,4px);cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{flex:1 1 auto;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;color:var(--select2-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{color:#000;color:var(--select2-selection-choice-text-color,#000);background:#e4e4e4;background:var(--select2-selection-choice-background,#e4e4e4);border:1px solid #aaa;border:1px solid var(--select2-selection-choice-border-color,#aaa);border-radius:4px;border-radius:var(--select2-selection-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;color:var(--select2-selection-choice-close-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;color:var(--select2-selection-choice-hover-close-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;border:solid var(--select2-selection-focus-border-color,#000) 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background:#eee;background:var(--select2-selection-disabled-background,#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;border:1px solid var(--select2-search-border-color,#aaa);background:#fff;background:1px solid var(--select2-search-background,#fff);border-radius:0;border-radius:var(--select2-search-border-radius,0)}.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{overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999;color:var(--select2-option-disabled-text-color,#999);background:0 0;background:var(--select2-option-disabled-background,transparent)}.select2-container--default .select2-results__option[aria-selected=true]{color:#000;color:var(--select2-option-selected-text-color,#000);background:#ddd;background:var(--select2-option-selected-background,#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:#5897fb;background:var(--select2-option-highlighted-background,#5897fb);color:#fff;color:var(--select2-option-highlighted-text-color,#fff)}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px;color:gray;color:var(--select2-option-group-text-color,gray);background:0 0;background:var(--select2-option-group-background,transparent)}:host.nostyle .select2-dropdown{border-color:transparent}:host.nostyle .select2-selection--multiple,:host.nostyle .select2-selection--single{background:0 0;border-color:transparent}:host.nostyle .select2-container--default .select2-focused .select2-selection--multiple,:host.nostyle .select2-container--default .select2-focused .select2-selection--single,:host.nostyle .select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--multiple,:host.nostyle .select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--single{background:0 0;border-color:transparent}: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:#ddd;background:var(--select2-material-underline,#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:#5a419e;background:var(--select2-material-underline-active,#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);color:var(--select2-material-placeholder-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:rgba(0,0,0,.04);background:var(--select2-material-option-selected-background,rgba(0,0,0,.04));color:#000;color:var(--select2-material-option-highlighted-text-color,#000)}:host.material .select2-container--default .select2-results__option[aria-selected=true]{color:#ff5722;color:var(--select2-material-option-selected-text-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:0 0}: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:linear-gradient(to right,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 33%,transparent 0);background:var(--select2-material-underline-disabled,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-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:red;background:var(--select2-material-underline-invalid,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%;color:#888;color:var(--select2-hint-text-color,#888)}@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}],minCharForSearch:[{type:i.Input}],displaySearchStatus:[{type:i.Input}],placeholder:[{type:i.Input}],customSearchEnabled:[{type:i.Input}],multiple:[{type:i.Input}],limitSelection:[{type:i.Input}],listPosition:[{type:i.Input}],material:[{type:i.Input}],noStyle:[{type:i.Input}],editPattern:[{type:i.Input}],resultMaxHeight:[{type:i.Input}],update:[{type:i.Output}],open:[{type:i.Output}],close:[{type:i.Output}],focus:[{type:i.Output}],blur:[{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"]}],minCountForSearch:[{type:i.Input}],id:[{type:i.Input},{type:i.HostBinding,args:["id"]}],required:[{type:i.Input}],disabled:[{type:i.Input}],hideSelectedItems:[{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"]}],classNostyle:[{type:i.HostBinding,args:["class.nostyle"]}],select2above:[{type:i.HostBinding,args:["class.select2-above"]}]},e}(),u=function(){function e(){}return e.decorators=[{type:i.Directive,args:[{selector:"select2-hint"}]}],e}(),d=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:[u,d,c],exports:[n.FormsModule,n.ReactiveFormsModule,u,d,c]}]}],e}();e.Select2=c,e.Select2Hint=u,e.Select2Label=d,e.timeout=200,e.unicodePatterns=s,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/common"),require("@angular/core"),require("@angular/forms")):"function"==typeof define&&define.amd?define("ng-select2-component",["exports","rxjs","@angular/common","@angular/core","@angular/forms"],t):t(e["ng-select2-component"]={},e.rxjs,e.ng.common,e.ng.core,e.ng.forms)}(this,function(e,l,t,i,n){"use strict";function m(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 b(){}return b.getOptionByValue=function(e,t){var n,o,r,l;try{for(var i=m(e),s=i.next();!s.done;s=i.next()){var a=s.value,c=a.options;if(c)try{for(var u=m(c),d=u.next();!d.done;d=u.next()){var p=d.value;if(p.value===t)return p}}catch(h){r={error:h}}finally{try{d&&!d.done&&(l=u["return"])&&l.call(u)}finally{if(r)throw r.error}}else if(a.value===t)return a}}catch(f){n={error:f}}finally{try{s&&!s.done&&(o=i["return"])&&o.call(i)}finally{if(n)throw n.error}}return null},b.getOptionsByValue=function(e,t,n){var o,r;if(n){var l=Array.isArray(t)?t:[],i=[];try{for(var s=m(l),a=s.next();!a.done;a=s.next()){var c=a.value,u=b.getOptionByValue(e,c);u&&i.push(u)}}catch(d){o={error:d}}finally{try{a&&!a.done&&(r=s["return"])&&r.call(s)}finally{if(o)throw o.error}}return i}return b.getOptionByValue(e,t)},b.getFirstAvailableOption=function(e){var t,n,o,r;try{for(var l=m(e),i=l.next();!i.done;i=l.next()){var s=i.value,a=s.options;if(a)try{for(var c=m(a),u=c.next();!u.done;u=c.next()){var d;if(!(d=u.value).disabled)return d.value}}catch(p){o={error:p}}finally{try{u&&!u.done&&(r=c["return"])&&r.call(c)}finally{if(o)throw o.error}}else if(!(d=s).disabled)return d.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},b.getOptionsCount=function(e){var t,n,o=0;try{for(var r=m(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},b.valueIsNotInFilteredData=function(e,t){var n,o,r,l;if(b.isNullOrUndefined(t))return!0;try{for(var i=m(e),s=i.next();!s.done;s=i.next()){var a=s.value,c=a.options;if(c)try{for(var u=m(c),d=u.next();!d.done;d=u.next()){if(d.value.value===t)return!1}}catch(p){r={error:p}}finally{try{d&&!d.done&&(l=u["return"])&&l.call(u)}finally{if(r)throw r.error}}else if(a.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},b.getPreviousOption=function(e,t){for(var n=b.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},b.getNextOption=function(e,t){var n,o,r,l,i=b.isNullOrUndefined(t);try{for(var s=m(e),a=s.next();!a.done;a=s.next()){var c=a.value,u=c.options;if(u)try{for(var d=m(u),p=d.next();!p.done;p=d.next()){var h=p.value;if(i){if(!h.disabled)return h}else i||(i=h.value===t)}}catch(f){r={error:f}}finally{try{p&&!p.done&&(l=d["return"])&&l.call(d)}finally{if(r)throw r.error}}else{h=c;if(i){if(!h.disabled)return h}else i||(i=h.value===t)}}}catch(g){n={error:g}}finally{try{a&&!a.done&&(o=s["return"])&&o.call(s)}finally{if(n)throw n.error}}return null},b.isNullOrUndefined=function(e){return null===e||e===undefined},b.containSearchText=function(e,t,n){return!t||null!==b.formatSansUnicode(e).match(new RegExp(b.formatPattern(t,n),"i"))},b.protectPattern=function(e){return e.replace(new RegExp("[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]","g"),"\\$&")},b.formatSansUnicode=function(e){var t,n;try{for(var o=m(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},b.formatPattern=function(e,t){return e=b.formatSansUnicode(b.protectPattern(e)),t&&"function"==typeof t&&(e=t(e)),e},b.getFilteredData=function(e,t,n){var o,r;if(t){var l=[];try{for(var i=m(e),s=i.next();!s.done;s=i.next()){var a=s.value,c=a.options;if(c){if(c.some(function(e){return b.containSearchText(e.label,t,n)})){var u=c.filter(function(e){return b.containSearchText(e.label,t,n)});l.push({label:a.label,options:u})}}else b.containSearchText(a.label,t,n)&&l.push(a)}}catch(d){o={error:d}}finally{try{s&&!s.done&&(r=i["return"])&&r.call(i)}finally{if(o)throw o.error}}return l}return e},b.getFilteredSelectedData=function(e,t){var n,o,r=[];try{for(var l=m(e),i=l.next();!i.done;i=l.next()){var s=i.value,a=s.options;if(a){var c=a.filter(function(e){return"false"===b.isSelected(t,e,!0)});c.length&&r.push({label:s.label,options:c})}else"false"===b.isSelected(t,s,!0)&&r.push(s)}}catch(u){n={error:u}}finally{try{i&&!i.done&&(o=l["return"])&&o.call(l)}finally{if(n)throw n.error}}return r},b.isSearchboxHiddex=function(e,t){return(""===t||t===undefined||null===t||isNaN(+t))&&(t=6),b.getOptionsCount(e)<+t},b.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"},b.removeSelection=function(e,t){for(var n=0;n<e.length;n++)if(e[n].value===t.value)return void e.splice(n,1)},b}(),a=0,r=["default","hidden","always"],c=function(){function e(e,t,n,o,r){this._changeDetectorRef=e,this._parentForm=t,this._parentFormGroup=n,this._control=o,this.minCharForSearch=0,this.limitSelection=0,this.resultMaxHeight="200px",this.update=new i.EventEmitter,this.open=new i.EventEmitter,this.close=new i.EventEmitter,this.focus=new i.EventEmitter,this.blur=new i.EventEmitter,this.search=new i.EventEmitter,this.option=null,this.isOpen=!1,this.focused=!1,this.hoveringValue=null,this.innerSearchText="",this._stateChanges=new l.Subject,this._disabled=!1,this._required=!1,this._readonly=!1,this._hideSelectedItems=!1,this._clickDetection=!1,this._uid="select2-"+a++,this._onTouched=function(){},this._onChange=function(){},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,"minCountForSearch",{get:function(){return this._minCountForSearch},set:function(e){this._minCountForSearch=e,this.updateSearchBox()},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,"hideSelectedItems",{get:function(){return this._hideSelectedItems},set:function(e){this._hideSelectedItems=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;this.testValueChange(this._value,e)&&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||"true"===this.material},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"classNostyle",{get:function(){return""===this.noStyle||!0===this.noStyle||"true"===this.noStyle},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"select2above",{get:function(){return"above"===this.listPosition},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.updateSearchBox()},e.prototype.ngAfterViewInit=function(){this.selectionElement=this.selection.nativeElement,this.searchInputElement=this.searchInput.nativeElement,this.resultsElement=this.resultContainer.nativeElement},e.prototype.ngDoCheck=function(){this.updateSearchBox(),this._dirtyCheckNativeValue()},e.prototype.ngOnDestroy=function(){window.document.body.removeEventListener("click",this._clickDetectionFc)},e.prototype.updateSearchBox=function(){var e=!this.customSearchEnabled&&o.isSearchboxHiddex(this.data,this._minCountForSearch);this.isSearchboxHidden!==e&&(this.isSearchboxHidden=e)},e.prototype.hideSearch=function(){var e=-1<r.indexOf(this.displaySearchStatus)?this.displaySearchStatus:"default";return"default"===e&&this.isSearchboxHidden||"hidden"===e},e.prototype.getOptionStyle=function(e){return"select2-results__option "+(e.value===this.hoveringValue?"select2-results__option--highlighted ":"")+(e.classes||"")},e.prototype.mouseenter=function(e){e.disabled||(this.hoveringValue=e.value)},e.prototype.click=function(e){this.testSelection(e)&&this.select(e)},e.prototype.toggleOpenAndClose=function(){var t=this;this.disabled||(this._focus(!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.close.emit(),this.isOpen&&!this._clickDetection&&setTimeout(function(){window.document.body.addEventListener("click",t._clickDetectionFc,!1),t._clickDetection=!0},200),this._changeDetectorRef.markForCheck())},e.prototype.testSelection=function(e){return!e.disabled&&!(this.multiple&&this.limitSelection&&!(Array.isArray(this._value)&&this._value.length<this.limitSelection))},e.prototype.testValueChange=function(e,t){var n,o;if((null===e||e===undefined)&&(null===t||t===undefined)||e===t)return!1;if(this.multiple&&e&&e.length&&t&&t.length&&e.length===t.length){try{for(var r=m(e),l=r.next();!l.done;l=r.next()){var i=l.value;if(!(-1<t.indexOf(i)))return!0}}catch(s){n={error:s}}finally{try{l&&!l.done&&(o=r["return"])&&o.call(r)}finally{if(n)throw n.error}}return!1}return!0},e.prototype.updateFilteredData=function(){var t=this;setTimeout(function(){var e=t.data;t.multiple&&t.hideSelectedItems&&(e=o.getFilteredSelectedData(e,t.option)),!t.customSearchEnabled&&t.searchText&&t.searchText.length>=+t.minCharForSearch&&(e=o.getFilteredData(e,t.searchText,t.editPattern)),o.valueIsNotInFilteredData(e,t.hoveringValue)&&(t.hoveringValue=o.getFirstAvailableOption(e)),t.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._focus(!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=m(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._focus(!0)},e.prototype.focusout=function(){this.selectionElement&&!this.selectionElement.classList.contains("select2-focused")&&(this._focus(!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&&(this.isOpen=!1,this.close.emit(),this.selectionElement&&this.selectionElement.focus()),e=this.option.value;else this.option=null;this.multiple&&this.hideSelectedItems&&this.updateFilteredData(),this._control&&this._onChange(e),this.update.emit({component:this,value:e,options:Array.isArray(this.option)?this.option:this.option?[this.option]:null})},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._focus(!1))},e.prototype.openKey=function(e){this._testKey(e,["ArrowDown","ArrowUp","Enter",40,38,13])?(this.toggleOpenAndClose(),e.preventDefault()):this._testKey(e,["Escape","Tab",9,27])&&(this._focus(!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),this.multiple&&this.hideSelectedItems&&this.updateFilteredData();var n=this.option.map(function(e){return e.value});this._control&&this._onChange(n),this.update.emit({component:this,value:n,options:Array.isArray(this.option)?this.option:this.option?[this.option]:null}),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.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.prototype._focus=function(e){!e&&this.focused?(this.focused=e,this.blur.emit()):e&&!this.focused&&(this.focused=e,this.focus.emit())},e.decorators=[{type:i.Component,args:[{selector:"select2",template:'<div class="select2-label"\r\n (click)="toggleOpenAndClose()">\r\n <ng-content select="select2-label"></ng-content><span *ngIf="required"\r\n class="select2-required"></span>\r\n</div>\r\n<div class="select2 select2-container select2-container--default select2-container--focus"\r\n [class.select2-container--below]="!select2above"\r\n [class.select2-container--above]="select2above"\r\n [class.select2-container--open]="isOpen"\r\n [class.select2-container--disabled]="disabled">\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="select2-selection"\r\n [class.select2-selection--multiple]="multiple"\r\n [class.select2-selection--single]="!multiple"\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 <span *ngIf="select2Option"\r\n [innerHTML]="select2Option.label"></span>\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 </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 <span [innerHTML]="op.label"></span>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class="select2-container select2-container--default select2-container-dropdown"\r\n [class.select2-container--open]="isOpen">\r\n <div class="select2-dropdown"\r\n [class.select2-dropdown--below]="!select2above"\r\n [class.select2-dropdown--above]="select2above">\r\n <div class="select2-search select2-search--dropdown"\r\n [class.select2-search--hide]="hideSearch()">\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 [style.max-height]="resultMaxHeight"\r\n role="tree"\r\n tabindex="-1"\r\n (keydown)="keyDown($event)">\r\n <ng-container *ngFor="let groupOrOption of filteredData; index as i; trackBy:trackBy">\r\n <li *ngIf="groupOrOption.options"\r\n class="select2-results__option"\r\n role="group">\r\n <strong [attr.class]="\'select2-results__group\' + (groupOrOption.classes ? \' \' + groupOrOption.classes : \'\')"\r\n [innerHTML]="groupOrOption.label"></strong>\r\n <ul class="select2-results__options select2-results__options--nested">\r\n <li *ngFor="let option of groupOrOption.options; index as j; trackBy:trackBy"\r\n #result\r\n [id]="option.id || id + \'-option-\' + i + \'-\' + j"\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)"\r\n [innerHTML]="option.label"></li>\r\n </ul>\r\n </li>\r\n <li *ngIf="!groupOrOption.options"\r\n #result\r\n [id]="groupOrOption.id || id + \'-option-\' + i"\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 [innerHTML]="groupOrOption.label">\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </div>\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>',styles:[".select2-label{color:#000;color:var(--select2-label-text-color,#000)}.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;opacity: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:0 0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.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:#fff;background:var(--select2-dropdown-background,#fff);border:1px solid #aaa;border:1px solid var(--select2-dropdown-border-color,#aaa);border-radius:4px;border-radius:var(--select2-selection-border-radius,4px);box-sizing:border-box;display:block;position:absolute;width:100%;z-index:1051;height:0;overflow:hidden}.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;color:#000;color:var(--select2-option-text-color,#000)}.select2-results__option[aria-selected]{cursor:pointer}.select2-container.select2-container-dropdown.select2-container--open{width:100%;opacity:1}.select2-container--open .select2-dropdown{overflow:auto;height:auto}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;bottom:27px;display:flex;flex-direction:column-reverse}.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:#fff}.select2-required::before{content:'*';color:red;color:var(--select2-required-color,red)}.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:#fff;background:var(--select2-selection-background,#fff);border:1px solid #aaa;border:1px solid var(--select2-selection-border-color,#aaa);border-radius:4px;border-radius:var(--select2-selection-border-radius,4px);display:flex}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;color:var(--select2-selection-text-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;color:var(--select2-placeholder-color,#999)}.select2-container--default .select2-selection--single .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--single .select2-selection__arrow{display:flex;width:20px;align-items:center;justify-content:center}.select2-container--default .select2-selection--single .select2-selection__arrow::before{content:' ';border-color:#888 transparent;border-color:var(--select2-arrow-color,#888) transparent;border-style:solid;border-width:5px 4px 0;height:0;width:0}.select2-container--default.select2-container--disabled .select2-selection--single{background:#eee;background:var(--select2-selection-disabled-background,#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::before{border-color:transparent transparent #888;border-color:transparent transparent var(--select2-arrow-color,#888);border-width:0 4px 5px}.select2-container--default .select2-selection--multiple{background:#fff;background:var(--select2-selection-background,#fff);border:1px solid #aaa;border:1px solid var(--select2-selection-border-color,#aaa);border-radius:4px;border-radius:var(--select2-selection-border-radius,4px);cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{flex:1 1 auto;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;color:var(--select2-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{color:#000;color:var(--select2-selection-choice-text-color,#000);background:#e4e4e4;background:var(--select2-selection-choice-background,#e4e4e4);border:1px solid #aaa;border:1px solid var(--select2-selection-choice-border-color,#aaa);border-radius:4px;border-radius:var(--select2-selection-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;color:var(--select2-selection-choice-close-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;color:var(--select2-selection-choice-hover-close-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;border:solid var(--select2-selection-focus-border-color,#000) 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background:#eee;background:var(--select2-selection-disabled-background,#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;border:1px solid var(--select2-search-border-color,#aaa);background:#fff;background:1px solid var(--select2-search-background,#fff);border-radius:0;border-radius:var(--select2-search-border-radius,0)}.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{overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999;color:var(--select2-option-disabled-text-color,#999);background:0 0;background:var(--select2-option-disabled-background,transparent)}.select2-container--default .select2-results__option[aria-selected=true]{color:#000;color:var(--select2-option-selected-text-color,#000);background:#ddd;background:var(--select2-option-selected-background,#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:#5897fb;background:var(--select2-option-highlighted-background,#5897fb);color:#fff;color:var(--select2-option-highlighted-text-color,#fff)}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px;color:gray;color:var(--select2-option-group-text-color,gray);background:0 0;background:var(--select2-option-group-background,transparent)}:host.nostyle .select2-dropdown{border-color:transparent}:host.nostyle .select2-selection--multiple,:host.nostyle .select2-selection--single{background:0 0;border-color:transparent}:host.nostyle .select2-container--default .select2-focused .select2-selection--multiple,:host.nostyle .select2-container--default .select2-focused .select2-selection--single,:host.nostyle .select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--multiple,:host.nostyle .select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--single{background:0 0;border-color:transparent}: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:#ddd;background:var(--select2-material-underline,#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:#5a419e;background:var(--select2-material-underline-active,#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);color:var(--select2-material-placeholder-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:rgba(0,0,0,.04);background:var(--select2-material-option-selected-background,rgba(0,0,0,.04));color:#000;color:var(--select2-material-option-highlighted-text-color,#000)}:host.material .select2-container--default .select2-results__option[aria-selected=true]{color:#ff5722;color:var(--select2-material-option-selected-text-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:0 0}: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:linear-gradient(to right,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 33%,transparent 0);background:var(--select2-material-underline-disabled,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-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:red;background:var(--select2-material-underline-invalid,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%;color:#888;color:var(--select2-hint-text-color,#888)}@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}],minCharForSearch:[{type:i.Input}],displaySearchStatus:[{type:i.Input}],placeholder:[{type:i.Input}],customSearchEnabled:[{type:i.Input}],multiple:[{type:i.Input}],limitSelection:[{type:i.Input}],listPosition:[{type:i.Input}],material:[{type:i.Input}],noStyle:[{type:i.Input}],editPattern:[{type:i.Input}],resultMaxHeight:[{type:i.Input}],update:[{type:i.Output}],open:[{type:i.Output}],close:[{type:i.Output}],focus:[{type:i.Output}],blur:[{type:i.Output}],search:[{type:i.Output}],minCountForSearch:[{type:i.Input}],id:[{type:i.Input},{type:i.HostBinding,args:["id"]}],required:[{type:i.Input}],disabled:[{type:i.Input}],hideSelectedItems:[{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"]}],classNostyle:[{type:i.HostBinding,args:["class.nostyle"]}],select2above:[{type:i.HostBinding,args:["class.select2-above"]}],selection:[{type:i.ViewChild,args:["selection"]}],resultContainer:[{type:i.ViewChild,args:["results"]}],results:[{type:i.ViewChildren,args:["result"]}],searchInput:[{type:i.ViewChild,args:["searchInput"]}]},e}(),u=function(){function e(){}return e.decorators=[{type:i.Directive,args:[{selector:"select2-hint"}]}],e}(),d=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:[u,d,c],exports:[n.FormsModule,n.ReactiveFormsModule,u,d,c]}]}],e}();e.Select2=c,e.Select2Hint=u,e.Select2Label=d,e.timeout=200,e.unicodePatterns=s,e.Select2Utils=o,e.Select2Module=p,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=ng-select2-component.umd.min.js.map
# Changelog of ng-select2
## V7.1.7 (2020-10-19)
### Corrections
- Fix case with 0 in value
## V7.1.6 (2020-10-13)

@@ -4,0 +10,0 @@

@@ -399,8 +399,6 @@ /**

static isSelected(options, option, multiple) {
if (multiple) {
return options && (/** @type {?} */ (options)).some(op => op.value === option.value) ? 'true' : 'false';
}
else {
return options && option.value === (/** @type {?} */ (options)).value ? 'true' : 'false';
}
return multiple
? options && (/** @type {?} */ (options))
.some(op => op.value === option.value) ? 'true' : 'false'
: options && option.value === (/** @type {?} */ (options)).value ? 'true' : 'false';
}

@@ -422,2 +420,2 @@ /**

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi11dGlscy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXNlbGVjdDItY29tcG9uZW50LyIsInNvdXJjZXMiOlsibGliL3NlbGVjdDItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkJBLE1BQU0sQ0FBQyx1QkFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDO0FBRTNCLE1BQU0sQ0FBQyx1QkFBTSxlQUFlLEdBQStCO0lBQ3ZELEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsd0NBQXdDLEVBQUU7SUFDdkQsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUU7SUFDckIsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUU7SUFDekIsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUU7SUFDckIsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUU7SUFDckIsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUU7SUFDeEIsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUU7SUFDckIsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxjQUFjLEVBQUU7SUFDN0IsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxrQkFBa0IsRUFBRTtJQUNqQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLG1CQUFtQixFQUFFO0lBQ2xDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFO0lBQ3hCLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsb0NBQW9DLEVBQUU7SUFDbkQsRUFBRSxDQUFDLEVB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QUFDO1NBQzNHO2FBQU07WUFDSCxPQUFPLE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxLQUFLLG1CQUFDLE9BQXdCLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1NBQzFGO0tBQ0o7Ozs7OztJQUVELE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBK0MsRUFBRSxNQUFxQjtRQUN6RixLQUFLLHFCQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLG1CQUFDLE9BQTBCLEVBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDMUQsSUFBSSxtQkFBQyxPQUEwQixFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLE1BQU0sQ0FBQyxLQUFLLEVBQUU7Z0JBQ3hELG1CQUFDLE9BQTBCLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMxQyxPQUFPO2FBQ1Y7U0FDSjtLQUNKO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3QyIH0gZnJvbSAnLi9zZWxlY3QyLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdDJHcm91cCB7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgb3B0aW9uczogU2VsZWN0Mk9wdGlvbltdO1xyXG4gICAgY2xhc3Nlcz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3QyT3B0aW9uIHtcclxuICAgIHZhbHVlOiBTZWxlY3QyVmFsdWU7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gICAgY29tcG9uZW50Pzogc3RyaW5nIHwgRnVuY3Rpb247XHJcbiAgICBpZD86IHN0cmluZztcclxuICAgIGNsYXNzZXM/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFNlbGVjdDJWYWx1ZSA9IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW47XHJcblxyXG5leHBvcnQgdHlwZSBTZWxlY3QyVXBkYXRlVmFsdWUgPSBTZWxlY3QyVmFsdWUgfCBTZWxlY3QyVmFsdWVbXTtcclxuXHJcbmV4cG9ydCB0eXBlIFNlbGVjdDJEYXRhID0gKFNlbGVjdDJHcm91cCB8IFNlbGVjdDJPcHRpb24pW107XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdDJVcGRhdGVFdmVudDxVIGV4dGVuZHMgU2VsZWN0MlVwZGF0ZVZhbHVlPiB7XHJcbiAgICBjb21wb25lbnQ6IFNlbGVjdDI7XHJcbiAgICB2YWx1ZTogVTtcclxuICAgIG9wdGlvbnM6IFNlbGVjdDJPcHRpb25bXTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IHRpbWVvdXQgPSAyMDA7XHJcblxyXG5leHBvcnQgY29uc3QgdW5pY29kZVBhdHRlcm5zOiB7IGw6IHN0cmluZywgczogUmVnRXhwIH1bXSA9IFtcclxuICAgIHsgbDogJ2EnLCBzOiAvW+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+G6lca2yKXJgOKxrOqdo10vZ2kgfVxyXG5dO1xyXG5cclxuY29uc3QgZGVmYXVsdE1pbkNvdW50Rm9yU2VhcmNoID0gNjtcclxuXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3QyVXRpbHMge1xyXG5cclxuICAgIHN0YXRpYyBnZXRPcHRpb25CeVZhbHVlKGRhdGE6IFNlbGVjdDJEYXRhLCB2YWx1ZTogU2VsZWN0MlZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBkYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbikudmFsdWUgPT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0T3B0aW9uc0J5VmFsdWUoXHJcbiAgICAgICAgZGF0YTogU2VsZWN0MkRhdGEsXHJcbiAgICAgICAgdmFsdWU6IFNlbGVjdDJVcGRhdGVWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQsXHJcbiAgICAgICAgbXVsdGlwbGU6IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkXHJcbiAgICApIHtcclxuICAgICAgICBpZiAobXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsdWVzOiBTZWxlY3QyVmFsdWVbXSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbXTtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBTZWxlY3QyT3B0aW9uW10gPSBbXTtcclxuICAgICAgICAgICAgZm9yIChjb25zdCB2IG9mIHZhbHVlcykge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gU2VsZWN0MlV0aWxzLmdldE9wdGlvbkJ5VmFsdWUoZGF0YSwgdik7XHJcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2gob3B0aW9uKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gU2VsZWN0MlV0aWxzLmdldE9wdGlvbkJ5VmFsdWUoZGF0YSwgdmFsdWUgYXMgU2VsZWN0MlZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldEZpcnN0QXZhaWxhYmxlT3B0aW9uKGRhdGE6IFNlbGVjdDJEYXRhKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGRhdGEpIHtcclxuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbjtcclxuICAgICAgICAgICAgICAgIGlmICghb3B0aW9uLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi52YWx1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBnZXRPcHRpb25zQ291bnQoZGF0YTogU2VsZWN0MkRhdGEpIHtcclxuICAgICAgICBsZXQgY291bnQgPSAwO1xyXG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBkYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBjb3VudCArPSBvcHRpb25zLmxlbmd0aDtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvdW50Kys7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGNvdW50O1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyB2YWx1ZUlzTm90SW5GaWx0ZXJlZERhdGEoZmlsdGVyZWREYXRhOiBTZWxlY3QyRGF0YSwgdmFsdWU6IFNlbGVjdDJWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQpIHtcclxuICAgICAgICBpZiAoU2VsZWN0MlV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGZpbHRlcmVkRGF0YSkge1xyXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBvcHRpb24gb2Ygb3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb24udmFsdWUgPT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbikudmFsdWUgPT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb2duaXRpdmUtY29tcGxleGl0eVxyXG4gICAgc3RhdGljIGdldFByZXZpb3VzT3B0aW9uKGZpbHRlcmVkRGF0YTogU2VsZWN0MkRhdGEsIGhvdmVyaW5nVmFsdWU6IFNlbGVjdDJWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQpIHtcclxuICAgICAgICBsZXQgZmluZEl0ID0gU2VsZWN0MlV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGhvdmVyaW5nVmFsdWUpO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSBmaWx0ZXJlZERhdGEubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcclxuICAgICAgICAgICAgY29uc3QgZ3JvdXBPck9wdGlvbiA9IGZpbHRlcmVkRGF0YVtpXTtcclxuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGogPSBvcHRpb25zLmxlbmd0aCAtIDE7IGogPj0gMDsgai0tKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc1tqXTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZmluZEl0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9uLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghZmluZEl0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbmRJdCA9IG9wdGlvbi52YWx1ZSA9PT0gaG92ZXJpbmdWYWx1ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJPcHRpb247XHJcbiAgICAgICAgICAgICAgICBpZiAoZmluZEl0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoIWZpbmRJdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbmRJdCA9IG9wdGlvbi52YWx1ZSA9PT0gaG92ZXJpbmdWYWx1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb2duaXRpdmUtY29tcGxleGl0eVxyXG4gICAgc3RhdGljIGdldE5leHRPcHRpb24oZmlsdGVyZWREYXRhOiBTZWxlY3QyRGF0YSwgaG92ZXJpbmdWYWx1ZTogU2VsZWN0MlZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGxldCBmaW5kSXQgPSBTZWxlY3QyVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoaG92ZXJpbmdWYWx1ZSk7XHJcbiAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGZpbHRlcmVkRGF0YSkge1xyXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBvcHRpb24gb2Ygb3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChmaW5kSXQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb247XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFmaW5kSXQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmluZEl0ID0gb3B0aW9uLnZhbHVlID09PSBob3ZlcmluZ1ZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbjtcclxuICAgICAgICAgICAgICAgIGlmIChmaW5kSXQpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWZpbmRJdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbmRJdCA9IG9wdGlvbi52YWx1ZSA9PT0gaG92ZXJpbmdWYWx1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBpc051bGxPclVuZGVmaW5lZCh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgY29udGFpblNlYXJjaFRleHQoXHJcbiAgICAgICAgbGFiZWw6IHN0cmluZyxcclxuICAgICAgICBzZWFyY2hUZXh0OiBzdHJpbmcgfCBudWxsLFxyXG4gICAgICAgIGVkaXRQYXR0ZXJuOiAoKHN0cjogc3RyaW5nKSA9PiBzdHJpbmcpIHwgdW5kZWZpbmVkXHJcbiAgICApOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gc2VhcmNoVGV4dFxyXG4gICAgICAgICAgICA/IFNlbGVjdDJVdGlsc1xyXG4gICAgICAgICAgICAgICAgLmZvcm1hdFNhbnNVbmljb2RlKGxhYmVsKVxyXG4gICAgICAgICAgICAgICAgLm1hdGNoKG5ldyBSZWdFeHAoU2VsZWN0MlV0aWxzLmZvcm1hdFBhdHRlcm4oc2VhcmNoVGV4dCwgZWRpdFBhdHRlcm4pLCAnaScpKSAhPT0gbnVsbFxyXG4gICAgICAgICAgICA6IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgcHJvdGVjdFBhdHRlcm4oc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBzdHIucmVwbGFjZShuZXcgUmVnRXhwKCdbXFxcXC1cXFxcW1xcXFxdXFxcXC9cXFxce1xcXFx9XFxcXChcXFxcKVxcXFwqXFxcXCtcXFxcP1xcXFwuXFxcXFxcXFxcXFxcXlxcXFwkXFxcXHxdJywgJ2cnKSwgJ1xcXFwkJicpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGZvcm1hdFNhbnNVbmljb2RlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBmb3IgKGNvbnN0IHVuaWNvZGVQYXR0ZXJuIG9mIHVuaWNvZGVQYXR0ZXJucykge1xyXG4gICAgICAgICAgICBzdHIgPSBzdHIucmVwbGFjZSh1bmljb2RlUGF0dGVybi5zLCB1bmljb2RlUGF0dGVybi5sKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHN0cjtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBmb3JtYXRQYXR0ZXJuKHN0cjogc3RyaW5nLCBlZGl0UGF0dGVybjogKChzdHI6IHN0cmluZykgPT4gc3RyaW5nKSB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICAgICAgc3RyID0gU2VsZWN0MlV0aWxzLmZvcm1hdFNhbnNVbmljb2RlKFNlbGVjdDJVdGlscy5wcm90ZWN0UGF0dGVybihzdHIpKTtcclxuXHJcbiAgICAgICAgaWYgKGVkaXRQYXR0ZXJuICYmIHR5cGVvZiBlZGl0UGF0dGVybiA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICBzdHIgPSBlZGl0UGF0dGVybihzdHIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc3RyO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRGaWx0ZXJlZERhdGEoZGF0YTogU2VsZWN0MkRhdGEsIHNlYXJjaFRleHQ6IHN0cmluZyB8IG51bGwsIGVkaXRQYXR0ZXJuPzogKHN0cjogc3RyaW5nKSA9PiBzdHJpbmcpOiBTZWxlY3QyRGF0YSB7XHJcbiAgICAgICAgaWYgKHNlYXJjaFRleHQpIHtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBTZWxlY3QyRGF0YSA9IFtdO1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZGF0YSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuc29tZShncm91cCA9PiBTZWxlY3QyVXRpbHMuY29udGFpblNlYXJjaFRleHQoZ3JvdXAubGFiZWwsIHNlYXJjaFRleHQsIGVkaXRQYXR0ZXJuKSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyZWRPcHRpb25zID0gb3B0aW9ucy5maWx0ZXIoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cCA9PiBTZWxlY3QyVXRpbHMuY29udGFpblNlYXJjaFRleHQoZ3JvdXAubGFiZWwsIHNlYXJjaFRleHQsIGVkaXRQYXR0ZXJuKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogZ3JvdXBPck9wdGlvbi5sYWJlbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IGZpbHRlcmVkT3B0aW9uc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKFNlbGVjdDJVdGlscy5jb250YWluU2VhcmNoVGV4dChncm91cE9yT3B0aW9uLmxhYmVsLCBzZWFyY2hUZXh0LCBlZGl0UGF0dGVybikpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChncm91cE9yT3B0aW9uKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0RmlsdGVyZWRTZWxlY3RlZERhdGEoZGF0YTogU2VsZWN0MkRhdGEsIHNlbGVjdGVkT3B0aW9uczogU2VsZWN0Mk9wdGlvbiB8IFNlbGVjdDJPcHRpb25bXSB8IG51bGwpOiBTZWxlY3QyRGF0YSB7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0OiBTZWxlY3QyRGF0YSA9IFtdO1xyXG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBkYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJlZE9wdGlvbnMgPSBvcHRpb25zLmZpbHRlcihcclxuICAgICAgICAgICAgICAgICAgICBncm91cCA9PiBTZWxlY3QyVXRpbHMuaXNTZWxlY3RlZChzZWxlY3RlZE9wdGlvbnMsIGdyb3VwLCB0cnVlKSA9PT0gJ2ZhbHNlJ1xyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIGlmIChmaWx0ZXJlZE9wdGlvbnMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogZ3JvdXBPck9wdGlvbi5sYWJlbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogZmlsdGVyZWRPcHRpb25zXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoU2VsZWN0MlV0aWxzLmlzU2VsZWN0ZWQoc2VsZWN0ZWRPcHRpb25zLCBncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJPcHRpb24sIHRydWUpID09PSAnZmFsc2UnKSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChncm91cE9yT3B0aW9uKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBpc1NlYXJjaGJveEhpZGRleChkYXRhOiBTZWxlY3QyRGF0YSwgbWluQ291bnRGb3JTZWFyY2g/OiBudW1iZXIgfCBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAobWluQ291bnRGb3JTZWFyY2ggPT09ICcnIHx8IG1pbkNvdW50Rm9yU2VhcmNoID09PSB1bmRlZmluZWQgfHwgbWluQ291bnRGb3JTZWFyY2ggPT09IG51bGwgfHwgaXNOYU4oK21pbkNvdW50Rm9yU2VhcmNoKSkge1xyXG4gICAgICAgICAgICBtaW5Db3VudEZvclNlYXJjaCA9IGRlZmF1bHRNaW5Db3VudEZvclNlYXJjaDtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3Qgb3B0aW9uQ291bnQgPSBTZWxlY3QyVXRpbHMuZ2V0T3B0aW9uc0NvdW50KGRhdGEpO1xyXG4gICAgICAgIHJldHVybiBvcHRpb25Db3VudCA8ICttaW5Db3VudEZvclNlYXJjaDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgaXNTZWxlY3RlZChcclxuICAgICAgICBvcHRpb25zOiBTZWxlY3QyT3B0aW9uIHwgU2VsZWN0Mk9wdGlvbltdIHwgbnVsbCxcclxuICAgICAgICBvcHRpb246IFNlbGVjdDJPcHRpb24sXHJcbiAgICAgICAgbXVsdGlwbGU6IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkXHJcbiAgICApIHtcclxuICAgICAgICBpZiAobXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9wdGlvbnMgJiYgKG9wdGlvbnMgYXMgU2VsZWN0Mk9wdGlvbltdKS5zb21lKG9wID0+IG9wLnZhbHVlID09PSBvcHRpb24udmFsdWUpID8gJ3RydWUnIDogJ2ZhbHNlJztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gb3B0aW9ucyAmJiBvcHRpb24udmFsdWUgPT09IChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb24pLnZhbHVlID8gJ3RydWUnIDogJ2ZhbHNlJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHJlbW92ZVNlbGVjdGlvbihvcHRpb25zOiBTZWxlY3QyT3B0aW9uIHwgU2VsZWN0Mk9wdGlvbltdIHwgbnVsbCwgb3B0aW9uOiBTZWxlY3QyT3B0aW9uKSB7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAob3B0aW9ucyBhcyBTZWxlY3QyT3B0aW9uW10pLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmICgob3B0aW9ucyBhcyBTZWxlY3QyT3B0aW9uW10pW2ldLnZhbHVlID09PSBvcHRpb24udmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb25bXSkuc3BsaWNlKGksIDEpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi11dGlscy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXNlbGVjdDItY29tcG9uZW50LyIsInNvdXJjZXMiOlsibGliL3NlbGVjdDItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkJBLE1BQU0sQ0FBQyx1QkFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDO0FBRTNCLE1BQU0sQ0FBQyx1QkFBTSxlQUFlLEdBQStCO0lBQ3ZELEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsd0NBQXdDLEVBQUU7SUFDdkQsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUU7SUFDckIsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUU7SUFDekIsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUU7SUFDckIsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUU7SUFDckIsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUU7SUFDeEIsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUU7SUFDckIsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxjQUFjLEVBQUU7SUFDN0IsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxrQkFBa0IsRUFBRTtJQUNqQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLG1CQUFtQixFQUFFO0lBQ2xDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFO0lBQ3hCLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsb0NBQW9DLEVBQUU7SUFDbkQsRUFBRSxDQUFDLEVB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O1lBQzdELENBQUMsQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssS0FBSyxtQkFBQyxPQUF3QixFQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztLQUN6Rjs7Ozs7O0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUErQyxFQUFFLE1BQXFCO1FBQ3pGLEtBQUsscUJBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsbUJBQUMsT0FBMEIsRUFBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxRCxJQUFJLG1CQUFDLE9BQTBCLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRTtnQkFDeEQsbUJBQUMsT0FBMEIsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzFDLE9BQU87YUFDVjtTQUNKO0tBQ0o7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdDIgfSBmcm9tICcuL3NlbGVjdDIuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0Mkdyb3VwIHtcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBvcHRpb25zOiBTZWxlY3QyT3B0aW9uW107XHJcbiAgICBjbGFzc2VzPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdDJPcHRpb24ge1xyXG4gICAgdmFsdWU6IFNlbGVjdDJWYWx1ZTtcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgICBjb21wb25lbnQ/OiBzdHJpbmcgfCBGdW5jdGlvbjtcclxuICAgIGlkPzogc3RyaW5nO1xyXG4gICAgY2xhc3Nlcz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgU2VsZWN0MlZhbHVlID0gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbjtcclxuXHJcbmV4cG9ydCB0eXBlIFNlbGVjdDJVcGRhdGVWYWx1ZSA9IFNlbGVjdDJWYWx1ZSB8IFNlbGVjdDJWYWx1ZVtdO1xyXG5cclxuZXhwb3J0IHR5cGUgU2VsZWN0MkRhdGEgPSAoU2VsZWN0Mkdyb3VwIHwgU2VsZWN0Mk9wdGlvbilbXTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0MlVwZGF0ZUV2ZW50PFUgZXh0ZW5kcyBTZWxlY3QyVXBkYXRlVmFsdWUgPSBTZWxlY3QyVmFsdWU+IHtcclxuICAgIGNvbXBvbmVudDogU2VsZWN0MjtcclxuICAgIHZhbHVlOiBVO1xyXG4gICAgb3B0aW9uczogU2VsZWN0Mk9wdGlvbltdO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgdGltZW91dCA9IDIwMDtcclxuXHJcbmV4cG9ydCBjb25zdCB1bmljb2RlUGF0dGVybnM6IHsgbDogc3RyaW5nLCBzOiBSZWdFeHAgfVtdID0gW1xyXG4gICAgeyBsOiAnYScsIHM6IC9b4pOQ772B4bqaw6DDocOi4bqn4bql4bqr4bqpw6PEgcSD4bqx4bqv4bq14bqzyKfHocOkx5/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+4bqT4bqVxrbIpcmA4rGs6p2jXS9naSB9XHJcbl07XHJcblxyXG5jb25zdCBkZWZhdWx0TWluQ291bnRGb3JTZWFyY2ggPSA2O1xyXG5cclxuZXhwb3J0IGNsYXNzIFNlbGVjdDJVdGlscyB7XHJcblxyXG4gICAgc3RhdGljIGdldE9wdGlvbkJ5VmFsdWUoZGF0YTogU2VsZWN0MkRhdGEsIHZhbHVlOiBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGRhdGEpIHtcclxuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9uLnZhbHVlID09PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGlmICgoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uKS52YWx1ZSA9PT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRPcHRpb25zQnlWYWx1ZShcclxuICAgICAgICBkYXRhOiBTZWxlY3QyRGF0YSxcclxuICAgICAgICB2YWx1ZTogU2VsZWN0MlVwZGF0ZVZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCxcclxuICAgICAgICBtdWx0aXBsZTogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWRcclxuICAgICkge1xyXG4gICAgICAgIGlmIChtdWx0aXBsZSkge1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZXM6IFNlbGVjdDJWYWx1ZVtdID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFtdO1xyXG4gICAgICAgICAgICBjb25zdCByZXN1bHQ6IFNlbGVjdDJPcHRpb25bXSA9IFtdO1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHYgb2YgdmFsdWVzKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBTZWxlY3QyVXRpbHMuZ2V0T3B0aW9uQnlWYWx1ZShkYXRhLCB2KTtcclxuICAgICAgICAgICAgICAgIGlmIChvcHRpb24pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChvcHRpb24pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBTZWxlY3QyVXRpbHMuZ2V0T3B0aW9uQnlWYWx1ZShkYXRhLCB2YWx1ZSBhcyBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0Rmlyc3RBdmFpbGFibGVPcHRpb24oZGF0YTogU2VsZWN0MkRhdGEpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZGF0YSkge1xyXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBvcHRpb24gb2Ygb3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9uLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb24udmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGdldE9wdGlvbnNDb3VudChkYXRhOiBTZWxlY3QyRGF0YSkge1xyXG4gICAgICAgIGxldCBjb3VudCA9IDA7XHJcbiAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGRhdGEpIHtcclxuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGNvdW50ICs9IG9wdGlvbnMubGVuZ3RoO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY291bnQrKztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gY291bnQ7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHZhbHVlSXNOb3RJbkZpbHRlcmVkRGF0YShmaWx0ZXJlZERhdGE6IFNlbGVjdDJEYXRhLCB2YWx1ZTogU2VsZWN0MlZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGlmIChTZWxlY3QyVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQodmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZmlsdGVyZWREYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGlmICgoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uKS52YWx1ZSA9PT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvZ25pdGl2ZS1jb21wbGV4aXR5XHJcbiAgICBzdGF0aWMgZ2V0UHJldmlvdXNPcHRpb24oZmlsdGVyZWREYXRhOiBTZWxlY3QyRGF0YSwgaG92ZXJpbmdWYWx1ZTogU2VsZWN0MlZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGxldCBmaW5kSXQgPSBTZWxlY3QyVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoaG92ZXJpbmdWYWx1ZSk7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IGZpbHRlcmVkRGF0YS5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xyXG4gICAgICAgICAgICBjb25zdCBncm91cE9yT3B0aW9uID0gZmlsdGVyZWREYXRhW2ldO1xyXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IG9wdGlvbnMubGVuZ3RoIC0gMTsgaiA+PSAwOyBqLS0pIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBvcHRpb25zW2pdO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChmaW5kSXQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb247XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFmaW5kSXQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmluZEl0ID0gb3B0aW9uLnZhbHVlID09PSBob3ZlcmluZ1ZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbjtcclxuICAgICAgICAgICAgICAgIGlmIChmaW5kSXQpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICghZmluZEl0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmluZEl0ID0gb3B0aW9uLnZhbHVlID09PSBob3ZlcmluZ1ZhbHVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvZ25pdGl2ZS1jb21wbGV4aXR5XHJcbiAgICBzdGF0aWMgZ2V0TmV4dE9wdGlvbihmaWx0ZXJlZERhdGE6IFNlbGVjdDJEYXRhLCBob3ZlcmluZ1ZhbHVlOiBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgbGV0IGZpbmRJdCA9IFNlbGVjdDJVdGlscy5pc051bGxPclVuZGVmaW5lZChob3ZlcmluZ1ZhbHVlKTtcclxuICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZmlsdGVyZWREYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpbmRJdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWZpbmRJdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaW5kSXQgPSBvcHRpb24udmFsdWUgPT09IGhvdmVyaW5nVmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgaWYgKGZpbmRJdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9uLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb247XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICghZmluZEl0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmluZEl0ID0gb3B0aW9uLnZhbHVlID09PSBob3ZlcmluZ1ZhbHVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlOiBhbnkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBjb250YWluU2VhcmNoVGV4dChcclxuICAgICAgICBsYWJlbDogc3RyaW5nLFxyXG4gICAgICAgIHNlYXJjaFRleHQ6IHN0cmluZyB8IG51bGwsXHJcbiAgICAgICAgZWRpdFBhdHRlcm46ICgoc3RyOiBzdHJpbmcpID0+IHN0cmluZykgfCB1bmRlZmluZWRcclxuICAgICk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBzZWFyY2hUZXh0XHJcbiAgICAgICAgICAgID8gU2VsZWN0MlV0aWxzXHJcbiAgICAgICAgICAgICAgICAuZm9ybWF0U2Fuc1VuaWNvZGUobGFiZWwpXHJcbiAgICAgICAgICAgICAgICAubWF0Y2gobmV3IFJlZ0V4cChTZWxlY3QyVXRpbHMuZm9ybWF0UGF0dGVybihzZWFyY2hUZXh0LCBlZGl0UGF0dGVybiksICdpJykpICE9PSBudWxsXHJcbiAgICAgICAgICAgIDogdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBwcm90ZWN0UGF0dGVybihzdHI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKG5ldyBSZWdFeHAoJ1tcXFxcLVxcXFxbXFxcXF1cXFxcL1xcXFx7XFxcXH1cXFxcKFxcXFwpXFxcXCpcXFxcK1xcXFw/XFxcXC5cXFxcXFxcXFxcXFxeXFxcXCRcXFxcfF0nLCAnZycpLCAnXFxcXCQmJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgZm9ybWF0U2Fuc1VuaWNvZGUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGZvciAoY29uc3QgdW5pY29kZVBhdHRlcm4gb2YgdW5pY29kZVBhdHRlcm5zKSB7XHJcbiAgICAgICAgICAgIHN0ciA9IHN0ci5yZXBsYWNlKHVuaWNvZGVQYXR0ZXJuLnMsIHVuaWNvZGVQYXR0ZXJuLmwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc3RyO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGZvcm1hdFBhdHRlcm4oc3RyOiBzdHJpbmcsIGVkaXRQYXR0ZXJuOiAoKHN0cjogc3RyaW5nKSA9PiBzdHJpbmcpIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcclxuICAgICAgICBzdHIgPSBTZWxlY3QyVXRpbHMuZm9ybWF0U2Fuc1VuaWNvZGUoU2VsZWN0MlV0aWxzLnByb3RlY3RQYXR0ZXJuKHN0cikpO1xyXG5cclxuICAgICAgICBpZiAoZWRpdFBhdHRlcm4gJiYgdHlwZW9mIGVkaXRQYXR0ZXJuID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIHN0ciA9IGVkaXRQYXR0ZXJuKHN0cik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBzdHI7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldEZpbHRlcmVkRGF0YShkYXRhOiBTZWxlY3QyRGF0YSwgc2VhcmNoVGV4dDogc3RyaW5nIHwgbnVsbCwgZWRpdFBhdHRlcm4/OiAoc3RyOiBzdHJpbmcpID0+IHN0cmluZyk6IFNlbGVjdDJEYXRhIHtcclxuICAgICAgICBpZiAoc2VhcmNoVGV4dCkge1xyXG4gICAgICAgICAgICBjb25zdCByZXN1bHQ6IFNlbGVjdDJEYXRhID0gW107XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5zb21lKGdyb3VwID0+IFNlbGVjdDJVdGlscy5jb250YWluU2VhcmNoVGV4dChncm91cC5sYWJlbCwgc2VhcmNoVGV4dCwgZWRpdFBhdHRlcm4pKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJlZE9wdGlvbnMgPSBvcHRpb25zLmZpbHRlcihcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwID0+IFNlbGVjdDJVdGlscy5jb250YWluU2VhcmNoVGV4dChncm91cC5sYWJlbCwgc2VhcmNoVGV4dCwgZWRpdFBhdHRlcm4pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBncm91cE9yT3B0aW9uLmxhYmVsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogZmlsdGVyZWRPcHRpb25zXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoU2VsZWN0MlV0aWxzLmNvbnRhaW5TZWFyY2hUZXh0KGdyb3VwT3JPcHRpb24ubGFiZWwsIHNlYXJjaFRleHQsIGVkaXRQYXR0ZXJuKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGdyb3VwT3JPcHRpb24pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRGaWx0ZXJlZFNlbGVjdGVkRGF0YShkYXRhOiBTZWxlY3QyRGF0YSwgc2VsZWN0ZWRPcHRpb25zOiBTZWxlY3QyT3B0aW9uIHwgU2VsZWN0Mk9wdGlvbltdIHwgbnVsbCk6IFNlbGVjdDJEYXRhIHtcclxuICAgICAgICBjb25zdCByZXN1bHQ6IFNlbGVjdDJEYXRhID0gW107XHJcbiAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGRhdGEpIHtcclxuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkT3B0aW9ucyA9IG9wdGlvbnMuZmlsdGVyKFxyXG4gICAgICAgICAgICAgICAgICAgIGdyb3VwID0+IFNlbGVjdDJVdGlscy5pc1NlbGVjdGVkKHNlbGVjdGVkT3B0aW9ucywgZ3JvdXAsIHRydWUpID09PSAnZmFsc2UnXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlcmVkT3B0aW9ucy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBncm91cE9yT3B0aW9uLmxhYmVsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiBmaWx0ZXJlZE9wdGlvbnNcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIGlmIChTZWxlY3QyVXRpbHMuaXNTZWxlY3RlZChzZWxlY3RlZE9wdGlvbnMsIGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbiwgdHJ1ZSkgPT09ICdmYWxzZScpIHtcclxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGdyb3VwT3JPcHRpb24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGlzU2VhcmNoYm94SGlkZGV4KGRhdGE6IFNlbGVjdDJEYXRhLCBtaW5Db3VudEZvclNlYXJjaD86IG51bWJlciB8IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmIChtaW5Db3VudEZvclNlYXJjaCA9PT0gJycgfHwgbWluQ291bnRGb3JTZWFyY2ggPT09IHVuZGVmaW5lZCB8fCBtaW5Db3VudEZvclNlYXJjaCA9PT0gbnVsbCB8fCBpc05hTigrbWluQ291bnRGb3JTZWFyY2gpKSB7XHJcbiAgICAgICAgICAgIG1pbkNvdW50Rm9yU2VhcmNoID0gZGVmYXVsdE1pbkNvdW50Rm9yU2VhcmNoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBvcHRpb25Db3VudCA9IFNlbGVjdDJVdGlscy5nZXRPcHRpb25zQ291bnQoZGF0YSk7XHJcbiAgICAgICAgcmV0dXJuIG9wdGlvbkNvdW50IDwgK21pbkNvdW50Rm9yU2VhcmNoO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBpc1NlbGVjdGVkKFxyXG4gICAgICAgIG9wdGlvbnM6IFNlbGVjdDJPcHRpb24gfCBTZWxlY3QyT3B0aW9uW10gfCBudWxsLFxyXG4gICAgICAgIG9wdGlvbjogU2VsZWN0Mk9wdGlvbixcclxuICAgICAgICBtdWx0aXBsZTogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWRcclxuICAgICkge1xyXG4gICAgICAgIHJldHVybiBtdWx0aXBsZVxyXG4gICAgICAgICAgICA/IG9wdGlvbnMgJiYgKG9wdGlvbnMgYXMgU2VsZWN0Mk9wdGlvbltdKVxyXG4gICAgICAgICAgICAgICAgLnNvbWUob3AgPT4gb3AudmFsdWUgPT09IG9wdGlvbi52YWx1ZSkgPyAndHJ1ZScgOiAnZmFsc2UnXHJcbiAgICAgICAgICAgIDogb3B0aW9ucyAmJiBvcHRpb24udmFsdWUgPT09IChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb24pLnZhbHVlID8gJ3RydWUnIDogJ2ZhbHNlJztcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgcmVtb3ZlU2VsZWN0aW9uKG9wdGlvbnM6IFNlbGVjdDJPcHRpb24gfCBTZWxlY3QyT3B0aW9uW10gfCBudWxsLCBvcHRpb246IFNlbGVjdDJPcHRpb24pIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb25bXSkubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb25bXSlbaV0udmFsdWUgPT09IG9wdGlvbi52YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgKG9wdGlvbnMgYXMgU2VsZWN0Mk9wdGlvbltdKS5zcGxpY2UoaSwgMSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19

@@ -622,8 +622,6 @@ /**

function (options, option, multiple) {
if (multiple) {
return options && (/** @type {?} */ (options)).some(function (op) { return op.value === option.value; }) ? 'true' : 'false';
}
else {
return options && option.value === (/** @type {?} */ (options)).value ? 'true' : 'false';
}
return multiple
? options && (/** @type {?} */ (options))
.some(function (op) { return op.value === option.value; }) ? 'true' : 'false'
: options && option.value === (/** @type {?} */ (options)).value ? 'true' : 'false';
};

@@ -652,2 +650,2 @@ /**

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi11dGlscy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXNlbGVjdDItY29tcG9uZW50LyIsInNvdXJjZXMiOlsibGliL3NlbGVjdDItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTZCQSxNQUFNLENBQUMscUJBQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQztBQUUzQixNQUFNLENBQUMscUJBQU0sZUFBZSxHQUErQjtJQUN2RCxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLHdDQUF3QyxFQUFFO0lBQ3ZELEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0lBQ3JCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFO0lBQ3pCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0lBQ3JCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0lBQ3JCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFO0lBQ3hCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0lBQ3JCLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsY0FBYyxFQUFFO0lBQzdCLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsa0JBQWtCLEVBQUU7SUFDakMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxtQkFBbUIsRUFBRTtJQUNsQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRTtJQUN4QixFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLG9DQUFvQyxFQUFFO0lBQ25ELEVBQUUsQ0FBQyxF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QyxPQUEwQixFQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzFELElBQUksbUJBQUMsT0FBMEIsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxNQUFNLENBQUMsS0FBSyxFQUFFO2dCQUN4RCxtQkFBQyxPQUEwQixFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDMUMsT0FBTzthQUNWO1NBQ0o7S0FDSjt1QkFwVkw7SUFxVkMsQ0FBQTtBQXZRRCx3QkF1UUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3QyIH0gZnJvbSAnLi9zZWxlY3QyLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdDJHcm91cCB7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgb3B0aW9uczogU2VsZWN0Mk9wdGlvbltdO1xyXG4gICAgY2xhc3Nlcz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3QyT3B0aW9uIHtcclxuICAgIHZhbHVlOiBTZWxlY3QyVmFsdWU7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gICAgY29tcG9uZW50Pzogc3RyaW5nIHwgRnVuY3Rpb247XHJcbiAgICBpZD86IHN0cmluZztcclxuICAgIGNsYXNzZXM/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFNlbGVjdDJWYWx1ZSA9IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW47XHJcblxyXG5leHBvcnQgdHlwZSBTZWxlY3QyVXBkYXRlVmFsdWUgPSBTZWxlY3QyVmFsdWUgfCBTZWxlY3QyVmFsdWVbXTtcclxuXHJcbmV4cG9ydCB0eXBlIFNlbGVjdDJEYXRhID0gKFNlbGVjdDJHcm91cCB8IFNlbGVjdDJPcHRpb24pW107XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdDJVcGRhdGVFdmVudDxVIGV4dGVuZHMgU2VsZWN0MlVwZGF0ZVZhbHVlPiB7XHJcbiAgICBjb21wb25lbnQ6IFNlbGVjdDI7XHJcbiAgICB2YWx1ZTogVTtcclxuICAgIG9wdGlvbnM6IFNlbGVjdDJPcHRpb25bXTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IHRpbWVvdXQgPSAyMDA7XHJcblxyXG5leHBvcnQgY29uc3QgdW5pY29kZVBhdHRlcm5zOiB7IGw6IHN0cmluZywgczogUmVnRXhwIH1bXSA9IFtcclxuICAgIHsgbDogJ2EnLCBzOiAvW+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+G6lca2yKXJgOKxrOqdo10vZ2kgfVxyXG5dO1xyXG5cclxuY29uc3QgZGVmYXVsdE1pbkNvdW50Rm9yU2VhcmNoID0gNjtcclxuXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3QyVXRpbHMge1xyXG5cclxuICAgIHN0YXRpYyBnZXRPcHRpb25CeVZhbHVlKGRhdGE6IFNlbGVjdDJEYXRhLCB2YWx1ZTogU2VsZWN0MlZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBkYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbikudmFsdWUgPT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0T3B0aW9uc0J5VmFsdWUoXHJcbiAgICAgICAgZGF0YTogU2VsZWN0MkRhdGEsXHJcbiAgICAgICAgdmFsdWU6IFNlbGVjdDJVcGRhdGVWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQsXHJcbiAgICAgICAgbXVsdGlwbGU6IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkXHJcbiAgICApIHtcclxuICAgICAgICBpZiAobXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsdWVzOiBTZWxlY3QyVmFsdWVbXSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbXTtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBTZWxlY3QyT3B0aW9uW10gPSBbXTtcclxuICAgICAgICAgICAgZm9yIChjb25zdCB2IG9mIHZhbHVlcykge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gU2VsZWN0MlV0aWxzLmdldE9wdGlvbkJ5VmFsdWUoZGF0YSwgdik7XHJcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2gob3B0aW9uKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gU2VsZWN0MlV0aWxzLmdldE9wdGlvbkJ5VmFsdWUoZGF0YSwgdmFsdWUgYXMgU2VsZWN0MlZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldEZpcnN0QXZhaWxhYmxlT3B0aW9uKGRhdGE6IFNlbGVjdDJEYXRhKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGRhdGEpIHtcclxuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbjtcclxuICAgICAgICAgICAgICAgIGlmICghb3B0aW9uLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi52YWx1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBnZXRPcHRpb25zQ291bnQoZGF0YTogU2VsZWN0MkRhdGEpIHtcclxuICAgICAgICBsZXQgY291bnQgPSAwO1xyXG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBkYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBjb3VudCArPSBvcHRpb25zLmxlbmd0aDtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvdW50Kys7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGNvdW50O1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyB2YWx1ZUlzTm90SW5GaWx0ZXJlZERhdGEoZmlsdGVyZWREYXRhOiBTZWxlY3QyRGF0YSwgdmFsdWU6IFNlbGVjdDJWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQpIHtcclxuICAgICAgICBpZiAoU2VsZWN0MlV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGZpbHRlcmVkRGF0YSkge1xyXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBvcHRpb24gb2Ygb3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb24udmFsdWUgPT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbikudmFsdWUgPT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb2duaXRpdmUtY29tcGxleGl0eVxyXG4gICAgc3RhdGljIGdldFByZXZpb3VzT3B0aW9uKGZpbHRlcmVkRGF0YTogU2VsZWN0MkRhdGEsIGhvdmVyaW5nVmFsdWU6IFNlbGVjdDJWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQpIHtcclxuICAgICAgICBsZXQgZmluZEl0ID0gU2VsZWN0MlV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGhvdmVyaW5nVmFsdWUpO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSBmaWx0ZXJlZERhdGEubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcclxuICAgICAgICAgICAgY29uc3QgZ3JvdXBPck9wdGlvbiA9IGZpbHRlcmVkRGF0YVtpXTtcclxuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGogPSBvcHRpb25zLmxlbmd0aCAtIDE7IGogPj0gMDsgai0tKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc1tqXTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZmluZEl0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9uLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghZmluZEl0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbmRJdCA9IG9wdGlvbi52YWx1ZSA9PT0gaG92ZXJpbmdWYWx1ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJPcHRpb247XHJcbiAgICAgICAgICAgICAgICBpZiAoZmluZEl0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoIWZpbmRJdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbmRJdCA9IG9wdGlvbi52YWx1ZSA9PT0gaG92ZXJpbmdWYWx1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb2duaXRpdmUtY29tcGxleGl0eVxyXG4gICAgc3RhdGljIGdldE5leHRPcHRpb24oZmlsdGVyZWREYXRhOiBTZWxlY3QyRGF0YSwgaG92ZXJpbmdWYWx1ZTogU2VsZWN0MlZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGxldCBmaW5kSXQgPSBTZWxlY3QyVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoaG92ZXJpbmdWYWx1ZSk7XHJcbiAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGZpbHRlcmVkRGF0YSkge1xyXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBvcHRpb24gb2Ygb3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChmaW5kSXQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb247XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFmaW5kSXQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmluZEl0ID0gb3B0aW9uLnZhbHVlID09PSBob3ZlcmluZ1ZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbjtcclxuICAgICAgICAgICAgICAgIGlmIChmaW5kSXQpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWZpbmRJdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbmRJdCA9IG9wdGlvbi52YWx1ZSA9PT0gaG92ZXJpbmdWYWx1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBpc051bGxPclVuZGVmaW5lZCh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgY29udGFpblNlYXJjaFRleHQoXHJcbiAgICAgICAgbGFiZWw6IHN0cmluZyxcclxuICAgICAgICBzZWFyY2hUZXh0OiBzdHJpbmcgfCBudWxsLFxyXG4gICAgICAgIGVkaXRQYXR0ZXJuOiAoKHN0cjogc3RyaW5nKSA9PiBzdHJpbmcpIHwgdW5kZWZpbmVkXHJcbiAgICApOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gc2VhcmNoVGV4dFxyXG4gICAgICAgICAgICA/IFNlbGVjdDJVdGlsc1xyXG4gICAgICAgICAgICAgICAgLmZvcm1hdFNhbnNVbmljb2RlKGxhYmVsKVxyXG4gICAgICAgICAgICAgICAgLm1hdGNoKG5ldyBSZWdFeHAoU2VsZWN0MlV0aWxzLmZvcm1hdFBhdHRlcm4oc2VhcmNoVGV4dCwgZWRpdFBhdHRlcm4pLCAnaScpKSAhPT0gbnVsbFxyXG4gICAgICAgICAgICA6IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgcHJvdGVjdFBhdHRlcm4oc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBzdHIucmVwbGFjZShuZXcgUmVnRXhwKCdbXFxcXC1cXFxcW1xcXFxdXFxcXC9cXFxce1xcXFx9XFxcXChcXFxcKVxcXFwqXFxcXCtcXFxcP1xcXFwuXFxcXFxcXFxcXFxcXlxcXFwkXFxcXHxdJywgJ2cnKSwgJ1xcXFwkJicpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGZvcm1hdFNhbnNVbmljb2RlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBmb3IgKGNvbnN0IHVuaWNvZGVQYXR0ZXJuIG9mIHVuaWNvZGVQYXR0ZXJucykge1xyXG4gICAgICAgICAgICBzdHIgPSBzdHIucmVwbGFjZSh1bmljb2RlUGF0dGVybi5zLCB1bmljb2RlUGF0dGVybi5sKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHN0cjtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBmb3JtYXRQYXR0ZXJuKHN0cjogc3RyaW5nLCBlZGl0UGF0dGVybjogKChzdHI6IHN0cmluZykgPT4gc3RyaW5nKSB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICAgICAgc3RyID0gU2VsZWN0MlV0aWxzLmZvcm1hdFNhbnNVbmljb2RlKFNlbGVjdDJVdGlscy5wcm90ZWN0UGF0dGVybihzdHIpKTtcclxuXHJcbiAgICAgICAgaWYgKGVkaXRQYXR0ZXJuICYmIHR5cGVvZiBlZGl0UGF0dGVybiA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICBzdHIgPSBlZGl0UGF0dGVybihzdHIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc3RyO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRGaWx0ZXJlZERhdGEoZGF0YTogU2VsZWN0MkRhdGEsIHNlYXJjaFRleHQ6IHN0cmluZyB8IG51bGwsIGVkaXRQYXR0ZXJuPzogKHN0cjogc3RyaW5nKSA9PiBzdHJpbmcpOiBTZWxlY3QyRGF0YSB7XHJcbiAgICAgICAgaWYgKHNlYXJjaFRleHQpIHtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBTZWxlY3QyRGF0YSA9IFtdO1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZGF0YSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuc29tZShncm91cCA9PiBTZWxlY3QyVXRpbHMuY29udGFpblNlYXJjaFRleHQoZ3JvdXAubGFiZWwsIHNlYXJjaFRleHQsIGVkaXRQYXR0ZXJuKSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyZWRPcHRpb25zID0gb3B0aW9ucy5maWx0ZXIoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cCA9PiBTZWxlY3QyVXRpbHMuY29udGFpblNlYXJjaFRleHQoZ3JvdXAubGFiZWwsIHNlYXJjaFRleHQsIGVkaXRQYXR0ZXJuKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogZ3JvdXBPck9wdGlvbi5sYWJlbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IGZpbHRlcmVkT3B0aW9uc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKFNlbGVjdDJVdGlscy5jb250YWluU2VhcmNoVGV4dChncm91cE9yT3B0aW9uLmxhYmVsLCBzZWFyY2hUZXh0LCBlZGl0UGF0dGVybikpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChncm91cE9yT3B0aW9uKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0RmlsdGVyZWRTZWxlY3RlZERhdGEoZGF0YTogU2VsZWN0MkRhdGEsIHNlbGVjdGVkT3B0aW9uczogU2VsZWN0Mk9wdGlvbiB8IFNlbGVjdDJPcHRpb25bXSB8IG51bGwpOiBTZWxlY3QyRGF0YSB7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0OiBTZWxlY3QyRGF0YSA9IFtdO1xyXG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBkYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJlZE9wdGlvbnMgPSBvcHRpb25zLmZpbHRlcihcclxuICAgICAgICAgICAgICAgICAgICBncm91cCA9PiBTZWxlY3QyVXRpbHMuaXNTZWxlY3RlZChzZWxlY3RlZE9wdGlvbnMsIGdyb3VwLCB0cnVlKSA9PT0gJ2ZhbHNlJ1xyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIGlmIChmaWx0ZXJlZE9wdGlvbnMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogZ3JvdXBPck9wdGlvbi5sYWJlbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogZmlsdGVyZWRPcHRpb25zXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoU2VsZWN0MlV0aWxzLmlzU2VsZWN0ZWQoc2VsZWN0ZWRPcHRpb25zLCBncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJPcHRpb24sIHRydWUpID09PSAnZmFsc2UnKSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChncm91cE9yT3B0aW9uKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBpc1NlYXJjaGJveEhpZGRleChkYXRhOiBTZWxlY3QyRGF0YSwgbWluQ291bnRGb3JTZWFyY2g/OiBudW1iZXIgfCBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAobWluQ291bnRGb3JTZWFyY2ggPT09ICcnIHx8IG1pbkNvdW50Rm9yU2VhcmNoID09PSB1bmRlZmluZWQgfHwgbWluQ291bnRGb3JTZWFyY2ggPT09IG51bGwgfHwgaXNOYU4oK21pbkNvdW50Rm9yU2VhcmNoKSkge1xyXG4gICAgICAgICAgICBtaW5Db3VudEZvclNlYXJjaCA9IGRlZmF1bHRNaW5Db3VudEZvclNlYXJjaDtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3Qgb3B0aW9uQ291bnQgPSBTZWxlY3QyVXRpbHMuZ2V0T3B0aW9uc0NvdW50KGRhdGEpO1xyXG4gICAgICAgIHJldHVybiBvcHRpb25Db3VudCA8ICttaW5Db3VudEZvclNlYXJjaDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgaXNTZWxlY3RlZChcclxuICAgICAgICBvcHRpb25zOiBTZWxlY3QyT3B0aW9uIHwgU2VsZWN0Mk9wdGlvbltdIHwgbnVsbCxcclxuICAgICAgICBvcHRpb246IFNlbGVjdDJPcHRpb24sXHJcbiAgICAgICAgbXVsdGlwbGU6IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkXHJcbiAgICApIHtcclxuICAgICAgICBpZiAobXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9wdGlvbnMgJiYgKG9wdGlvbnMgYXMgU2VsZWN0Mk9wdGlvbltdKS5zb21lKG9wID0+IG9wLnZhbHVlID09PSBvcHRpb24udmFsdWUpID8gJ3RydWUnIDogJ2ZhbHNlJztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gb3B0aW9ucyAmJiBvcHRpb24udmFsdWUgPT09IChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb24pLnZhbHVlID8gJ3RydWUnIDogJ2ZhbHNlJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHJlbW92ZVNlbGVjdGlvbihvcHRpb25zOiBTZWxlY3QyT3B0aW9uIHwgU2VsZWN0Mk9wdGlvbltdIHwgbnVsbCwgb3B0aW9uOiBTZWxlY3QyT3B0aW9uKSB7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAob3B0aW9ucyBhcyBTZWxlY3QyT3B0aW9uW10pLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmICgob3B0aW9ucyBhcyBTZWxlY3QyT3B0aW9uW10pW2ldLnZhbHVlID09PSBvcHRpb24udmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb25bXSkuc3BsaWNlKGksIDEpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi11dGlscy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXNlbGVjdDItY29tcG9uZW50LyIsInNvdXJjZXMiOlsibGliL3NlbGVjdDItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTZCQSxNQUFNLENBQUMscUJBQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQztBQUUzQixNQUFNLENBQUMscUJBQU0sZUFBZSxHQUErQjtJQUN2RCxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLHdDQUF3QyxFQUFFO0lBQ3ZELEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0lBQ3JCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFO0lBQ3pCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0lBQ3JCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0lBQ3JCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFO0lBQ3hCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0lBQ3JCLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsY0FBYyxFQUFFO0lBQzdCLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsa0JBQWtCLEVBQUU7SUFDakMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxtQkFBbUIsRUFBRTtJQUNsQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRTtJQUN4QixFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLG9DQUFvQyxFQUFFO0lBQ25ELEVBQUUsQ0FBQyxF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Q0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDMUQsSUFBSSxtQkFBQyxPQUEwQixFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLE1BQU0sQ0FBQyxLQUFLLEVBQUU7Z0JBQ3hELG1CQUFDLE9BQTBCLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMxQyxPQUFPO2FBQ1Y7U0FDSjtLQUNKO3VCQW5WTDtJQW9WQyxDQUFBO0FBdFFELHdCQXNRQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdDIgfSBmcm9tICcuL3NlbGVjdDIuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0Mkdyb3VwIHtcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBvcHRpb25zOiBTZWxlY3QyT3B0aW9uW107XHJcbiAgICBjbGFzc2VzPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdDJPcHRpb24ge1xyXG4gICAgdmFsdWU6IFNlbGVjdDJWYWx1ZTtcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgICBjb21wb25lbnQ/OiBzdHJpbmcgfCBGdW5jdGlvbjtcclxuICAgIGlkPzogc3RyaW5nO1xyXG4gICAgY2xhc3Nlcz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgU2VsZWN0MlZhbHVlID0gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbjtcclxuXHJcbmV4cG9ydCB0eXBlIFNlbGVjdDJVcGRhdGVWYWx1ZSA9IFNlbGVjdDJWYWx1ZSB8IFNlbGVjdDJWYWx1ZVtdO1xyXG5cclxuZXhwb3J0IHR5cGUgU2VsZWN0MkRhdGEgPSAoU2VsZWN0Mkdyb3VwIHwgU2VsZWN0Mk9wdGlvbilbXTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0MlVwZGF0ZUV2ZW50PFUgZXh0ZW5kcyBTZWxlY3QyVXBkYXRlVmFsdWUgPSBTZWxlY3QyVmFsdWU+IHtcclxuICAgIGNvbXBvbmVudDogU2VsZWN0MjtcclxuICAgIHZhbHVlOiBVO1xyXG4gICAgb3B0aW9uczogU2VsZWN0Mk9wdGlvbltdO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgdGltZW91dCA9IDIwMDtcclxuXHJcbmV4cG9ydCBjb25zdCB1bmljb2RlUGF0dGVybnM6IHsgbDogc3RyaW5nLCBzOiBSZWdFeHAgfVtdID0gW1xyXG4gICAgeyBsOiAnYScsIHM6IC9b4pOQ772B4bqaw6DDocOi4bqn4bql4bqr4bqpw6PEgcSD4bqx4bqv4bq14bqzyKfHocOkx5/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+4bqT4bqVxrbIpcmA4rGs6p2jXS9naSB9XHJcbl07XHJcblxyXG5jb25zdCBkZWZhdWx0TWluQ291bnRGb3JTZWFyY2ggPSA2O1xyXG5cclxuZXhwb3J0IGNsYXNzIFNlbGVjdDJVdGlscyB7XHJcblxyXG4gICAgc3RhdGljIGdldE9wdGlvbkJ5VmFsdWUoZGF0YTogU2VsZWN0MkRhdGEsIHZhbHVlOiBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGRhdGEpIHtcclxuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9uLnZhbHVlID09PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGlmICgoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uKS52YWx1ZSA9PT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRPcHRpb25zQnlWYWx1ZShcclxuICAgICAgICBkYXRhOiBTZWxlY3QyRGF0YSxcclxuICAgICAgICB2YWx1ZTogU2VsZWN0MlVwZGF0ZVZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCxcclxuICAgICAgICBtdWx0aXBsZTogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWRcclxuICAgICkge1xyXG4gICAgICAgIGlmIChtdWx0aXBsZSkge1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZXM6IFNlbGVjdDJWYWx1ZVtdID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFtdO1xyXG4gICAgICAgICAgICBjb25zdCByZXN1bHQ6IFNlbGVjdDJPcHRpb25bXSA9IFtdO1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHYgb2YgdmFsdWVzKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBTZWxlY3QyVXRpbHMuZ2V0T3B0aW9uQnlWYWx1ZShkYXRhLCB2KTtcclxuICAgICAgICAgICAgICAgIGlmIChvcHRpb24pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChvcHRpb24pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBTZWxlY3QyVXRpbHMuZ2V0T3B0aW9uQnlWYWx1ZShkYXRhLCB2YWx1ZSBhcyBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0Rmlyc3RBdmFpbGFibGVPcHRpb24oZGF0YTogU2VsZWN0MkRhdGEpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZGF0YSkge1xyXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBvcHRpb24gb2Ygb3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9uLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb24udmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGdldE9wdGlvbnNDb3VudChkYXRhOiBTZWxlY3QyRGF0YSkge1xyXG4gICAgICAgIGxldCBjb3VudCA9IDA7XHJcbiAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGRhdGEpIHtcclxuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGNvdW50ICs9IG9wdGlvbnMubGVuZ3RoO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY291bnQrKztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gY291bnQ7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHZhbHVlSXNOb3RJbkZpbHRlcmVkRGF0YShmaWx0ZXJlZERhdGE6IFNlbGVjdDJEYXRhLCB2YWx1ZTogU2VsZWN0MlZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGlmIChTZWxlY3QyVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQodmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZmlsdGVyZWREYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGlmICgoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uKS52YWx1ZSA9PT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvZ25pdGl2ZS1jb21wbGV4aXR5XHJcbiAgICBzdGF0aWMgZ2V0UHJldmlvdXNPcHRpb24oZmlsdGVyZWREYXRhOiBTZWxlY3QyRGF0YSwgaG92ZXJpbmdWYWx1ZTogU2VsZWN0MlZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGxldCBmaW5kSXQgPSBTZWxlY3QyVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoaG92ZXJpbmdWYWx1ZSk7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IGZpbHRlcmVkRGF0YS5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xyXG4gICAgICAgICAgICBjb25zdCBncm91cE9yT3B0aW9uID0gZmlsdGVyZWREYXRhW2ldO1xyXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IG9wdGlvbnMubGVuZ3RoIC0gMTsgaiA+PSAwOyBqLS0pIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBvcHRpb25zW2pdO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChmaW5kSXQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb247XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFmaW5kSXQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmluZEl0ID0gb3B0aW9uLnZhbHVlID09PSBob3ZlcmluZ1ZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbjtcclxuICAgICAgICAgICAgICAgIGlmIChmaW5kSXQpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICghZmluZEl0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmluZEl0ID0gb3B0aW9uLnZhbHVlID09PSBob3ZlcmluZ1ZhbHVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvZ25pdGl2ZS1jb21wbGV4aXR5XHJcbiAgICBzdGF0aWMgZ2V0TmV4dE9wdGlvbihmaWx0ZXJlZERhdGE6IFNlbGVjdDJEYXRhLCBob3ZlcmluZ1ZhbHVlOiBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgbGV0IGZpbmRJdCA9IFNlbGVjdDJVdGlscy5pc051bGxPclVuZGVmaW5lZChob3ZlcmluZ1ZhbHVlKTtcclxuICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZmlsdGVyZWREYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpbmRJdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWZpbmRJdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaW5kSXQgPSBvcHRpb24udmFsdWUgPT09IGhvdmVyaW5nVmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgaWYgKGZpbmRJdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9uLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb247XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICghZmluZEl0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmluZEl0ID0gb3B0aW9uLnZhbHVlID09PSBob3ZlcmluZ1ZhbHVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlOiBhbnkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBjb250YWluU2VhcmNoVGV4dChcclxuICAgICAgICBsYWJlbDogc3RyaW5nLFxyXG4gICAgICAgIHNlYXJjaFRleHQ6IHN0cmluZyB8IG51bGwsXHJcbiAgICAgICAgZWRpdFBhdHRlcm46ICgoc3RyOiBzdHJpbmcpID0+IHN0cmluZykgfCB1bmRlZmluZWRcclxuICAgICk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBzZWFyY2hUZXh0XHJcbiAgICAgICAgICAgID8gU2VsZWN0MlV0aWxzXHJcbiAgICAgICAgICAgICAgICAuZm9ybWF0U2Fuc1VuaWNvZGUobGFiZWwpXHJcbiAgICAgICAgICAgICAgICAubWF0Y2gobmV3IFJlZ0V4cChTZWxlY3QyVXRpbHMuZm9ybWF0UGF0dGVybihzZWFyY2hUZXh0LCBlZGl0UGF0dGVybiksICdpJykpICE9PSBudWxsXHJcbiAgICAgICAgICAgIDogdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBwcm90ZWN0UGF0dGVybihzdHI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKG5ldyBSZWdFeHAoJ1tcXFxcLVxcXFxbXFxcXF1cXFxcL1xcXFx7XFxcXH1cXFxcKFxcXFwpXFxcXCpcXFxcK1xcXFw/XFxcXC5cXFxcXFxcXFxcXFxeXFxcXCRcXFxcfF0nLCAnZycpLCAnXFxcXCQmJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgZm9ybWF0U2Fuc1VuaWNvZGUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGZvciAoY29uc3QgdW5pY29kZVBhdHRlcm4gb2YgdW5pY29kZVBhdHRlcm5zKSB7XHJcbiAgICAgICAgICAgIHN0ciA9IHN0ci5yZXBsYWNlKHVuaWNvZGVQYXR0ZXJuLnMsIHVuaWNvZGVQYXR0ZXJuLmwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc3RyO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGZvcm1hdFBhdHRlcm4oc3RyOiBzdHJpbmcsIGVkaXRQYXR0ZXJuOiAoKHN0cjogc3RyaW5nKSA9PiBzdHJpbmcpIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcclxuICAgICAgICBzdHIgPSBTZWxlY3QyVXRpbHMuZm9ybWF0U2Fuc1VuaWNvZGUoU2VsZWN0MlV0aWxzLnByb3RlY3RQYXR0ZXJuKHN0cikpO1xyXG5cclxuICAgICAgICBpZiAoZWRpdFBhdHRlcm4gJiYgdHlwZW9mIGVkaXRQYXR0ZXJuID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIHN0ciA9IGVkaXRQYXR0ZXJuKHN0cik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBzdHI7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldEZpbHRlcmVkRGF0YShkYXRhOiBTZWxlY3QyRGF0YSwgc2VhcmNoVGV4dDogc3RyaW5nIHwgbnVsbCwgZWRpdFBhdHRlcm4/OiAoc3RyOiBzdHJpbmcpID0+IHN0cmluZyk6IFNlbGVjdDJEYXRhIHtcclxuICAgICAgICBpZiAoc2VhcmNoVGV4dCkge1xyXG4gICAgICAgICAgICBjb25zdCByZXN1bHQ6IFNlbGVjdDJEYXRhID0gW107XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5zb21lKGdyb3VwID0+IFNlbGVjdDJVdGlscy5jb250YWluU2VhcmNoVGV4dChncm91cC5sYWJlbCwgc2VhcmNoVGV4dCwgZWRpdFBhdHRlcm4pKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJlZE9wdGlvbnMgPSBvcHRpb25zLmZpbHRlcihcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwID0+IFNlbGVjdDJVdGlscy5jb250YWluU2VhcmNoVGV4dChncm91cC5sYWJlbCwgc2VhcmNoVGV4dCwgZWRpdFBhdHRlcm4pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBncm91cE9yT3B0aW9uLmxhYmVsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogZmlsdGVyZWRPcHRpb25zXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoU2VsZWN0MlV0aWxzLmNvbnRhaW5TZWFyY2hUZXh0KGdyb3VwT3JPcHRpb24ubGFiZWwsIHNlYXJjaFRleHQsIGVkaXRQYXR0ZXJuKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGdyb3VwT3JPcHRpb24pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRGaWx0ZXJlZFNlbGVjdGVkRGF0YShkYXRhOiBTZWxlY3QyRGF0YSwgc2VsZWN0ZWRPcHRpb25zOiBTZWxlY3QyT3B0aW9uIHwgU2VsZWN0Mk9wdGlvbltdIHwgbnVsbCk6IFNlbGVjdDJEYXRhIHtcclxuICAgICAgICBjb25zdCByZXN1bHQ6IFNlbGVjdDJEYXRhID0gW107XHJcbiAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGRhdGEpIHtcclxuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkT3B0aW9ucyA9IG9wdGlvbnMuZmlsdGVyKFxyXG4gICAgICAgICAgICAgICAgICAgIGdyb3VwID0+IFNlbGVjdDJVdGlscy5pc1NlbGVjdGVkKHNlbGVjdGVkT3B0aW9ucywgZ3JvdXAsIHRydWUpID09PSAnZmFsc2UnXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlcmVkT3B0aW9ucy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBncm91cE9yT3B0aW9uLmxhYmVsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiBmaWx0ZXJlZE9wdGlvbnNcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIGlmIChTZWxlY3QyVXRpbHMuaXNTZWxlY3RlZChzZWxlY3RlZE9wdGlvbnMsIGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbiwgdHJ1ZSkgPT09ICdmYWxzZScpIHtcclxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGdyb3VwT3JPcHRpb24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGlzU2VhcmNoYm94SGlkZGV4KGRhdGE6IFNlbGVjdDJEYXRhLCBtaW5Db3VudEZvclNlYXJjaD86IG51bWJlciB8IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmIChtaW5Db3VudEZvclNlYXJjaCA9PT0gJycgfHwgbWluQ291bnRGb3JTZWFyY2ggPT09IHVuZGVmaW5lZCB8fCBtaW5Db3VudEZvclNlYXJjaCA9PT0gbnVsbCB8fCBpc05hTigrbWluQ291bnRGb3JTZWFyY2gpKSB7XHJcbiAgICAgICAgICAgIG1pbkNvdW50Rm9yU2VhcmNoID0gZGVmYXVsdE1pbkNvdW50Rm9yU2VhcmNoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBvcHRpb25Db3VudCA9IFNlbGVjdDJVdGlscy5nZXRPcHRpb25zQ291bnQoZGF0YSk7XHJcbiAgICAgICAgcmV0dXJuIG9wdGlvbkNvdW50IDwgK21pbkNvdW50Rm9yU2VhcmNoO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBpc1NlbGVjdGVkKFxyXG4gICAgICAgIG9wdGlvbnM6IFNlbGVjdDJPcHRpb24gfCBTZWxlY3QyT3B0aW9uW10gfCBudWxsLFxyXG4gICAgICAgIG9wdGlvbjogU2VsZWN0Mk9wdGlvbixcclxuICAgICAgICBtdWx0aXBsZTogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWRcclxuICAgICkge1xyXG4gICAgICAgIHJldHVybiBtdWx0aXBsZVxyXG4gICAgICAgICAgICA/IG9wdGlvbnMgJiYgKG9wdGlvbnMgYXMgU2VsZWN0Mk9wdGlvbltdKVxyXG4gICAgICAgICAgICAgICAgLnNvbWUob3AgPT4gb3AudmFsdWUgPT09IG9wdGlvbi52YWx1ZSkgPyAndHJ1ZScgOiAnZmFsc2UnXHJcbiAgICAgICAgICAgIDogb3B0aW9ucyAmJiBvcHRpb24udmFsdWUgPT09IChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb24pLnZhbHVlID8gJ3RydWUnIDogJ2ZhbHNlJztcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgcmVtb3ZlU2VsZWN0aW9uKG9wdGlvbnM6IFNlbGVjdDJPcHRpb24gfCBTZWxlY3QyT3B0aW9uW10gfCBudWxsLCBvcHRpb246IFNlbGVjdDJPcHRpb24pIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb25bXSkubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb25bXSlbaV0udmFsdWUgPT09IG9wdGlvbi52YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgKG9wdGlvbnMgYXMgU2VsZWN0Mk9wdGlvbltdKS5zcGxpY2UoaSwgMSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19

@@ -18,3 +18,3 @@ import { Select2 } from './select2.component';

export declare type Select2Data = (Select2Group | Select2Option)[];
export interface Select2UpdateEvent<U extends Select2UpdateValue> {
export interface Select2UpdateEvent<U extends Select2UpdateValue = Select2Value> {
component: Select2;

@@ -21,0 +21,0 @@ value: U;

@@ -38,2 +38,25 @@ import { AfterViewInit, ChangeDetectorRef, DoCheck, EventEmitter, OnDestroy, OnInit } from '@angular/core';

filteredData: Select2Data;
readonly select2Options: Select2Option[];
readonly select2Option: Select2Option;
searchText: string;
/** minimal data of show the search field */
minCountForSearch: number | string;
/** Unique id of the element. */
id: string;
/** Whether the element is required. */
required: any;
/** Whether selected items should be hidden. */
disabled: any;
/** Whether items are hidden when has. */
hideSelectedItems: any;
/** Whether the element is readonly. */
readonly: any;
/** The input element's value. */
value: Select2UpdateValue;
/** Tab index for the select2 element. */
tabIndex: number;
readonly ariaInvalid: boolean;
readonly classMaterial: boolean;
readonly classNostyle: boolean;
readonly select2above: boolean;
private _minCountForSearch?;

@@ -68,25 +91,2 @@ private selection;

private _onChange;
readonly select2Options: Select2Option[];
readonly select2Option: Select2Option;
searchText: string;
/** minimal data of show the search field */
minCountForSearch: number | string;
/** Unique id of the element. */
id: string;
/** Whether the element is required. */
required: any;
/** Whether selected items should be hidden. */
disabled: any;
/** Whether items are hidden when has. */
hideSelectedItems: any;
/** Whether the element is readonly. */
readonly: any;
/** The input element's value. */
value: Select2UpdateValue;
/** Tab index for the select2 element. */
tabIndex: number;
readonly ariaInvalid: boolean;
readonly classMaterial: boolean;
readonly classNostyle: boolean;
readonly select2above: boolean;
ngOnInit(): void;

@@ -93,0 +93,0 @@ ngAfterViewInit(): void;

@@ -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-label\"\r\n (click)=\"toggleOpenAndClose()\">\r\n <ng-content select=\"select2-label\"></ng-content><span *ngIf=\"required\"\r\n class=\"select2-required\"></span>\r\n</div>\r\n<div class=\"select2 select2-container select2-container--default select2-container--focus\"\r\n [class.select2-container--below]=\"!select2above\"\r\n [class.select2-container--above]=\"select2above\"\r\n [class.select2-container--open]=\"isOpen\"\r\n [class.select2-container--disabled]=\"disabled\">\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=\"select2-selection\"\r\n [class.select2-selection--multiple]=\"multiple\"\r\n [class.select2-selection--single]=\"!multiple\"\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 <span *ngIf=\"select2Option\"\r\n [innerHTML]=\"select2Option.label\"></span>\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 </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 <span [innerHTML]=\"op.label\"></span>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"select2-container select2-container--default select2-container-dropdown\"\r\n [class.select2-container--open]=\"isOpen\">\r\n <div class=\"select2-dropdown\"\r\n [class.select2-dropdown--below]=\"!select2above\"\r\n [class.select2-dropdown--above]=\"select2above\">\r\n <div class=\"select2-search select2-search--dropdown\"\r\n [class.select2-search--hide]=\"hideSearch()\">\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 [style.max-height]=\"resultMaxHeight\"\r\n role=\"tree\"\r\n tabindex=\"-1\"\r\n (keydown)=\"keyDown($event)\">\r\n <ng-container *ngFor=\"let groupOrOption of filteredData; index as i; trackBy:trackBy\">\r\n <li *ngIf=\"groupOrOption.options\"\r\n class=\"select2-results__option\"\r\n role=\"group\">\r\n <strong [attr.class]=\"'select2-results__group' + (groupOrOption.classes ? ' ' + groupOrOption.classes : '')\"\r\n [innerHTML]=\"groupOrOption.label\"></strong>\r\n <ul class=\"select2-results__options select2-results__options--nested\">\r\n <li *ngFor=\"let option of groupOrOption.options; index as j; trackBy:trackBy\"\r\n #result\r\n [id]=\"option.id || id + '-option-' + i + '-' + j\"\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)\"\r\n [innerHTML]=\"option.label\"></li>\r\n </ul>\r\n </li>\r\n <li *ngIf=\"!groupOrOption.options\"\r\n #result\r\n [id]=\"groupOrOption.id || id + '-option-' + i\"\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 [innerHTML]=\"groupOrOption.label\">\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </div>\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>","styles":[".select2-label{color:#000;color:var(--select2-label-text-color,#000)}.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;opacity: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:0 0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.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:#fff;background:var(--select2-dropdown-background,#fff);border:1px solid #aaa;border:1px solid var(--select2-dropdown-border-color,#aaa);border-radius:4px;border-radius:var(--select2-selection-border-radius,4px);box-sizing:border-box;display:block;position:absolute;width:100%;z-index:1051;height:0;overflow:hidden}.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;color:#000;color:var(--select2-option-text-color,#000)}.select2-results__option[aria-selected]{cursor:pointer}.select2-container.select2-container-dropdown.select2-container--open{width:100%;opacity:1}.select2-container--open .select2-dropdown{overflow:auto;height:auto}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;bottom:27px;display:flex;flex-direction:column-reverse}.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:#fff}.select2-required::before{content:'*';color:red;color:var(--select2-required-color,red)}.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:#fff;background:var(--select2-selection-background,#fff);border:1px solid #aaa;border:1px solid var(--select2-selection-border-color,#aaa);border-radius:4px;border-radius:var(--select2-selection-border-radius,4px);display:flex}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;color:var(--select2-selection-text-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;color:var(--select2-placeholder-color,#999)}.select2-container--default .select2-selection--single .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--single .select2-selection__arrow{display:flex;width:20px;align-items:center;justify-content:center}.select2-container--default .select2-selection--single .select2-selection__arrow::before{content:' ';border-color:#888 transparent;border-color:var(--select2-arrow-color,#888) transparent;border-style:solid;border-width:5px 4px 0;height:0;width:0}.select2-container--default.select2-container--disabled .select2-selection--single{background:#eee;background:var(--select2-selection-disabled-background,#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::before{border-color:transparent transparent #888;border-color:transparent transparent var(--select2-arrow-color,#888);border-width:0 4px 5px}.select2-container--default .select2-selection--multiple{background:#fff;background:var(--select2-selection-background,#fff);border:1px solid #aaa;border:1px solid var(--select2-selection-border-color,#aaa);border-radius:4px;border-radius:var(--select2-selection-border-radius,4px);cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{flex:1 1 auto;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;color:var(--select2-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{color:#000;color:var(--select2-selection-choice-text-color,#000);background:#e4e4e4;background:var(--select2-selection-choice-background,#e4e4e4);border:1px solid #aaa;border:1px solid var(--select2-selection-choice-border-color,#aaa);border-radius:4px;border-radius:var(--select2-selection-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;color:var(--select2-selection-choice-close-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;color:var(--select2-selection-choice-hover-close-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;border:solid var(--select2-selection-focus-border-color,#000) 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background:#eee;background:var(--select2-selection-disabled-background,#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;border:1px solid var(--select2-search-border-color,#aaa);background:#fff;background:1px solid var(--select2-search-background,#fff);border-radius:0;border-radius:var(--select2-search-border-radius,0)}.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{overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999;color:var(--select2-option-disabled-text-color,#999);background:0 0;background:var(--select2-option-disabled-background,transparent)}.select2-container--default .select2-results__option[aria-selected=true]{color:#000;color:var(--select2-option-selected-text-color,#000);background:#ddd;background:var(--select2-option-selected-background,#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:#5897fb;background:var(--select2-option-highlighted-background,#5897fb);color:#fff;color:var(--select2-option-highlighted-text-color,#fff)}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px;color:gray;color:var(--select2-option-group-text-color,gray);background:0 0;background:var(--select2-option-group-background,transparent)}:host.nostyle .select2-dropdown{border-color:transparent}:host.nostyle .select2-selection--multiple,:host.nostyle .select2-selection--single{background:0 0;border-color:transparent}:host.nostyle .select2-container--default .select2-focused .select2-selection--multiple,:host.nostyle .select2-container--default .select2-focused .select2-selection--single,:host.nostyle .select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--multiple,:host.nostyle .select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--single{background:0 0;border-color:transparent}: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:#ddd;background:var(--select2-material-underline,#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:#5a419e;background:var(--select2-material-underline-active,#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);color:var(--select2-material-placeholder-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:rgba(0,0,0,.04);background:var(--select2-material-option-selected-background,rgba(0,0,0,.04));color:#000;color:var(--select2-material-option-highlighted-text-color,#000)}:host.material .select2-container--default .select2-results__option[aria-selected=true]{color:#ff5722;color:var(--select2-material-option-selected-text-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:0 0}: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:linear-gradient(to right,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 33%,transparent 0);background:var(--select2-material-underline-disabled,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-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:red;background:var(--select2-material-underline-invalid,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%;color:#888;color:var(--select2-hint-text-color,#888)}@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":5}}]}],"minCharForSearch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":5}}]}],"displaySearchStatus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":5}}]}],"placeholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5}}]}],"customSearchEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":5}}]}],"multiple":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":5}}]}],"limitSelection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5}}]}],"listPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":5}}]}],"material":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":5}}]}],"noStyle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":5}}]}],"editPattern":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":5}}]}],"resultMaxHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":5}}]}],"update":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":45,"character":5}}]}],"open":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":46,"character":5}}]}],"close":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":47,"character":5}}]}],"focus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":48,"character":5}}]}],"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":49,"character":5}}]}],"search":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":50,"character":5}}]}],"selection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":63,"character":5},"arguments":["selection"]}]}],"resultContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":64,"character":5},"arguments":["results"]}]}],"results":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":65,"character":5},"arguments":["result"]}]}],"searchInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":66,"character":5},"arguments":["searchInput"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":93,"character":9}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":94,"character":9}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":95,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":95,"character":17}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute","line":96,"character":9},"arguments":["tabindex"]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":92,"character":36},{"__symbolic":"reference","module":"@angular/forms","name":"NgForm","line":93,"character":41},{"__symbolic":"reference","module":"@angular/forms","name":"FormGroupDirective","line":94,"character":46},{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":95,"character":45},{"__symbolic":"reference","name":"string"}]}],"minCountForSearch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":135,"character":5}}]}],"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":143,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":144,"character":5},"arguments":["id"]}]}],"required":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":149,"character":5}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":154,"character":5}}]}],"hideSelectedItems":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":159,"character":5}}]}],"readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":164,"character":5}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":169,"character":5}}]}],"tabIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":181,"character":5}}]}],"ariaInvalid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":189,"character":5},"arguments":["attr.aria-invalid"]}]}],"classMaterial":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":194,"character":5},"arguments":["class.material"]}]}],"classNostyle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":199,"character":5},"arguments":["class.nostyle"]}]}],"select2above":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":204,"character":5},"arguments":["class.select2-above"]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"updateSearchBox":[{"__symbolic":"method"}],"hideSearch":[{"__symbolic":"method"}],"getOptionStyle":[{"__symbolic":"method"}],"mouseenter":[{"__symbolic":"method"}],"click":[{"__symbolic":"method"}],"toggleOpenAndClose":[{"__symbolic":"method"}],"testSelection":[{"__symbolic":"method"}],"testValueChange":[{"__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"}],"_focus":[{"__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"},"Select2UpdateEvent":{"__symbolic":"interface"},"timeout":200,"unicodePatterns":{"__symbolic":"error","message":"Expression form not supported","line":32,"character":17,"module":"./lib/select2-utils"},"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"]},"\\$&"]}}}},"Select2Module":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":10,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":11,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":12,"character":8}],"declarations":[{"__symbolic":"reference","name":"Select2Hint"},{"__symbolic":"reference","name":"Select2Label"},{"__symbolic":"reference","name":"Select2"}],"exports":[{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":20,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":21,"character":8},{"__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","Select2UpdateEvent":"./lib/select2-utils","timeout":"./lib/select2-utils","unicodePatterns":"./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-label\"\r\n (click)=\"toggleOpenAndClose()\">\r\n <ng-content select=\"select2-label\"></ng-content><span *ngIf=\"required\"\r\n class=\"select2-required\"></span>\r\n</div>\r\n<div class=\"select2 select2-container select2-container--default select2-container--focus\"\r\n [class.select2-container--below]=\"!select2above\"\r\n [class.select2-container--above]=\"select2above\"\r\n [class.select2-container--open]=\"isOpen\"\r\n [class.select2-container--disabled]=\"disabled\">\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=\"select2-selection\"\r\n [class.select2-selection--multiple]=\"multiple\"\r\n [class.select2-selection--single]=\"!multiple\"\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 <span *ngIf=\"select2Option\"\r\n [innerHTML]=\"select2Option.label\"></span>\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 </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 <span [innerHTML]=\"op.label\"></span>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"select2-container select2-container--default select2-container-dropdown\"\r\n [class.select2-container--open]=\"isOpen\">\r\n <div class=\"select2-dropdown\"\r\n [class.select2-dropdown--below]=\"!select2above\"\r\n [class.select2-dropdown--above]=\"select2above\">\r\n <div class=\"select2-search select2-search--dropdown\"\r\n [class.select2-search--hide]=\"hideSearch()\">\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 [style.max-height]=\"resultMaxHeight\"\r\n role=\"tree\"\r\n tabindex=\"-1\"\r\n (keydown)=\"keyDown($event)\">\r\n <ng-container *ngFor=\"let groupOrOption of filteredData; index as i; trackBy:trackBy\">\r\n <li *ngIf=\"groupOrOption.options\"\r\n class=\"select2-results__option\"\r\n role=\"group\">\r\n <strong [attr.class]=\"'select2-results__group' + (groupOrOption.classes ? ' ' + groupOrOption.classes : '')\"\r\n [innerHTML]=\"groupOrOption.label\"></strong>\r\n <ul class=\"select2-results__options select2-results__options--nested\">\r\n <li *ngFor=\"let option of groupOrOption.options; index as j; trackBy:trackBy\"\r\n #result\r\n [id]=\"option.id || id + '-option-' + i + '-' + j\"\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)\"\r\n [innerHTML]=\"option.label\"></li>\r\n </ul>\r\n </li>\r\n <li *ngIf=\"!groupOrOption.options\"\r\n #result\r\n [id]=\"groupOrOption.id || id + '-option-' + i\"\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 [innerHTML]=\"groupOrOption.label\">\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </div>\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>","styles":[".select2-label{color:#000;color:var(--select2-label-text-color,#000)}.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;opacity: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:0 0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.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:#fff;background:var(--select2-dropdown-background,#fff);border:1px solid #aaa;border:1px solid var(--select2-dropdown-border-color,#aaa);border-radius:4px;border-radius:var(--select2-selection-border-radius,4px);box-sizing:border-box;display:block;position:absolute;width:100%;z-index:1051;height:0;overflow:hidden}.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;color:#000;color:var(--select2-option-text-color,#000)}.select2-results__option[aria-selected]{cursor:pointer}.select2-container.select2-container-dropdown.select2-container--open{width:100%;opacity:1}.select2-container--open .select2-dropdown{overflow:auto;height:auto}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;bottom:27px;display:flex;flex-direction:column-reverse}.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:#fff}.select2-required::before{content:'*';color:red;color:var(--select2-required-color,red)}.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:#fff;background:var(--select2-selection-background,#fff);border:1px solid #aaa;border:1px solid var(--select2-selection-border-color,#aaa);border-radius:4px;border-radius:var(--select2-selection-border-radius,4px);display:flex}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;color:var(--select2-selection-text-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;color:var(--select2-placeholder-color,#999)}.select2-container--default .select2-selection--single .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--single .select2-selection__arrow{display:flex;width:20px;align-items:center;justify-content:center}.select2-container--default .select2-selection--single .select2-selection__arrow::before{content:' ';border-color:#888 transparent;border-color:var(--select2-arrow-color,#888) transparent;border-style:solid;border-width:5px 4px 0;height:0;width:0}.select2-container--default.select2-container--disabled .select2-selection--single{background:#eee;background:var(--select2-selection-disabled-background,#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::before{border-color:transparent transparent #888;border-color:transparent transparent var(--select2-arrow-color,#888);border-width:0 4px 5px}.select2-container--default .select2-selection--multiple{background:#fff;background:var(--select2-selection-background,#fff);border:1px solid #aaa;border:1px solid var(--select2-selection-border-color,#aaa);border-radius:4px;border-radius:var(--select2-selection-border-radius,4px);cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{flex:1 1 auto;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;color:var(--select2-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{color:#000;color:var(--select2-selection-choice-text-color,#000);background:#e4e4e4;background:var(--select2-selection-choice-background,#e4e4e4);border:1px solid #aaa;border:1px solid var(--select2-selection-choice-border-color,#aaa);border-radius:4px;border-radius:var(--select2-selection-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;color:var(--select2-selection-choice-close-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;color:var(--select2-selection-choice-hover-close-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;border:solid var(--select2-selection-focus-border-color,#000) 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background:#eee;background:var(--select2-selection-disabled-background,#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;border:1px solid var(--select2-search-border-color,#aaa);background:#fff;background:1px solid var(--select2-search-background,#fff);border-radius:0;border-radius:var(--select2-search-border-radius,0)}.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{overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999;color:var(--select2-option-disabled-text-color,#999);background:0 0;background:var(--select2-option-disabled-background,transparent)}.select2-container--default .select2-results__option[aria-selected=true]{color:#000;color:var(--select2-option-selected-text-color,#000);background:#ddd;background:var(--select2-option-selected-background,#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:#5897fb;background:var(--select2-option-highlighted-background,#5897fb);color:#fff;color:var(--select2-option-highlighted-text-color,#fff)}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px;color:gray;color:var(--select2-option-group-text-color,gray);background:0 0;background:var(--select2-option-group-background,transparent)}:host.nostyle .select2-dropdown{border-color:transparent}:host.nostyle .select2-selection--multiple,:host.nostyle .select2-selection--single{background:0 0;border-color:transparent}:host.nostyle .select2-container--default .select2-focused .select2-selection--multiple,:host.nostyle .select2-container--default .select2-focused .select2-selection--single,:host.nostyle .select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--multiple,:host.nostyle .select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--single{background:0 0;border-color:transparent}: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:#ddd;background:var(--select2-material-underline,#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:#5a419e;background:var(--select2-material-underline-active,#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);color:var(--select2-material-placeholder-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:rgba(0,0,0,.04);background:var(--select2-material-option-selected-background,rgba(0,0,0,.04));color:#000;color:var(--select2-material-option-highlighted-text-color,#000)}:host.material .select2-container--default .select2-results__option[aria-selected=true]{color:#ff5722;color:var(--select2-material-option-selected-text-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:0 0}: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:linear-gradient(to right,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 33%,transparent 0);background:var(--select2-material-underline-disabled,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-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:red;background:var(--select2-material-underline-invalid,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%;color:#888;color:var(--select2-hint-text-color,#888)}@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":5}}]}],"minCharForSearch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":5}}]}],"displaySearchStatus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":5}}]}],"placeholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5}}]}],"customSearchEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":5}}]}],"multiple":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":5}}]}],"limitSelection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5}}]}],"listPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":5}}]}],"material":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":5}}]}],"noStyle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":5}}]}],"editPattern":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":5}}]}],"resultMaxHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":5}}]}],"update":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":45,"character":5}}]}],"open":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":46,"character":5}}]}],"close":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":47,"character":5}}]}],"focus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":48,"character":5}}]}],"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":49,"character":5}}]}],"search":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":50,"character":5}}]}],"minCountForSearch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":79,"character":5}}]}],"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":87,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":88,"character":5},"arguments":["id"]}]}],"required":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":93,"character":5}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":98,"character":5}}]}],"hideSelectedItems":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":103,"character":5}}]}],"readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":108,"character":5}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":113,"character":5}}]}],"tabIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":125,"character":5}}]}],"ariaInvalid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":133,"character":5},"arguments":["attr.aria-invalid"]}]}],"classMaterial":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":138,"character":5},"arguments":["class.material"]}]}],"classNostyle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":143,"character":5},"arguments":["class.nostyle"]}]}],"select2above":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":148,"character":5},"arguments":["class.select2-above"]}]}],"selection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":155,"character":5},"arguments":["selection"]}]}],"resultContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":156,"character":5},"arguments":["results"]}]}],"results":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":157,"character":5},"arguments":["result"]}]}],"searchInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":158,"character":5},"arguments":["searchInput"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":185,"character":9}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":186,"character":9}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":187,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":187,"character":17}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute","line":188,"character":9},"arguments":["tabindex"]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":184,"character":36},{"__symbolic":"reference","module":"@angular/forms","name":"NgForm","line":185,"character":41},{"__symbolic":"reference","module":"@angular/forms","name":"FormGroupDirective","line":186,"character":46},{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":187,"character":45},{"__symbolic":"reference","name":"string"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"updateSearchBox":[{"__symbolic":"method"}],"hideSearch":[{"__symbolic":"method"}],"getOptionStyle":[{"__symbolic":"method"}],"mouseenter":[{"__symbolic":"method"}],"click":[{"__symbolic":"method"}],"toggleOpenAndClose":[{"__symbolic":"method"}],"testSelection":[{"__symbolic":"method"}],"testValueChange":[{"__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"}],"_focus":[{"__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"},"Select2UpdateEvent":{"__symbolic":"interface"},"timeout":200,"unicodePatterns":{"__symbolic":"error","message":"Expression form not supported","line":32,"character":17,"module":"./lib/select2-utils"},"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"]},"\\$&"]}},"isSelected":{"__symbolic":"function","parameters":["options","option","multiple"],"value":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"multiple"},"thenExpression":{"__symbolic":"if","condition":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"reference","name":"options"},"right":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"options"},"member":"some"},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":328,"character":22,"module":"./lib/select2-utils"}]}},"thenExpression":"true","elseExpression":"false"},"elseExpression":{"__symbolic":"if","condition":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"reference","name":"options"},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"option"},"member":"value"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"options"},"member":"value"}}},"thenExpression":"true","elseExpression":"false"}}}}},"Select2Module":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":10,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":11,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":12,"character":8}],"declarations":[{"__symbolic":"reference","name":"Select2Hint"},{"__symbolic":"reference","name":"Select2Label"},{"__symbolic":"reference","name":"Select2"}],"exports":[{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":20,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":21,"character":8},{"__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","Select2UpdateEvent":"./lib/select2-utils","timeout":"./lib/select2-utils","unicodePatterns":"./lib/select2-utils","Select2Utils":"./lib/select2-utils","Select2Module":"./lib/select2.module"},"importAs":"ng-select2-component"}
{
"name": "ng-select2-component",
"version": "7.1.6",
"version": "7.1.7",
"peerDependencies": {

@@ -19,2 +19,7 @@ "@angular/common": "^7.0.0-rc.0 || ^7.0.0",

"homepage": "https://github.com/Harvest-Dev/ng-select2#readme",
"keywords": [
"typescript",
"angular",
"select2"
],
"main": "bundles/ng-select2-component.umd.js",

@@ -21,0 +26,0 @@ "module": "fesm5/ng-select2-component.js",

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 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