ng-select2-component
Advanced tools
Comparing version 8.0.6 to 8.1.0
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/cdk/overlay"),require("@angular/cdk/scrolling"),require("@angular/core"),require("@angular/forms"),require("rxjs"),require("@angular/common"),require("ngx-infinite-scroll")):"function"==typeof define&&define.amd?define("ng-select2-component",["exports","@angular/cdk/overlay","@angular/cdk/scrolling","@angular/core","@angular/forms","rxjs","@angular/common","ngx-infinite-scroll"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["ng-select2-component"]={},e.ng.cdk.overlay,e.ng.cdk.scrolling,e.ng.core,e.ng.forms,e.rxjs,e.ng.common,e.ngxInfiniteScroll)}(this,(function(e,t,n,o,i,l,r,s){"use strict";var a=[{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}],c=new RegExp("[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]","g");Object.create;function p(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],o=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}Object.create;var u=function(){function e(){}return e.getOptionByValue=function(e,t){var n,o,i,l;if(Array.isArray(e))try{for(var r=p(e),s=r.next();!s.done;s=r.next()){var a=s.value,c=a.options;if(c)try{for(var u=(i=void 0,p(c)),d=u.next();!d.done;d=u.next()){var h=d.value;if(h.value===t)return h}}catch(e){i={error:e}}finally{try{d&&!d.done&&(l=u.return)&&l.call(u)}finally{if(i)throw i.error}}else if(a.value===t)return a}}catch(e){n={error:e}}finally{try{s&&!s.done&&(o=r.return)&&o.call(r)}finally{if(n)throw n.error}}return null},e.getOptionsByValue=function(t,n,o){var i,l;if(o){var r=Array.isArray(n)?n:[],s=[];try{for(var a=p(r),c=a.next();!c.done;c=a.next()){var u=c.value,d=e.getOptionByValue(t,u);d&&s.push(d)}}catch(e){i={error:e}}finally{try{c&&!c.done&&(l=a.return)&&l.call(a)}finally{if(i)throw i.error}}return s}return e.getOptionByValue(t,n)},e.getFirstAvailableOption=function(e){var t,n,o,i;if(Array.isArray(e))try{for(var l=p(e),r=l.next();!r.done;r=l.next()){var s=r.value,a=s.options;if(a)try{for(var c=(o=void 0,p(a)),u=c.next();!u.done;u=c.next()){var d;if(!(d=u.value).disabled)return d.value}}catch(e){o={error:e}}finally{try{u&&!u.done&&(i=c.return)&&i.call(c)}finally{if(o)throw o.error}}else if(!(d=s).disabled)return d.value}}catch(e){t={error:e}}finally{try{r&&!r.done&&(n=l.return)&&n.call(l)}finally{if(t)throw t.error}}return null},e.getOptionsCount=function(e){var t,n,o=0;if(Array.isArray(e))try{for(var i=p(e),l=i.next();!l.done;l=i.next()){var r=l.value.options;r?o+=r.length:o++}}catch(e){t={error:e}}finally{try{l&&!l.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}return o},e.valueIsNotInFilteredData=function(t,n){var o,i,l,r;if(e.isNullOrUndefined(n))return!0;try{for(var s=p(t),a=s.next();!a.done;a=s.next()){var c=a.value,u=c.options;if(u)try{for(var d=(l=void 0,p(u)),h=d.next();!h.done;h=d.next()){if(h.value.value===n)return!1}}catch(e){l={error:e}}finally{try{h&&!h.done&&(r=d.return)&&r.call(d)}finally{if(l)throw l.error}}else if(c.value===n)return!1}}catch(e){o={error:e}}finally{try{a&&!a.done&&(i=s.return)&&i.call(s)}finally{if(o)throw o.error}}return!0},e.getPreviousOption=function(t,n){for(var o=e.isNullOrUndefined(n),i=t.length-1;i>=0;i--){var l=t[i],r=l.options;if(r)for(var s=r.length-1;s>=0;s--){var a=r[s];if(o&&!a.disabled&&!a.hide)return a;o||(o=a.value===n)}else{a=l;if(o&&!a.disabled&&!a.hide)return a;o||(o=a.value===n)}}return null},e.getNextOption=function(t,n){var o,i,l,r,s=e.isNullOrUndefined(n);try{for(var a=p(t),c=a.next();!c.done;c=a.next()){var u=c.value,d=u.options;if(d)try{for(var h=(l=void 0,p(d)),f=h.next();!f.done;f=h.next()){var g=f.value;if(s){if(!g.disabled&&!g.hide)return g}else s||(s=g.value===n)}}catch(e){l={error:e}}finally{try{f&&!f.done&&(r=h.return)&&r.call(h)}finally{if(l)throw l.error}}else{g=u;if(s){if(!g.disabled&&!g.hide)return g}else s||(s=g.value===n)}}}catch(e){o={error:e}}finally{try{c&&!c.done&&(i=a.return)&&i.call(a)}finally{if(o)throw o.error}}return null},e.isNullOrUndefined=function(e){return null==e},e.containSearchText=function(t,n,o){return!n||null!==e.formatSansUnicode(t).match(new RegExp(e.formatPattern(n,o),"i"))},e.protectPattern=function(e){return e.replace(c,"\\$&")},e.formatSansUnicode=function(e){var t,n;try{for(var o=p(a),i=o.next();!i.done;i=o.next()){var l=i.value;e=e.replace(l.s,l.l)}}catch(e){t={error:e}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(t)throw t.error}}return e},e.formatPattern=function(t,n){return t=e.formatSansUnicode(e.protectPattern(t)),n&&"function"==typeof n&&(t=n(t)),t},e.getFilteredData=function(t,n,o){var i,l;if(n){var r=[];try{for(var s=p(t),a=s.next();!a.done;a=s.next()){var c=a.value,u=c.options;if(u){if(u.some((function(t){return e.containSearchText(t.label,n,o)}))){var d=u.filter((function(t){return e.containSearchText(t.label,n,o)}));r.push({label:c.label,options:d})}}else e.containSearchText(c.label,n,o)&&r.push(c)}}catch(e){i={error:e}}finally{try{a&&!a.done&&(l=s.return)&&l.call(s)}finally{if(i)throw i.error}}return r}return t},e.getFilteredSelectedData=function(t,n){var o,i,l=[];try{for(var r=p(t),s=r.next();!s.done;s=r.next()){var a=s.value,c=a.options;if(c){var u=c.filter((function(t){return"false"===e.isSelected(n,t,!0)}));u.length&&l.push({label:a.label,options:u})}else"false"===e.isSelected(n,a,!0)&&l.push(a)}}catch(e){o={error:e}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(o)throw o.error}}return l},e.isSearchboxHiddex=function(t,n){return(""===n||null==n||isNaN(+n))&&(n=6),e.getOptionsCount(t)<+n},e.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"},e.removeSelection=function(e,t){for(var n=0;n<e.length;n++)if(e[n].value===t.value)return void e.splice(n,1)},e}(),d=0,h=["default","hidden","always"],f=function(){function e(e,t,n,i,r,s){this._viewportRuler=e,this._changeDetectorRef=t,this._parentForm=n,this._parentFormGroup=i,this._control=r,this.minCharForSearch=0,this.limitSelection=0,this.listPosition="below",this.styleMode="default",this.infiniteScrollDistance=1.5,this.infiniteScrollThrottle=150,this.resultMaxHeight="200px",this.update=new o.EventEmitter,this.open=new o.EventEmitter,this.close=new o.EventEmitter,this.focus=new o.EventEmitter,this.blur=new o.EventEmitter,this.search=new o.EventEmitter,this.scroll=new o.EventEmitter,this.removeOption=new o.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._multiple=!1,this._overlay=!1,this._resettable=!1,this._hideSelectedItems=!1,this._clickDetection=!1,this._uid="select2-"+d++,this._infiniteScroll=!0,this._onTouched=function(){},this._onChange=function(){},this.id=this.id,this._tabIndex=parseInt(s,10)||0,this._control&&(this._control.valueAccessor=this),this._clickDetectionFc=this.clickDetection.bind(this)}return Object.defineProperty(e.prototype,"data",{set:function(e){this._data=e,this.updateFilteredData()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"multiple",{get:function(){return this._multiple},set:function(e){this._multiple=this._coerceBooleanProperty(e),this.ngOnInit()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"overlay",{get:function(){return this._overlay},set:function(e){this._overlay=this._coerceBooleanProperty(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"infiniteScroll",{get:function(){return this._infiniteScroll},set:function(e){this._infiniteScroll=this._coerceBooleanProperty(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"select2Options",{get:function(){return this.multiple?this.option:null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"select2Option",{get:function(){return this.multiple?null:this.option},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"searchText",{get:function(){return this.innerSearchText},set:function(e){this.customSearchEnabled&&this.search.emit({component:this,value:this._value,search:e}),this.innerSearchText=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"minCountForSearch",{get:function(){return this._minCountForSearch},set:function(e){this._minCountForSearch=e,this.updateSearchBox()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},set:function(e){this._id=e||this._uid},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"required",{get:function(){return this._required},set:function(e){this._required=this._coerceBooleanProperty(e)},enumerable:!1,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:!1,configurable:!0}),Object.defineProperty(e.prototype,"hideSelectedItems",{get:function(){return this._hideSelectedItems},set:function(e){this._hideSelectedItems=this._coerceBooleanProperty(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"readonly",{get:function(){return this._readonly},set:function(e){this._readonly=this._coerceBooleanProperty(e)},enumerable:!1,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)}),10)},enumerable:!1,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:!1,configurable:!0}),Object.defineProperty(e.prototype,"resettable",{get:function(){return this._resettable},set:function(e){this._resettable=this._coerceBooleanProperty(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"ariaInvalid",{get:function(){return this._isErrorState()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"classMaterial",{get:function(){return"material"===this.styleMode},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"classNostyle",{get:function(){return"noStyle"===this.styleMode},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"select2above",{get:function(){return this.overlay?this._isAbobeOverlay():"above"===this.listPosition},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_positions",{get:function(){if("auto"!==this.listPosition)return null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"resultsElement",{get:function(){var e;return null===(e=this.resultContainer)||void 0===e?void 0:e.nativeElement},enumerable:!1,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this._viewportRuler.change(100).subscribe((function(){e.isOpen&&e.triggerRect()}));var t=u.getOptionsByValue(this._data,this._control?this._control.value:this.value,this.multiple);null!==t&&(this.option=t),Array.isArray(t)||(this.hoveringValue=this.value),this.updateSearchBox()},e.prototype.ngAfterViewInit=function(){var e=this;this.cdkConnectedOverlay.positionChange.subscribe((function(t){var n;"auto"===e.listPosition&&(null===(n=t.connectionPair)||void 0===n?void 0:n.originY)&&e._overlayPosition!==t.connectionPair.originY&&(e.triggerRect(),e._overlayPosition=t.connectionPair.originY,e._changeDetectorRef.detectChanges())})),this.selectionElement=this.selection.nativeElement,this.triggerRect()},e.prototype.ngDoCheck=function(){var e;this.updateSearchBox(),this._dirtyCheckNativeValue(),this._triggerRect&&(this.overlayWidth!==this._triggerRect.width&&(this.overlayWidth=this._triggerRect.width),(null===(e=this._dropdownRect)||void 0===e?void 0:e.height)>0&&this.overlayHeight!==this._dropdownRect.height&&(this.overlayHeight="auto"===this.listPosition?this._dropdownRect.height:0))},e.prototype.ngOnDestroy=function(){window.document.body.removeEventListener("click",this._clickDetectionFc)},e.prototype.updateSearchBox=function(){var e=!this.customSearchEnabled&&u.isSearchboxHiddex(this._data,this._minCountForSearch);this.isSearchboxHidden!==e&&(this.isSearchboxHidden=e)},e.prototype.hideSearch=function(){var e=h.indexOf(this.displaySearchStatus)>-1?this.displaySearchStatus:"default";return"default"===e&&this.isSearchboxHidden||"hidden"===e},e.prototype.getOptionStyle=function(e){return"select2-results__option "+(e.hide?"select2-results__option--hide ":"")+(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.reset=function(e){this.select(null),e.preventDefault(),e.stopPropagation()},e.prototype.prevChange=function(e){e.stopPropagation()},e.prototype.toggleOpenAndClose=function(){var e=this;this.disabled||(this._focus(!0),this.isOpen=!this.isOpen,this.isOpen?(this.innerSearchText="",this.updateFilteredData(),this._focusSearchboxOrResultsElement(),setTimeout((function(){if(e.option){var t=e.option instanceof Array?e.option[0]:e.option;e.updateScrollFromOption(t)}else e.resultsElement&&(e.resultsElement.scrollTop=0);setTimeout((function(){var t,n;e.triggerRect(),null===(n=null===(t=e.cdkConnectedOverlay)||void 0===t?void 0:t.overlayRef)||void 0===n||n.updatePosition()}),100)})),this.open.emit(this)):this.close.emit(this),this.isOpen&&!this._clickDetection&&setTimeout((function(){window.document.body.addEventListener("click",e._clickDetectionFc,!1),e._clickDetection=!0}),200),this._changeDetectorRef.markForCheck())},e.prototype.hasTemplate=function(e,t){var n,i;return this.templates instanceof o.TemplateRef||(null===(n=this.templates)||void 0===n?void 0:n[e.templateId])instanceof o.TemplateRef||(null===(i=this.templates)||void 0===i?void 0:i[t])instanceof o.TemplateRef},e.prototype.getTemplate=function(e,t){return this.hasTemplate(e,t)?this.templates[e.templateId]||this.templates[t]||this.templates:void 0},e.prototype.triggerRect=function(){var e;this._triggerRect=this.selectionElement.getBoundingClientRect(),this._dropdownRect=(null===(e=this.dropdown)||void 0===e?void 0:e.nativeElement)?this.dropdown.nativeElement.getBoundingClientRect():void 0},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,i,l;if(null==e&&null==t||e===t)return!1;if(this.multiple&&(null===(i=e)||void 0===i?void 0:i.length)&&(null===(l=t)||void 0===l?void 0:l.length)&&e.length===t.length){try{for(var r=p(e),s=r.next();!s.done;s=r.next()){var a=s.value;if(!(t.indexOf(a)>-1))return!0}}catch(e){n={error:e}}finally{try{s&&!s.done&&(o=r.return)&&o.call(r)}finally{if(n)throw n.error}}return!1}return!0},e.prototype.updateFilteredData=function(){var e=this;setTimeout((function(){var t=e._data;e.multiple&&e.hideSelectedItems&&(t=u.getFilteredSelectedData(t,e.option)),!e.customSearchEnabled&&e.searchText&&e.searchText.length>=+e.minCharForSearch&&(t=u.getFilteredData(t,e.searchText,e.editPattern)),u.valueIsNotInFilteredData(t,e.hoveringValue)&&(e.hoveringValue=u.getFirstAvailableOption(t)),e.filteredData=t,e._changeDetectorRef.markForCheck()}))},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 i=p(t),l=i.next();!l.done;l=i.next()){var r=l.value;if(!e.classList.contains(r))return!1}}catch(e){n={error:e}}finally{try{l&&!l.done&&(o=i.return)&&o.call(i)}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(u.getPreviousOption(this.filteredData,this.hoveringValue))},e.prototype.moveDown=function(){this.updateScrollFromOption(u.getNextOption(this.filteredData,this.hoveringValue))},e.prototype.updateScrollFromOption=function(e){if(e){this.hoveringValue=e.value;var t=this.results.find((function(t){return t.nativeElement.innerText.trim()===e.label}));if(t&&this.resultsElement){this.resultsElement.scrollTop=0;var n=this.resultsElement.getBoundingClientRect(),o=t.nativeElement.getBoundingClientRect();this.resultsElement.scrollTop=o.top-n.top}}},e.prototype.selectByEnter=function(){if(this.hoveringValue){var e=u.getOptionByValue(this._data,this.hoveringValue);this.select(e)}},e.prototype.select=function(e){var t;if(null!==e)if(this.multiple){var n=this.option,o=n.findIndex((function(t){return t.value===e.value}));-1===o?n.push(e):n.splice(o,1),t=this.option.map((function(e){return e.value}))}else this.option=e,this.isOpen&&(this.isOpen=!1,this.close.emit(this),this.selectionElement&&this.selectionElement.focus()),t=this.option.value;else this.option=null;this.multiple&&this.hideSelectedItems&&this.updateFilteredData(),this._control?this._onChange(t):this._value=t,this.update.emit({component:this,value:t,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 u.isSelected(this.option,e,this.multiple)},e.prototype.isDisabled=function(e){return e.disabled?"true":"false"},e.prototype.removeSelection=function(e,t){u.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._value=n,this.update.emit({component:this,value:n,options:Array.isArray(this.option)?this.option:this.option?[this.option]:null}),this.removeOption.emit({component:this,value:n,removedOption:t}),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.onScroll=function(e){this.scroll.emit({component:this,way:e,search:this.innerSearchText})},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 void 0!==e.key?t=e.key:void 0!==e.keyIdentifier?t=e.keyIdentifier:void 0!==e.keyCode?t=e.keyCode:e.preventDefault(),t},e.prototype._isKey=function(e,t){return void 0===t&&(t=[]),!!(t&&t.length>0)&&-1!==t.indexOf(e)},e.prototype._setSelectionByValue=function(e){var t=this;if(this.option||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&&u.getOptionsByValue(this._data,e,this.multiple).map((function(e){return t.select(e)}))):this.select(u.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(){var e=this;this.isSearchboxHidden?this.resultsElement&&this.resultsElement.focus():setTimeout((function(){e.searchInput&&e.searchInput.nativeElement&&e.searchInput.nativeElement.focus()}))},e.prototype._focus=function(e){!e&&this.focused?(this.focused=e,this.blur.emit(this)):e&&!this.focused&&(this.focused=e,this.focus.emit(this))},e.prototype._isAbobeOverlay=function(){return this.overlay&&this._overlayPosition&&"auto"===this.listPosition?"top"===this._overlayPosition:"above"===this.listPosition},e}();f.decorators=[{type:o.Component,args:[{selector:"select2",template:'<div class="select2-label" (click)="toggleOpenAndClose()">\n <ng-content select="select2-label"></ng-content>\n <span *ngIf="required" class="select2-required"></span>\n</div>\n<div\n class="select2 select2-container select2-container--default select2-container--focus"\n [class.select2-container--below]="!select2above"\n [class.select2-container--above]="select2above"\n [class.select2-container--open]="isOpen"\n [class.select2-container--disabled]="disabled"\n>\n <div\n class="selection"\n #selection\n #trigger="cdkOverlayOrigin"\n [attr.tabindex]="!this.isOpen ? tabIndex : \'-1\'"\n (click)="toggleOpenAndClose()"\n (focus)="focusin()"\n (blur)="focusout()"\n (keydown)="openKey($event)"\n cdkOverlayOrigin\n [class.select2-focused]="focused"\n >\n <div\n class="select2-selection"\n [class.select2-selection--multiple]="multiple"\n [class.select2-selection--single]="!multiple"\n role="combobox"\n >\n <span *ngIf="!multiple" class="select2-selection__rendered" [title]="select2Option?.label || \'\'">\n <span *ngIf="!select2Option"> </span>\n <span *ngIf="select2Option" [innerHTML]="select2Option.label"></span>\n <span [class.select2-selection__placeholder__option]="option" class="select2-selection__placeholder">{{\n placeholder\n }}</span>\n </span>\n <span\n (click)="reset($event)"\n *ngIf="!multiple && resettable && select2Option && !(disabled || readonly)"\n class="select2-selection__reset"\n role="presentation"\n >×</span\n >\n <span *ngIf="!multiple" class="select2-selection__arrow" role="presentation"> </span>\n <ul *ngIf="multiple" class="select2-selection__rendered">\n <span\n [class.select2-selection__placeholder__option]="select2Options?.length > 0"\n class="select2-selection__placeholder"\n >{{ placeholder }}</span\n >\n <li *ngFor="let op of option; trackBy: trackBy" class="select2-selection__choice" [title]="op.label">\n <span\n *ngIf="!(disabled || readonly)"\n (click)="removeSelection($event, op)"\n class="select2-selection__choice__remove"\n role="presentation"\n >×</span\n >\n <span [innerHTML]="op.label"></span>\n </li>\n </ul>\n </div>\n </div>\n <ng-container *ngIf="!overlay">\n <ng-container *ngTemplateOutlet="containerTemplate"></ng-container>\n </ng-container>\n\n <div class="select2-subscript-wrapper">\n <ng-content select="select2-hint"></ng-content>\n </div>\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass="select2-overlay-backdrop"\n [cdkConnectedOverlayOrigin]="trigger"\n [cdkConnectedOverlayOpen]="this.isOpen && overlay"\n [cdkConnectedOverlayMinWidth]="overlayWidth"\n [cdkConnectedOverlayHeight]="overlayHeight"\n [cdkConnectedOverlayPositions]="_positions"\n (backdropClick)="toggleOpenAndClose()"\n>\n <ng-container *ngTemplateOutlet="containerTemplate"></ng-container>\n</ng-template>\n\n<ng-template #containerTemplate>\n <div\n class="select2-container select2-container--default select2-container-dropdown"\n [class.select2-container--open]="isOpen"\n [class.select2-overlay]="overlay"\n [class.select2-position-auto]="listPosition === \'auto\'"\n >\n <div\n #dropdown\n class="select2-dropdown"\n [class.select2-dropdown--below]="!select2above"\n [class.select2-dropdown--above]="select2above"\n >\n <div class="select2-search select2-search--dropdown" [class.select2-search--hide]="hideSearch()">\n <input\n #searchInput\n [id]="id + \'-search-field\'"\n [value]="searchText"\n (keydown)="keyDown($event)"\n (keyup)="searchUpdate($event)"\n (change)="prevChange($event)"\n class="select2-search__field"\n type="search"\n role="textbox"\n autocomplete="off"\n autocorrect="off"\n autocapitalize="off"\n spellcheck="false"\n [attr.tabindex]="this.isOpen ? tabIndex : \'-1\'"\n />\n </div>\n <div class="select2-results">\n <ul\n #results\n class="select2-results__options"\n [style.max-height]="resultMaxHeight"\n role="tree"\n tabindex="-1"\n infiniteScroll\n [infiniteScrollDisabled]="!infiniteScroll && !isOpen"\n [infiniteScrollDistance]="infiniteScrollDistance"\n [infiniteScrollThrottle]="infiniteScrollThrottle"\n [infiniteScrollContainer]="results"\n (scrolled)="onScroll(\'down\')"\n (scrolledUp)="onScroll(\'up\')"\n (keydown)="keyDown($event)"\n >\n <ng-container *ngFor="let groupOrOption of filteredData; index as i; trackBy: trackBy">\n <li *ngIf="groupOrOption.options" class="select2-results__option" role="group">\n <strong\n *ngIf="!hasTemplate(groupOrOption, \'group\'); else optGroup"\n [attr.class]="\n \'select2-results__group\' +\n (groupOrOption.classes ? \' \' + groupOrOption.classes : \'\')\n "\n [innerHTML]="groupOrOption.label"\n ></strong>\n <ng-template #optGroup>\n <ng-container\n *ngTemplateOutlet="getTemplate(groupOrOption, \'group\'); context: groupOrOption"\n >\n </ng-container>\n </ng-template>\n\n <ul class="select2-results__options select2-results__options--nested">\n <li\n *ngFor="let option of groupOrOption.options; index as j; trackBy: trackBy"\n #result\n [id]="option.id || id + \'-option-\' + i + \'-\' + j"\n [class]="getOptionStyle(option)"\n role="treeitem"\n [attr.aria-selected]="isSelected(option)"\n [attr.aria-disabled]="isDisabled(option)"\n (mouseenter)="mouseenter(option)"\n (click)="click(option)"\n >\n <div\n *ngIf="!hasTemplate(option, \'option\'); else liGroup"\n class="select2-label-content"\n [innerHTML]="option.label"\n ></div>\n <ng-template #liGroup>\n <ng-container\n *ngTemplateOutlet="getTemplate(option, \'option\'); context: option"\n >\n </ng-container>\n </ng-template>\n </li>\n </ul>\n </li>\n <li\n *ngIf="!groupOrOption.options"\n #result\n [id]="groupOrOption.id || id + \'-option-\' + i"\n [class]="getOptionStyle(groupOrOption)"\n role="treeitem"\n [attr.aria-selected]="isSelected(groupOrOption)"\n [attr.aria-disabled]="isDisabled(groupOrOption)"\n (mouseenter)="mouseenter(groupOrOption)"\n (click)="click(groupOrOption)"\n >\n <div\n *ngIf="!hasTemplate(groupOrOption, \'option\'); else li"\n [innerHTML]="groupOrOption.label"\n class="select2-label-content"\n ></div>\n <ng-template #li>\n <ng-container\n *ngTemplateOutlet="getTemplate(groupOrOption, \'option\'); context: groupOrOption"\n >\n </ng-container>\n </ng-template>\n </li>\n </ng-container>\n <li\n class="select2-no-result select2-results__option"\n *ngIf="!filteredData?.length && noResultMessage"\n [innerHTML]="noResultMessage"\n ></li>\n </ul>\n </div>\n </div>\n </div>\n</ng-template>\n',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{opacity:0;position:absolute;width:0}.select2-container .select2-selection--single{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;flex:1 1 auto;overflow:hidden;padding:0 0 0 8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container .select2-selection--multiple{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;box-sizing:border-box;cursor:pointer;display:block;min-height:32px;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{border:none;box-sizing:border-box;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;height:0;overflow:hidden;position:absolute;width:100%;z-index:1051}.select2-dropdown .select2-label-content{display:contents}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;color:#000;color:var(--select2-option-text-color,#000);padding:6px;user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container.select2-container-dropdown.select2-container--open{opacity:1;width:100%}.select2-container--open .select2-dropdown{height:auto;overflow: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{box-sizing:border-box;padding:4px;width:100%}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{background:#fff;border:0;display:block;filter:alpha(opacity=0);height:auto;left:0;margin:0;min-height:100%;min-width:100%;opacity:0;padding:0;position:fixed;top:0;width:auto;z-index:99}.select2-required:before{color:red;color:var(--select2-required-color,red);content:"*"}.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 span{overflow:hidden;text-overflow:ellipsis;text-overflow:var(--select2-placeholder-overflow,ellipsis);white-space:nowrap}.select2-container--default .select2-selection--single .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--single .select2-selection__arrow,.select2-container--default .select2-selection--single .select2-selection__reset{align-items:center;display:flex;justify-content:center;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow:before{border-bottom:0 solid var(--select2-arrow-color,#888);border-color:#888 transparent;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--select2-arrow-color,#888);content:" ";height:0;width:0}.select2-container--default .select2-selection--single .select2-selection__reset{color:#999;color:var(--select2-reset-color,#999)}.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-bottom-color:var(--select2-arrow-color,#888);border-color:transparent transparent #888;border-right-color:transparent;border-top-color:transparent;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{box-sizing:border-box;flex:1 1 auto;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);display:block;float:left;margin-top:5px;overflow:hidden;text-overflow:ellipsis;text-overflow:var(--select2-placeholder-overflow,ellipsis);white-space:nowrap;width:100%}.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-right:10px;margin-top:5px}.select2-container--default .select2-selection--multiple .select2-selection__choice{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);color:#000;color:var(--select2-selection-choice-text-color,#000);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:1px solid var(--select2-selection-focus-border-color,#000);outline:none}.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{background:#fff;background:1px solid var(--select2-search-background,#fff);border:1px solid #aaa;border:1px solid var(--select2-search-border-color,#aaa);border-radius:0;border-radius:var(--select2-search-border-radius,0)}.select2-container--default .select2-search--inline .select2-search__field{-webkit-appearance:textfield;background:transparent;border:none;box-shadow:none;outline:none}.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]{background:transparent;background:var(--select2-option-disabled-background,transparent);color:#999;color:var(--select2-option-disabled-text-color,#999)}.select2-container--default .select2-results__option[aria-selected=true]{background:#ddd;background:var(--select2-option-selected-background,#ddd);color:#000;color:var(--select2-option-selected-text-color,#000)}.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__option--hide{display:none}.select2-container--default .select2-results__group{background:transparent;background:var(--select2-option-group-background,transparent);color:grey;color:var(--select2-option-group-text-color,grey);cursor:default;display:block;padding:6px}.select2-no-result{color:#888;color:var(--select2-no-result-color,#888);font-style:italic;font-style:var(--select2-font-style-color,italic)}:host.nostyle .select2-dropdown{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,:host.nostyle .select2-selection--multiple,:host.nostyle .select2-selection--single{background:transparent;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{align-items:baseline;border-top:.84375em solid transparent;display:inline-flex;height:auto;padding:.4375em 0;width:100%}:host.material .select2-container--default .select2-selection--multiple,:host.material .select2-container--default .select2-selection--single{border:0;border-radius:0;box-sizing:border-box;height:24px;width:100%}:host.material .select2-container--default .select2-selection--multiple:before,:host.material .select2-container--default .select2-selection--single:before{background:#ddd;background:var(--select2-material-underline,#ddd);bottom:1.65em;content:" ";display:block;height:1px;position:absolute;width:100%}:host.material .select2-container--default .select2-selection--multiple:after,:host.material .select2-container--default .select2-selection--single:after{background:#5a419e;background:var(--select2-material-underline-active,#5a419e);bottom:1.63em;content:" ";display:block;height:2px;left:50%;position:absolute;transition:none;width:0}:host.material .select2-container--default .select2-selection--multiple .select2-selection__rendered,:host.material .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:inherit;padding-left:1px}:host.material .select2-container--default .select2-selection--multiple .select2-selection__placeholder,:host.material .select2-container--default .select2-selection--single .select2-selection__placeholder{color:rgba(0,0,0,.38);color:var(--select2-material-placeholder-color,rgba(0,0,0,.38));display:block;left:0;position:absolute;top:20px;transform-origin:0 21px;transition:transform .3s}:host.material .select2-container--default .select2-container--open{bottom:1.6em;left:0}:host.material .select2-container--default .select2-selection__placeholder__option{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-container--open .select2-selection--multiple:after,:host.material .select2-container--default.select2-container--open .select2-selection--single:after,:host.material .select2-container--default .select2-focused .select2-selection--multiple:after,:host.material .select2-container--default .select2-focused .select2-selection--single:after{left:0;transition:width .3s cubic-bezier(.12,1,.77,1),left .3s cubic-bezier(.12,1,.77,1);width:100%}:host.material .select2-container--default .select2-dropdown{border:0;border-radius: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:transparent}:host.material .select2-container--default.select2-container--disabled .select2-selection--multiple:before,:host.material .select2-container--default.select2-container--disabled .select2-selection--single:before{background:linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 33%,transparent 0);background:var(--select2-material-underline-disabled,linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 33%,transparent 0));background-position:0 bottom;background-repeat:repeat-x;background-size:4px 1px}: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{color:#888;color:var(--select2-hint-text-color,#888);font-size:75%;position:absolute;top:calc(100% - 1.72917em)}::ng-deep .select2-overlay-backdrop{background:rgba(0,0,0,.32);background:var(--select2-overlay-backdrop,transparent)}::ng-deep .cdk-overlay-container .select2-container .select2-dropdown.select2-dropdown--above{bottom:28px}::ng-deep .cdk-overlay-container .select2-container--open.select2-position-auto .select2-dropdown{margin-bottom:28px}::ng-deep .cdk-overlay-container .select2-container--open.select2-position-auto .select2-dropdown.select2-dropdown--above{bottom:0;margin-bottom:0;margin-top:28px}@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}}']}]}],f.ctorParameters=function(){return[{type:n.ViewportRuler},{type:o.ChangeDetectorRef},{type:i.NgForm,decorators:[{type:o.Optional}]},{type:i.FormGroupDirective,decorators:[{type:o.Optional}]},{type:i.NgControl,decorators:[{type:o.Self},{type:o.Optional}]},{type:String,decorators:[{type:o.Attribute,args:["tabindex"]}]}]},f.propDecorators={data:[{type:o.Input}],minCharForSearch:[{type:o.Input}],displaySearchStatus:[{type:o.Input}],placeholder:[{type:o.Input}],customSearchEnabled:[{type:o.Input}],limitSelection:[{type:o.Input}],listPosition:[{type:o.Input}],multiple:[{type:o.Input}],overlay:[{type:o.Input}],styleMode:[{type:o.Input}],noResultMessage:[{type:o.Input}],infiniteScrollDistance:[{type:o.Input}],infiniteScrollThrottle:[{type:o.Input}],infiniteScroll:[{type:o.Input}],editPattern:[{type:o.Input}],templates:[{type:o.Input}],resultMaxHeight:[{type:o.Input}],update:[{type:o.Output}],open:[{type:o.Output}],close:[{type:o.Output}],focus:[{type:o.Output}],blur:[{type:o.Output}],search:[{type:o.Output}],scroll:[{type:o.Output}],removeOption:[{type:o.Output}],minCountForSearch:[{type:o.Input}],id:[{type:o.Input},{type:o.HostBinding,args:["id"]}],required:[{type:o.Input}],disabled:[{type:o.Input}],hideSelectedItems:[{type:o.Input}],readonly:[{type:o.Input}],value:[{type:o.Input}],tabIndex:[{type:o.Input}],resettable:[{type:o.Input}],ariaInvalid:[{type:o.HostBinding,args:["attr.aria-invalid"]}],classMaterial:[{type:o.HostBinding,args:["class.material"]}],classNostyle:[{type:o.HostBinding,args:["class.nostyle"]}],select2above:[{type:o.HostBinding,args:["class.select2-above"]}],cdkConnectedOverlay:[{type:o.ViewChild,args:[t.CdkConnectedOverlay]}],selection:[{type:o.ViewChild,args:["selection",{static:!0}]}],resultContainer:[{type:o.ViewChild,args:["results"]}],results:[{type:o.ViewChildren,args:["result"]}],searchInput:[{type:o.ViewChild,args:["searchInput"]}],dropdown:[{type:o.ViewChild,args:["dropdown"]}]};var g=function(){};g.decorators=[{type:o.Directive,args:[{selector:"select2-hint"}]}];var b=function(){};b.decorators=[{type:o.Directive,args:[{selector:"select2-label"}]}];var v=function(){};v.decorators=[{type:o.NgModule,args:[{imports:[r.CommonModule,i.FormsModule,t.OverlayModule,i.ReactiveFormsModule,s.InfiniteScrollModule],declarations:[g,b,f],exports:[i.FormsModule,i.ReactiveFormsModule,g,b,f]}]}],e.Select2=f,e.Select2Hint=g,e.Select2Label=b,e.Select2Module=v,e.Select2Utils=u,e.defaultMinCountForSearch=6,e.protectRegexp=c,e.timeout=200,e.unicodePatterns=a,Object.defineProperty(e,"__esModule",{value:!0})})); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/cdk/overlay"),require("@angular/cdk/scrolling"),require("@angular/core"),require("@angular/forms"),require("rxjs"),require("@angular/common"),require("ngx-infinite-scroll")):"function"==typeof define&&define.amd?define("ng-select2-component",["exports","@angular/cdk/overlay","@angular/cdk/scrolling","@angular/core","@angular/forms","rxjs","@angular/common","ngx-infinite-scroll"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["ng-select2-component"]={},e.ng.cdk.overlay,e.ng.cdk.scrolling,e.ng.core,e.ng.forms,e.rxjs,e.ng.common,e.ngxInfiniteScroll)}(this,(function(e,t,n,o,l,i,r,s){"use strict";var a=[{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}],c=new RegExp("[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]","g");Object.create;function u(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],o=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}Object.create;var d=function(){function e(){}return e.getOptionByValue=function(e,t){var n,o,l,i;if(Array.isArray(e))try{for(var r=u(e),s=r.next();!s.done;s=r.next()){var a=s.value,c=a.options;if(c)try{for(var d=(l=void 0,u(c)),p=d.next();!p.done;p=d.next()){var h=p.value;if(h.value===t)return h}}catch(e){l={error:e}}finally{try{p&&!p.done&&(i=d.return)&&i.call(d)}finally{if(l)throw l.error}}else if(a.value===t)return a}}catch(e){n={error:e}}finally{try{s&&!s.done&&(o=r.return)&&o.call(r)}finally{if(n)throw n.error}}return null},e.getOptionsByValue=function(t,n,o){var l,i;if(o){var r=Array.isArray(n)?n:[],s=[];try{for(var a=u(r),c=a.next();!c.done;c=a.next()){var d=c.value,p=e.getOptionByValue(t,d);p&&s.push(p)}}catch(e){l={error:e}}finally{try{c&&!c.done&&(i=a.return)&&i.call(a)}finally{if(l)throw l.error}}return s}return e.getOptionByValue(t,n)},e.getFirstAvailableOption=function(e){var t,n,o,l;if(Array.isArray(e))try{for(var i=u(e),r=i.next();!r.done;r=i.next()){var s=r.value,a=s.options;if(a)try{for(var c=(o=void 0,u(a)),d=c.next();!d.done;d=c.next()){var p;if(!(p=d.value).disabled)return p.value}}catch(e){o={error:e}}finally{try{d&&!d.done&&(l=c.return)&&l.call(c)}finally{if(o)throw o.error}}else if(!(p=s).disabled)return p.value}}catch(e){t={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}return null},e.valueIsNotInFilteredData=function(t,n){var o,l,i,r;if(e.isNullOrUndefined(n))return!0;try{for(var s=u(t),a=s.next();!a.done;a=s.next()){var c=a.value,d=c.options;if(d)try{for(var p=(i=void 0,u(d)),h=p.next();!h.done;h=p.next()){if(h.value.value===n)return!1}}catch(e){i={error:e}}finally{try{h&&!h.done&&(r=p.return)&&r.call(p)}finally{if(i)throw i.error}}else if(c.value===n)return!1}}catch(e){o={error:e}}finally{try{a&&!a.done&&(l=s.return)&&l.call(s)}finally{if(o)throw o.error}}return!0},e.getPreviousOption=function(t,n){for(var o=e.isNullOrUndefined(n),l=t.length-1;l>=0;l--){var i=t[l],r=i.options;if(r)for(var s=r.length-1;s>=0;s--){var a=r[s];if(o&&!a.disabled&&!a.hide)return a;o||(o=a.value===n)}else{a=i;if(o&&!a.disabled&&!a.hide)return a;o||(o=a.value===n)}}return null},e.getNextOption=function(t,n){var o,l,i,r,s=e.isNullOrUndefined(n);try{for(var a=u(t),c=a.next();!c.done;c=a.next()){var d=c.value,p=d.options;if(p)try{for(var h=(i=void 0,u(p)),f=h.next();!f.done;f=h.next()){var g=f.value;if(s){if(!g.disabled&&!g.hide)return g}else s||(s=g.value===n)}}catch(e){i={error:e}}finally{try{f&&!f.done&&(r=h.return)&&r.call(h)}finally{if(i)throw i.error}}else{g=d;if(s){if(!g.disabled&&!g.hide)return g}else s||(s=g.value===n)}}}catch(e){o={error:e}}finally{try{c&&!c.done&&(l=a.return)&&l.call(a)}finally{if(o)throw o.error}}return null},e.getReduceData=function(e,t){var n,o,l,i;if(void 0===t&&(t=0),t>0){var r=0,s=[];try{for(var a=u(e),c=a.next();!c.done;c=a.next()){var d=c.value,p=d.options;if(p){var h=Object.assign(Object.assign({},d),{options:[]});s.push(h);try{for(var f=(l=void 0,u(p)),g=f.next();!g.done;g=f.next()){var b=g.value;if(h.options.push(b),++r===t)return{result:s,reduce:!0}}}catch(e){l={error:e}}finally{try{g&&!g.done&&(i=f.return)&&i.call(f)}finally{if(l)throw l.error}}}else s.push(d),r++;if(r===t)return{result:s,reduce:!0}}}catch(e){n={error:e}}finally{try{c&&!c.done&&(o=a.return)&&o.call(a)}finally{if(n)throw n.error}}return{result:s,reduce:!1}}return{result:e,reduce:!1}},e.getFilteredData=function(t,n,o){var l,i;if(n){var r=[];try{for(var s=u(t),a=s.next();!a.done;a=s.next()){var c=a.value,d=c.options;if(d){if(d.some((function(t){return e.containSearchText(t.label,n,o)}))){var p=d.filter((function(t){return e.containSearchText(t.label,n,o)}));r.push(Object.assign(Object.assign({},c),{options:p}))}}else e.containSearchText(c.label,n,o)&&r.push(c)}}catch(e){l={error:e}}finally{try{a&&!a.done&&(i=s.return)&&i.call(s)}finally{if(l)throw l.error}}return r}return t},e.getFilteredSelectedData=function(t,n){var o,l,i=[];try{for(var r=u(t),s=r.next();!s.done;s=r.next()){var a=s.value,c=a.options;if(c){var d=c.filter((function(t){return"false"===e.isSelected(n,t,!0)}));d.length&&i.push(Object.assign(Object.assign({},a),{options:d}))}else"false"===e.isSelected(n,a,!0)&&i.push(a)}}catch(e){o={error:e}}finally{try{s&&!s.done&&(l=r.return)&&l.call(r)}finally{if(o)throw o.error}}return i},e.isSearchboxHiddex=function(t,n){return(""===n||null==n||isNaN(+n))&&(n=6),e.getOptionsCount(t)<+n},e.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"},e.removeSelection=function(e,t){for(var n=0;n<e.length;n++)if(e[n].value===t.value)return void e.splice(n,1)},e.getOptionsCount=function(e){var t,n,o=0;if(Array.isArray(e))try{for(var l=u(e),i=l.next();!i.done;i=l.next()){var r=i.value.options;r?o+=r.length:o++}}catch(e){t={error:e}}finally{try{i&&!i.done&&(n=l.return)&&n.call(l)}finally{if(t)throw t.error}}return o},e.isNullOrUndefined=function(e){return null==e},e.containSearchText=function(t,n,o){return!n||null!==e.formatSansUnicode(t).match(new RegExp(e.formatPattern(n,o),"i"))},e.protectPattern=function(e){return e.replace(c,"\\$&")},e.formatSansUnicode=function(e){var t,n;try{for(var o=u(a),l=o.next();!l.done;l=o.next()){var i=l.value;e=e.replace(i.s,i.l)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(n=o.return)&&n.call(o)}finally{if(t)throw t.error}}return e},e.formatPattern=function(t,n){return t=e.formatSansUnicode(e.protectPattern(t)),n&&"function"==typeof n&&(t=n(t)),t},e}(),p=0,h=["default","hidden","always"],f=function(){function e(e,t,n,l,r,s){this._viewportRuler=e,this._changeDetectorRef=t,this._parentForm=n,this._parentFormGroup=l,this._control=r,this.minCharForSearch=0,this.limitSelection=0,this.listPosition="below",this.styleMode="default",this.maxResults=0,this.maxResultsMessage="Too many results…",this.infiniteScrollDistance=1.5,this.infiniteScrollThrottle=150,this.resultMaxHeight="200px",this.update=new o.EventEmitter,this.open=new o.EventEmitter,this.close=new o.EventEmitter,this.focus=new o.EventEmitter,this.blur=new o.EventEmitter,this.search=new o.EventEmitter,this.scroll=new o.EventEmitter,this.removeOption=new o.EventEmitter,this.option=null,this.isOpen=!1,this.focused=!1,this.hoveringValue=null,this.innerSearchText="",this._stateChanges=new i.Subject,this._disabled=!1,this._required=!1,this._readonly=!1,this._multiple=!1,this._overlay=!1,this._resettable=!1,this._hideSelectedItems=!1,this._clickDetection=!1,this._uid="select2-"+p++,this._infiniteScroll=!0,this._onTouched=function(){},this._onChange=function(){},this.id=this.id,this._tabIndex=parseInt(s,10)||0,this._control&&(this._control.valueAccessor=this),this._clickDetectionFc=this.clickDetection.bind(this)}return Object.defineProperty(e.prototype,"data",{set:function(e){this._data=e,this.updateFilteredData()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"multiple",{get:function(){return this._multiple},set:function(e){this._multiple=this._coerceBooleanProperty(e),this.ngOnInit()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"overlay",{get:function(){return this._overlay},set:function(e){this._overlay=this._coerceBooleanProperty(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"infiniteScroll",{get:function(){return this._infiniteScroll},set:function(e){this._infiniteScroll=this._coerceBooleanProperty(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"select2Options",{get:function(){return this.multiple?this.option:null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"select2Option",{get:function(){return this.multiple?null:this.option},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"searchText",{get:function(){return this.innerSearchText},set:function(e){this.customSearchEnabled&&this.search.emit({component:this,value:this._value,search:e}),this.innerSearchText=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"minCountForSearch",{get:function(){return this._minCountForSearch},set:function(e){this._minCountForSearch=e,this.updateSearchBox()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},set:function(e){this._id=e||this._uid},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"required",{get:function(){return this._required},set:function(e){this._required=this._coerceBooleanProperty(e)},enumerable:!1,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:!1,configurable:!0}),Object.defineProperty(e.prototype,"hideSelectedItems",{get:function(){return this._hideSelectedItems},set:function(e){this._hideSelectedItems=this._coerceBooleanProperty(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"readonly",{get:function(){return this._readonly},set:function(e){this._readonly=this._coerceBooleanProperty(e)},enumerable:!1,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)}),10)},enumerable:!1,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:!1,configurable:!0}),Object.defineProperty(e.prototype,"resettable",{get:function(){return this._resettable},set:function(e){this._resettable=this._coerceBooleanProperty(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"ariaInvalid",{get:function(){return this._isErrorState()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"classMaterial",{get:function(){return"material"===this.styleMode},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"classNostyle",{get:function(){return"noStyle"===this.styleMode},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"select2above",{get:function(){return this.overlay?this._isAbobeOverlay():"above"===this.listPosition},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_positions",{get:function(){if("auto"!==this.listPosition)return null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"resultsElement",{get:function(){var e;return null===(e=this.resultContainer)||void 0===e?void 0:e.nativeElement},enumerable:!1,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this._viewportRuler.change(100).subscribe((function(){e.isOpen&&e.triggerRect()}));var t=d.getOptionsByValue(this._data,this._control?this._control.value:this.value,this.multiple);null!==t&&(this.option=t),Array.isArray(t)||(this.hoveringValue=this.value),this.updateSearchBox()},e.prototype.ngAfterViewInit=function(){var e=this;this.cdkConnectedOverlay.positionChange.subscribe((function(t){var n;"auto"===e.listPosition&&(null===(n=t.connectionPair)||void 0===n?void 0:n.originY)&&e._overlayPosition!==t.connectionPair.originY&&(e.triggerRect(),e._overlayPosition=t.connectionPair.originY,e._changeDetectorRef.detectChanges())})),this.selectionElement=this.selection.nativeElement,this.triggerRect()},e.prototype.ngDoCheck=function(){var e;this.updateSearchBox(),this._dirtyCheckNativeValue(),this._triggerRect&&(this.overlayWidth!==this._triggerRect.width&&(this.overlayWidth=this._triggerRect.width),(null===(e=this._dropdownRect)||void 0===e?void 0:e.height)>0&&this.overlayHeight!==this._dropdownRect.height&&(this.overlayHeight="auto"===this.listPosition?this._dropdownRect.height:0))},e.prototype.ngOnDestroy=function(){window.document.body.removeEventListener("click",this._clickDetectionFc)},e.prototype.updateSearchBox=function(){var e=!this.customSearchEnabled&&d.isSearchboxHiddex(this._data,this._minCountForSearch);this.isSearchboxHidden!==e&&(this.isSearchboxHidden=e)},e.prototype.hideSearch=function(){var e=h.indexOf(this.displaySearchStatus)>-1?this.displaySearchStatus:"default";return"default"===e&&this.isSearchboxHidden||"hidden"===e},e.prototype.getOptionStyle=function(e){return"select2-results__option "+(e.hide?"select2-results__option--hide ":"")+(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.reset=function(e){this.select(null),e.preventDefault(),e.stopPropagation()},e.prototype.prevChange=function(e){e.stopPropagation()},e.prototype.toggleOpenAndClose=function(){var e=this;this.disabled||(this._focus(!0),this.isOpen=!this.isOpen,this.isOpen?(this.innerSearchText="",this.updateFilteredData(),this._focusSearchboxOrResultsElement(),setTimeout((function(){if(e.option){var t=e.option instanceof Array?e.option[0]:e.option;e.updateScrollFromOption(t)}else e.resultsElement&&(e.resultsElement.scrollTop=0);setTimeout((function(){var t,n;e.triggerRect(),null===(n=null===(t=e.cdkConnectedOverlay)||void 0===t?void 0:t.overlayRef)||void 0===n||n.updatePosition()}),100)})),this.open.emit(this)):this.close.emit(this),this.isOpen&&!this._clickDetection&&setTimeout((function(){window.document.body.addEventListener("click",e._clickDetectionFc,!1),e._clickDetection=!0}),200),this._changeDetectorRef.markForCheck())},e.prototype.hasTemplate=function(e,t){var n,l;return this.templates instanceof o.TemplateRef||(null===(n=this.templates)||void 0===n?void 0:n[e.templateId])instanceof o.TemplateRef||(null===(l=this.templates)||void 0===l?void 0:l[t])instanceof o.TemplateRef},e.prototype.getTemplate=function(e,t){return this.hasTemplate(e,t)?this.templates[e.templateId]||this.templates[t]||this.templates:void 0},e.prototype.triggerRect=function(){var e;this._triggerRect=this.selectionElement.getBoundingClientRect(),this._dropdownRect=(null===(e=this.dropdown)||void 0===e?void 0:e.nativeElement)?this.dropdown.nativeElement.getBoundingClientRect():void 0},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,l,i;if(null==e&&null==t||e===t)return!1;if(this.multiple&&(null===(l=e)||void 0===l?void 0:l.length)&&(null===(i=t)||void 0===i?void 0:i.length)&&e.length===t.length){try{for(var r=u(e),s=r.next();!s.done;s=r.next()){var a=s.value;if(!(t.indexOf(a)>-1))return!0}}catch(e){n={error:e}}finally{try{s&&!s.done&&(o=r.return)&&o.call(r)}finally{if(n)throw n.error}}return!1}return!0},e.prototype.updateFilteredData=function(){var e=this;setTimeout((function(){var t=e._data;if(e.multiple&&e.hideSelectedItems&&(t=d.getFilteredSelectedData(t,e.option)),!e.customSearchEnabled&&e.searchText&&e.searchText.length>=+e.minCharForSearch&&(t=d.getFilteredData(t,e.searchText,e.editPattern)),e.maxResults>0){var n=d.getReduceData(t,+e.maxResults);t=n.result,e.maxResultsExceeded=n.reduce}else e.maxResultsExceeded=!1;d.valueIsNotInFilteredData(t,e.hoveringValue)&&(e.hoveringValue=d.getFirstAvailableOption(t)),e.filteredData=t,e._changeDetectorRef.markForCheck()}))},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 l=u(t),i=l.next();!i.done;i=l.next()){var r=i.value;if(!e.classList.contains(r))return!1}}catch(e){n={error:e}}finally{try{i&&!i.done&&(o=l.return)&&o.call(l)}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.select=function(e){var t;if(null!==e)if(this.multiple){var n=this.option,o=n.findIndex((function(t){return t.value===e.value}));-1===o?n.push(e):n.splice(o,1),t=this.option.map((function(e){return e.value}))}else this.option=e,this.isOpen&&(this.isOpen=!1,this.close.emit(this),this.selectionElement&&this.selectionElement.focus()),t=this.option.value;else this.option=null;this.multiple&&this.hideSelectedItems&&this.updateFilteredData(),this._control?this._onChange(t):this._value=t,this.update.emit({component:this,value:t,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 d.isSelected(this.option,e,this.multiple)},e.prototype.isDisabled=function(e){return e.disabled?"true":"false"},e.prototype.removeSelection=function(e,t){d.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._value=n,this.update.emit({component:this,value:n,options:Array.isArray(this.option)?this.option:this.option?[this.option]:null}),this.removeOption.emit({component:this,value:n,removedOption:t}),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.onScroll=function(e){this.scroll.emit({component:this,way:e,search:this.innerSearchText})},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.moveUp=function(){this.updateScrollFromOption(d.getPreviousOption(this.filteredData,this.hoveringValue))},e.prototype.moveDown=function(){this.updateScrollFromOption(d.getNextOption(this.filteredData,this.hoveringValue))},e.prototype.updateScrollFromOption=function(e){if(e){this.hoveringValue=e.value;var t=this.results.find((function(t){return t.nativeElement.innerText.trim()===e.label}));if(t&&this.resultsElement){this.resultsElement.scrollTop=0;var n=this.resultsElement.getBoundingClientRect(),o=t.nativeElement.getBoundingClientRect();this.resultsElement.scrollTop=o.top-n.top}}},e.prototype.selectByEnter=function(){if(this.hoveringValue){var e=d.getOptionByValue(this._data,this.hoveringValue);this.select(e)}},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 void 0!==e.key?t=e.key:void 0!==e.keyIdentifier?t=e.keyIdentifier:void 0!==e.keyCode?t=e.keyCode:e.preventDefault(),t},e.prototype._isKey=function(e,t){return void 0===t&&(t=[]),!!(t&&t.length>0)&&-1!==t.indexOf(e)},e.prototype._setSelectionByValue=function(e){var t=this;if(this.option||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&&d.getOptionsByValue(this._data,e,this.multiple).map((function(e){return t.select(e)}))):this.select(d.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(){var e=this;this.isSearchboxHidden?this.resultsElement&&this.resultsElement.focus():setTimeout((function(){e.searchInput&&e.searchInput.nativeElement&&e.searchInput.nativeElement.focus()}))},e.prototype._focus=function(e){!e&&this.focused?(this.focused=e,this.blur.emit(this)):e&&!this.focused&&(this.focused=e,this.focus.emit(this))},e.prototype._isAbobeOverlay=function(){return this.overlay&&this._overlayPosition&&"auto"===this.listPosition?"top"===this._overlayPosition:"above"===this.listPosition},e}();f.decorators=[{type:o.Component,args:[{selector:"select2",template:'<div class="select2-label" (click)="toggleOpenAndClose()">\n <ng-content select="select2-label"></ng-content>\n <span *ngIf="required" class="select2-required"></span>\n</div>\n<div\n class="select2 select2-container select2-container--default select2-container--focus"\n [class.select2-container--below]="!select2above"\n [class.select2-container--above]="select2above"\n [class.select2-container--open]="isOpen"\n [class.select2-container--disabled]="disabled"\n>\n <div\n class="selection"\n #selection\n #trigger="cdkOverlayOrigin"\n [attr.tabindex]="!this.isOpen ? tabIndex : \'-1\'"\n (click)="toggleOpenAndClose()"\n (focus)="focusin()"\n (blur)="focusout()"\n (keydown)="openKey($event)"\n cdkOverlayOrigin\n [class.select2-focused]="focused"\n >\n <div\n class="select2-selection"\n [class.select2-selection--multiple]="multiple"\n [class.select2-selection--single]="!multiple"\n role="combobox"\n >\n <span *ngIf="!multiple" class="select2-selection__rendered" [title]="select2Option?.label || \'\'">\n <span *ngIf="!select2Option"> </span>\n <span *ngIf="select2Option" [innerHTML]="select2Option.label"></span>\n <span [class.select2-selection__placeholder__option]="option" class="select2-selection__placeholder">{{\n placeholder\n }}</span>\n </span>\n <span\n (click)="reset($event)"\n *ngIf="!multiple && resettable && select2Option && !(disabled || readonly)"\n class="select2-selection__reset"\n role="presentation"\n >×</span\n >\n <span *ngIf="!multiple" class="select2-selection__arrow" role="presentation"> </span>\n <ul *ngIf="multiple" class="select2-selection__rendered">\n <span\n [class.select2-selection__placeholder__option]="select2Options?.length > 0"\n class="select2-selection__placeholder"\n >{{ placeholder }}</span\n >\n <li *ngFor="let op of option; trackBy: trackBy" class="select2-selection__choice" [title]="op.label">\n <span\n *ngIf="!(disabled || readonly)"\n (click)="removeSelection($event, op)"\n class="select2-selection__choice__remove"\n role="presentation"\n >×</span\n >\n <span [innerHTML]="op.label"></span>\n </li>\n </ul>\n </div>\n </div>\n <ng-container *ngIf="!overlay">\n <ng-container *ngTemplateOutlet="containerTemplate"></ng-container>\n </ng-container>\n\n <div class="select2-subscript-wrapper">\n <ng-content select="select2-hint"></ng-content>\n </div>\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass="select2-overlay-backdrop"\n [cdkConnectedOverlayOrigin]="trigger"\n [cdkConnectedOverlayOpen]="this.isOpen && overlay"\n [cdkConnectedOverlayMinWidth]="overlayWidth"\n [cdkConnectedOverlayHeight]="overlayHeight"\n [cdkConnectedOverlayPositions]="_positions"\n (backdropClick)="toggleOpenAndClose()"\n>\n <ng-container *ngTemplateOutlet="containerTemplate"></ng-container>\n</ng-template>\n\n<ng-template #containerTemplate>\n <div\n class="select2-container select2-container--default select2-container-dropdown"\n [class.select2-container--open]="isOpen"\n [class.select2-overlay]="overlay"\n [class.select2-position-auto]="listPosition === \'auto\'"\n >\n <div\n #dropdown\n class="select2-dropdown"\n [class.select2-dropdown--below]="!select2above"\n [class.select2-dropdown--above]="select2above"\n >\n <div class="select2-search select2-search--dropdown" [class.select2-search--hide]="hideSearch()">\n <input\n #searchInput\n [id]="id + \'-search-field\'"\n [value]="searchText"\n (keydown)="keyDown($event)"\n (keyup)="searchUpdate($event)"\n (change)="prevChange($event)"\n class="select2-search__field"\n type="search"\n role="textbox"\n autocomplete="off"\n autocorrect="off"\n autocapitalize="off"\n spellcheck="false"\n [attr.tabindex]="this.isOpen ? tabIndex : \'-1\'"\n />\n </div>\n <div class="select2-results">\n <ul\n #results\n class="select2-results__options"\n [style.max-height]="resultMaxHeight"\n role="tree"\n tabindex="-1"\n infiniteScroll\n [infiniteScrollDisabled]="!infiniteScroll && !isOpen"\n [infiniteScrollDistance]="infiniteScrollDistance"\n [infiniteScrollThrottle]="infiniteScrollThrottle"\n [infiniteScrollContainer]="results"\n (scrolled)="onScroll(\'down\')"\n (scrolledUp)="onScroll(\'up\')"\n (keydown)="keyDown($event)"\n >\n <ng-container *ngFor="let groupOrOption of filteredData; index as i; trackBy: trackBy">\n <li *ngIf="groupOrOption.options" class="select2-results__option" role="group">\n <strong\n *ngIf="!hasTemplate(groupOrOption, \'group\'); else optGroup"\n [attr.class]="\n \'select2-results__group\' +\n (groupOrOption.classes ? \' \' + groupOrOption.classes : \'\')\n "\n [innerHTML]="groupOrOption.label"\n ></strong>\n <ng-template #optGroup>\n <ng-container\n *ngTemplateOutlet="getTemplate(groupOrOption, \'group\'); context: groupOrOption"\n >\n </ng-container>\n </ng-template>\n\n <ul class="select2-results__options select2-results__options--nested">\n <li\n *ngFor="let option of groupOrOption.options; index as j; trackBy: trackBy"\n #result\n [id]="option.id || id + \'-option-\' + i + \'-\' + j"\n [class]="getOptionStyle(option)"\n role="treeitem"\n [attr.aria-selected]="isSelected(option)"\n [attr.aria-disabled]="isDisabled(option)"\n (mouseenter)="mouseenter(option)"\n (click)="click(option)"\n >\n <div\n *ngIf="!hasTemplate(option, \'option\'); else liGroup"\n class="select2-label-content"\n [innerHTML]="option.label"\n ></div>\n <ng-template #liGroup>\n <ng-container\n *ngTemplateOutlet="getTemplate(option, \'option\'); context: option"\n >\n </ng-container>\n </ng-template>\n </li>\n </ul>\n </li>\n <li\n *ngIf="!groupOrOption.options"\n #result\n [id]="groupOrOption.id || id + \'-option-\' + i"\n [class]="getOptionStyle(groupOrOption)"\n role="treeitem"\n [attr.aria-selected]="isSelected(groupOrOption)"\n [attr.aria-disabled]="isDisabled(groupOrOption)"\n (mouseenter)="mouseenter(groupOrOption)"\n (click)="click(groupOrOption)"\n >\n <div\n *ngIf="!hasTemplate(groupOrOption, \'option\'); else li"\n [innerHTML]="groupOrOption.label"\n class="select2-label-content"\n ></div>\n <ng-template #li>\n <ng-container\n *ngTemplateOutlet="getTemplate(groupOrOption, \'option\'); context: groupOrOption"\n >\n </ng-container>\n </ng-template>\n </li>\n </ng-container>\n <li\n class="select2-no-result select2-results__option"\n *ngIf="!filteredData?.length && noResultMessage"\n [innerHTML]="noResultMessage"\n ></li>\n <li\n class="select2-too-much-result select2-results__option"\n *ngIf="maxResultsExceeded"\n [innerHTML]="maxResultsMessage"\n ></li>\n </ul>\n </div>\n </div>\n </div>\n</ng-template>\n',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{opacity:0;position:absolute;width:0}.select2-container .select2-selection--single{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;flex:1 1 auto;overflow:hidden;padding:0 0 0 8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container .select2-selection--multiple{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;box-sizing:border-box;cursor:pointer;display:block;min-height:32px;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{border:none;box-sizing:border-box;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;height:0;overflow:hidden;position:absolute;width:100%;z-index:1051}.select2-dropdown .select2-label-content{display:contents}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;color:#000;color:var(--select2-option-text-color,#000);padding:6px;user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container.select2-container-dropdown.select2-container--open{opacity:1;width:100%}.select2-container--open .select2-dropdown{height:auto;overflow: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{box-sizing:border-box;padding:4px;width:100%}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{background:#fff;border:0;display:block;filter:alpha(opacity=0);height:auto;left:0;margin:0;min-height:100%;min-width:100%;opacity:0;padding:0;position:fixed;top:0;width:auto;z-index:99}.select2-required:before{color:red;color:var(--select2-required-color,red);content:"*"}.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 span{overflow:hidden;text-overflow:ellipsis;text-overflow:var(--select2-placeholder-overflow,ellipsis);white-space:nowrap}.select2-container--default .select2-selection--single .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--single .select2-selection__arrow,.select2-container--default .select2-selection--single .select2-selection__reset{align-items:center;display:flex;justify-content:center;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow:before{border-bottom:0 solid var(--select2-arrow-color,#888);border-color:#888 transparent;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--select2-arrow-color,#888);content:" ";height:0;width:0}.select2-container--default .select2-selection--single .select2-selection__reset{color:#999;color:var(--select2-reset-color,#999)}.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-bottom-color:var(--select2-arrow-color,#888);border-color:transparent transparent #888;border-right-color:transparent;border-top-color:transparent;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{box-sizing:border-box;flex:1 1 auto;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);display:block;float:left;margin-top:5px;overflow:hidden;text-overflow:ellipsis;text-overflow:var(--select2-placeholder-overflow,ellipsis);white-space:nowrap;width:100%}.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-right:10px;margin-top:5px}.select2-container--default .select2-selection--multiple .select2-selection__choice{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);color:#000;color:var(--select2-selection-choice-text-color,#000);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:1px solid var(--select2-selection-focus-border-color,#000);outline:none}.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{background:#fff;background:1px solid var(--select2-search-background,#fff);border:1px solid #aaa;border:1px solid var(--select2-search-border-color,#aaa);border-radius:0;border-radius:var(--select2-search-border-radius,0)}.select2-container--default .select2-search--inline .select2-search__field{-webkit-appearance:textfield;background:transparent;border:none;box-shadow:none;outline:none}.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]{background:transparent;background:var(--select2-option-disabled-background,transparent);color:#999;color:var(--select2-option-disabled-text-color,#999)}.select2-container--default .select2-results__option[aria-selected=true]{background:#ddd;background:var(--select2-option-selected-background,#ddd);color:#000;color:var(--select2-option-selected-text-color,#000)}.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__option--hide{display:none}.select2-container--default .select2-results__group{background:transparent;background:var(--select2-option-group-background,transparent);color:grey;color:var(--select2-option-group-text-color,grey);cursor:default;display:block;padding:6px}.select2-no-result{color:#888;color:var(--select2-no-result-color,#888);font-style:italic;font-style:var(--select2-no-result-font-style,italic)}.select2-too-much-result{color:#888;color:var(--select2-too-much-result-color,#888);font-style:italic;font-style:var(--select2-too-much-font-style,italic)}:host.nostyle .select2-dropdown{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,:host.nostyle .select2-selection--multiple,:host.nostyle .select2-selection--single{background:transparent;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{align-items:baseline;border-top:.84375em solid transparent;display:inline-flex;height:auto;padding:.4375em 0;width:100%}:host.material .select2-container--default .select2-selection--multiple,:host.material .select2-container--default .select2-selection--single{border:0;border-radius:0;box-sizing:border-box;height:24px;width:100%}:host.material .select2-container--default .select2-selection--multiple:before,:host.material .select2-container--default .select2-selection--single:before{background:#ddd;background:var(--select2-material-underline,#ddd);bottom:1.65em;content:" ";display:block;height:1px;position:absolute;width:100%}:host.material .select2-container--default .select2-selection--multiple:after,:host.material .select2-container--default .select2-selection--single:after{background:#5a419e;background:var(--select2-material-underline-active,#5a419e);bottom:1.63em;content:" ";display:block;height:2px;left:50%;position:absolute;transition:none;width:0}:host.material .select2-container--default .select2-selection--multiple .select2-selection__rendered,:host.material .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:inherit;padding-left:1px}:host.material .select2-container--default .select2-selection--multiple .select2-selection__placeholder,:host.material .select2-container--default .select2-selection--single .select2-selection__placeholder{color:rgba(0,0,0,.38);color:var(--select2-material-placeholder-color,rgba(0,0,0,.38));display:block;left:0;position:absolute;top:20px;transform-origin:0 21px;transition:transform .3s}:host.material .select2-container--default .select2-container--open{bottom:1.6em;left:0}:host.material .select2-container--default .select2-selection__placeholder__option{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-container--open .select2-selection--multiple:after,:host.material .select2-container--default.select2-container--open .select2-selection--single:after,:host.material .select2-container--default .select2-focused .select2-selection--multiple:after,:host.material .select2-container--default .select2-focused .select2-selection--single:after{left:0;transition:width .3s cubic-bezier(.12,1,.77,1),left .3s cubic-bezier(.12,1,.77,1);width:100%}:host.material .select2-container--default .select2-dropdown{border:0;border-radius: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:transparent}:host.material .select2-container--default.select2-container--disabled .select2-selection--multiple:before,:host.material .select2-container--default.select2-container--disabled .select2-selection--single:before{background:linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 33%,transparent 0);background:var(--select2-material-underline-disabled,linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 33%,transparent 0));background-position:0 bottom;background-repeat:repeat-x;background-size:4px 1px}: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{color:#888;color:var(--select2-hint-text-color,#888);font-size:75%;position:absolute;top:calc(100% - 1.72917em)}::ng-deep .select2-overlay-backdrop{background:rgba(0,0,0,.32);background:var(--select2-overlay-backdrop,transparent)}::ng-deep .cdk-overlay-container .select2-container .select2-dropdown.select2-dropdown--above{bottom:28px}::ng-deep .cdk-overlay-container .select2-container--open.select2-position-auto .select2-dropdown{margin-bottom:28px}::ng-deep .cdk-overlay-container .select2-container--open.select2-position-auto .select2-dropdown.select2-dropdown--above{bottom:0;margin-bottom:0;margin-top:28px}@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}}']}]}],f.ctorParameters=function(){return[{type:n.ViewportRuler},{type:o.ChangeDetectorRef},{type:l.NgForm,decorators:[{type:o.Optional}]},{type:l.FormGroupDirective,decorators:[{type:o.Optional}]},{type:l.NgControl,decorators:[{type:o.Self},{type:o.Optional}]},{type:String,decorators:[{type:o.Attribute,args:["tabindex"]}]}]},f.propDecorators={data:[{type:o.Input}],minCharForSearch:[{type:o.Input}],displaySearchStatus:[{type:o.Input}],placeholder:[{type:o.Input}],customSearchEnabled:[{type:o.Input}],limitSelection:[{type:o.Input}],listPosition:[{type:o.Input}],multiple:[{type:o.Input}],overlay:[{type:o.Input}],styleMode:[{type:o.Input}],noResultMessage:[{type:o.Input}],maxResults:[{type:o.Input}],maxResultsMessage:[{type:o.Input}],infiniteScrollDistance:[{type:o.Input}],infiniteScrollThrottle:[{type:o.Input}],infiniteScroll:[{type:o.Input}],editPattern:[{type:o.Input}],templates:[{type:o.Input}],resultMaxHeight:[{type:o.Input}],update:[{type:o.Output}],open:[{type:o.Output}],close:[{type:o.Output}],focus:[{type:o.Output}],blur:[{type:o.Output}],search:[{type:o.Output}],scroll:[{type:o.Output}],removeOption:[{type:o.Output}],minCountForSearch:[{type:o.Input}],id:[{type:o.Input},{type:o.HostBinding,args:["id"]}],required:[{type:o.Input}],disabled:[{type:o.Input}],hideSelectedItems:[{type:o.Input}],readonly:[{type:o.Input}],value:[{type:o.Input}],tabIndex:[{type:o.Input}],resettable:[{type:o.Input}],ariaInvalid:[{type:o.HostBinding,args:["attr.aria-invalid"]}],classMaterial:[{type:o.HostBinding,args:["class.material"]}],classNostyle:[{type:o.HostBinding,args:["class.nostyle"]}],select2above:[{type:o.HostBinding,args:["class.select2-above"]}],cdkConnectedOverlay:[{type:o.ViewChild,args:[t.CdkConnectedOverlay]}],selection:[{type:o.ViewChild,args:["selection",{static:!0}]}],resultContainer:[{type:o.ViewChild,args:["results"]}],results:[{type:o.ViewChildren,args:["result"]}],searchInput:[{type:o.ViewChild,args:["searchInput"]}],dropdown:[{type:o.ViewChild,args:["dropdown"]}]};var g=function(){};g.decorators=[{type:o.Directive,args:[{selector:"select2-hint"}]}];var b=function(){};b.decorators=[{type:o.Directive,args:[{selector:"select2-label"}]}];var v=function(){};v.decorators=[{type:o.NgModule,args:[{imports:[r.CommonModule,l.FormsModule,t.OverlayModule,l.ReactiveFormsModule,s.InfiniteScrollModule],declarations:[g,b,f],exports:[l.FormsModule,l.ReactiveFormsModule,g,b,f]}]}],e.Select2=f,e.Select2Hint=g,e.Select2Label=b,e.Select2Module=v,e.Select2Utils=d,e.defaultMinCountForSearch=6,e.protectRegexp=c,e.timeout=200,e.unicodePatterns=a,Object.defineProperty(e,"__esModule",{value:!0})})); | ||
//# sourceMappingURL=ng-select2-component.umd.min.js.map |
# Changelog of ng-select2 | ||
## V8.0.6 (2021-02-04) | ||
## V8.1.0 (2022-02-18) | ||
### Breaking Changes | ||
- CSS variable `--select2-font-style-color` renamed in `--select2-too-much-font-style` | ||
### Changes | ||
- add `maxResults` maximum results limit (`0` = no limit, by default : `0`). | ||
- add `maxResultsMessage` parameter, message when maximum results (by default : `'Too many results…'`) | ||
- add CSS variable `--select2-too-much-result-color` and `--select2-too-much-result-style` | ||
### Corrections | ||
- filtered data for group is now correct | ||
## V8.0.6 (2022-01-04) | ||
### Corrections | ||
- Remove `×` for disabled & readonly | ||
@@ -8,0 +24,0 @@ - Update data when new sets come in. |
@@ -25,6 +25,4 @@ /** | ||
} | ||
else { | ||
if (((/** @type {?} */ (groupOrOption))).value === value) { | ||
return (/** @type {?} */ (groupOrOption)); | ||
} | ||
else if (((/** @type {?} */ (groupOrOption))).value === value) { | ||
return (/** @type {?} */ (groupOrOption)); | ||
} | ||
@@ -86,24 +84,2 @@ } | ||
/** | ||
* @private | ||
* @param {?} data | ||
* @return {?} | ||
*/ | ||
static getOptionsCount(data) { | ||
/** @type {?} */ | ||
let count = 0; | ||
if (Array.isArray(data)) { | ||
for (const groupOrOption of data) { | ||
/** @type {?} */ | ||
const options = ((/** @type {?} */ (groupOrOption))).options; | ||
if (options) { | ||
count += options.length; | ||
} | ||
else { | ||
count++; | ||
} | ||
} | ||
} | ||
return count; | ||
} | ||
/** | ||
* @param {?} filteredData | ||
@@ -127,6 +103,4 @@ * @param {?} value | ||
} | ||
else { | ||
if (((/** @type {?} */ (groupOrOption))).value === value) { | ||
return false; | ||
} | ||
else if (((/** @type {?} */ (groupOrOption))).value === value) { | ||
return false; | ||
} | ||
@@ -154,6 +128,4 @@ } | ||
const option = options[j]; | ||
if (findIt) { | ||
if (!option.disabled && !option.hide) { | ||
return option; | ||
} | ||
if (findIt && !option.disabled && !option.hide) { | ||
return option; | ||
} | ||
@@ -168,6 +140,4 @@ if (!findIt) { | ||
const option = (/** @type {?} */ (groupOrOption)); | ||
if (findIt) { | ||
if (!option.disabled && !option.hide) { | ||
return option; | ||
} | ||
if (findIt && !option.disabled && !option.hide) { | ||
return option; | ||
} | ||
@@ -221,52 +191,41 @@ if (!findIt) { | ||
/** | ||
* @private | ||
* @param {?} value | ||
* @param {?} data | ||
* @param {?=} maxResults | ||
* @return {?} | ||
*/ | ||
static isNullOrUndefined(value) { | ||
return value === null || value === undefined; | ||
} | ||
/** | ||
* @private | ||
* @param {?} label | ||
* @param {?} searchText | ||
* @param {?} editPattern | ||
* @return {?} | ||
*/ | ||
static containSearchText(label, searchText, editPattern) { | ||
return searchText | ||
? Select2Utils.formatSansUnicode(label).match(new RegExp(Select2Utils.formatPattern(searchText, editPattern), 'i')) !== null | ||
: true; | ||
} | ||
/** | ||
* @private | ||
* @param {?} str | ||
* @return {?} | ||
*/ | ||
static protectPattern(str) { | ||
return str.replace(protectRegexp, '\\$&'); | ||
} | ||
/** | ||
* @private | ||
* @param {?} str | ||
* @return {?} | ||
*/ | ||
static formatSansUnicode(str) { | ||
for (const unicodePattern of unicodePatterns) { | ||
str = str.replace(unicodePattern.s, unicodePattern.l); | ||
static getReduceData(data, maxResults = 0) { | ||
if (maxResults > 0) { | ||
/** @type {?} */ | ||
let counter = 0; | ||
/** @type {?} */ | ||
const result = []; | ||
// debugger; | ||
for (const groupOrOption of data) { | ||
/** @type {?} */ | ||
const options = ((/** @type {?} */ (groupOrOption))).options; | ||
if (options) { | ||
/** @type {?} */ | ||
const group = Object.assign(Object.assign({}, groupOrOption), { options: [] }); | ||
result.push(group); | ||
for (const item of options) { | ||
group.options.push(item); | ||
counter++; | ||
if (counter === maxResults) { | ||
return { result, reduce: true }; | ||
} | ||
} | ||
} | ||
else { | ||
result.push(groupOrOption); | ||
counter++; | ||
} | ||
if (counter === maxResults) { | ||
return { result, reduce: true }; | ||
} | ||
} | ||
return { result, reduce: false }; | ||
} | ||
return str; | ||
} | ||
/** | ||
* @private | ||
* @param {?} str | ||
* @param {?} editPattern | ||
* @return {?} | ||
*/ | ||
static formatPattern(str, editPattern) { | ||
str = Select2Utils.formatSansUnicode(Select2Utils.protectPattern(str)); | ||
if (editPattern && typeof editPattern === 'function') { | ||
str = editPattern(str); | ||
else { | ||
return { result: data, reduce: false }; | ||
} | ||
return str; | ||
} | ||
@@ -298,6 +257,3 @@ /** | ||
group => Select2Utils.containSearchText(group.label, searchText, editPattern))); | ||
result.push({ | ||
label: groupOrOption.label, | ||
options: filteredOptions, | ||
}); | ||
result.push(Object.assign(Object.assign({}, groupOrOption), { options: filteredOptions })); | ||
} | ||
@@ -334,6 +290,3 @@ } | ||
if (filteredOptions.length) { | ||
result.push({ | ||
label: groupOrOption.label, | ||
options: filteredOptions, | ||
}); | ||
result.push(Object.assign(Object.assign({}, groupOrOption), { options: filteredOptions })); | ||
} | ||
@@ -395,3 +348,77 @@ } | ||
} | ||
/** | ||
* @private | ||
* @param {?} data | ||
* @return {?} | ||
*/ | ||
static getOptionsCount(data) { | ||
/** @type {?} */ | ||
let count = 0; | ||
if (Array.isArray(data)) { | ||
for (const groupOrOption of data) { | ||
/** @type {?} */ | ||
const options = ((/** @type {?} */ (groupOrOption))).options; | ||
if (options) { | ||
count += options.length; | ||
} | ||
else { | ||
count++; | ||
} | ||
} | ||
} | ||
return count; | ||
} | ||
/** | ||
* @private | ||
* @param {?} value | ||
* @return {?} | ||
*/ | ||
static isNullOrUndefined(value) { | ||
return value === null || value === undefined; | ||
} | ||
/** | ||
* @private | ||
* @param {?} label | ||
* @param {?} searchText | ||
* @param {?} editPattern | ||
* @return {?} | ||
*/ | ||
static containSearchText(label, searchText, editPattern) { | ||
return searchText | ||
? Select2Utils.formatSansUnicode(label).match(new RegExp(Select2Utils.formatPattern(searchText, editPattern), 'i')) !== null | ||
: true; | ||
} | ||
/** | ||
* @private | ||
* @param {?} str | ||
* @return {?} | ||
*/ | ||
static protectPattern(str) { | ||
return str.replace(protectRegexp, '\\$&'); | ||
} | ||
/** | ||
* @private | ||
* @param {?} str | ||
* @return {?} | ||
*/ | ||
static formatSansUnicode(str) { | ||
for (const unicodePattern of unicodePatterns) { | ||
str = str.replace(unicodePattern.s, unicodePattern.l); | ||
} | ||
return str; | ||
} | ||
/** | ||
* @private | ||
* @param {?} str | ||
* @param {?} editPattern | ||
* @return {?} | ||
*/ | ||
static formatPattern(str, editPattern) { | ||
str = Select2Utils.formatSansUnicode(Select2Utils.protectPattern(str)); | ||
if (editPattern && typeof editPattern === 'function') { | ||
str = editPattern(str); | ||
} | ||
return str; | ||
} | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIvbWVkaWEvemVmbGluZy9aQUlERS02L0dpdC9uZy1zZWxlY3QyL3Byb2plY3RzL25nLXNlbGVjdDItY29tcG9uZW50L3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zZWxlY3QyLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUczRixNQUFNLE9BQU8sWUFBWTs7Ozs7O0lBQ3JCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFpQixFQUFFLEtBQXNDO1FBQzdFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNyQixLQUFLLE1BQU0sYUFBYSxJQUFJLElBQUksRUFBRTs7c0JBQ3hCLE9BQU8sR0FBRyxDQUFDLG1CQUFBLGFBQWEsRUFBZ0IsQ0FBQyxDQUFDLE9BQU87Z0JBQ3ZELElBQUksT0FBTyxFQUFFO29CQUNULEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFO3dCQUMxQixJQUFJLE1BQU0sQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFOzRCQUN4QixPQUFPLE1BQU0sQ0FBQzt5QkFDakI7cUJBQ0o7aUJBQ0o7cUJBQU07b0JBQ0gsSUFBSSxDQUFDLG1CQUFBLGFBQWEsRUFBaUIsQ0FBQyxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7d0JBQ2xELE9BQU8sbUJBQUEsYUFBYSxFQUFpQixDQUFDO3FCQUN6QztpQkFDSjthQUNKO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzs7Ozs7O0lBRUQsTUFBTSxDQUFDLGlCQUFpQixDQUNwQixJQUFpQixFQUNqQixLQUE0QyxFQUM1QyxRQUFvQztRQUVwQyxJQUFJLFFBQVEsRUFBRTs7a0JBQ0osTUFBTSxHQUFtQixLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENB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LENBQUMsZUFBZSxDQUFDLE9BQStDLEVBQUUsTUFBcUI7UUFDekYsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsbUJBQUEsT0FBTyxFQUFtQixDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzFELElBQUksQ0FBQyxtQkFBQSxPQUFPLEVBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRTtnQkFDeEQsQ0FBQyxtQkFBQSxPQUFPLEVBQW1CLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMxQyxPQUFPO2FBQ1Y7U0FDSjtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmF1bHRNaW5Db3VudEZvclNlYXJjaCwgcHJvdGVjdFJlZ2V4cCwgdW5pY29kZVBhdHRlcm5zIH0gZnJvbSAnLi9zZWxlY3QyLWNvbnN0JztcbmltcG9ydCB7IFNlbGVjdDJEYXRhLCBTZWxlY3QyR3JvdXAsIFNlbGVjdDJPcHRpb24sIFNlbGVjdDJVcGRhdGVWYWx1ZSwgU2VsZWN0MlZhbHVlIH0gZnJvbSAnLi9zZWxlY3QyLWludGVyZmFjZXMnO1xuXG5leHBvcnQgY2xhc3MgU2VsZWN0MlV0aWxzIHtcbiAgICBzdGF0aWMgZ2V0T3B0aW9uQnlWYWx1ZShkYXRhOiBTZWxlY3QyRGF0YSwgdmFsdWU6IFNlbGVjdDJWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBkYXRhKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9uLnZhbHVlID09PSB2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb247XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAoKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbikudmFsdWUgPT09IHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXRPcHRpb25zQnlWYWx1ZShcbiAgICAgICAgZGF0YTogU2VsZWN0MkRhdGEsXG4gICAgICAgIHZhbHVlOiBTZWxlY3QyVXBkYXRlVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgICAgICBtdWx0aXBsZTogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQsXG4gICAgKSB7XG4gICAgICAgIGlmIChtdWx0aXBsZSkge1xuICAgICAgICAgICAgY29uc3QgdmFsdWVzOiBTZWxlY3QyVmFsdWVbXSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbXTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdDogU2VsZWN0Mk9wdGlvbltdID0gW107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHYgb2YgdmFsdWVzKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gU2VsZWN0MlV0aWxzLmdldE9wdGlvbkJ5VmFsdWUoZGF0YSwgdik7XG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChvcHRpb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFNlbGVjdDJVdGlscy5nZXRPcHRpb25CeVZhbHVlKGRhdGEsIHZhbHVlIGFzIFNlbGVjdDJWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXRGaXJzdEF2YWlsYWJsZU9wdGlvbihkYXRhOiBTZWxlY3QyRGF0YSkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGRhdGEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIG9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9uLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb24udmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZ2V0T3B0aW9uc0NvdW50KGRhdGE6IFNlbGVjdDJEYXRhKSB7XG4gICAgICAgIGxldCBjb3VudCA9IDA7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZGF0YSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgY291bnQgKz0gb3B0aW9ucy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY291bnQrKztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvdW50O1xuICAgIH1cblxuICAgIHN0YXRpYyB2YWx1ZUlzTm90SW5GaWx0ZXJlZERhdGEoZmlsdGVyZWREYXRhOiBTZWxlY3QyRGF0YSwgdmFsdWU6IFNlbGVjdDJWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKFNlbGVjdDJVdGlscy5pc051bGxPclVuZGVmaW5lZCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBmaWx0ZXJlZERhdGEpIHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIG9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJPcHRpb24pLnZhbHVlID09PSB2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb2duaXRpdmUtY29tcGxleGl0eVxuICAgIHN0YXRpYyBnZXRQcmV2aW91c09wdGlvbihmaWx0ZXJlZERhdGE6IFNlbGVjdDJEYXRhLCBob3ZlcmluZ1ZhbHVlOiBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIGxldCBmaW5kSXQgPSBTZWxlY3QyVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoaG92ZXJpbmdWYWx1ZSk7XG4gICAgICAgIGZvciAobGV0IGkgPSBmaWx0ZXJlZERhdGEubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwT3JPcHRpb24gPSBmaWx0ZXJlZERhdGFbaV07XG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gb3B0aW9ucy5sZW5ndGggLSAxOyBqID49IDA7IGotLSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBvcHRpb25zW2pdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZmluZEl0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCAmJiAhb3B0aW9uLmhpZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICghZmluZEl0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaW5kSXQgPSBvcHRpb24udmFsdWUgPT09IGhvdmVyaW5nVmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbjtcbiAgICAgICAgICAgICAgICBpZiAoZmluZEl0KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9uLmRpc2FibGVkICYmICFvcHRpb24uaGlkZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoIWZpbmRJdCkge1xuICAgICAgICAgICAgICAgICAgICBmaW5kSXQgPSBvcHRpb24udmFsdWUgPT09IGhvdmVyaW5nVmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29nbml0aXZlLWNvbXBsZXhpdHlcbiAgICBzdGF0aWMgZ2V0TmV4dE9wdGlvbihmaWx0ZXJlZERhdGE6IFNlbGVjdDJEYXRhLCBob3ZlcmluZ1ZhbHVlOiBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIGxldCBmaW5kSXQgPSBTZWxlY3QyVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoaG92ZXJpbmdWYWx1ZSk7XG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBmaWx0ZXJlZERhdGEpIHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIG9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpbmRJdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQgJiYgIW9wdGlvbi5oaWRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICghZmluZEl0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaW5kSXQgPSBvcHRpb24udmFsdWUgPT09IGhvdmVyaW5nVmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbjtcbiAgICAgICAgICAgICAgICBpZiAoZmluZEl0KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9uLmRpc2FibGVkICYmICFvcHRpb24uaGlkZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWZpbmRJdCkge1xuICAgICAgICAgICAgICAgICAgICBmaW5kSXQgPSBvcHRpb24udmFsdWUgPT09IGhvdmVyaW5nVmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgY29udGFpblNlYXJjaFRleHQoXG4gICAgICAgIGxhYmVsOiBzdHJpbmcsXG4gICAgICAgIHNlYXJjaFRleHQ6IHN0cmluZyB8IG51bGwsXG4gICAgICAgIGVkaXRQYXR0ZXJuOiAoKHN0cjogc3RyaW5nKSA9PiBzdHJpbmcpIHwgdW5kZWZpbmVkLFxuICAgICk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gc2VhcmNoVGV4dFxuICAgICAgICAgICAgPyBTZWxlY3QyVXRpbHMuZm9ybWF0U2Fuc1VuaWNvZGUobGFiZWwpLm1hdGNoKFxuICAgICAgICAgICAgICAgICAgbmV3IFJlZ0V4cChTZWxlY3QyVXRpbHMuZm9ybWF0UGF0dGVybihzZWFyY2hUZXh0LCBlZGl0UGF0dGVybiksICdpJyksXG4gICAgICAgICAgICAgICkgIT09IG51bGxcbiAgICAgICAgICAgIDogdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBwcm90ZWN0UGF0dGVybihzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBzdHIucmVwbGFjZShwcm90ZWN0UmVnZXhwLCAnXFxcXCQmJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZm9ybWF0U2Fuc1VuaWNvZGUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBmb3IgKGNvbnN0IHVuaWNvZGVQYXR0ZXJuIG9mIHVuaWNvZGVQYXR0ZXJucykge1xuICAgICAgICAgICAgc3RyID0gc3RyLnJlcGxhY2UodW5pY29kZVBhdHRlcm4ucywgdW5pY29kZVBhdHRlcm4ubCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN0cjtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBmb3JtYXRQYXR0ZXJuKHN0cjogc3RyaW5nLCBlZGl0UGF0dGVybjogKChzdHI6IHN0cmluZykgPT4gc3RyaW5nKSB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gICAgICAgIHN0ciA9IFNlbGVjdDJVdGlscy5mb3JtYXRTYW5zVW5pY29kZShTZWxlY3QyVXRpbHMucHJvdGVjdFBhdHRlcm4oc3RyKSk7XG5cbiAgICAgICAgaWYgKGVkaXRQYXR0ZXJuICYmIHR5cGVvZiBlZGl0UGF0dGVybiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgc3RyID0gZWRpdFBhdHRlcm4oc3RyKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3RyO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXRGaWx0ZXJlZERhdGEoXG4gICAgICAgIGRhdGE6IFNlbGVjdDJEYXRhLFxuICAgICAgICBzZWFyY2hUZXh0OiBzdHJpbmcgfCBudWxsLFxuICAgICAgICBlZGl0UGF0dGVybj86IChzdHI6IHN0cmluZykgPT4gc3RyaW5nLFxuICAgICk6IFNlbGVjdDJEYXRhIHtcbiAgICAgICAgaWYgKHNlYXJjaFRleHQpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdDogU2VsZWN0MkRhdGEgPSBbXTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBkYXRhKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5zb21lKGdyb3VwID0+IFNlbGVjdDJVdGlscy5jb250YWluU2VhcmNoVGV4dChncm91cC5sYWJlbCwgc2VhcmNoVGV4dCwgZWRpdFBhdHRlcm4pKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyZWRPcHRpb25zID0gb3B0aW9ucy5maWx0ZXIoZ3JvdXAgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWxlY3QyVXRpbHMuY29udGFpblNlYXJjaFRleHQoZ3JvdXAubGFiZWwsIHNlYXJjaFRleHQsIGVkaXRQYXR0ZXJuKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGdyb3VwT3JPcHRpb24ubGFiZWwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogZmlsdGVyZWRPcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKFNlbGVjdDJVdGlscy5jb250YWluU2VhcmNoVGV4dChncm91cE9yT3B0aW9uLmxhYmVsLCBzZWFyY2hUZXh0LCBlZGl0UGF0dGVybikpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goZ3JvdXBPck9wdGlvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIGdldEZpbHRlcmVkU2VsZWN0ZWREYXRhKFxuICAgICAgICBkYXRhOiBTZWxlY3QyRGF0YSxcbiAgICAgICAgc2VsZWN0ZWRPcHRpb25zOiBTZWxlY3QyT3B0aW9uIHwgU2VsZWN0Mk9wdGlvbltdIHwgbnVsbCxcbiAgICApOiBTZWxlY3QyRGF0YSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogU2VsZWN0MkRhdGEgPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGRhdGEpIHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkT3B0aW9ucyA9IG9wdGlvbnMuZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICBncm91cCA9PiBTZWxlY3QyVXRpbHMuaXNTZWxlY3RlZChzZWxlY3RlZE9wdGlvbnMsIGdyb3VwLCB0cnVlKSA9PT0gJ2ZhbHNlJyxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChmaWx0ZXJlZE9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBncm91cE9yT3B0aW9uLmxhYmVsLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogZmlsdGVyZWRPcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKFNlbGVjdDJVdGlscy5pc1NlbGVjdGVkKHNlbGVjdGVkT3B0aW9ucywgZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uLCB0cnVlKSA9PT0gJ2ZhbHNlJykge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGdyb3VwT3JPcHRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgc3RhdGljIGlzU2VhcmNoYm94SGlkZGV4KGRhdGE6IFNlbGVjdDJEYXRhLCBtaW5Db3VudEZvclNlYXJjaD86IG51bWJlciB8IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICBtaW5Db3VudEZvclNlYXJjaCA9PT0gJycgfHxcbiAgICAgICAgICAgIG1pbkNvdW50Rm9yU2VhcmNoID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIG1pbkNvdW50Rm9yU2VhcmNoID09PSBudWxsIHx8XG4gICAgICAgICAgICBpc05hTigrbWluQ291bnRGb3JTZWFyY2gpXG4gICAgICAgICkge1xuICAgICAgICAgICAgbWluQ291bnRGb3JTZWFyY2ggPSBkZWZhdWx0TWluQ291bnRGb3JTZWFyY2g7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb3B0aW9uQ291bnQgPSBTZWxlY3QyVXRpbHMuZ2V0T3B0aW9uc0NvdW50KGRhdGEpO1xuICAgICAgICByZXR1cm4gb3B0aW9uQ291bnQgPCArbWluQ291bnRGb3JTZWFyY2g7XG4gICAgfVxuXG4gICAgc3RhdGljIGlzU2VsZWN0ZWQoXG4gICAgICAgIG9wdGlvbnM6IFNlbGVjdDJPcHRpb24gfCBTZWxlY3QyT3B0aW9uW10gfCBudWxsLFxuICAgICAgICBvcHRpb246IFNlbGVjdDJPcHRpb24sXG4gICAgICAgIG11bHRpcGxlOiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgICApIHtcbiAgICAgICAgcmV0dXJuIG11bHRpcGxlXG4gICAgICAgICAgICA/IG9wdGlvbnMgJiYgKG9wdGlvbnMgYXMgU2VsZWN0Mk9wdGlvbltdKS5zb21lKG9wID0+IG9wLnZhbHVlID09PSBvcHRpb24udmFsdWUpXG4gICAgICAgICAgICAgICAgPyAndHJ1ZSdcbiAgICAgICAgICAgICAgICA6ICdmYWxzZSdcbiAgICAgICAgICAgIDogb3B0aW9ucyAmJiBvcHRpb24udmFsdWUgPT09IChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb24pLnZhbHVlXG4gICAgICAgICAgICA/ICd0cnVlJ1xuICAgICAgICAgICAgOiAnZmFsc2UnO1xuICAgIH1cblxuICAgIHN0YXRpYyByZW1vdmVTZWxlY3Rpb24ob3B0aW9uczogU2VsZWN0Mk9wdGlvbiB8IFNlbGVjdDJPcHRpb25bXSB8IG51bGwsIG9wdGlvbjogU2VsZWN0Mk9wdGlvbikge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb25bXSkubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmICgob3B0aW9ucyBhcyBTZWxlY3QyT3B0aW9uW10pW2ldLnZhbHVlID09PSBvcHRpb24udmFsdWUpIHtcbiAgICAgICAgICAgICAgICAob3B0aW9ucyBhcyBTZWxlY3QyT3B0aW9uW10pLnNwbGljZShpLCAxKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIvbWVkaWEvemVmbGluZy9aQUlERS02L0dpdC9uZy1zZWxlY3QyL3Byb2plY3RzL25nLXNlbGVjdDItY29tcG9uZW50L3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zZWxlY3QyLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUczRixNQUFNLE9BQU8sWUFBWTs7Ozs7O0lBQ3JCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFpQixFQUFFLEtBQXNDO1FBQzdFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNyQixLQUFLLE1BQU0sYUFBYSxJQUFJLElBQUksRUFBRTs7c0JBQ3hCLE9BQU8sR0FBRyxDQUFDLG1CQUFBLGFBQWEsRUFBZ0IsQ0FBQyxDQUFDLE9BQU87Z0JBQ3ZELElBQUksT0FBTyxFQUFFO29CQUNULEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFO3dCQUMxQixJQUFJLE1BQU0sQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFOzRCQUN4QixPQUFPLE1BQU0sQ0FBQzt5QkFDakI7cUJBQ0o7aUJBQ0o7cUJBQU0sSUFBSSxDQUFDLG1CQUFBLGFBQWEsRUFBaUIsQ0FBQyxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7b0JBQ3pELE9BQU8sbUJBQUEsYUFBYSxFQUFpQixDQUFDO2lCQUN6QzthQUNKO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzs7Ozs7O0lBRUQsTUFBTSxDQUFDLGlCQUFpQixDQUNwQixJQUFpQixFQUNqQixLQUE0QyxFQUM1QyxRQUFvQztRQUVwQyxJQUFJLFFBQVEsRUFBRTs7a0JBQ0osTUFBTSxHQUFtQixLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7O2tCQUMxRCxNQUFNLEdBQW9CLEVBQUU7WUFDbEMsS0FBSyxNQUFNLENBQUMsSUFBSSxNQUFNLEVBQUU7O3NCQUNkLE1BQU0sR0FBRyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDckQsSUFBSSxNQUFNLEVBQUU7b0JBQ1IsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDdkI7YUFDSjtZQUNELE9BQU8sTUFBTSxDQUFDO1NBQ2pCO1FBQ0QsT0FBTyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLG1CQUFBLEtBQUssRUFBbUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7Ozs7O0lBRUQsTUFBTSxDQUFDLHVCQUF1QixDQUFDLElBQWlCO1FBQzVDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNyQixLQUFLLE1BQU0sYUFBYSxJQUFJLElBQUksRUFBRTs7c0JBQ3hCLE9BQU8sR0FBRyxDQUFDLG1CQUFBLGFBQWEsRUFBZ0IsQ0FBQyxDQUFDLE9BQU87Z0JBQ3ZELElBQUksT0FBTyxFQUFFO29CQUNULEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFO3dCQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTs0QkFDbEIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDO3lCQUN2QjtxQkFDSjtpQkFDSjtxQkFBTTs7MEJBQ0csTUFBTSxHQUFHLG1CQUFBLGFBQWEsRUFBaUI7b0JBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO3dCQUNsQixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUM7cUJBQ3ZCO2lCQUNKO2FBQ0o7U0FDSjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Ozs7OztJQUVELE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxZQUF5QixFQUFFLEtBQXNDO1FBQzdGLElBQUksWUFBWSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3ZDLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFDRCxLQUFLLE1BQU0sYUFBYSxJQUFJLFlBQVksRUFBRTs7a0JBQ2hDLE9BQU8sR0FBRyxDQUFDLG1CQUFBLGFBQWEsRUFBZ0IsQ0FBQyxDQUFDLE9BQU87WUFDdkQsSUFBSSxPQUFPLEVBQUU7Z0JBQ1QsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUU7b0JBQzFCLElBQUksTUFBTSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7d0JBQ3hCLE9BQU8sS0FBSyxDQUFDO3FCQUNoQjtpQkFDSjthQUNKO2lCQUFNLElBQUksQ0FBQyxtQkFBQSxhQUFhLEVBQWlCLENBQUMsQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFO2dCQUN6RCxPQUFPLEtBQUssQ0FBQzthQUNoQjtTQUNKO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs7Ozs7OztJQUdELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxZQUF5QixFQUFFLGFBQThDOztZQUMxRixNQUFNLEdBQUcsWUFBWSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQztRQUMxRCxLQUFLLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7O2tCQUN6QyxhQUFhLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQzs7a0JBQy9CLE9BQU8sR0FBRyxDQUFDLG1CQUFBLGFBQWEsRUFBZ0IsQ0FBQyxDQUFDLE9BQU87WUFDdkQsSUFBSSxPQUFPLEVBQUU7Z0JBQ1QsS0FBSyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFOzswQkFDcEMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUM7b0JBQ3pCLElBQUksTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7d0JBQzVDLE9BQU8sTUFBTSxDQUFDO3FCQUNqQjtvQkFDRCxJQUFJLENBQUMsTUFBTSxFQUFFO3dCQUNULE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxLQUFLLGFBQWEsQ0FBQztxQkFDM0M7aUJBQ0o7YUFDSjtpQkFBTTs7c0JBQ0csTUFBTSxHQUFHLG1CQUFBLGFBQWEsRUFBaUI7Z0JBQzdDLElBQUksTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7b0JBQzVDLE9BQU8sTUFBTSxDQUFDO2lCQUNqQjtnQkFDRCxJQUFJLENBQUMsTUFBTSxFQUFFO29CQUNULE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxLQUFLLGFBQWEsQ0FBQztpQkFDM0M7YUFDSjtTQUNKO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs7Ozs7OztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsWUFBeUIsRUFBRSxhQUE4Qzs7WUFDdEYsTUFBTSxHQUFHLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUM7UUFDMUQsS0FBSyxNQUFNLGFBQWEsSUFBSSxZQUFZLEVBQUU7O2tCQUNoQyxPQUFPLEdBQUcsQ0FBQyxtQkFBQSxhQUFhLEVBQWdCLENBQUMsQ0FBQyxPQUFPO1lBQ3ZELElBQUksT0FBTyxFQUFFO2dCQUNULEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFO29CQUMxQixJQUFJLE1BQU0sRUFBRTt3QkFDUixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7NEJBQ2xDLE9BQU8sTUFBTSxDQUFDO3lCQUNqQjtxQkFDSjt5QkFBTSxJQUFJLENBQUMsTUFBTSxFQUFFO3dCQUNoQixNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssS0FBSyxhQUFhLENBQUM7cUJBQzNDO2lCQUNKO2FBQ0o7aUJBQU07O3NCQUNHLE1BQU0sR0FBRyxtQkFBQSxhQUFhLEVBQWlCO2dCQUM3QyxJQUFJLE1BQU0sRUFBRTtvQkFDUixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7d0JBQ2xDLE9BQU8sTUFBTSxDQUFDO3FCQUNqQjtpQkFDSjtxQkFBTSxJQUFJLENBQUMsTUFBTSxFQUFFO29CQUNoQixNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssS0FBSyxhQUFhLENBQUM7aUJBQzNDO2FBQ0o7U0FDSjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Ozs7OztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBaUIsRUFBRSxhQUFxQixDQUFDO1FBQzFELElBQUksVUFBVSxHQUFHLENBQUMsRUFBRTs7Z0JBQ1osT0FBTyxHQUFHLENBQUM7O2tCQUNULE1BQU0sR0FBZ0IsRUFBRTtZQUM5QixZQUFZO1lBRVosS0FBSyxNQUFNLGFBQWEsSUFBSSxJQUFJLEVBQUU7O3NCQUN4QixPQUFPLEdBQUcsQ0FBQyxtQkFBQSxhQUFhLEVBQWdCLENBQUMsQ0FBQyxPQUFPO2dCQUN2RCxJQUFJLE9BQU8sRUFBRTs7MEJBQ0gsS0FBSyxtQ0FDSixhQUFhLEtBQ2hCLE9BQU8sRUFBRSxFQUFFLEdBQ2Q7b0JBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDbkIsS0FBSyxNQUFNLElBQUksSUFBSSxPQUFPLEVBQUU7d0JBQ3hCLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUN6QixPQUFPLEVBQUUsQ0FBQzt3QkFDVixJQUFJLE9BQU8sS0FBSyxVQUFVLEVBQUU7NEJBQ3hCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDO3lCQUNuQztxQkFDSjtpQkFDSjtxQkFBTTtvQkFDSCxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO29CQUMzQixPQUFPLEVBQUUsQ0FBQztpQkFDYjtnQkFDRCxJQUFJLE9BQU8sS0FBSyxVQUFVLEVBQUU7b0JBQ3hCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDO2lCQUNuQzthQUNKO1lBQ0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7U0FDcEM7YUFBTTtZQUNILE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUMxQztJQUNMLENBQUM7Ozs7Ozs7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUNsQixJQUFpQixFQUNqQixVQUF5QixFQUN6QixXQUFxQztRQUVyQyxJQUFJLFVBQVUsRUFBRTs7a0JBQ04sTUFBTSxHQUFnQixFQUFFO1lBQzlCLEtBQUssTUFBTSxhQUFhLElBQUksSUFBSSxFQUFFOztzQkFDeEIsT0FBTyxHQUFHLENBQUMsbUJBQUEsYUFBYSxFQUFnQixDQUFDLENBQUMsT0FBTztnQkFDdkQsSUFBSSxPQUFPLEVBQUU7b0JBQ1QsSUFBSSxPQUFPLENBQUMsSUFBSTs7OztvQkFBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUMsRUFBQyxFQUFFOzs4QkFDdkYsZUFBZSxHQUFHLE9BQU8sQ0FBQyxNQUFNOzs7O3dCQUFDLEtBQUssQ0FBQyxFQUFFLENBQzNDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUMsRUFDdkU7d0JBQ0QsTUFBTSxDQUFDLElBQUksaUNBQ0osYUFBYSxLQUNoQixPQUFPLEVBQUUsZUFBZSxJQUMxQixDQUFDO3FCQUNOO2lCQUNKO3FCQUFNLElBQUksWUFBWSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsQ0FBQyxFQUFFO29CQUNyRixNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2lCQUM5QjthQUNKO1lBQ0QsT0FBTyxNQUFNLENBQUM7U0FDakI7YUFBTTtZQUNILE9BQU8sSUFBSSxDQUFDO1NBQ2Y7SUFDTCxDQUFDOzs7Ozs7SUFFRCxNQUFNLENBQUMsdUJBQXVCLENBQzFCLElBQWlCLEVBQ2pCLGVBQXVEOztjQUVqRCxNQUFNLEdBQWdCLEVBQUU7UUFDOUIsS0FBSyxNQUFNLGFBQWEsSUFBSSxJQUFJLEVBQUU7O2tCQUN4QixPQUFPLEdBQUcsQ0FBQyxtQkFBQSxhQUFhLEVBQWdCLENBQUMsQ0FBQyxPQUFPO1lBQ3ZELElBQUksT0FBTyxFQUFFOztzQkFDSCxlQUFlLEdBQUcsT0FBTyxDQUFDLE1BQU07Ozs7Z0JBQ2xDLEtBQUssQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLE9BQU8sRUFDN0U7Z0JBQ0QsSUFBSSxlQUFlLENBQUMsTUFBTSxFQUFFO29CQUN4QixNQUFNLENBQUMsSUFBSSxpQ0FDSixhQUFhLEtBQ2hCLE9BQU8sRUFBRSxlQUFlLElBQzFCLENBQUM7aUJBQ047YUFDSjtpQkFBTSxJQUFJLFlBQVksQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLG1CQUFBLGFBQWEsRUFBaUIsRUFBRSxJQUFJLENBQUMsS0FBSyxPQUFPLEVBQUU7Z0JBQ25HLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDOUI7U0FDSjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7Ozs7OztJQUVELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFpQixFQUFFLGlCQUFtQztRQUMzRSxJQUNJLGlCQUFpQixLQUFLLEVBQUU7WUFDeEIsaUJBQWlCLEtBQUssU0FBUztZQUMvQixpQkFBaUIsS0FBSyxJQUFJO1lBQzFCLEtBQUssQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEVBQzNCO1lBQ0UsaUJBQWlCLEdBQUcsd0JBQXdCLENBQUM7U0FDaEQ7O2NBQ0ssV0FBVyxHQUFHLFlBQVksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO1FBQ3RELE9BQU8sV0FBVyxHQUFHLENBQUMsaUJBQWlCLENBQUM7SUFDNUMsQ0FBQzs7Ozs7OztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQ2IsT0FBK0MsRUFDL0MsTUFBcUIsRUFDckIsUUFBb0M7UUFFcEMsT0FBTyxRQUFRO1lBQ1gsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLG1CQUFBLE9BQU8sRUFBbUIsQ0FBQyxDQUFDLElBQUk7Ozs7WUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDLEtBQUssRUFBQztnQkFDM0UsQ0FBQyxDQUFDLE1BQU07Z0JBQ1IsQ0FBQyxDQUFDLE9BQU87WUFDYixDQUFDLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEtBQUssQ0FBQyxtQkFBQSxPQUFPLEVBQWlCLENBQUMsQ0FBQyxLQUFLO2dCQUM5RCxDQUFDLENBQUMsTUFBTTtnQkFDUixDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ2xCLENBQUM7Ozs7OztJQUVELE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBK0MsRUFBRSxNQUFxQjtRQUN6RixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxtQkFBQSxPQUFPLEVBQW1CLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDMUQsSUFBSSxDQUFDLG1CQUFBLE9BQU8sRUFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxNQUFNLENBQUMsS0FBSyxFQUFFO2dCQUN4RCxDQUFDLG1CQUFBLE9BQU8sRUFBbUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzFDLE9BQU87YUFDVjtTQUNKO0lBQ0wsQ0FBQzs7Ozs7O0lBRU8sTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFpQjs7WUFDeEMsS0FBSyxHQUFHLENBQUM7UUFDYixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDckIsS0FBSyxNQUFNLGFBQWEsSUFBSSxJQUFJLEVBQUU7O3NCQUN4QixPQUFPLEdBQUcsQ0FBQyxtQkFBQSxhQUFhLEVBQWdCLENBQUMsQ0FBQyxPQUFPO2dCQUN2RCxJQUFJLE9BQU8sRUFBRTtvQkFDVCxLQUFLLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQztpQkFDM0I7cUJBQU07b0JBQ0gsS0FBSyxFQUFFLENBQUM7aUJBQ1g7YUFDSjtTQUNKO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs7Ozs7O0lBRU8sTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQVU7UUFDdkMsT0FBTyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLENBQUM7SUFDakQsQ0FBQzs7Ozs7Ozs7SUFFTyxNQUFNLENBQUMsaUJBQWlCLENBQzVCLEtBQWEsRUFDYixVQUF5QixFQUN6QixXQUFrRDtRQUVsRCxPQUFPLFVBQVU7WUFDYixDQUFDLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FDdkMsSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQ3ZFLEtBQUssSUFBSTtZQUNaLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDZixDQUFDOzs7Ozs7SUFFTyxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQVc7UUFDckMsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5QyxDQUFDOzs7Ozs7SUFFTyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBVztRQUN4QyxLQUFLLE1BQU0sY0FBYyxJQUFJLGVBQWUsRUFBRTtZQUMxQyxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN6RDtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQzs7Ozs7OztJQUVPLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBVyxFQUFFLFdBQWtEO1FBQ3hGLEdBQUcsR0FBRyxZQUFZLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRXZFLElBQUksV0FBVyxJQUFJLE9BQU8sV0FBVyxLQUFLLFVBQVUsRUFBRTtZQUNsRCxHQUFHLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzFCO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWZhdWx0TWluQ291bnRGb3JTZWFyY2gsIHByb3RlY3RSZWdleHAsIHVuaWNvZGVQYXR0ZXJucyB9IGZyb20gJy4vc2VsZWN0Mi1jb25zdCc7XG5pbXBvcnQgeyBTZWxlY3QyRGF0YSwgU2VsZWN0Mkdyb3VwLCBTZWxlY3QyT3B0aW9uLCBTZWxlY3QyVXBkYXRlVmFsdWUsIFNlbGVjdDJWYWx1ZSB9IGZyb20gJy4vc2VsZWN0Mi1pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNsYXNzIFNlbGVjdDJVdGlscyB7XG4gICAgc3RhdGljIGdldE9wdGlvbkJ5VmFsdWUoZGF0YTogU2VsZWN0MkRhdGEsIHZhbHVlOiBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZGF0YSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBvcHRpb24gb2Ygb3B0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uKS52YWx1ZSA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgc3RhdGljIGdldE9wdGlvbnNCeVZhbHVlKFxuICAgICAgICBkYXRhOiBTZWxlY3QyRGF0YSxcbiAgICAgICAgdmFsdWU6IFNlbGVjdDJVcGRhdGVWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQsXG4gICAgICAgIG11bHRpcGxlOiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgICApIHtcbiAgICAgICAgaWYgKG11bHRpcGxlKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZXM6IFNlbGVjdDJWYWx1ZVtdID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFtdO1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBTZWxlY3QyT3B0aW9uW10gPSBbXTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgdiBvZiB2YWx1ZXMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBTZWxlY3QyVXRpbHMuZ2V0T3B0aW9uQnlWYWx1ZShkYXRhLCB2KTtcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKG9wdGlvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gU2VsZWN0MlV0aWxzLmdldE9wdGlvbkJ5VmFsdWUoZGF0YSwgdmFsdWUgYXMgU2VsZWN0MlZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgc3RhdGljIGdldEZpcnN0QXZhaWxhYmxlT3B0aW9uKGRhdGE6IFNlbGVjdDJEYXRhKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZGF0YSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBvcHRpb24gb2Ygb3B0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBzdGF0aWMgdmFsdWVJc05vdEluRmlsdGVyZWREYXRhKGZpbHRlcmVkRGF0YTogU2VsZWN0MkRhdGEsIHZhbHVlOiBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChTZWxlY3QyVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZmlsdGVyZWREYXRhKSB7XG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb24udmFsdWUgPT09IHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJPcHRpb24pLnZhbHVlID09PSB2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29nbml0aXZlLWNvbXBsZXhpdHlcbiAgICBzdGF0aWMgZ2V0UHJldmlvdXNPcHRpb24oZmlsdGVyZWREYXRhOiBTZWxlY3QyRGF0YSwgaG92ZXJpbmdWYWx1ZTogU2VsZWN0MlZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgICAgICBsZXQgZmluZEl0ID0gU2VsZWN0MlV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGhvdmVyaW5nVmFsdWUpO1xuICAgICAgICBmb3IgKGxldCBpID0gZmlsdGVyZWREYXRhLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICBjb25zdCBncm91cE9yT3B0aW9uID0gZmlsdGVyZWREYXRhW2ldO1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IG9wdGlvbnMubGVuZ3RoIC0gMTsgaiA+PSAwOyBqLS0pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc1tqXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpbmRJdCAmJiAhb3B0aW9uLmRpc2FibGVkICYmICFvcHRpb24uaGlkZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoIWZpbmRJdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmluZEl0ID0gb3B0aW9uLnZhbHVlID09PSBob3ZlcmluZ1ZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJPcHRpb247XG4gICAgICAgICAgICAgICAgaWYgKGZpbmRJdCAmJiAhb3B0aW9uLmRpc2FibGVkICYmICFvcHRpb24uaGlkZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoIWZpbmRJdCkge1xuICAgICAgICAgICAgICAgICAgICBmaW5kSXQgPSBvcHRpb24udmFsdWUgPT09IGhvdmVyaW5nVmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29nbml0aXZlLWNvbXBsZXhpdHlcbiAgICBzdGF0aWMgZ2V0TmV4dE9wdGlvbihmaWx0ZXJlZERhdGE6IFNlbGVjdDJEYXRhLCBob3ZlcmluZ1ZhbHVlOiBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIGxldCBmaW5kSXQgPSBTZWxlY3QyVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoaG92ZXJpbmdWYWx1ZSk7XG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBmaWx0ZXJlZERhdGEpIHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIG9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpbmRJdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQgJiYgIW9wdGlvbi5oaWRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICghZmluZEl0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaW5kSXQgPSBvcHRpb24udmFsdWUgPT09IGhvdmVyaW5nVmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbjtcbiAgICAgICAgICAgICAgICBpZiAoZmluZEl0KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9uLmRpc2FibGVkICYmICFvcHRpb24uaGlkZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWZpbmRJdCkge1xuICAgICAgICAgICAgICAgICAgICBmaW5kSXQgPSBvcHRpb24udmFsdWUgPT09IGhvdmVyaW5nVmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXRSZWR1Y2VEYXRhKGRhdGE6IFNlbGVjdDJEYXRhLCBtYXhSZXN1bHRzOiBudW1iZXIgPSAwKTogeyByZXN1bHQ6IFNlbGVjdDJEYXRhOyByZWR1Y2U6IGJvb2xlYW4gfSB7XG4gICAgICAgIGlmIChtYXhSZXN1bHRzID4gMCkge1xuICAgICAgICAgICAgbGV0IGNvdW50ZXIgPSAwO1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBTZWxlY3QyRGF0YSA9IFtdO1xuICAgICAgICAgICAgLy8gZGVidWdnZXI7XG5cbiAgICAgICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBkYXRhKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBncm91cCA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmdyb3VwT3JPcHRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goZ3JvdXApO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2Ygb3B0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXAub3B0aW9ucy5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgY291bnRlcisrO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvdW50ZXIgPT09IG1heFJlc3VsdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyByZXN1bHQsIHJlZHVjZTogdHJ1ZSB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goZ3JvdXBPck9wdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIGNvdW50ZXIrKztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGNvdW50ZXIgPT09IG1heFJlc3VsdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgcmVzdWx0LCByZWR1Y2U6IHRydWUgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4geyByZXN1bHQsIHJlZHVjZTogZmFsc2UgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB7IHJlc3VsdDogZGF0YSwgcmVkdWNlOiBmYWxzZSB9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIGdldEZpbHRlcmVkRGF0YShcbiAgICAgICAgZGF0YTogU2VsZWN0MkRhdGEsXG4gICAgICAgIHNlYXJjaFRleHQ6IHN0cmluZyB8IG51bGwsXG4gICAgICAgIGVkaXRQYXR0ZXJuPzogKHN0cjogc3RyaW5nKSA9PiBzdHJpbmcsXG4gICAgKTogU2VsZWN0MkRhdGEge1xuICAgICAgICBpZiAoc2VhcmNoVGV4dCkge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBTZWxlY3QyRGF0YSA9IFtdO1xuICAgICAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGRhdGEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLnNvbWUoZ3JvdXAgPT4gU2VsZWN0MlV0aWxzLmNvbnRhaW5TZWFyY2hUZXh0KGdyb3VwLmxhYmVsLCBzZWFyY2hUZXh0LCBlZGl0UGF0dGVybikpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJlZE9wdGlvbnMgPSBvcHRpb25zLmZpbHRlcihncm91cCA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlbGVjdDJVdGlscy5jb250YWluU2VhcmNoVGV4dChncm91cC5sYWJlbCwgc2VhcmNoVGV4dCwgZWRpdFBhdHRlcm4pLFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5ncm91cE9yT3B0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IGZpbHRlcmVkT3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChTZWxlY3QyVXRpbHMuY29udGFpblNlYXJjaFRleHQoZ3JvdXBPck9wdGlvbi5sYWJlbCwgc2VhcmNoVGV4dCwgZWRpdFBhdHRlcm4pKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGdyb3VwT3JPcHRpb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBnZXRGaWx0ZXJlZFNlbGVjdGVkRGF0YShcbiAgICAgICAgZGF0YTogU2VsZWN0MkRhdGEsXG4gICAgICAgIHNlbGVjdGVkT3B0aW9uczogU2VsZWN0Mk9wdGlvbiB8IFNlbGVjdDJPcHRpb25bXSB8IG51bGwsXG4gICAgKTogU2VsZWN0MkRhdGEge1xuICAgICAgICBjb25zdCByZXN1bHQ6IFNlbGVjdDJEYXRhID0gW107XG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBkYXRhKSB7XG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJlZE9wdGlvbnMgPSBvcHRpb25zLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgZ3JvdXAgPT4gU2VsZWN0MlV0aWxzLmlzU2VsZWN0ZWQoc2VsZWN0ZWRPcHRpb25zLCBncm91cCwgdHJ1ZSkgPT09ICdmYWxzZScsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVyZWRPcHRpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5ncm91cE9yT3B0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogZmlsdGVyZWRPcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKFNlbGVjdDJVdGlscy5pc1NlbGVjdGVkKHNlbGVjdGVkT3B0aW9ucywgZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyT3B0aW9uLCB0cnVlKSA9PT0gJ2ZhbHNlJykge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGdyb3VwT3JPcHRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgc3RhdGljIGlzU2VhcmNoYm94SGlkZGV4KGRhdGE6IFNlbGVjdDJEYXRhLCBtaW5Db3VudEZvclNlYXJjaD86IG51bWJlciB8IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICBtaW5Db3VudEZvclNlYXJjaCA9PT0gJycgfHxcbiAgICAgICAgICAgIG1pbkNvdW50Rm9yU2VhcmNoID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIG1pbkNvdW50Rm9yU2VhcmNoID09PSBudWxsIHx8XG4gICAgICAgICAgICBpc05hTigrbWluQ291bnRGb3JTZWFyY2gpXG4gICAgICAgICkge1xuICAgICAgICAgICAgbWluQ291bnRGb3JTZWFyY2ggPSBkZWZhdWx0TWluQ291bnRGb3JTZWFyY2g7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb3B0aW9uQ291bnQgPSBTZWxlY3QyVXRpbHMuZ2V0T3B0aW9uc0NvdW50KGRhdGEpO1xuICAgICAgICByZXR1cm4gb3B0aW9uQ291bnQgPCArbWluQ291bnRGb3JTZWFyY2g7XG4gICAgfVxuXG4gICAgc3RhdGljIGlzU2VsZWN0ZWQoXG4gICAgICAgIG9wdGlvbnM6IFNlbGVjdDJPcHRpb24gfCBTZWxlY3QyT3B0aW9uW10gfCBudWxsLFxuICAgICAgICBvcHRpb246IFNlbGVjdDJPcHRpb24sXG4gICAgICAgIG11bHRpcGxlOiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgICApIHtcbiAgICAgICAgcmV0dXJuIG11bHRpcGxlXG4gICAgICAgICAgICA/IG9wdGlvbnMgJiYgKG9wdGlvbnMgYXMgU2VsZWN0Mk9wdGlvbltdKS5zb21lKG9wID0+IG9wLnZhbHVlID09PSBvcHRpb24udmFsdWUpXG4gICAgICAgICAgICAgICAgPyAndHJ1ZSdcbiAgICAgICAgICAgICAgICA6ICdmYWxzZSdcbiAgICAgICAgICAgIDogb3B0aW9ucyAmJiBvcHRpb24udmFsdWUgPT09IChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb24pLnZhbHVlXG4gICAgICAgICAgICA/ICd0cnVlJ1xuICAgICAgICAgICAgOiAnZmFsc2UnO1xuICAgIH1cblxuICAgIHN0YXRpYyByZW1vdmVTZWxlY3Rpb24ob3B0aW9uczogU2VsZWN0Mk9wdGlvbiB8IFNlbGVjdDJPcHRpb25bXSB8IG51bGwsIG9wdGlvbjogU2VsZWN0Mk9wdGlvbikge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb25bXSkubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmICgob3B0aW9ucyBhcyBTZWxlY3QyT3B0aW9uW10pW2ldLnZhbHVlID09PSBvcHRpb24udmFsdWUpIHtcbiAgICAgICAgICAgICAgICAob3B0aW9ucyBhcyBTZWxlY3QyT3B0aW9uW10pLnNwbGljZShpLCAxKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBnZXRPcHRpb25zQ291bnQoZGF0YTogU2VsZWN0MkRhdGEpIHtcbiAgICAgICAgbGV0IGNvdW50ID0gMDtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBkYXRhKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICBjb3VudCArPSBvcHRpb25zLmxlbmd0aDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb3VudCsrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY291bnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgaXNOdWxsT3JVbmRlZmluZWQodmFsdWU6IGFueSkge1xuICAgICAgICByZXR1cm4gdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBjb250YWluU2VhcmNoVGV4dChcbiAgICAgICAgbGFiZWw6IHN0cmluZyxcbiAgICAgICAgc2VhcmNoVGV4dDogc3RyaW5nIHwgbnVsbCxcbiAgICAgICAgZWRpdFBhdHRlcm46ICgoc3RyOiBzdHJpbmcpID0+IHN0cmluZykgfCB1bmRlZmluZWQsXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBzZWFyY2hUZXh0XG4gICAgICAgICAgICA/IFNlbGVjdDJVdGlscy5mb3JtYXRTYW5zVW5pY29kZShsYWJlbCkubWF0Y2goXG4gICAgICAgICAgICAgICAgICBuZXcgUmVnRXhwKFNlbGVjdDJVdGlscy5mb3JtYXRQYXR0ZXJuKHNlYXJjaFRleHQsIGVkaXRQYXR0ZXJuKSwgJ2knKSxcbiAgICAgICAgICAgICAgKSAhPT0gbnVsbFxuICAgICAgICAgICAgOiB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHByb3RlY3RQYXR0ZXJuKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKHByb3RlY3RSZWdleHAsICdcXFxcJCYnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBmb3JtYXRTYW5zVW5pY29kZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGZvciAoY29uc3QgdW5pY29kZVBhdHRlcm4gb2YgdW5pY29kZVBhdHRlcm5zKSB7XG4gICAgICAgICAgICBzdHIgPSBzdHIucmVwbGFjZSh1bmljb2RlUGF0dGVybi5zLCB1bmljb2RlUGF0dGVybi5sKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3RyO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGZvcm1hdFBhdHRlcm4oc3RyOiBzdHJpbmcsIGVkaXRQYXR0ZXJuOiAoKHN0cjogc3RyaW5nKSA9PiBzdHJpbmcpIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcbiAgICAgICAgc3RyID0gU2VsZWN0MlV0aWxzLmZvcm1hdFNhbnNVbmljb2RlKFNlbGVjdDJVdGlscy5wcm90ZWN0UGF0dGVybihzdHIpKTtcblxuICAgICAgICBpZiAoZWRpdFBhdHRlcm4gJiYgdHlwZW9mIGVkaXRQYXR0ZXJuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBzdHIgPSBlZGl0UGF0dGVybihzdHIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdHI7XG4gICAgfVxufVxuIl19 |
@@ -6,6 +6,15 @@ import { Select2Data, Select2Option, Select2UpdateValue, Select2Value } from './select2-interfaces'; | ||
static getFirstAvailableOption(data: Select2Data): Select2Value; | ||
private static getOptionsCount; | ||
static valueIsNotInFilteredData(filteredData: Select2Data, value: Select2Value | null | undefined): boolean; | ||
static getPreviousOption(filteredData: Select2Data, hoveringValue: Select2Value | null | undefined): Select2Option; | ||
static getNextOption(filteredData: Select2Data, hoveringValue: Select2Value | null | undefined): Select2Option; | ||
static getReduceData(data: Select2Data, maxResults?: number): { | ||
result: Select2Data; | ||
reduce: boolean; | ||
}; | ||
static getFilteredData(data: Select2Data, searchText: string | null, editPattern?: (str: string) => string): Select2Data; | ||
static getFilteredSelectedData(data: Select2Data, selectedOptions: Select2Option | Select2Option[] | null): Select2Data; | ||
static isSearchboxHiddex(data: Select2Data, minCountForSearch?: number | string): boolean; | ||
static isSelected(options: Select2Option | Select2Option[] | null, option: Select2Option, multiple: boolean | null | undefined): "true" | "false"; | ||
static removeSelection(options: Select2Option | Select2Option[] | null, option: Select2Option): void; | ||
private static getOptionsCount; | ||
private static isNullOrUndefined; | ||
@@ -16,7 +25,2 @@ private static containSearchText; | ||
private static formatPattern; | ||
static getFilteredData(data: Select2Data, searchText: string | null, editPattern?: (str: string) => string): Select2Data; | ||
static getFilteredSelectedData(data: Select2Data, selectedOptions: Select2Option | Select2Option[] | null): Select2Data; | ||
static isSearchboxHiddex(data: Select2Data, minCountForSearch?: number | string): boolean; | ||
static isSelected(options: Select2Option | Select2Option[] | null, option: Select2Option, multiple: boolean | null | undefined): "true" | "false"; | ||
static removeSelection(options: Select2Option | Select2Option[] | null, option: Select2Option): void; | ||
} |
@@ -30,2 +30,6 @@ import { ConnectedPosition } from '@angular/cdk/overlay'; | ||
noResultMessage: string; | ||
/** maximum results limit (0 = no limit) */ | ||
maxResults: number; | ||
/** message when maximum results */ | ||
maxResultsMessage: string; | ||
/** infinite scroll distance */ | ||
@@ -97,5 +101,6 @@ infiniteScrollDistance: number; | ||
overlayHeight: number; | ||
_triggerRect: ClientRect; | ||
_dropdownRect: ClientRect; | ||
_triggerRect: DOMRect; | ||
_dropdownRect: DOMRect; | ||
get _positions(): ConnectedPosition[]; | ||
maxResultsExceeded: boolean; | ||
private _minCountForSearch?; | ||
@@ -163,6 +168,2 @@ private cdkConnectedOverlay; | ||
focusout(): void; | ||
private moveUp; | ||
private moveDown; | ||
private updateScrollFromOption; | ||
private selectByEnter; | ||
select(option: Select2Option | null): void; | ||
@@ -205,2 +206,6 @@ keyDown(e: KeyboardEvent): void; | ||
_isErrorState(): boolean; | ||
private moveUp; | ||
private moveDown; | ||
private updateScrollFromOption; | ||
private selectByEnter; | ||
private _testKey; | ||
@@ -207,0 +212,0 @@ private _getKey; |
@@ -1,1 +0,1 @@ | ||
{"__symbolic":"module","version":4,"metadata":{"Select2Group":{"__symbolic":"interface"},"Select2Option":{"__symbolic":"interface"},"Select2Value":{"__symbolic":"interface"},"Select2UpdateValue":{"__symbolic":"interface"},"Select2Data":{"__symbolic":"interface"},"Select2UpdateEvent":{"__symbolic":"interface"},"Select2SearchEvent":{"__symbolic":"interface"},"Select2RemoveEvent":{"__symbolic":"interface"},"Select2ScrollEvent":{"__symbolic":"interface"},"timeout":200,"unicodePatterns":{"__symbolic":"error","message":"Expression form not supported","line":3,"character":17,"module":"./lib/select2-const"},"defaultMinCountForSearch":6,"protectRegexp":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"RegExp"},"arguments":["[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]","g"]},"Select2":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":24,"character":1},"arguments":[{"selector":"select2","template":"<div class=\"select2-label\" (click)=\"toggleOpenAndClose()\">\n <ng-content select=\"select2-label\"></ng-content>\n <span *ngIf=\"required\" class=\"select2-required\"></span>\n</div>\n<div\n class=\"select2 select2-container select2-container--default select2-container--focus\"\n [class.select2-container--below]=\"!select2above\"\n [class.select2-container--above]=\"select2above\"\n [class.select2-container--open]=\"isOpen\"\n [class.select2-container--disabled]=\"disabled\"\n>\n <div\n class=\"selection\"\n #selection\n #trigger=\"cdkOverlayOrigin\"\n [attr.tabindex]=\"!this.isOpen ? tabIndex : '-1'\"\n (click)=\"toggleOpenAndClose()\"\n (focus)=\"focusin()\"\n (blur)=\"focusout()\"\n (keydown)=\"openKey($event)\"\n cdkOverlayOrigin\n [class.select2-focused]=\"focused\"\n >\n <div\n class=\"select2-selection\"\n [class.select2-selection--multiple]=\"multiple\"\n [class.select2-selection--single]=\"!multiple\"\n role=\"combobox\"\n >\n <span *ngIf=\"!multiple\" class=\"select2-selection__rendered\" [title]=\"select2Option?.label || ''\">\n <span *ngIf=\"!select2Option\"> </span>\n <span *ngIf=\"select2Option\" [innerHTML]=\"select2Option.label\"></span>\n <span [class.select2-selection__placeholder__option]=\"option\" class=\"select2-selection__placeholder\">{{\n placeholder\n }}</span>\n </span>\n <span\n (click)=\"reset($event)\"\n *ngIf=\"!multiple && resettable && select2Option && !(disabled || readonly)\"\n class=\"select2-selection__reset\"\n role=\"presentation\"\n >×</span\n >\n <span *ngIf=\"!multiple\" class=\"select2-selection__arrow\" role=\"presentation\"> </span>\n <ul *ngIf=\"multiple\" class=\"select2-selection__rendered\">\n <span\n [class.select2-selection__placeholder__option]=\"select2Options?.length > 0\"\n class=\"select2-selection__placeholder\"\n >{{ placeholder }}</span\n >\n <li *ngFor=\"let op of option; trackBy: trackBy\" class=\"select2-selection__choice\" [title]=\"op.label\">\n <span\n *ngIf=\"!(disabled || readonly)\"\n (click)=\"removeSelection($event, op)\"\n class=\"select2-selection__choice__remove\"\n role=\"presentation\"\n >×</span\n >\n <span [innerHTML]=\"op.label\"></span>\n </li>\n </ul>\n </div>\n </div>\n <ng-container *ngIf=\"!overlay\">\n <ng-container *ngTemplateOutlet=\"containerTemplate\"></ng-container>\n </ng-container>\n\n <div class=\"select2-subscript-wrapper\">\n <ng-content select=\"select2-hint\"></ng-content>\n </div>\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"select2-overlay-backdrop\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"this.isOpen && overlay\"\n [cdkConnectedOverlayMinWidth]=\"overlayWidth\"\n [cdkConnectedOverlayHeight]=\"overlayHeight\"\n [cdkConnectedOverlayPositions]=\"_positions\"\n (backdropClick)=\"toggleOpenAndClose()\"\n>\n <ng-container *ngTemplateOutlet=\"containerTemplate\"></ng-container>\n</ng-template>\n\n<ng-template #containerTemplate>\n <div\n class=\"select2-container select2-container--default select2-container-dropdown\"\n [class.select2-container--open]=\"isOpen\"\n [class.select2-overlay]=\"overlay\"\n [class.select2-position-auto]=\"listPosition === 'auto'\"\n >\n <div\n #dropdown\n class=\"select2-dropdown\"\n [class.select2-dropdown--below]=\"!select2above\"\n [class.select2-dropdown--above]=\"select2above\"\n >\n <div class=\"select2-search select2-search--dropdown\" [class.select2-search--hide]=\"hideSearch()\">\n <input\n #searchInput\n [id]=\"id + '-search-field'\"\n [value]=\"searchText\"\n (keydown)=\"keyDown($event)\"\n (keyup)=\"searchUpdate($event)\"\n (change)=\"prevChange($event)\"\n class=\"select2-search__field\"\n type=\"search\"\n role=\"textbox\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n spellcheck=\"false\"\n [attr.tabindex]=\"this.isOpen ? tabIndex : '-1'\"\n />\n </div>\n <div class=\"select2-results\">\n <ul\n #results\n class=\"select2-results__options\"\n [style.max-height]=\"resultMaxHeight\"\n role=\"tree\"\n tabindex=\"-1\"\n infiniteScroll\n [infiniteScrollDisabled]=\"!infiniteScroll && !isOpen\"\n [infiniteScrollDistance]=\"infiniteScrollDistance\"\n [infiniteScrollThrottle]=\"infiniteScrollThrottle\"\n [infiniteScrollContainer]=\"results\"\n (scrolled)=\"onScroll('down')\"\n (scrolledUp)=\"onScroll('up')\"\n (keydown)=\"keyDown($event)\"\n >\n <ng-container *ngFor=\"let groupOrOption of filteredData; index as i; trackBy: trackBy\">\n <li *ngIf=\"groupOrOption.options\" class=\"select2-results__option\" role=\"group\">\n <strong\n *ngIf=\"!hasTemplate(groupOrOption, 'group'); else optGroup\"\n [attr.class]=\"\n 'select2-results__group' +\n (groupOrOption.classes ? ' ' + groupOrOption.classes : '')\n \"\n [innerHTML]=\"groupOrOption.label\"\n ></strong>\n <ng-template #optGroup>\n <ng-container\n *ngTemplateOutlet=\"getTemplate(groupOrOption, 'group'); context: groupOrOption\"\n >\n </ng-container>\n </ng-template>\n\n <ul class=\"select2-results__options select2-results__options--nested\">\n <li\n *ngFor=\"let option of groupOrOption.options; index as j; trackBy: trackBy\"\n #result\n [id]=\"option.id || id + '-option-' + i + '-' + j\"\n [class]=\"getOptionStyle(option)\"\n role=\"treeitem\"\n [attr.aria-selected]=\"isSelected(option)\"\n [attr.aria-disabled]=\"isDisabled(option)\"\n (mouseenter)=\"mouseenter(option)\"\n (click)=\"click(option)\"\n >\n <div\n *ngIf=\"!hasTemplate(option, 'option'); else liGroup\"\n class=\"select2-label-content\"\n [innerHTML]=\"option.label\"\n ></div>\n <ng-template #liGroup>\n <ng-container\n *ngTemplateOutlet=\"getTemplate(option, 'option'); context: option\"\n >\n </ng-container>\n </ng-template>\n </li>\n </ul>\n </li>\n <li\n *ngIf=\"!groupOrOption.options\"\n #result\n [id]=\"groupOrOption.id || id + '-option-' + i\"\n [class]=\"getOptionStyle(groupOrOption)\"\n role=\"treeitem\"\n [attr.aria-selected]=\"isSelected(groupOrOption)\"\n [attr.aria-disabled]=\"isDisabled(groupOrOption)\"\n (mouseenter)=\"mouseenter(groupOrOption)\"\n (click)=\"click(groupOrOption)\"\n >\n <div\n *ngIf=\"!hasTemplate(groupOrOption, 'option'); else li\"\n [innerHTML]=\"groupOrOption.label\"\n class=\"select2-label-content\"\n ></div>\n <ng-template #li>\n <ng-container\n *ngTemplateOutlet=\"getTemplate(groupOrOption, 'option'); context: groupOrOption\"\n >\n </ng-container>\n </ng-template>\n </li>\n </ng-container>\n <li\n class=\"select2-no-result select2-results__option\"\n *ngIf=\"!filteredData?.length && noResultMessage\"\n [innerHTML]=\"noResultMessage\"\n ></li>\n </ul>\n </div>\n </div>\n </div>\n</ng-template>\n","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{opacity:0;position:absolute;width:0}.select2-container .select2-selection--single{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;flex:1 1 auto;overflow:hidden;padding:0 0 0 8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container .select2-selection--multiple{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;box-sizing:border-box;cursor:pointer;display:block;min-height:32px;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{border:none;box-sizing:border-box;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;height:0;overflow:hidden;position:absolute;width:100%;z-index:1051}.select2-dropdown .select2-label-content{display:contents}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;color:#000;color:var(--select2-option-text-color,#000);padding:6px;user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container.select2-container-dropdown.select2-container--open{opacity:1;width:100%}.select2-container--open .select2-dropdown{height:auto;overflow: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{box-sizing:border-box;padding:4px;width:100%}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{background:#fff;border:0;display:block;filter:alpha(opacity=0);height:auto;left:0;margin:0;min-height:100%;min-width:100%;opacity:0;padding:0;position:fixed;top:0;width:auto;z-index:99}.select2-required:before{color:red;color:var(--select2-required-color,red);content:\"*\"}.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 span{overflow:hidden;text-overflow:ellipsis;text-overflow:var(--select2-placeholder-overflow,ellipsis);white-space:nowrap}.select2-container--default .select2-selection--single .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--single .select2-selection__arrow,.select2-container--default .select2-selection--single .select2-selection__reset{align-items:center;display:flex;justify-content:center;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow:before{border-bottom:0 solid var(--select2-arrow-color,#888);border-color:#888 transparent;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--select2-arrow-color,#888);content:\" \";height:0;width:0}.select2-container--default .select2-selection--single .select2-selection__reset{color:#999;color:var(--select2-reset-color,#999)}.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-bottom-color:var(--select2-arrow-color,#888);border-color:transparent transparent #888;border-right-color:transparent;border-top-color:transparent;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{box-sizing:border-box;flex:1 1 auto;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);display:block;float:left;margin-top:5px;overflow:hidden;text-overflow:ellipsis;text-overflow:var(--select2-placeholder-overflow,ellipsis);white-space:nowrap;width:100%}.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-right:10px;margin-top:5px}.select2-container--default .select2-selection--multiple .select2-selection__choice{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);color:#000;color:var(--select2-selection-choice-text-color,#000);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:1px solid var(--select2-selection-focus-border-color,#000);outline:none}.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{background:#fff;background:1px solid var(--select2-search-background,#fff);border:1px solid #aaa;border:1px solid var(--select2-search-border-color,#aaa);border-radius:0;border-radius:var(--select2-search-border-radius,0)}.select2-container--default .select2-search--inline .select2-search__field{-webkit-appearance:textfield;background:transparent;border:none;box-shadow:none;outline:none}.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]{background:transparent;background:var(--select2-option-disabled-background,transparent);color:#999;color:var(--select2-option-disabled-text-color,#999)}.select2-container--default .select2-results__option[aria-selected=true]{background:#ddd;background:var(--select2-option-selected-background,#ddd);color:#000;color:var(--select2-option-selected-text-color,#000)}.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__option--hide{display:none}.select2-container--default .select2-results__group{background:transparent;background:var(--select2-option-group-background,transparent);color:grey;color:var(--select2-option-group-text-color,grey);cursor:default;display:block;padding:6px}.select2-no-result{color:#888;color:var(--select2-no-result-color,#888);font-style:italic;font-style:var(--select2-font-style-color,italic)}:host.nostyle .select2-dropdown{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,:host.nostyle .select2-selection--multiple,:host.nostyle .select2-selection--single{background:transparent;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{align-items:baseline;border-top:.84375em solid transparent;display:inline-flex;height:auto;padding:.4375em 0;width:100%}:host.material .select2-container--default .select2-selection--multiple,:host.material .select2-container--default .select2-selection--single{border:0;border-radius:0;box-sizing:border-box;height:24px;width:100%}:host.material .select2-container--default .select2-selection--multiple:before,:host.material .select2-container--default .select2-selection--single:before{background:#ddd;background:var(--select2-material-underline,#ddd);bottom:1.65em;content:\" \";display:block;height:1px;position:absolute;width:100%}:host.material .select2-container--default .select2-selection--multiple:after,:host.material .select2-container--default .select2-selection--single:after{background:#5a419e;background:var(--select2-material-underline-active,#5a419e);bottom:1.63em;content:\" \";display:block;height:2px;left:50%;position:absolute;transition:none;width:0}:host.material .select2-container--default .select2-selection--multiple .select2-selection__rendered,:host.material .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:inherit;padding-left:1px}:host.material .select2-container--default .select2-selection--multiple .select2-selection__placeholder,:host.material .select2-container--default .select2-selection--single .select2-selection__placeholder{color:rgba(0,0,0,.38);color:var(--select2-material-placeholder-color,rgba(0,0,0,.38));display:block;left:0;position:absolute;top:20px;transform-origin:0 21px;transition:transform .3s}:host.material .select2-container--default .select2-container--open{bottom:1.6em;left:0}:host.material .select2-container--default .select2-selection__placeholder__option{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-container--open .select2-selection--multiple:after,:host.material .select2-container--default.select2-container--open .select2-selection--single:after,:host.material .select2-container--default .select2-focused .select2-selection--multiple:after,:host.material .select2-container--default .select2-focused .select2-selection--single:after{left:0;transition:width .3s cubic-bezier(.12,1,.77,1),left .3s cubic-bezier(.12,1,.77,1);width:100%}:host.material .select2-container--default .select2-dropdown{border:0;border-radius: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:transparent}:host.material .select2-container--default.select2-container--disabled .select2-selection--multiple:before,:host.material .select2-container--default.select2-container--disabled .select2-selection--single:before{background:linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 33%,transparent 0);background:var(--select2-material-underline-disabled,linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 33%,transparent 0));background-position:0 bottom;background-repeat:repeat-x;background-size:4px 1px}: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{color:#888;color:var(--select2-hint-text-color,#888);font-size:75%;position:absolute;top:calc(100% - 1.72917em)}::ng-deep .select2-overlay-backdrop{background:rgba(0,0,0,.32);background:var(--select2-overlay-backdrop,transparent)}::ng-deep .cdk-overlay-container .select2-container .select2-dropdown.select2-dropdown--above{bottom:28px}::ng-deep .cdk-overlay-container .select2-container--open.select2-position-auto .select2-dropdown{margin-bottom:28px}::ng-deep .cdk-overlay-container .select2-container--open.select2-position-auto .select2-dropdown.select2-dropdown--above{bottom:0;margin-bottom:0;margin-top:28px}@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":33,"character":5}}]}],"minCharForSearch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":5}}]}],"displaySearchStatus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":5}}]}],"placeholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5}}]}],"customSearchEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":5}}]}],"limitSelection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":5}}]}],"listPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5}}]}],"multiple":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":5}}]}],"overlay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":5}}]}],"styleMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":5}}]}],"noResultMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":5}}]}],"infiniteScrollDistance":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":69,"character":5}}]}],"infiniteScrollThrottle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":5}}]}],"infiniteScroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":75,"character":5}}]}],"editPattern":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":84,"character":5}}]}],"templates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":87,"character":5}}]}],"resultMaxHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":90,"character":5}}]}],"update":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":92,"character":5}}]}],"open":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":93,"character":5}}]}],"close":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":94,"character":5}}]}],"focus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":95,"character":5}}]}],"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":96,"character":5}}]}],"search":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":97,"character":5}}]}],"scroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":98,"character":5}}]}],"removeOption":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":99,"character":5}}]}],"minCountForSearch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":134,"character":5}}]}],"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":145,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":146,"character":5},"arguments":["id"]}]}],"required":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":155,"character":5}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":164,"character":5}}]}],"hideSelectedItems":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":173,"character":5}}]}],"readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":182,"character":5}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":191,"character":5}}]}],"tabIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":206,"character":5}}]}],"resettable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":218,"character":5}}]}],"ariaInvalid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":226,"character":5},"arguments":["attr.aria-invalid"]}]}],"classMaterial":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":231,"character":5},"arguments":["class.material"]}]}],"classNostyle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":236,"character":5},"arguments":["class.nostyle"]}]}],"select2above":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":241,"character":5},"arguments":["class.select2-above"]}]}],"cdkConnectedOverlay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":273,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/cdk/overlay","name":"CdkConnectedOverlay","line":273,"character":15}]}]}],"selection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":276,"character":5},"arguments":["selection",{"static":true}]}]}],"resultContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":278,"character":5},"arguments":["results"]}]}],"results":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":279,"character":5},"arguments":["result"]}]}],"searchInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":280,"character":5},"arguments":["searchInput"]}]}],"dropdown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":281,"character":5},"arguments":["dropdown"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":317,"character":9}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":318,"character":9}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":319,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":319,"character":17}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute","line":320,"character":9},"arguments":["tabindex"]}]],"parameters":[{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ViewportRuler","line":315,"character":34},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":316,"character":36},{"__symbolic":"reference","module":"@angular/forms","name":"NgForm","line":317,"character":41},{"__symbolic":"reference","module":"@angular/forms","name":"FormGroupDirective","line":318,"character":46},{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":319,"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"}],"reset":[{"__symbolic":"method"}],"prevChange":[{"__symbolic":"method"}],"toggleOpenAndClose":[{"__symbolic":"method"}],"hasTemplate":[{"__symbolic":"method"}],"getTemplate":[{"__symbolic":"method"}],"triggerRect":[{"__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"}],"onScroll":[{"__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"}],"_isAbobeOverlay":[{"__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":{}},"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":"reference","name":"protectRegexp"},"\\$&"]}},"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":269,"character":59,"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":11,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":12,"character":14},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":12,"character":28},{"__symbolic":"reference","module":"@angular/cdk/overlay","name":"OverlayModule","line":12,"character":41},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":12,"character":56},{"__symbolic":"reference","module":"ngx-infinite-scroll","name":"InfiniteScrollModule","line":12,"character":77}],"declarations":[{"__symbolic":"reference","name":"Select2Hint"},{"__symbolic":"reference","name":"Select2Label"},{"__symbolic":"reference","name":"Select2"}],"exports":[{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":14,"character":14},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":14,"character":27},{"__symbolic":"reference","name":"Select2Hint"},{"__symbolic":"reference","name":"Select2Label"},{"__symbolic":"reference","name":"Select2"}]}]}],"members":{}}},"origins":{"Select2Group":"./lib/select2-interfaces","Select2Option":"./lib/select2-interfaces","Select2Value":"./lib/select2-interfaces","Select2UpdateValue":"./lib/select2-interfaces","Select2Data":"./lib/select2-interfaces","Select2UpdateEvent":"./lib/select2-interfaces","Select2SearchEvent":"./lib/select2-interfaces","Select2RemoveEvent":"./lib/select2-interfaces","Select2ScrollEvent":"./lib/select2-interfaces","timeout":"./lib/select2-const","unicodePatterns":"./lib/select2-const","defaultMinCountForSearch":"./lib/select2-const","protectRegexp":"./lib/select2-const","Select2":"./lib/select2.component","Select2Hint":"./lib/select2-hint.component","Select2Label":"./lib/select2-label.component","Select2Utils":"./lib/select2-utils","Select2Module":"./lib/select2.module"},"importAs":"ng-select2-component"} | ||
{"__symbolic":"module","version":4,"metadata":{"Select2Group":{"__symbolic":"interface"},"Select2Option":{"__symbolic":"interface"},"Select2Value":{"__symbolic":"interface"},"Select2UpdateValue":{"__symbolic":"interface"},"Select2Data":{"__symbolic":"interface"},"Select2UpdateEvent":{"__symbolic":"interface"},"Select2SearchEvent":{"__symbolic":"interface"},"Select2RemoveEvent":{"__symbolic":"interface"},"Select2ScrollEvent":{"__symbolic":"interface"},"timeout":200,"unicodePatterns":{"__symbolic":"error","message":"Expression form not supported","line":3,"character":17,"module":"./lib/select2-const"},"defaultMinCountForSearch":6,"protectRegexp":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"RegExp"},"arguments":["[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]","g"]},"Select2":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":48,"character":1},"arguments":[{"selector":"select2","template":"<div class=\"select2-label\" (click)=\"toggleOpenAndClose()\">\n <ng-content select=\"select2-label\"></ng-content>\n <span *ngIf=\"required\" class=\"select2-required\"></span>\n</div>\n<div\n class=\"select2 select2-container select2-container--default select2-container--focus\"\n [class.select2-container--below]=\"!select2above\"\n [class.select2-container--above]=\"select2above\"\n [class.select2-container--open]=\"isOpen\"\n [class.select2-container--disabled]=\"disabled\"\n>\n <div\n class=\"selection\"\n #selection\n #trigger=\"cdkOverlayOrigin\"\n [attr.tabindex]=\"!this.isOpen ? tabIndex : '-1'\"\n (click)=\"toggleOpenAndClose()\"\n (focus)=\"focusin()\"\n (blur)=\"focusout()\"\n (keydown)=\"openKey($event)\"\n cdkOverlayOrigin\n [class.select2-focused]=\"focused\"\n >\n <div\n class=\"select2-selection\"\n [class.select2-selection--multiple]=\"multiple\"\n [class.select2-selection--single]=\"!multiple\"\n role=\"combobox\"\n >\n <span *ngIf=\"!multiple\" class=\"select2-selection__rendered\" [title]=\"select2Option?.label || ''\">\n <span *ngIf=\"!select2Option\"> </span>\n <span *ngIf=\"select2Option\" [innerHTML]=\"select2Option.label\"></span>\n <span [class.select2-selection__placeholder__option]=\"option\" class=\"select2-selection__placeholder\">{{\n placeholder\n }}</span>\n </span>\n <span\n (click)=\"reset($event)\"\n *ngIf=\"!multiple && resettable && select2Option && !(disabled || readonly)\"\n class=\"select2-selection__reset\"\n role=\"presentation\"\n >×</span\n >\n <span *ngIf=\"!multiple\" class=\"select2-selection__arrow\" role=\"presentation\"> </span>\n <ul *ngIf=\"multiple\" class=\"select2-selection__rendered\">\n <span\n [class.select2-selection__placeholder__option]=\"select2Options?.length > 0\"\n class=\"select2-selection__placeholder\"\n >{{ placeholder }}</span\n >\n <li *ngFor=\"let op of option; trackBy: trackBy\" class=\"select2-selection__choice\" [title]=\"op.label\">\n <span\n *ngIf=\"!(disabled || readonly)\"\n (click)=\"removeSelection($event, op)\"\n class=\"select2-selection__choice__remove\"\n role=\"presentation\"\n >×</span\n >\n <span [innerHTML]=\"op.label\"></span>\n </li>\n </ul>\n </div>\n </div>\n <ng-container *ngIf=\"!overlay\">\n <ng-container *ngTemplateOutlet=\"containerTemplate\"></ng-container>\n </ng-container>\n\n <div class=\"select2-subscript-wrapper\">\n <ng-content select=\"select2-hint\"></ng-content>\n </div>\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"select2-overlay-backdrop\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"this.isOpen && overlay\"\n [cdkConnectedOverlayMinWidth]=\"overlayWidth\"\n [cdkConnectedOverlayHeight]=\"overlayHeight\"\n [cdkConnectedOverlayPositions]=\"_positions\"\n (backdropClick)=\"toggleOpenAndClose()\"\n>\n <ng-container *ngTemplateOutlet=\"containerTemplate\"></ng-container>\n</ng-template>\n\n<ng-template #containerTemplate>\n <div\n class=\"select2-container select2-container--default select2-container-dropdown\"\n [class.select2-container--open]=\"isOpen\"\n [class.select2-overlay]=\"overlay\"\n [class.select2-position-auto]=\"listPosition === 'auto'\"\n >\n <div\n #dropdown\n class=\"select2-dropdown\"\n [class.select2-dropdown--below]=\"!select2above\"\n [class.select2-dropdown--above]=\"select2above\"\n >\n <div class=\"select2-search select2-search--dropdown\" [class.select2-search--hide]=\"hideSearch()\">\n <input\n #searchInput\n [id]=\"id + '-search-field'\"\n [value]=\"searchText\"\n (keydown)=\"keyDown($event)\"\n (keyup)=\"searchUpdate($event)\"\n (change)=\"prevChange($event)\"\n class=\"select2-search__field\"\n type=\"search\"\n role=\"textbox\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n spellcheck=\"false\"\n [attr.tabindex]=\"this.isOpen ? tabIndex : '-1'\"\n />\n </div>\n <div class=\"select2-results\">\n <ul\n #results\n class=\"select2-results__options\"\n [style.max-height]=\"resultMaxHeight\"\n role=\"tree\"\n tabindex=\"-1\"\n infiniteScroll\n [infiniteScrollDisabled]=\"!infiniteScroll && !isOpen\"\n [infiniteScrollDistance]=\"infiniteScrollDistance\"\n [infiniteScrollThrottle]=\"infiniteScrollThrottle\"\n [infiniteScrollContainer]=\"results\"\n (scrolled)=\"onScroll('down')\"\n (scrolledUp)=\"onScroll('up')\"\n (keydown)=\"keyDown($event)\"\n >\n <ng-container *ngFor=\"let groupOrOption of filteredData; index as i; trackBy: trackBy\">\n <li *ngIf=\"groupOrOption.options\" class=\"select2-results__option\" role=\"group\">\n <strong\n *ngIf=\"!hasTemplate(groupOrOption, 'group'); else optGroup\"\n [attr.class]=\"\n 'select2-results__group' +\n (groupOrOption.classes ? ' ' + groupOrOption.classes : '')\n \"\n [innerHTML]=\"groupOrOption.label\"\n ></strong>\n <ng-template #optGroup>\n <ng-container\n *ngTemplateOutlet=\"getTemplate(groupOrOption, 'group'); context: groupOrOption\"\n >\n </ng-container>\n </ng-template>\n\n <ul class=\"select2-results__options select2-results__options--nested\">\n <li\n *ngFor=\"let option of groupOrOption.options; index as j; trackBy: trackBy\"\n #result\n [id]=\"option.id || id + '-option-' + i + '-' + j\"\n [class]=\"getOptionStyle(option)\"\n role=\"treeitem\"\n [attr.aria-selected]=\"isSelected(option)\"\n [attr.aria-disabled]=\"isDisabled(option)\"\n (mouseenter)=\"mouseenter(option)\"\n (click)=\"click(option)\"\n >\n <div\n *ngIf=\"!hasTemplate(option, 'option'); else liGroup\"\n class=\"select2-label-content\"\n [innerHTML]=\"option.label\"\n ></div>\n <ng-template #liGroup>\n <ng-container\n *ngTemplateOutlet=\"getTemplate(option, 'option'); context: option\"\n >\n </ng-container>\n </ng-template>\n </li>\n </ul>\n </li>\n <li\n *ngIf=\"!groupOrOption.options\"\n #result\n [id]=\"groupOrOption.id || id + '-option-' + i\"\n [class]=\"getOptionStyle(groupOrOption)\"\n role=\"treeitem\"\n [attr.aria-selected]=\"isSelected(groupOrOption)\"\n [attr.aria-disabled]=\"isDisabled(groupOrOption)\"\n (mouseenter)=\"mouseenter(groupOrOption)\"\n (click)=\"click(groupOrOption)\"\n >\n <div\n *ngIf=\"!hasTemplate(groupOrOption, 'option'); else li\"\n [innerHTML]=\"groupOrOption.label\"\n class=\"select2-label-content\"\n ></div>\n <ng-template #li>\n <ng-container\n *ngTemplateOutlet=\"getTemplate(groupOrOption, 'option'); context: groupOrOption\"\n >\n </ng-container>\n </ng-template>\n </li>\n </ng-container>\n <li\n class=\"select2-no-result select2-results__option\"\n *ngIf=\"!filteredData?.length && noResultMessage\"\n [innerHTML]=\"noResultMessage\"\n ></li>\n <li\n class=\"select2-too-much-result select2-results__option\"\n *ngIf=\"maxResultsExceeded\"\n [innerHTML]=\"maxResultsMessage\"\n ></li>\n </ul>\n </div>\n </div>\n </div>\n</ng-template>\n","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{opacity:0;position:absolute;width:0}.select2-container .select2-selection--single{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;flex:1 1 auto;overflow:hidden;padding:0 0 0 8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container .select2-selection--multiple{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;box-sizing:border-box;cursor:pointer;display:block;min-height:32px;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{border:none;box-sizing:border-box;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;height:0;overflow:hidden;position:absolute;width:100%;z-index:1051}.select2-dropdown .select2-label-content{display:contents}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;color:#000;color:var(--select2-option-text-color,#000);padding:6px;user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container.select2-container-dropdown.select2-container--open{opacity:1;width:100%}.select2-container--open .select2-dropdown{height:auto;overflow: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{box-sizing:border-box;padding:4px;width:100%}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{background:#fff;border:0;display:block;filter:alpha(opacity=0);height:auto;left:0;margin:0;min-height:100%;min-width:100%;opacity:0;padding:0;position:fixed;top:0;width:auto;z-index:99}.select2-required:before{color:red;color:var(--select2-required-color,red);content:\"*\"}.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 span{overflow:hidden;text-overflow:ellipsis;text-overflow:var(--select2-placeholder-overflow,ellipsis);white-space:nowrap}.select2-container--default .select2-selection--single .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--single .select2-selection__arrow,.select2-container--default .select2-selection--single .select2-selection__reset{align-items:center;display:flex;justify-content:center;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow:before{border-bottom:0 solid var(--select2-arrow-color,#888);border-color:#888 transparent;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--select2-arrow-color,#888);content:\" \";height:0;width:0}.select2-container--default .select2-selection--single .select2-selection__reset{color:#999;color:var(--select2-reset-color,#999)}.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-bottom-color:var(--select2-arrow-color,#888);border-color:transparent transparent #888;border-right-color:transparent;border-top-color:transparent;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{box-sizing:border-box;flex:1 1 auto;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);display:block;float:left;margin-top:5px;overflow:hidden;text-overflow:ellipsis;text-overflow:var(--select2-placeholder-overflow,ellipsis);white-space:nowrap;width:100%}.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-right:10px;margin-top:5px}.select2-container--default .select2-selection--multiple .select2-selection__choice{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);color:#000;color:var(--select2-selection-choice-text-color,#000);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:1px solid var(--select2-selection-focus-border-color,#000);outline:none}.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{background:#fff;background:1px solid var(--select2-search-background,#fff);border:1px solid #aaa;border:1px solid var(--select2-search-border-color,#aaa);border-radius:0;border-radius:var(--select2-search-border-radius,0)}.select2-container--default .select2-search--inline .select2-search__field{-webkit-appearance:textfield;background:transparent;border:none;box-shadow:none;outline:none}.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]{background:transparent;background:var(--select2-option-disabled-background,transparent);color:#999;color:var(--select2-option-disabled-text-color,#999)}.select2-container--default .select2-results__option[aria-selected=true]{background:#ddd;background:var(--select2-option-selected-background,#ddd);color:#000;color:var(--select2-option-selected-text-color,#000)}.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__option--hide{display:none}.select2-container--default .select2-results__group{background:transparent;background:var(--select2-option-group-background,transparent);color:grey;color:var(--select2-option-group-text-color,grey);cursor:default;display:block;padding:6px}.select2-no-result{color:#888;color:var(--select2-no-result-color,#888);font-style:italic;font-style:var(--select2-no-result-font-style,italic)}.select2-too-much-result{color:#888;color:var(--select2-too-much-result-color,#888);font-style:italic;font-style:var(--select2-too-much-font-style,italic)}:host.nostyle .select2-dropdown{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,:host.nostyle .select2-selection--multiple,:host.nostyle .select2-selection--single{background:transparent;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{align-items:baseline;border-top:.84375em solid transparent;display:inline-flex;height:auto;padding:.4375em 0;width:100%}:host.material .select2-container--default .select2-selection--multiple,:host.material .select2-container--default .select2-selection--single{border:0;border-radius:0;box-sizing:border-box;height:24px;width:100%}:host.material .select2-container--default .select2-selection--multiple:before,:host.material .select2-container--default .select2-selection--single:before{background:#ddd;background:var(--select2-material-underline,#ddd);bottom:1.65em;content:\" \";display:block;height:1px;position:absolute;width:100%}:host.material .select2-container--default .select2-selection--multiple:after,:host.material .select2-container--default .select2-selection--single:after{background:#5a419e;background:var(--select2-material-underline-active,#5a419e);bottom:1.63em;content:\" \";display:block;height:2px;left:50%;position:absolute;transition:none;width:0}:host.material .select2-container--default .select2-selection--multiple .select2-selection__rendered,:host.material .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:inherit;padding-left:1px}:host.material .select2-container--default .select2-selection--multiple .select2-selection__placeholder,:host.material .select2-container--default .select2-selection--single .select2-selection__placeholder{color:rgba(0,0,0,.38);color:var(--select2-material-placeholder-color,rgba(0,0,0,.38));display:block;left:0;position:absolute;top:20px;transform-origin:0 21px;transition:transform .3s}:host.material .select2-container--default .select2-container--open{bottom:1.6em;left:0}:host.material .select2-container--default .select2-selection__placeholder__option{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-container--open .select2-selection--multiple:after,:host.material .select2-container--default.select2-container--open .select2-selection--single:after,:host.material .select2-container--default .select2-focused .select2-selection--multiple:after,:host.material .select2-container--default .select2-focused .select2-selection--single:after{left:0;transition:width .3s cubic-bezier(.12,1,.77,1),left .3s cubic-bezier(.12,1,.77,1);width:100%}:host.material .select2-container--default .select2-dropdown{border:0;border-radius: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:transparent}:host.material .select2-container--default.select2-container--disabled .select2-selection--multiple:before,:host.material .select2-container--default.select2-container--disabled .select2-selection--single:before{background:linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 33%,transparent 0);background:var(--select2-material-underline-disabled,linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 33%,transparent 0));background-position:0 bottom;background-repeat:repeat-x;background-size:4px 1px}: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{color:#888;color:var(--select2-hint-text-color,#888);font-size:75%;position:absolute;top:calc(100% - 1.72917em)}::ng-deep .select2-overlay-backdrop{background:rgba(0,0,0,.32);background:var(--select2-overlay-backdrop,transparent)}::ng-deep .cdk-overlay-container .select2-container .select2-dropdown.select2-dropdown--above{bottom:28px}::ng-deep .cdk-overlay-container .select2-container--open.select2-position-auto .select2-dropdown{margin-bottom:28px}::ng-deep .cdk-overlay-container .select2-container--open.select2-position-auto .select2-dropdown.select2-dropdown--above{bottom:0;margin-bottom:0;margin-top:28px}@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":57,"character":5}}]}],"minCharForSearch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":61,"character":5}}]}],"displaySearchStatus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":62,"character":5}}]}],"placeholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":5}}]}],"customSearchEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":64,"character":5}}]}],"limitSelection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":5}}]}],"listPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":5}}]}],"multiple":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":5}}]}],"overlay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":78,"character":5}}]}],"styleMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":87,"character":5}}]}],"noResultMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":90,"character":5}}]}],"maxResults":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":93,"character":5}}]}],"maxResultsMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":96,"character":5}}]}],"infiniteScrollDistance":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":99,"character":5}}]}],"infiniteScrollThrottle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":102,"character":5}}]}],"infiniteScroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":105,"character":5}}]}],"editPattern":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":114,"character":5}}]}],"templates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":117,"character":5}}]}],"resultMaxHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":120,"character":5}}]}],"update":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":122,"character":5}}]}],"open":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":123,"character":5}}]}],"close":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":124,"character":5}}]}],"focus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":125,"character":5}}]}],"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":126,"character":5}}]}],"search":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":127,"character":5}}]}],"scroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":128,"character":5}}]}],"removeOption":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":129,"character":5}}]}],"minCountForSearch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":164,"character":5}}]}],"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":175,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":176,"character":5},"arguments":["id"]}]}],"required":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":185,"character":5}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":194,"character":5}}]}],"hideSelectedItems":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":203,"character":5}}]}],"readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":212,"character":5}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":221,"character":5}}]}],"tabIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":235,"character":5}}]}],"resettable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":246,"character":5}}]}],"ariaInvalid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":254,"character":5},"arguments":["attr.aria-invalid"]}]}],"classMaterial":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":259,"character":5},"arguments":["class.material"]}]}],"classNostyle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":264,"character":5},"arguments":["class.nostyle"]}]}],"select2above":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":269,"character":5},"arguments":["class.select2-above"]}]}],"cdkConnectedOverlay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":304,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/cdk/overlay","name":"CdkConnectedOverlay","line":304,"character":15}]}]}],"selection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":307,"character":5},"arguments":["selection",{"static":true}]}]}],"resultContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":309,"character":5},"arguments":["results"]}]}],"results":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":310,"character":5},"arguments":["result"]}]}],"searchInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":311,"character":5},"arguments":["searchInput"]}]}],"dropdown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":312,"character":5},"arguments":["dropdown"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":348,"character":9}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":349,"character":9}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":350,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":350,"character":17}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute","line":351,"character":9},"arguments":["tabindex"]}]],"parameters":[{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ViewportRuler","line":346,"character":34},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":347,"character":36},{"__symbolic":"reference","module":"@angular/forms","name":"NgForm","line":348,"character":41},{"__symbolic":"reference","module":"@angular/forms","name":"FormGroupDirective","line":349,"character":46},{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":350,"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"}],"reset":[{"__symbolic":"method"}],"prevChange":[{"__symbolic":"method"}],"toggleOpenAndClose":[{"__symbolic":"method"}],"hasTemplate":[{"__symbolic":"method"}],"getTemplate":[{"__symbolic":"method"}],"triggerRect":[{"__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"}],"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"}],"onScroll":[{"__symbolic":"method"}],"_isErrorState":[{"__symbolic":"method"}],"moveUp":[{"__symbolic":"method"}],"moveDown":[{"__symbolic":"method"}],"updateScrollFromOption":[{"__symbolic":"method"}],"selectByEnter":[{"__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"}],"_isAbobeOverlay":[{"__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":{}},"Select2Utils":{"__symbolic":"class","members":{},"statics":{"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":245,"character":59,"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"}}},"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":"reference","name":"protectRegexp"},"\\$&"]}}}},"Select2Module":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":11,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":12,"character":14},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":12,"character":28},{"__symbolic":"reference","module":"@angular/cdk/overlay","name":"OverlayModule","line":12,"character":41},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":12,"character":56},{"__symbolic":"reference","module":"ngx-infinite-scroll","name":"InfiniteScrollModule","line":12,"character":77}],"declarations":[{"__symbolic":"reference","name":"Select2Hint"},{"__symbolic":"reference","name":"Select2Label"},{"__symbolic":"reference","name":"Select2"}],"exports":[{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":14,"character":14},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":14,"character":27},{"__symbolic":"reference","name":"Select2Hint"},{"__symbolic":"reference","name":"Select2Label"},{"__symbolic":"reference","name":"Select2"}]}]}],"members":{}}},"origins":{"Select2Group":"./lib/select2-interfaces","Select2Option":"./lib/select2-interfaces","Select2Value":"./lib/select2-interfaces","Select2UpdateValue":"./lib/select2-interfaces","Select2Data":"./lib/select2-interfaces","Select2UpdateEvent":"./lib/select2-interfaces","Select2SearchEvent":"./lib/select2-interfaces","Select2RemoveEvent":"./lib/select2-interfaces","Select2ScrollEvent":"./lib/select2-interfaces","timeout":"./lib/select2-const","unicodePatterns":"./lib/select2-const","defaultMinCountForSearch":"./lib/select2-const","protectRegexp":"./lib/select2-const","Select2":"./lib/select2.component","Select2Hint":"./lib/select2-hint.component","Select2Label":"./lib/select2-label.component","Select2Utils":"./lib/select2-utils","Select2Module":"./lib/select2.module"},"importAs":"ng-select2-component"} |
{ | ||
"name": "ng-select2-component", | ||
"version": "8.0.6", | ||
"version": "8.1.0", | ||
"description": "An Angular select2 component.", | ||
@@ -5,0 +5,0 @@ "author": "York Yao, Célian Veyssière", |
@@ -67,34 +67,36 @@ [![npm version](https://badge.fury.io/js/ng-select2-component.svg)](https://badge.fury.io/js/ng-select2-component) [![Downloads](https://img.shields.io/npm/dm/ng-select2-component.svg)](https://www.npmjs.com/package/ng-select2-component) [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/Harvest-Dev/ng-select2/master/LICENSE.md) | ||
| name | type | status | default | description | | ||
| ------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | -------- | ----------- | -------------------------------------------------------------------------------------------------- | | ||
| `data` | [`Select2Data`](#select2-data-structure) | required | | the data of the select2 | | ||
| `value` | [`Select2Value`](#select2-data-structure) | | | initial value | | ||
| `minCharForSearch` | `number` | | `0` | start the search when the number of characters is reached (`0` = unlimited) | | ||
| `minCountForSearch` | `number` | | `6` | hide search box if `options.length < minCountForSearch` | | ||
| `displaySearchStatus` | `'default'`<br>`'hidden'`<br>`'always'` | | `'default'` | display the search box (`default` : is based on `minCountForSearch`) | | ||
| `placeholder` | `string` | | | the placeholder string if nothing selected | | ||
| `noResultMessage` | `string` | | | the message string if no results when using the search field | | ||
| `customSearchEnabled` | `boolean` | | `false` | will trigger `search` event, and disable inside filter | | ||
| `multiple` | `boolean` | | `false` | select multiple options | | ||
| `resettable` | `boolean` | | `false` | add a button to reset value (not with `multiple`) | | ||
| `limitSelection` | `number` | | `0` | to limit multiple selection (`0` = unlimited) | | ||
| `hideSelectedItems` | `boolean` | | `false` | for `multiple`, remove selected values | | ||
| `resultMaxHeight` | `string` | | `'200px'` | change the height size of results | | ||
| `listPosition` | `'below'`<br>`'above'`<br>`'auto'` \* | | `'below'` | the position for the dropdown list<br> \* `'auto'`: only with `overlay` | | ||
| `infiniteScroll` | `boolean` | | `false` | active infiniteScroll on dropdown list ( with `ngx-infinite-scroll`) | | ||
| `infiniteScrollDistance` | `number` | | `1.5` | infiniteScroll distance | | ||
| `infiniteScrollThrottle` | `number` | | `150` | infiniteScroll throttle | | ||
| `overlay` | `boolean` | | `false` | active an overlay mode for dropdown list (with angular cdk). (See [Overlay](#overlay)) | | ||
| `styleMode` | `'default'`<br>`'material'`<br>`'noStyle'` | | `'default'` | change style for material style or remove border and background color | | ||
| `templates` | `TemplateRef`<br> `{option?: TemplateRef, group?: TemplateRef}`<br> `{templateId1: TemplateRef, ...}` | | | use templates for formatting content (see [Templating](#templating)) | | ||
| `editPattern` | `(str: string) => string` | | | use it for change the pattern of the filter search | | ||
| `ngModel`<br>`id`<br>`required`<br>`disabled`<br>`readonly`<br>`tabIndex` | | | | just like a `select` control | | ||
| `(update)` | `(event: `[`Select2UpdateEvent`](#select2-data-structure)`) => void` | event | | triggered when user select an option | | ||
| `(open)` | `(event: Select2) => void` | event | | triggered when user open the options | | ||
| `(close)` | `(event: Select2) => void` | event | | triggered when user close the options | | ||
| `(focus)` | `(event: Select2) => void` | event | | triggered when user enters the component | | ||
| `(blur)` | `(event: Select2) => void` | event | | triggered when user leaves the component | | ||
| `(search)` | `(event: `[`Select2SearchEvent`](#select2-data-structure)`) => void` | event | | triggered when search text changed | | ||
| `(scroll)` | `(event: `[`Select2ScrollEvent`](#select2-data-structure)`) => void` | event | | triggered when infiniteScroll is on `up` or `down` position | | ||
| `(removedOption)` | `(event: `[`Select2RemoveEvent`](#select2-data-structure)`) => void` | event | | for `multiple`, triggered when an option is removed from the list of selected options options list | | ||
| name | type | status | default | description | | ||
| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | -------- | -------------------- | -------------------------------------------------------------------------------------------------- | | ||
| `data` | [`Select2Data`](#select2-data-structure) | required | | the data of the select2 | | ||
| `value` | [`Select2Value`](#select2-data-structure) | | | initial value | | ||
| `minCharForSearch` | `number` | | `0` | start the search when the number of characters is reached (`0` = unlimited) | | ||
| `minCountForSearch` | `number` | | `6` | hide search box if `options.length < minCountForSearch` | | ||
| `displaySearchStatus` | `'default'`<br>`'hidden'`<br>`'always'` | | `'default'` | display the search box (`default` : is based on `minCountForSearch`) | | ||
| `placeholder` | `string` | | | the placeholder string if nothing selected | | ||
| `noResultMessage` | `string` | | | the message string if no results when using the search field | | ||
| `customSearchEnabled` | `boolean` | | `false` | will trigger `search` event, and disable inside filter | | ||
| `multiple` | `boolean` | | `false` | select multiple options | | ||
| `resettable` | `boolean` | | `false` | add a button to reset value (not with `multiple`) | | ||
| `limitSelection` | `number` | | `0` | to limit multiple selection (`0` = unlimited) | | ||
| `hideSelectedItems` | `boolean` | | `false` | for `multiple`, remove selected values | | ||
| `resultMaxHeight` | `string` | | `'200px'` | change the height size of results | | ||
| `maxResults` | `number` | | `0` | maximum results limit (`0` = unlimited)s | | ||
| `maxResultsMessage` | `string` | | `'Too much result…'` | message when maximum result | | ||
| `listPosition` | `'below'`<br>`'above'`<br>`'auto'` \* | | `'below'` | the position for the dropdown list<br> \* `'auto'`: only with `overlay` | | ||
| `infiniteScroll` | `boolean` | | `false` | active infiniteScroll on dropdown list ( with `ngx-infinite-scroll`) | | ||
| `infiniteScrollDistance` | `number` | | `1.5` | infiniteScroll distance | | ||
| `infiniteScrollThrottle` | `number` | | `150` | infiniteScroll throttle | | ||
| `overlay` | `boolean` | | `false` | active an overlay mode for dropdown list (with angular cdk). (See [Overlay](#overlay)) | | ||
| `styleMode` | `'default'`<br>`'material'`<br>`'noStyle'` | | `'default'` | change style for material style or remove border and background color | | ||
| `templates` | `TemplateRef`<br>`{option?: TemplateRef, group?: TemplateRef}`<br>`{templateId1: TemplateRef, ...}` | | | use templates for formatting content (see [Templating](#templating)) | | ||
| `editPattern` | `(str: string) => string` | | | use it for change the pattern of the filter search | | ||
| `ngModel`<br>`id`<br>`required`<br>`disabled`<br>`readonly`<br>`tabIndex` | | | | just like a `select` control | | ||
| `(update)` | `(event: `[`Select2UpdateEvent`](#select2-data-structure)`) => void` | event | | triggered when user select an option | | ||
| `(open)` | `(event: Select2) => void` | event | | triggered when user open the options | | ||
| `(close)` | `(event: Select2) => void` | event | | triggered when user close the options | | ||
| `(focus)` | `(event: Select2) => void` | event | | triggered when user enters the component | | ||
| `(blur)` | `(event: Select2) => void` | event | | triggered when user leaves the component | | ||
| `(search)` | `(event: `[`Select2SearchEvent`](#select2-data-structure)`) => void` | event | | triggered when search text changed | | ||
| `(scroll)` | `(event: `[`Select2ScrollEvent`](#select2-data-structure)`) => void` | event | | triggered when infiniteScroll is on `up` or `down` position | | ||
| `(removedOption)` | `(event: `[`Select2RemoveEvent`](#select2-data-structure)`) => void` | event | | for `multiple`, triggered when an option is removed from the list of selected options options list | | ||
@@ -269,4 +271,8 @@ ### select2 data structure | ||
--select2-no-result-color: #888; | ||
--select2-font-style-color: italic; | ||
--select2-no-result-font-style: italic; | ||
/* no result message */ | ||
--select2-too-much-result-color: #888; | ||
--select2-too-much-result-style: italic; | ||
/* reset */ | ||
@@ -273,0 +279,0 @@ --select2-reset-color: #999; |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
851187
7841
345