@firestitch/autocomplete-chips
Advanced tools
Comparing version 7.1.12 to 7.1.13
@@ -0,0 +0,0 @@ import { ElementRef, OnInit, Provider, OnDestroy, EventEmitter } from '@angular/core'; |
export declare class FsAutocompleteObjectDirective { | ||
} |
@@ -0,0 +0,0 @@ import { ModuleWithProviders } from '@angular/core'; |
export declare function getObjectValue(attribute: any, mapping: any): any; | ||
export declare function _getObjectValue(value: any, indexes: any): any; |
@@ -0,0 +0,0 @@ export declare enum DataType { |
@@ -442,4 +442,4 @@ (function (global, factory) { | ||
lodashEs.remove(this._model, data); | ||
this.updateModel(this._model); | ||
this.removed.emit(data); | ||
this.updateModel(this._model); | ||
}; | ||
@@ -446,0 +446,0 @@ /** |
@@ -1,2 +0,2 @@ | ||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/common"),require("@angular/forms"),require("@angular/material"),require("lodash-es"),require("rxjs"),require("rxjs/operators"),require("@angular/core"),require("@angular/cdk/drag-drop")):"function"==typeof define&&define.amd?define("@firestitch/autocomplete-chips",["exports","@angular/common","@angular/forms","@angular/material","lodash-es","rxjs","rxjs/operators","@angular/core","@angular/cdk/drag-drop"],e):e((t.firestitch=t.firestitch||{},t.firestitch["autocomplete-chips"]={}),t.ng.common,t.ng.forms,t.ng.material,t.lodashEs,t.rxjs,t.rxjs.operators,t.ng.core,t.ng.cdk["drag-drop"])}(this,function(t,e,o,n,a,i,r,s,l){"use strict";function p(t,e){var o="function"==typeof Symbol&&t[Symbol.iterator];if(!o)return t;var n,a,i=o.call(t),r=[];try{for(;(void 0===e||0<e--)&&!(n=i.next()).done;)r.push(n.value)}catch(s){a={error:s}}finally{try{n&&!n.done&&(o=i["return"])&&o.call(i)}finally{if(a)throw a.error}}return r}function c(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(p(arguments[e]));return t}function u(t,e){return e?function n(t,e){var o=e.shift(e);if(!o)return t;if(!t)return t;t=t[o];return n(t,e)}(t,e.split(".")):null}var d={Object:"object",Text:"text"},m=function(){function t(){}return t.decorators=[{type:s.Directive,args:[{selector:"[fsAutocompleteObject]"}]}],t}(),h={provide:o.NG_VALUE_ACCESSOR,useExisting:s.forwardRef(function(){return f}),multi:!0},f=function(){function t(){this.fetch=null,this.placeholder="",this.imageProperty="",this.allowObject=!0,this.delay=300,this.invalidTextMessage="",this.disabled=!1,this.removable=!0,this.orderable=!1,this.limit=0,this.fetchOnFocus=!0,this.compareWith=function(t,e){return a.isEqual(t,e)},this.selected=new s.EventEmitter,this.removed=new s.EventEmitter,this.reordered=new s.EventEmitter,this.formWrapper=!0,this.searchData=[],this.textData={},this.dataType=d,this.keyword=null,this.keyword$=new i.Subject,this.noResults=!1,this._model=[],this.destroy$=new i.Subject,this.objectTemplate=null,this.searchInput=null,this.autocompleteSearch=null,this.autocompleteTrigger=null,this._onTouched=function(){},this._onChange=function(t){}}return Object.defineProperty(t.prototype,"model",{get:function(){return this._model},enumerable:!0,configurable:!0}),t.prototype.dragStart=function(t){t.preventDefault()},t.prototype.registerOnChange=function(t){this._onChange=t},t.prototype.registerOnTouched=function(t){this._onTouched=t},t.prototype.ngOnInit=function(){var e=this;this.keyword$.pipe(r.takeUntil(this.destroy$),r.debounceTime(this.delay)).subscribe(function(t){e.keyword=a.trim(e.searchInput.nativeElement.value),e.allowObject&&e.objectKeyword(t),e.allowText&&e.textKeyword(t)})},t.prototype.drop=function(t){l.moveItemInArray(this._model,t.previousIndex,t.currentIndex),this.reordered.emit({item:t.item.data.data,from:t.previousIndex,to:t.currentIndex,items:this._model}),this.updateModel(this._model)},t.prototype._validateText=function(t){return String(t).trim().length&&(!this.validateText||this.validateText(t))},t.prototype.addText=function(t){if(this._validateText(t)){var e=this.createItem(t,d.Text);this.updateModel(c(this._model,[e]))}},t.prototype.addObject=function(t){this.updateModel(c(this._model,[t]))},t.prototype.blur=function(){this.autocompleteSearch.isOpen||this.closed()},t.prototype.closed=function(){this.allowText&&this.addText(this.keyword),this.clearInput()},t.prototype.textKeyword=function(t){var e=this;if(this.allowText&&"Comma"===t.code)return this.keyword.split(",").forEach(function(t){e.addText(t.trim())}),this.clearInput();this.textData={},this._validateText(this.keyword)&&(this.textData=this.createItem(this.keyword,d.Text))},t.prototype.focus=function(t){this.fetchOnFocus||(this.searchData=[]),this.fetchOnFocus&&(this.objectKeyword(t),this.autocompleteTrigger.openPanel())},t.prototype.objectKeyword=function(t){var o=this;t&&(-1<["Enter","ArrowDown","ArrowUp"].indexOf(t.code)||this.allowText&&"Comma"===t.code)||(this.fetchOnFocus||this.keyword?this.fetch&&(this.noResults=!1,this.fetch(this.keyword,this.model).pipe(r.takeUntil(this.destroy$)).subscribe(function(t){o.searchData=t.map(function(t){return o.createItem(t,d.Object)}),o.searchData=a.filter(o.searchData,function(e){return-1===a.findIndex(o._model,function(t){return o.compareWith(t.data,e.data)})}),o.searchData.length||(o.noResults=!0)})):this.searchData=[])},t.prototype.createItem=function(t,e){var o={type:e,data:t};return e===d.Object&&(o.image=u(t,this.imageProperty)),o},t.prototype.onSelect=function(t){var e=this;this.searchData=[],this.clearInput();var o=this.allowObject&&this.allowText?t.option.value:t.option.value.data;t.option.value.type===d.Object&&(a.filter(this._model,o).length||(this.addObject(t.option.value),this.selected.emit(t.option.value))),t.option.value.type===d.Text&&(a.filter(this._model,o).length||(this.addText(t.option.value.data),this.selected.emit(t.option.value.data))),setTimeout(function(){e.focus(null)})},t.prototype.clearInput=function(){this.searchInput.nativeElement.value="",this.textData={},this.keyword=""},t.prototype.onRemove=function(t){this.autocompleteTrigger.closePanel(),a.remove(this._model,t),this.removed.emit(t),this.updateModel(this._model)},t.prototype.writeValue=function(t){var o=this;t=Array.isArray(t)?t:[],t=a.map(t,function(t){var e=a.isObject(t)?d.Object:d.Text;return o.createItem(t,e)}),this._model=t},t.prototype.updateModel=function(t){var e=this;this._model=t;var o=a.map(this._model,function(t){return e.allowText&&e.allowObject?t:t.data});this._onChange(o),this._onTouched()},t.prototype.ngOnDestroy=function(){this.destroy$.next(),this.destroy$.complete()},t.decorators=[{type:s.Component,args:[{selector:"fs-autocomplete-chips",template:'<mat-form-field>\n <mat-chip-list\n #searchList\n cdkDropList\n cdkDropListOrientation="horizontal"\n (cdkDropListDropped)="drop($event)">\n <mat-chip\n *ngFor="let item of model"\n [selectable]="true"\n [removable]="true"\n (removed)="onRemove(item)"\n class="fs-autocomplete-chip"\n [ngClass]="{ imaged: item.image }"\n [cdkDragDisabled]="!orderable"\n [cdkDragData]="item"\n cdkDrag\n cdkDragHandle>\n <ng-container\n [ngTemplateOutlet]="itemTemplate"\n [ngTemplateOutletContext]="{ item: item }">\n </ng-container>\n <mat-icon *ngIf="removable" matChipRemove>cancel</mat-icon>\n </mat-chip>\n <input\n #searchInput\n #autocompleteInput\n [placeholder]="placeholder"\n [disabled]="disabled"\n (keyup)="keyword$.next($event)"\n (focus)="focus($event)"\n (blur)="blur()"\n name="keyword"\n [matAutocomplete]="autocompleteSearch"\n [matChipInputFor]="searchList">\n </mat-chip-list>\n <mat-autocomplete\n #autocompleteSearch="matAutocomplete"\n class="fs-account-picker-autocomplete"\n (optionSelected)="onSelect($event)"\n (closed)="closed()"\n autoActiveFirstOption="true">\n\n <mat-option *ngFor="let item of searchData" [value]="item">\n <ng-container\n [ngTemplateOutlet]="itemTemplate"\n [ngTemplateOutletContext]="{ item: item }">\n </ng-container>\n </mat-option>\n\n\n <mat-option *ngIf="noResults" disabled class="no-results">\n No results found\n </mat-option>\n\n <ng-container *ngIf="keyword && allowText">\n\n <mat-option *ngIf="!textData.type" disabled class="invalid-message" (click)="searchInput.focus()">\n <div>{{ keyword }}</div>\n <div class="message">{{ invalidTextMessage || \'Invalid\' }}</div>\n </mat-option>\n\n <mat-option *ngIf="textData.type===dataType.Text" [value]="textData">\n <ng-container\n [ngTemplateOutlet]="itemTemplate"\n [ngTemplateOutletContext]="{ item: textData }">\n </ng-container>\n </mat-option>\n </ng-container>\n\n </mat-autocomplete>\n</mat-form-field>\n\n<ng-template let-item="item" #itemTemplate>\n <ng-container *ngIf="item.type===dataType.Object" class="item-template">\n <img *ngIf="item.image" [src]="item.image">\n <span>\n <ng-template\n [ngTemplateOutlet]="objectTemplate"\n [ngTemplateOutletContext]="{ object: item.data }">\n </ng-template>\n </span>\n </ng-container>\n\n <ng-container *ngIf="item.type===dataType.Text">\n {{item.data}}\n </ng-container>\n</ng-template>\n',providers:[h],styles:[":host mat-form-field{width:100%}:host .item-template img{margin-left:-12px}::ng-deep .fs-autocomplete-chip.mat-chip.mat-standard-chip{padding-right:3px}::ng-deep .fs-autocomplete-chip.mat-chip.mat-standard-chip.imaged{padding-left:0}::ng-deep .fs-autocomplete-chip.mat-chip.mat-standard-chip .mat-chip-remove{color:#474747;opacity:1;width:24px;height:24px;font-size:24px}::ng-deep .fs-account-picker-autocomplete .mat-option-text{align-items:center;display:inline-flex}::ng-deep .fs-account-picker-autocomplete .invalid-message .mat-option-text{line-height:normal;flex-direction:column;align-items:start;font-size:80%}::ng-deep .fs-account-picker-autocomplete .item-template,:host .item-template{display:flex;flex-direction:row;align-items:center}.fs-autocomplete-chip.mat-chip.mat-standard-chip img,::ng-deep .fs-account-picker-autocomplete img{width:32px;height:32px;-o-object-fit:cover;object-fit:cover;background-repeat:no-repeat;background-size:cover;background-position:50% 50%;margin-right:10px;display:flex;border-radius:50%}.no-results{font-size:80%}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={fetch:[{type:s.Input}],placeholder:[{type:s.Input}],imageProperty:[{type:s.Input}],allowText:[{type:s.Input}],allowObject:[{type:s.Input}],delay:[{type:s.Input}],validateText:[{type:s.Input}],invalidTextMessage:[{type:s.Input}],disabled:[{type:s.Input}],removable:[{type:s.Input}],orderable:[{type:s.Input}],limit:[{type:s.Input}],fetchOnFocus:[{type:s.Input}],compareWith:[{type:s.Input}],selected:[{type:s.Output}],removed:[{type:s.Output}],reordered:[{type:s.Output}],formWrapper:[{type:s.HostBinding,args:["class.fs-form-wrapper"]}],dragStart:[{type:s.HostListener,args:["dragstart",["$event"]]}],objectTemplate:[{type:s.ContentChild,args:[m,{read:s.TemplateRef}]}],searchInput:[{type:s.ViewChild,args:["searchInput"]}],autocompleteSearch:[{type:s.ViewChild,args:["autocompleteSearch"]}],autocompleteTrigger:[{type:s.ViewChild,args:[n.MatAutocompleteTrigger]}]},t}(),g=function(){function t(){}return t.forRoot=function(){return{ngModule:t,providers:[]}},t.decorators=[{type:s.NgModule,args:[{imports:[e.CommonModule,o.FormsModule,n.MatAutocompleteModule,n.MatChipsModule,n.MatInputModule,n.MatIconModule,l.DragDropModule],exports:[f,m],declarations:[m,f]}]}],t}();t.FsAutocompleteChipsModule=g,t.ɵa=h,t.ɵb=f,t.ɵc=m,Object.defineProperty(t,"__esModule",{value:!0})}); | ||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/common"),require("@angular/forms"),require("@angular/material"),require("lodash-es"),require("rxjs"),require("rxjs/operators"),require("@angular/core"),require("@angular/cdk/drag-drop")):"function"==typeof define&&define.amd?define("@firestitch/autocomplete-chips",["exports","@angular/common","@angular/forms","@angular/material","lodash-es","rxjs","rxjs/operators","@angular/core","@angular/cdk/drag-drop"],e):e((t.firestitch=t.firestitch||{},t.firestitch["autocomplete-chips"]={}),t.ng.common,t.ng.forms,t.ng.material,t.lodashEs,t.rxjs,t.rxjs.operators,t.ng.core,t.ng.cdk["drag-drop"])}(this,function(t,e,o,n,a,i,r,s,l){"use strict";function p(t,e){var o="function"==typeof Symbol&&t[Symbol.iterator];if(!o)return t;var n,a,i=o.call(t),r=[];try{for(;(void 0===e||0<e--)&&!(n=i.next()).done;)r.push(n.value)}catch(s){a={error:s}}finally{try{n&&!n.done&&(o=i["return"])&&o.call(i)}finally{if(a)throw a.error}}return r}function c(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(p(arguments[e]));return t}function u(t,e){return e?function n(t,e){var o=e.shift(e);if(!o)return t;if(!t)return t;t=t[o];return n(t,e)}(t,e.split(".")):null}var d={Object:"object",Text:"text"},m=function(){function t(){}return t.decorators=[{type:s.Directive,args:[{selector:"[fsAutocompleteObject]"}]}],t}(),h={provide:o.NG_VALUE_ACCESSOR,useExisting:s.forwardRef(function(){return f}),multi:!0},f=function(){function t(){this.fetch=null,this.placeholder="",this.imageProperty="",this.allowObject=!0,this.delay=300,this.invalidTextMessage="",this.disabled=!1,this.removable=!0,this.orderable=!1,this.limit=0,this.fetchOnFocus=!0,this.compareWith=function(t,e){return a.isEqual(t,e)},this.selected=new s.EventEmitter,this.removed=new s.EventEmitter,this.reordered=new s.EventEmitter,this.formWrapper=!0,this.searchData=[],this.textData={},this.dataType=d,this.keyword=null,this.keyword$=new i.Subject,this.noResults=!1,this._model=[],this.destroy$=new i.Subject,this.objectTemplate=null,this.searchInput=null,this.autocompleteSearch=null,this.autocompleteTrigger=null,this._onTouched=function(){},this._onChange=function(t){}}return Object.defineProperty(t.prototype,"model",{get:function(){return this._model},enumerable:!0,configurable:!0}),t.prototype.dragStart=function(t){t.preventDefault()},t.prototype.registerOnChange=function(t){this._onChange=t},t.prototype.registerOnTouched=function(t){this._onTouched=t},t.prototype.ngOnInit=function(){var e=this;this.keyword$.pipe(r.takeUntil(this.destroy$),r.debounceTime(this.delay)).subscribe(function(t){e.keyword=a.trim(e.searchInput.nativeElement.value),e.allowObject&&e.objectKeyword(t),e.allowText&&e.textKeyword(t)})},t.prototype.drop=function(t){l.moveItemInArray(this._model,t.previousIndex,t.currentIndex),this.reordered.emit({item:t.item.data.data,from:t.previousIndex,to:t.currentIndex,items:this._model}),this.updateModel(this._model)},t.prototype._validateText=function(t){return String(t).trim().length&&(!this.validateText||this.validateText(t))},t.prototype.addText=function(t){if(this._validateText(t)){var e=this.createItem(t,d.Text);this.updateModel(c(this._model,[e]))}},t.prototype.addObject=function(t){this.updateModel(c(this._model,[t]))},t.prototype.blur=function(){this.autocompleteSearch.isOpen||this.closed()},t.prototype.closed=function(){this.allowText&&this.addText(this.keyword),this.clearInput()},t.prototype.textKeyword=function(t){var e=this;if(this.allowText&&"Comma"===t.code)return this.keyword.split(",").forEach(function(t){e.addText(t.trim())}),this.clearInput();this.textData={},this._validateText(this.keyword)&&(this.textData=this.createItem(this.keyword,d.Text))},t.prototype.focus=function(t){this.fetchOnFocus||(this.searchData=[]),this.fetchOnFocus&&(this.objectKeyword(t),this.autocompleteTrigger.openPanel())},t.prototype.objectKeyword=function(t){var o=this;t&&(-1<["Enter","ArrowDown","ArrowUp"].indexOf(t.code)||this.allowText&&"Comma"===t.code)||(this.fetchOnFocus||this.keyword?this.fetch&&(this.noResults=!1,this.fetch(this.keyword,this.model).pipe(r.takeUntil(this.destroy$)).subscribe(function(t){o.searchData=t.map(function(t){return o.createItem(t,d.Object)}),o.searchData=a.filter(o.searchData,function(e){return-1===a.findIndex(o._model,function(t){return o.compareWith(t.data,e.data)})}),o.searchData.length||(o.noResults=!0)})):this.searchData=[])},t.prototype.createItem=function(t,e){var o={type:e,data:t};return e===d.Object&&(o.image=u(t,this.imageProperty)),o},t.prototype.onSelect=function(t){var e=this;this.searchData=[],this.clearInput();var o=this.allowObject&&this.allowText?t.option.value:t.option.value.data;t.option.value.type===d.Object&&(a.filter(this._model,o).length||(this.addObject(t.option.value),this.selected.emit(t.option.value))),t.option.value.type===d.Text&&(a.filter(this._model,o).length||(this.addText(t.option.value.data),this.selected.emit(t.option.value.data))),setTimeout(function(){e.focus(null)})},t.prototype.clearInput=function(){this.searchInput.nativeElement.value="",this.textData={},this.keyword=""},t.prototype.onRemove=function(t){this.autocompleteTrigger.closePanel(),a.remove(this._model,t),this.updateModel(this._model),this.removed.emit(t)},t.prototype.writeValue=function(t){var o=this;t=Array.isArray(t)?t:[],t=a.map(t,function(t){var e=a.isObject(t)?d.Object:d.Text;return o.createItem(t,e)}),this._model=t},t.prototype.updateModel=function(t){var e=this;this._model=t;var o=a.map(this._model,function(t){return e.allowText&&e.allowObject?t:t.data});this._onChange(o),this._onTouched()},t.prototype.ngOnDestroy=function(){this.destroy$.next(),this.destroy$.complete()},t.decorators=[{type:s.Component,args:[{selector:"fs-autocomplete-chips",template:'<mat-form-field>\n <mat-chip-list\n #searchList\n cdkDropList\n cdkDropListOrientation="horizontal"\n (cdkDropListDropped)="drop($event)">\n <mat-chip\n *ngFor="let item of model"\n [selectable]="true"\n [removable]="true"\n (removed)="onRemove(item)"\n class="fs-autocomplete-chip"\n [ngClass]="{ imaged: item.image }"\n [cdkDragDisabled]="!orderable"\n [cdkDragData]="item"\n cdkDrag\n cdkDragHandle>\n <ng-container\n [ngTemplateOutlet]="itemTemplate"\n [ngTemplateOutletContext]="{ item: item }">\n </ng-container>\n <mat-icon *ngIf="removable" matChipRemove>cancel</mat-icon>\n </mat-chip>\n <input\n #searchInput\n #autocompleteInput\n [placeholder]="placeholder"\n [disabled]="disabled"\n (keyup)="keyword$.next($event)"\n (focus)="focus($event)"\n (blur)="blur()"\n name="keyword"\n [matAutocomplete]="autocompleteSearch"\n [matChipInputFor]="searchList">\n </mat-chip-list>\n <mat-autocomplete\n #autocompleteSearch="matAutocomplete"\n class="fs-account-picker-autocomplete"\n (optionSelected)="onSelect($event)"\n (closed)="closed()"\n autoActiveFirstOption="true">\n\n <mat-option *ngFor="let item of searchData" [value]="item">\n <ng-container\n [ngTemplateOutlet]="itemTemplate"\n [ngTemplateOutletContext]="{ item: item }">\n </ng-container>\n </mat-option>\n\n\n <mat-option *ngIf="noResults" disabled class="no-results">\n No results found\n </mat-option>\n\n <ng-container *ngIf="keyword && allowText">\n\n <mat-option *ngIf="!textData.type" disabled class="invalid-message" (click)="searchInput.focus()">\n <div>{{ keyword }}</div>\n <div class="message">{{ invalidTextMessage || \'Invalid\' }}</div>\n </mat-option>\n\n <mat-option *ngIf="textData.type===dataType.Text" [value]="textData">\n <ng-container\n [ngTemplateOutlet]="itemTemplate"\n [ngTemplateOutletContext]="{ item: textData }">\n </ng-container>\n </mat-option>\n </ng-container>\n\n </mat-autocomplete>\n</mat-form-field>\n\n<ng-template let-item="item" #itemTemplate>\n <ng-container *ngIf="item.type===dataType.Object" class="item-template">\n <img *ngIf="item.image" [src]="item.image">\n <span>\n <ng-template\n [ngTemplateOutlet]="objectTemplate"\n [ngTemplateOutletContext]="{ object: item.data }">\n </ng-template>\n </span>\n </ng-container>\n\n <ng-container *ngIf="item.type===dataType.Text">\n {{item.data}}\n </ng-container>\n</ng-template>\n',providers:[h],styles:[":host mat-form-field{width:100%}:host .item-template img{margin-left:-12px}::ng-deep .fs-autocomplete-chip.mat-chip.mat-standard-chip{padding-right:3px}::ng-deep .fs-autocomplete-chip.mat-chip.mat-standard-chip.imaged{padding-left:0}::ng-deep .fs-autocomplete-chip.mat-chip.mat-standard-chip .mat-chip-remove{color:#474747;opacity:1;width:24px;height:24px;font-size:24px}::ng-deep .fs-account-picker-autocomplete .mat-option-text{align-items:center;display:inline-flex}::ng-deep .fs-account-picker-autocomplete .invalid-message .mat-option-text{line-height:normal;flex-direction:column;align-items:start;font-size:80%}::ng-deep .fs-account-picker-autocomplete .item-template,:host .item-template{display:flex;flex-direction:row;align-items:center}.fs-autocomplete-chip.mat-chip.mat-standard-chip img,::ng-deep .fs-account-picker-autocomplete img{width:32px;height:32px;-o-object-fit:cover;object-fit:cover;background-repeat:no-repeat;background-size:cover;background-position:50% 50%;margin-right:10px;display:flex;border-radius:50%}.no-results{font-size:80%}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={fetch:[{type:s.Input}],placeholder:[{type:s.Input}],imageProperty:[{type:s.Input}],allowText:[{type:s.Input}],allowObject:[{type:s.Input}],delay:[{type:s.Input}],validateText:[{type:s.Input}],invalidTextMessage:[{type:s.Input}],disabled:[{type:s.Input}],removable:[{type:s.Input}],orderable:[{type:s.Input}],limit:[{type:s.Input}],fetchOnFocus:[{type:s.Input}],compareWith:[{type:s.Input}],selected:[{type:s.Output}],removed:[{type:s.Output}],reordered:[{type:s.Output}],formWrapper:[{type:s.HostBinding,args:["class.fs-form-wrapper"]}],dragStart:[{type:s.HostListener,args:["dragstart",["$event"]]}],objectTemplate:[{type:s.ContentChild,args:[m,{read:s.TemplateRef}]}],searchInput:[{type:s.ViewChild,args:["searchInput"]}],autocompleteSearch:[{type:s.ViewChild,args:["autocompleteSearch"]}],autocompleteTrigger:[{type:s.ViewChild,args:[n.MatAutocompleteTrigger]}]},t}(),g=function(){function t(){}return t.forRoot=function(){return{ngModule:t,providers:[]}},t.decorators=[{type:s.NgModule,args:[{imports:[e.CommonModule,o.FormsModule,n.MatAutocompleteModule,n.MatChipsModule,n.MatInputModule,n.MatIconModule,l.DragDropModule],exports:[f,m],declarations:[m,f]}]}],t}();t.FsAutocompleteChipsModule=g,t.ɵa=h,t.ɵb=f,t.ɵc=m,Object.defineProperty(t,"__esModule",{value:!0})}); | ||
//# sourceMappingURL=firestitch-autocomplete-chips.umd.min.js.map |
@@ -272,4 +272,4 @@ /** | ||
remove(this._model, data); | ||
this.updateModel(this._model); | ||
this.removed.emit(data); | ||
this.updateModel(this._model); | ||
} | ||
@@ -427,2 +427,2 @@ /** | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWNoaXBzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2F1dG9jb21wbGV0ZS1jaGlwcy8iLCJzb3VyY2VzIjpbImFwcC9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS1jaGlwcy9hdXRvY29tcGxldGUtY2hpcHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBRUssVUFBVSxFQUFhLFlBQVksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFDakYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxzQkFBc0IsRUFBZ0MsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFekcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzlFLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV0RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVqQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDOztBQUVuSCxNQUFNLE9BQU8sMEJBQTBCLEdBQWE7SUFDbEQsT0FBTyxFQUFF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ZCxcbiAgRWxlbWVudFJlZixcbiAgVGVtcGxhdGVSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgUHJvdmlkZXIsIGZvcndhcmRSZWYsIE9uRGVzdHJveSwgSG9zdExpc3RlbmVyLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmdcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVUcmlnZ2VyLCBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50LCBNYXRBdXRvY29tcGxldGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCdcblxuaW1wb3J0IHsgaXNFcXVhbCwgcmVtb3ZlLCBmaW5kSW5kZXgsIG1hcCwgZmlsdGVyLCBpc09iamVjdCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgdHJpbSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbmltcG9ydCB7IGdldE9iamVjdFZhbHVlIH0gZnJvbSAnLi4vLi4vaGVscGVycy9nZXQtb2JqZWN0LXZhbHVlJztcbmltcG9ydCB7IERhdGFUeXBlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9kYXRhLXR5cGUnO1xuaW1wb3J0IHsgRnNBdXRvY29tcGxldGVPYmplY3REaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2F1dG9jb21wbGV0ZS1vYmplY3QvYXV0b2NvbXBsZXRlLW9iamVjdC5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgRlNfQUNDT1VOVF9QSUNLRVJfQUNDRVNTT1I6IFByb3ZpZGVyID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRnNBdXRvY29tcGxldGVDaGlwc0NvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1hdXRvY29tcGxldGUtY2hpcHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0b2NvbXBsZXRlLWNoaXBzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL2F1dG9jb21wbGV0ZS1jaGlwcy5jb21wb25lbnQuc2NzcycgXSxcbiAgcHJvdmlkZXJzOiBbRlNfQUNDT1VOVF9QSUNLRVJfQUNDRVNTT1JdXG59KVxuZXhwb3J0IGNsYXNzIEZzQXV0b2NvbXBsZXRlQ2hpcHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBmZXRjaCA9IG51bGw7XG4gIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlciA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgaW1hZ2VQcm9wZXJ0eSA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgYWxsb3dUZXh0OiBib29sZWFuO1xuICBASW5wdXQoKSBwdWJsaWMgYWxsb3dPYmplY3QgPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgZGVsYXkgPSAzMDA7XG4gIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0ZVRleHQ7XG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkVGV4dE1lc3NhZ2UgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyByZW1vdmFibGUgPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgb3JkZXJhYmxlID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBsaW1pdCA9IDA7XG4gIEBJbnB1dCgpIHB1YmxpYyBmZXRjaE9uRm9jdXMgPSB0cnVlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgY29tcGFyZVdpdGggPSAobzE6IGFueSwgbzI6IGFueSkgPT4ge1xuICAgIHJldHVybiBpc0VxdWFsKG8xLCBvMik7XG4gIH07XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHB1YmxpYyByZW1vdmVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcHVibGljIHJlb3JkZXJlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZzLWZvcm0td3JhcHBlcicpIGZvcm1XcmFwcGVyID0gdHJ1ZTtcblxuICBwdWJsaWMgc2VhcmNoRGF0YTogYW55W10gPSBbXTtcbiAgcHVibGljIHRleHREYXRhOiBhbnkgPSB7fTtcbiAgcHVibGljIGRhdGFUeXBlID0gRGF0YVR5cGU7XG4gIHB1YmxpYyBrZXl3b3JkOiBzdHJpbmcgPSBudWxsO1xuICBwdWJsaWMga2V5d29yZCQgPSBuZXcgU3ViamVjdDxFdmVudD4oKTtcbiAgcHVibGljIG5vUmVzdWx0cyA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX21vZGVsOiBhbnlbXSA9IFtdO1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBnZXQgbW9kZWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21vZGVsO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ3N0YXJ0JywgWyckZXZlbnQnXSlcbiAgZHJhZ1N0YXJ0KGUpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gIH07XG5cbiAgQENvbnRlbnRDaGlsZChGc0F1dG9jb21wbGV0ZU9iamVjdERpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBvYmplY3RUZW1wbGF0ZTogRnNBdXRvY29tcGxldGVPYmplY3REaXJlY3RpdmUgPSBudWxsO1xuXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaElucHV0JykgcHVibGljIHNlYXJjaElucHV0OiBFbGVtZW50UmVmID0gbnVsbDtcbiAgQFZpZXdDaGlsZCgnYXV0b2NvbXBsZXRlU2VhcmNoJykgcHVibGljIGF1dG9jb21wbGV0ZVNlYXJjaDogTWF0QXV0b2NvbXBsZXRlID0gbnVsbDtcbiAgQFZpZXdDaGlsZChNYXRBdXRvY29tcGxldGVUcmlnZ2VyKSBwdWJsaWMgYXV0b2NvbXBsZXRlVHJpZ2dlciA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfb25Ub3VjaGVkID0gKCkgPT4geyB9O1xuICBwcml2YXRlIF9vbkNoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7fTtcblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IGFueSk6IHZvaWQgeyB0aGlzLl9vbkNoYW5nZSA9IGZuIH1cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiBhbnkpOiB2b2lkIHsgdGhpcy5fb25Ub3VjaGVkID0gZm4gfVxuXG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG5cbiAgICB0aGlzLmtleXdvcmQkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5kZWxheSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGUpID0+IHtcbiAgICAgICAgdGhpcy5rZXl3b3JkID0gdHJpbSh0aGlzLnNlYXJjaElucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUpO1xuXG4gICAgICAgIGlmICh0aGlzLmFsbG93T2JqZWN0KSB7XG4gICAgICAgICAgdGhpcy5vYmplY3RLZXl3b3JkKGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuYWxsb3dUZXh0KSB7XG4gICAgICAgICAgdGhpcy50ZXh0S2V5d29yZChlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5fbW9kZWwsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgdGhpcy5yZW9yZGVyZWQuZW1pdCh7XG4gICAgICBpdGVtOiBldmVudC5pdGVtLmRhdGEuZGF0YSxcbiAgICAgIGZyb206IGV2ZW50LnByZXZpb3VzSW5kZXgsXG4gICAgICB0bzogZXZlbnQuY3VycmVudEluZGV4LFxuICAgICAgaXRlbXM6IHRoaXMuX21vZGVsLFxuICAgIH0pO1xuICAgIHRoaXMudXBkYXRlTW9kZWwodGhpcy5fbW9kZWwpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdmFsaWRhdGVUZXh0KHRleHQpIHtcbiAgICByZXR1cm4gU3RyaW5nKHRleHQpLnRyaW0oKS5sZW5ndGggJiYgKCF0aGlzLnZhbGlkYXRlVGV4dCB8fCB0aGlzLnZhbGlkYXRlVGV4dCh0ZXh0KSk7XG4gIH1cblxuICBwdWJsaWMgYWRkVGV4dCh0ZXh0KSB7XG5cbiAgICBpZiAodGhpcy5fdmFsaWRhdGVUZXh0KHRleHQpKSB7XG5cbiAgICAgIGNvbnN0IHRleHRPYmplY3QgPSB0aGlzLmNyZWF0ZUl0ZW0odGV4dCwgRGF0YVR5cGUuVGV4dCk7XG5cbiAgICAgIHRoaXMudXBkYXRlTW9kZWwoWy4uLnRoaXMuX21vZGVsLCB0ZXh0T2JqZWN0XSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFkZE9iamVjdChvYmplY3QpIHtcbiAgICB0aGlzLnVwZGF0ZU1vZGVsKFsuLi50aGlzLl9tb2RlbCwgb2JqZWN0XSk7XG4gIH1cblxuICBwdWJsaWMgYmx1cigpIHtcblxuICAgIGlmICh0aGlzLmF1dG9jb21wbGV0ZVNlYXJjaC5pc09wZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNsb3NlZCgpO1xuICB9XG5cbiAgcHVibGljIGNsb3NlZCgpIHtcblxuICAgIGlmICh0aGlzLmFsbG93VGV4dCkge1xuICAgICAgdGhpcy5hZGRUZXh0KHRoaXMua2V5d29yZCk7XG4gICAgfVxuXG4gICAgdGhpcy5jbGVhcklucHV0KCk7XG4gIH1cblxuICBwdWJsaWMgdGV4dEtleXdvcmQoZSkge1xuXG4gICAgaWYgKHRoaXMuYWxsb3dUZXh0ICYmIGUuY29kZSA9PT0gJ0NvbW1hJykge1xuICAgICAgdGhpcy5rZXl3b3JkLnNwbGl0KCcsJykuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgdGhpcy5hZGRUZXh0KGl0ZW0udHJpbSgpKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHRoaXMuY2xlYXJJbnB1dCgpO1xuICAgIH1cblxuICAgIHRoaXMudGV4dERhdGEgPSB7fTtcblxuICAgIGlmICh0aGlzLl92YWxpZGF0ZVRleHQodGhpcy5rZXl3b3JkKSkge1xuICAgICAgdGhpcy50ZXh0RGF0YSA9IHRoaXMuY3JlYXRlSXRlbSh0aGlzLmtleXdvcmQsIERhdGFUeXBlLlRleHQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmb2N1cyhlKSB7XG5cbiAgICBpZiAoIXRoaXMuZmV0Y2hPbkZvY3VzKSB7XG4gICAgICB0aGlzLnNlYXJjaERhdGEgPSBbXTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5mZXRjaE9uRm9jdXMpIHtcbiAgICAgIHRoaXMub2JqZWN0S2V5d29yZChlKTtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlVHJpZ2dlci5vcGVuUGFuZWwoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb2JqZWN0S2V5d29yZChlKSB7XG5cbiAgICBpZiAoZSAmJiAoWydFbnRlcicsICdBcnJvd0Rvd24nLCAnQXJyb3dVcCddLmluZGV4T2YoZS5jb2RlKSA+IC0xIHx8ICh0aGlzLmFsbG93VGV4dCAmJiBlLmNvZGUgPT09ICdDb21tYScpKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5mZXRjaE9uRm9jdXMgJiYgIXRoaXMua2V5d29yZCkge1xuICAgICAgdGhpcy5zZWFyY2hEYXRhID0gW107XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZmV0Y2gpIHtcbiAgICAgIHRoaXMubm9SZXN1bHRzID0gZmFsc2U7XG4gICAgICB0aGlzLmZldGNoKHRoaXMua2V5d29yZCwgdGhpcy5tb2RlbClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG5cbiAgICAgICAgICB0aGlzLnNlYXJjaERhdGEgPSByZXNwb25zZS5tYXAoZGF0YSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVJdGVtKGRhdGEsIERhdGFUeXBlLk9iamVjdCk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB0aGlzLnNlYXJjaERhdGEgPSBmaWx0ZXIodGhpcy5zZWFyY2hEYXRhLCBpdGVtID0+IHtcbiAgICAgICAgICAgIHJldHVybiBmaW5kSW5kZXgodGhpcy5fbW9kZWwsIChtb2RlbCkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlV2l0aChtb2RlbC5kYXRhLCBpdGVtLmRhdGEpO1xuICAgICAgICAgICAgfSkgPT09IC0xO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKCF0aGlzLnNlYXJjaERhdGEubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLm5vUmVzdWx0cyA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUl0ZW0oZGF0YSwgdHlwZSkge1xuICAgIGNvbnN0IGl0ZW06IGFueSA9IHtcbiAgICAgICAgdHlwZTogdHlwZSxcbiAgICAgICAgZGF0YTogZGF0YVxuICAgICAgfTtcblxuICAgIGlmICh0eXBlID09PSBEYXRhVHlwZS5PYmplY3QpIHtcbiAgICAgIGl0ZW0uaW1hZ2UgPSBnZXRPYmplY3RWYWx1ZShkYXRhLCB0aGlzLmltYWdlUHJvcGVydHkpO1xuICAgIH1cblxuICAgIHJldHVybiBpdGVtO1xuICB9XG5cbiAgcHVibGljIG9uU2VsZWN0KGU6IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQpIHtcblxuICAgIHRoaXMuc2VhcmNoRGF0YSA9IFtdO1xuICAgIHRoaXMuY2xlYXJJbnB1dCgpO1xuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmFsbG93T2JqZWN0ICYmIHRoaXMuYWxsb3dUZXh0ID8gZS5vcHRpb24udmFsdWUgOiBlLm9wdGlvbi52YWx1ZS5kYXRhO1xuICAgIGlmIChlLm9wdGlvbi52YWx1ZS50eXBlID09PSBEYXRhVHlwZS5PYmplY3QpIHtcblxuICAgICAgaWYgKCFmaWx0ZXIodGhpcy5fbW9kZWwsIHZhbHVlKS5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5hZGRPYmplY3QoZS5vcHRpb24udmFsdWUpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkLmVtaXQoZS5vcHRpb24udmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChlLm9wdGlvbi52YWx1ZS50eXBlID09PSBEYXRhVHlwZS5UZXh0KSB7XG4gICAgICBpZiAoIWZpbHRlcih0aGlzLl9tb2RlbCwgdmFsdWUpLmxlbmd0aCkge1xuICAgICAgICB0aGlzLmFkZFRleHQoZS5vcHRpb24udmFsdWUuZGF0YSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuZW1pdChlLm9wdGlvbi52YWx1ZS5kYXRhKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuZm9jdXMobnVsbCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJJbnB1dCgpIHtcbiAgICB0aGlzLnNlYXJjaElucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB0aGlzLnRleHREYXRhID0ge307XG4gICAgdGhpcy5rZXl3b3JkID0gJyc7XG4gIH1cblxuICBwdWJsaWMgb25SZW1vdmUoZGF0YSk6IHZvaWQge1xuICAgIHRoaXMuYXV0b2NvbXBsZXRlVHJpZ2dlci5jbG9zZVBhbmVsKCk7XG4gICAgcmVtb3ZlKHRoaXMuX21vZGVsLCBkYXRhKTtcbiAgICB0aGlzLnJlbW92ZWQuZW1pdChkYXRhKTtcbiAgICB0aGlzLnVwZGF0ZU1vZGVsKHRoaXMuX21vZGVsKTtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcblxuICAgIHZhbHVlID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFtdO1xuXG4gICAgdmFsdWUgPSBtYXAodmFsdWUsIChpdGVtKSA9PiB7XG4gICAgICBjb25zdCB0eXBlID0gaXNPYmplY3QoaXRlbSkgPyBEYXRhVHlwZS5PYmplY3QgOiBEYXRhVHlwZS5UZXh0O1xuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlSXRlbShpdGVtLCB0eXBlKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX21vZGVsID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlTW9kZWwodmFsdWUpIHtcblxuICAgIHRoaXMuX21vZGVsID0gdmFsdWU7XG5cbiAgICBjb25zdCBtb2RlbCA9IG1hcCh0aGlzLl9tb2RlbCwgKGl0ZW0pID0+IHtcbiAgICAgIGlmICghdGhpcy5hbGxvd1RleHQgfHwgIXRoaXMuYWxsb3dPYmplY3QpIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0uZGF0YTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfSk7XG5cbiAgICB0aGlzLl9vbkNoYW5nZShtb2RlbCk7XG4gICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWNoaXBzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2F1dG9jb21wbGV0ZS1jaGlwcy8iLCJzb3VyY2VzIjpbImFwcC9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS1jaGlwcy9hdXRvY29tcGxldGUtY2hpcHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBRUssVUFBVSxFQUFhLFlBQVksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFDakYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxzQkFBc0IsRUFBZ0MsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFekcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzlFLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV0RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVqQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDOztBQUVuSCxNQUFNLE9BQU8sMEJBQTBCLEdBQWE7SUFDbEQsT0FBTyxFQUFF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ZCxcbiAgRWxlbWVudFJlZixcbiAgVGVtcGxhdGVSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgUHJvdmlkZXIsIGZvcndhcmRSZWYsIE9uRGVzdHJveSwgSG9zdExpc3RlbmVyLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmdcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVUcmlnZ2VyLCBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50LCBNYXRBdXRvY29tcGxldGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCdcblxuaW1wb3J0IHsgaXNFcXVhbCwgcmVtb3ZlLCBmaW5kSW5kZXgsIG1hcCwgZmlsdGVyLCBpc09iamVjdCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgdHJpbSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbmltcG9ydCB7IGdldE9iamVjdFZhbHVlIH0gZnJvbSAnLi4vLi4vaGVscGVycy9nZXQtb2JqZWN0LXZhbHVlJztcbmltcG9ydCB7IERhdGFUeXBlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9kYXRhLXR5cGUnO1xuaW1wb3J0IHsgRnNBdXRvY29tcGxldGVPYmplY3REaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2F1dG9jb21wbGV0ZS1vYmplY3QvYXV0b2NvbXBsZXRlLW9iamVjdC5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgRlNfQUNDT1VOVF9QSUNLRVJfQUNDRVNTT1I6IFByb3ZpZGVyID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRnNBdXRvY29tcGxldGVDaGlwc0NvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1hdXRvY29tcGxldGUtY2hpcHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0b2NvbXBsZXRlLWNoaXBzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL2F1dG9jb21wbGV0ZS1jaGlwcy5jb21wb25lbnQuc2NzcycgXSxcbiAgcHJvdmlkZXJzOiBbRlNfQUNDT1VOVF9QSUNLRVJfQUNDRVNTT1JdXG59KVxuZXhwb3J0IGNsYXNzIEZzQXV0b2NvbXBsZXRlQ2hpcHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBmZXRjaCA9IG51bGw7XG4gIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlciA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgaW1hZ2VQcm9wZXJ0eSA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgYWxsb3dUZXh0OiBib29sZWFuO1xuICBASW5wdXQoKSBwdWJsaWMgYWxsb3dPYmplY3QgPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgZGVsYXkgPSAzMDA7XG4gIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0ZVRleHQ7XG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkVGV4dE1lc3NhZ2UgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyByZW1vdmFibGUgPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgb3JkZXJhYmxlID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBsaW1pdCA9IDA7XG4gIEBJbnB1dCgpIHB1YmxpYyBmZXRjaE9uRm9jdXMgPSB0cnVlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgY29tcGFyZVdpdGggPSAobzE6IGFueSwgbzI6IGFueSkgPT4ge1xuICAgIHJldHVybiBpc0VxdWFsKG8xLCBvMik7XG4gIH07XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHB1YmxpYyByZW1vdmVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcHVibGljIHJlb3JkZXJlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZzLWZvcm0td3JhcHBlcicpIGZvcm1XcmFwcGVyID0gdHJ1ZTtcblxuICBwdWJsaWMgc2VhcmNoRGF0YTogYW55W10gPSBbXTtcbiAgcHVibGljIHRleHREYXRhOiBhbnkgPSB7fTtcbiAgcHVibGljIGRhdGFUeXBlID0gRGF0YVR5cGU7XG4gIHB1YmxpYyBrZXl3b3JkOiBzdHJpbmcgPSBudWxsO1xuICBwdWJsaWMga2V5d29yZCQgPSBuZXcgU3ViamVjdDxFdmVudD4oKTtcbiAgcHVibGljIG5vUmVzdWx0cyA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX21vZGVsOiBhbnlbXSA9IFtdO1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBnZXQgbW9kZWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21vZGVsO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ3N0YXJ0JywgWyckZXZlbnQnXSlcbiAgZHJhZ1N0YXJ0KGUpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gIH07XG5cbiAgQENvbnRlbnRDaGlsZChGc0F1dG9jb21wbGV0ZU9iamVjdERpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBvYmplY3RUZW1wbGF0ZTogRnNBdXRvY29tcGxldGVPYmplY3REaXJlY3RpdmUgPSBudWxsO1xuXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaElucHV0JykgcHVibGljIHNlYXJjaElucHV0OiBFbGVtZW50UmVmID0gbnVsbDtcbiAgQFZpZXdDaGlsZCgnYXV0b2NvbXBsZXRlU2VhcmNoJykgcHVibGljIGF1dG9jb21wbGV0ZVNlYXJjaDogTWF0QXV0b2NvbXBsZXRlID0gbnVsbDtcbiAgQFZpZXdDaGlsZChNYXRBdXRvY29tcGxldGVUcmlnZ2VyKSBwdWJsaWMgYXV0b2NvbXBsZXRlVHJpZ2dlciA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfb25Ub3VjaGVkID0gKCkgPT4geyB9O1xuICBwcml2YXRlIF9vbkNoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7fTtcblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IGFueSk6IHZvaWQgeyB0aGlzLl9vbkNoYW5nZSA9IGZuIH1cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiBhbnkpOiB2b2lkIHsgdGhpcy5fb25Ub3VjaGVkID0gZm4gfVxuXG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG5cbiAgICB0aGlzLmtleXdvcmQkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5kZWxheSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGUpID0+IHtcbiAgICAgICAgdGhpcy5rZXl3b3JkID0gdHJpbSh0aGlzLnNlYXJjaElucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUpO1xuXG4gICAgICAgIGlmICh0aGlzLmFsbG93T2JqZWN0KSB7XG4gICAgICAgICAgdGhpcy5vYmplY3RLZXl3b3JkKGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuYWxsb3dUZXh0KSB7XG4gICAgICAgICAgdGhpcy50ZXh0S2V5d29yZChlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5fbW9kZWwsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgdGhpcy5yZW9yZGVyZWQuZW1pdCh7XG4gICAgICBpdGVtOiBldmVudC5pdGVtLmRhdGEuZGF0YSxcbiAgICAgIGZyb206IGV2ZW50LnByZXZpb3VzSW5kZXgsXG4gICAgICB0bzogZXZlbnQuY3VycmVudEluZGV4LFxuICAgICAgaXRlbXM6IHRoaXMuX21vZGVsLFxuICAgIH0pO1xuICAgIHRoaXMudXBkYXRlTW9kZWwodGhpcy5fbW9kZWwpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdmFsaWRhdGVUZXh0KHRleHQpIHtcbiAgICByZXR1cm4gU3RyaW5nKHRleHQpLnRyaW0oKS5sZW5ndGggJiYgKCF0aGlzLnZhbGlkYXRlVGV4dCB8fCB0aGlzLnZhbGlkYXRlVGV4dCh0ZXh0KSk7XG4gIH1cblxuICBwdWJsaWMgYWRkVGV4dCh0ZXh0KSB7XG5cbiAgICBpZiAodGhpcy5fdmFsaWRhdGVUZXh0KHRleHQpKSB7XG5cbiAgICAgIGNvbnN0IHRleHRPYmplY3QgPSB0aGlzLmNyZWF0ZUl0ZW0odGV4dCwgRGF0YVR5cGUuVGV4dCk7XG5cbiAgICAgIHRoaXMudXBkYXRlTW9kZWwoWy4uLnRoaXMuX21vZGVsLCB0ZXh0T2JqZWN0XSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFkZE9iamVjdChvYmplY3QpIHtcbiAgICB0aGlzLnVwZGF0ZU1vZGVsKFsuLi50aGlzLl9tb2RlbCwgb2JqZWN0XSk7XG4gIH1cblxuICBwdWJsaWMgYmx1cigpIHtcblxuICAgIGlmICh0aGlzLmF1dG9jb21wbGV0ZVNlYXJjaC5pc09wZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNsb3NlZCgpO1xuICB9XG5cbiAgcHVibGljIGNsb3NlZCgpIHtcblxuICAgIGlmICh0aGlzLmFsbG93VGV4dCkge1xuICAgICAgdGhpcy5hZGRUZXh0KHRoaXMua2V5d29yZCk7XG4gICAgfVxuXG4gICAgdGhpcy5jbGVhcklucHV0KCk7XG4gIH1cblxuICBwdWJsaWMgdGV4dEtleXdvcmQoZSkge1xuXG4gICAgaWYgKHRoaXMuYWxsb3dUZXh0ICYmIGUuY29kZSA9PT0gJ0NvbW1hJykge1xuICAgICAgdGhpcy5rZXl3b3JkLnNwbGl0KCcsJykuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgdGhpcy5hZGRUZXh0KGl0ZW0udHJpbSgpKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHRoaXMuY2xlYXJJbnB1dCgpO1xuICAgIH1cblxuICAgIHRoaXMudGV4dERhdGEgPSB7fTtcblxuICAgIGlmICh0aGlzLl92YWxpZGF0ZVRleHQodGhpcy5rZXl3b3JkKSkge1xuICAgICAgdGhpcy50ZXh0RGF0YSA9IHRoaXMuY3JlYXRlSXRlbSh0aGlzLmtleXdvcmQsIERhdGFUeXBlLlRleHQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmb2N1cyhlKSB7XG5cbiAgICBpZiAoIXRoaXMuZmV0Y2hPbkZvY3VzKSB7XG4gICAgICB0aGlzLnNlYXJjaERhdGEgPSBbXTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5mZXRjaE9uRm9jdXMpIHtcbiAgICAgIHRoaXMub2JqZWN0S2V5d29yZChlKTtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlVHJpZ2dlci5vcGVuUGFuZWwoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb2JqZWN0S2V5d29yZChlKSB7XG5cbiAgICBpZiAoZSAmJiAoWydFbnRlcicsICdBcnJvd0Rvd24nLCAnQXJyb3dVcCddLmluZGV4T2YoZS5jb2RlKSA+IC0xIHx8ICh0aGlzLmFsbG93VGV4dCAmJiBlLmNvZGUgPT09ICdDb21tYScpKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5mZXRjaE9uRm9jdXMgJiYgIXRoaXMua2V5d29yZCkge1xuICAgICAgdGhpcy5zZWFyY2hEYXRhID0gW107XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZmV0Y2gpIHtcbiAgICAgIHRoaXMubm9SZXN1bHRzID0gZmFsc2U7XG4gICAgICB0aGlzLmZldGNoKHRoaXMua2V5d29yZCwgdGhpcy5tb2RlbClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG5cbiAgICAgICAgICB0aGlzLnNlYXJjaERhdGEgPSByZXNwb25zZS5tYXAoZGF0YSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVJdGVtKGRhdGEsIERhdGFUeXBlLk9iamVjdCk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB0aGlzLnNlYXJjaERhdGEgPSBmaWx0ZXIodGhpcy5zZWFyY2hEYXRhLCBpdGVtID0+IHtcbiAgICAgICAgICAgIHJldHVybiBmaW5kSW5kZXgodGhpcy5fbW9kZWwsIChtb2RlbCkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlV2l0aChtb2RlbC5kYXRhLCBpdGVtLmRhdGEpO1xuICAgICAgICAgICAgfSkgPT09IC0xO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKCF0aGlzLnNlYXJjaERhdGEubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLm5vUmVzdWx0cyA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUl0ZW0oZGF0YSwgdHlwZSkge1xuICAgIGNvbnN0IGl0ZW06IGFueSA9IHtcbiAgICAgICAgdHlwZTogdHlwZSxcbiAgICAgICAgZGF0YTogZGF0YVxuICAgICAgfTtcblxuICAgIGlmICh0eXBlID09PSBEYXRhVHlwZS5PYmplY3QpIHtcbiAgICAgIGl0ZW0uaW1hZ2UgPSBnZXRPYmplY3RWYWx1ZShkYXRhLCB0aGlzLmltYWdlUHJvcGVydHkpO1xuICAgIH1cblxuICAgIHJldHVybiBpdGVtO1xuICB9XG5cbiAgcHVibGljIG9uU2VsZWN0KGU6IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQpIHtcblxuICAgIHRoaXMuc2VhcmNoRGF0YSA9IFtdO1xuICAgIHRoaXMuY2xlYXJJbnB1dCgpO1xuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmFsbG93T2JqZWN0ICYmIHRoaXMuYWxsb3dUZXh0ID8gZS5vcHRpb24udmFsdWUgOiBlLm9wdGlvbi52YWx1ZS5kYXRhO1xuICAgIGlmIChlLm9wdGlvbi52YWx1ZS50eXBlID09PSBEYXRhVHlwZS5PYmplY3QpIHtcblxuICAgICAgaWYgKCFmaWx0ZXIodGhpcy5fbW9kZWwsIHZhbHVlKS5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5hZGRPYmplY3QoZS5vcHRpb24udmFsdWUpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkLmVtaXQoZS5vcHRpb24udmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChlLm9wdGlvbi52YWx1ZS50eXBlID09PSBEYXRhVHlwZS5UZXh0KSB7XG4gICAgICBpZiAoIWZpbHRlcih0aGlzLl9tb2RlbCwgdmFsdWUpLmxlbmd0aCkge1xuICAgICAgICB0aGlzLmFkZFRleHQoZS5vcHRpb24udmFsdWUuZGF0YSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuZW1pdChlLm9wdGlvbi52YWx1ZS5kYXRhKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuZm9jdXMobnVsbCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJJbnB1dCgpIHtcbiAgICB0aGlzLnNlYXJjaElucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB0aGlzLnRleHREYXRhID0ge307XG4gICAgdGhpcy5rZXl3b3JkID0gJyc7XG4gIH1cblxuICBwdWJsaWMgb25SZW1vdmUoZGF0YSk6IHZvaWQge1xuICAgIHRoaXMuYXV0b2NvbXBsZXRlVHJpZ2dlci5jbG9zZVBhbmVsKCk7XG4gICAgcmVtb3ZlKHRoaXMuX21vZGVsLCBkYXRhKTtcbiAgICB0aGlzLnVwZGF0ZU1vZGVsKHRoaXMuX21vZGVsKTtcbiAgICB0aGlzLnJlbW92ZWQuZW1pdChkYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcblxuICAgIHZhbHVlID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFtdO1xuXG4gICAgdmFsdWUgPSBtYXAodmFsdWUsIChpdGVtKSA9PiB7XG4gICAgICBjb25zdCB0eXBlID0gaXNPYmplY3QoaXRlbSkgPyBEYXRhVHlwZS5PYmplY3QgOiBEYXRhVHlwZS5UZXh0O1xuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlSXRlbShpdGVtLCB0eXBlKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX21vZGVsID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlTW9kZWwodmFsdWUpIHtcblxuICAgIHRoaXMuX21vZGVsID0gdmFsdWU7XG5cbiAgICBjb25zdCBtb2RlbCA9IG1hcCh0aGlzLl9tb2RlbCwgKGl0ZW0pID0+IHtcbiAgICAgIGlmICghdGhpcy5hbGxvd1RleHQgfHwgIXRoaXMuYWxsb3dPYmplY3QpIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0uZGF0YTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfSk7XG5cbiAgICB0aGlzLl9vbkNoYW5nZShtb2RlbCk7XG4gICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ== |
@@ -0,0 +0,0 @@ /** |
@@ -0,0 +0,0 @@ /** |
@@ -33,2 +33,2 @@ /** | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW9iamVjdC12YWx1ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2F1dG9jb21wbGV0ZS1jaGlwcy8iLCJzb3VyY2VzIjpbImFwcC9oZWxwZXJzL2dldC1vYmplY3QtdmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsTUFBTSxVQUFVLGNBQWMsQ0FBQyxTQUFTLEVBQUUsT0FBTztJQUMvQyxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1osT0FBTyxJQUFJLENBQUM7S0FDYjtJQUNELE9BQU8sZUFBZSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDeEQsQ0FBQzs7Ozs7O0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxLQUFLLEVBQUUsT0FBTzs7VUFDdEMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBRXBDLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXJCLE9BQU8sZUFBZSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGdldE9iamVjdFZhbHVlKGF0dHJpYnV0ZSwgbWFwcGluZyk6IGFueSB7XHJcbiAgaWYgKCFtYXBwaW5nKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgcmV0dXJuIF9nZXRPYmplY3RWYWx1ZShhdHRyaWJ1dGUsIG1hcHBpbmcuc3BsaXQoJy4nKSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfZ2V0T2JqZWN0VmFsdWUodmFsdWUsIGluZGV4ZXMpOiBhbnkge1xyXG4gIGNvbnN0IGluZGV4ID0gaW5kZXhlcy5zaGlmdChpbmRleGVzKTtcclxuXHJcbiAgaWYgKCFpbmRleCkge1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgaWYgKCF2YWx1ZSkge1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgdmFsdWUgPSB2YWx1ZVtpbmRleF07XHJcblxyXG4gIHJldHVybiBfZ2V0T2JqZWN0VmFsdWUodmFsdWUsIGluZGV4ZXMpO1xyXG59Il19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW9iamVjdC12YWx1ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2F1dG9jb21wbGV0ZS1jaGlwcy8iLCJzb3VyY2VzIjpbImFwcC9oZWxwZXJzL2dldC1vYmplY3QtdmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsTUFBTSxVQUFVLGNBQWMsQ0FBQyxTQUFTLEVBQUUsT0FBTztJQUMvQyxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1osT0FBTyxJQUFJLENBQUM7S0FDYjtJQUNELE9BQU8sZUFBZSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDeEQsQ0FBQzs7Ozs7O0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxLQUFLLEVBQUUsT0FBTzs7VUFDdEMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBRXBDLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXJCLE9BQU8sZUFBZSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGdldE9iamVjdFZhbHVlKGF0dHJpYnV0ZSwgbWFwcGluZyk6IGFueSB7XG4gIGlmICghbWFwcGluZykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiBfZ2V0T2JqZWN0VmFsdWUoYXR0cmlidXRlLCBtYXBwaW5nLnNwbGl0KCcuJykpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX2dldE9iamVjdFZhbHVlKHZhbHVlLCBpbmRleGVzKTogYW55IHtcbiAgY29uc3QgaW5kZXggPSBpbmRleGVzLnNoaWZ0KGluZGV4ZXMpO1xuXG4gIGlmICghaW5kZXgpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBpZiAoIXZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgdmFsdWUgPSB2YWx1ZVtpbmRleF07XG5cbiAgcmV0dXJuIF9nZXRPYmplY3RWYWx1ZSh2YWx1ZSwgaW5kZXhlcyk7XG59Il19 |
@@ -11,2 +11,2 @@ /** | ||
export { DataType }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10eXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvYXV0b2NvbXBsZXRlLWNoaXBzLyIsInNvdXJjZXMiOlsiYXBwL2ludGVyZmFjZXMvZGF0YS10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztJQUNFLFFBQVMsUUFBUTtJQUNqQixNQUFPLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBEYXRhVHlwZSB7XHJcbiAgT2JqZWN0ID0gJ29iamVjdCcsXHJcbiAgVGV4dCA9ICd0ZXh0J1xyXG59XHJcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10eXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvYXV0b2NvbXBsZXRlLWNoaXBzLyIsInNvdXJjZXMiOlsiYXBwL2ludGVyZmFjZXMvZGF0YS10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztJQUNFLFFBQVMsUUFBUTtJQUNqQixNQUFPLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBEYXRhVHlwZSB7XG4gIE9iamVjdCA9ICdvYmplY3QnLFxuICBUZXh0ID0gJ3RleHQnXG59XG4iXX0= |
@@ -0,0 +0,0 @@ /** |
@@ -0,0 +0,0 @@ /** |
@@ -348,4 +348,4 @@ /** | ||
remove(this._model, data); | ||
this.updateModel(this._model); | ||
this.removed.emit(data); | ||
this.updateModel(this._model); | ||
}; | ||
@@ -518,2 +518,2 @@ /** | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWNoaXBzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2F1dG9jb21wbGV0ZS1jaGlwcy8iLCJzb3VyY2VzIjpbImFwcC9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS1jaGlwcy9hdXRvY29tcGxldGUtY2hpcHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVLLFVBQVUsRUFBYSxZQUFZLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQ2pGLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsc0JBQXNCLEVBQWdDLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXpHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM5RSxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFakMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQzs7QUFFbkgsTUFBTSxLQUFPLDBCQUEwQixHQUFhO0lBQ2xELE9BQU8sRUFB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dkMsaURBQXlCOzs7OztJQUV6Qiw4Q0FBMkI7Ozs7O0lBQzNCLGdEQUFpQzs7SUFXakMsc0RBQ3FEOztJQUVyRCxtREFBZ0U7O0lBQ2hFLDBEQUFtRjs7SUFDbkYsMkRBQXFFOzs7OztJQUVyRSxrREFBK0I7Ozs7O0lBQy9CLGlEQUF1QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgVmlld0NoaWxkLFxuICBFbGVtZW50UmVmLFxuICBUZW1wbGF0ZVJlZixcbiAgQ29udGVudENoaWxkLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBQcm92aWRlciwgZm9yd2FyZFJlZiwgT25EZXN0cm95LCBIb3N0TGlzdGVuZXIsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZ1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIsIE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQsIE1hdEF1dG9jb21wbGV0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJ1xuXG5pbXBvcnQgeyBpc0VxdWFsLCByZW1vdmUsIGZpbmRJbmRleCwgbWFwLCBmaWx0ZXIsIGlzT2JqZWN0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyB0cmltIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgZ2V0T2JqZWN0VmFsdWUgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2dldC1vYmplY3QtdmFsdWUnO1xuaW1wb3J0IHsgRGF0YVR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2RhdGEtdHlwZSc7XG5pbXBvcnQgeyBGc0F1dG9jb21wbGV0ZU9iamVjdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvYXV0b2NvbXBsZXRlLW9iamVjdC9hdXRvY29tcGxldGUtb2JqZWN0LmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBGU19BQ0NPVU5UX1BJQ0tFUl9BQ0NFU1NPUjogUHJvdmlkZXIgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGc0F1dG9jb21wbGV0ZUNoaXBzQ29tcG9uZW50KSxcbiAgbXVsdGk6IHRydWVcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWF1dG9jb21wbGV0ZS1jaGlwcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRvY29tcGxldGUtY2hpcHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsgJy4vYXV0b2NvbXBsZXRlLWNoaXBzLmNvbXBvbmVudC5zY3NzJyBdLFxuICBwcm92aWRlcnM6IFtGU19BQ0NPVU5UX1BJQ0tFUl9BQ0NFU1NPUl1cbn0pXG5leHBvcnQgY2xhc3MgRnNBdXRvY29tcGxldGVDaGlwc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgQElucHV0KCkgcHVibGljIGZldGNoID0gbnVsbDtcbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpbWFnZVByb3BlcnR5ID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBhbGxvd1RleHQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHB1YmxpYyBhbGxvd09iamVjdCA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBkZWxheSA9IDMwMDtcbiAgQElucHV0KCkgcHVibGljIHZhbGlkYXRlVGV4dDtcbiAgQElucHV0KCkgcHVibGljIGludmFsaWRUZXh0TWVzc2FnZSA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHJlbW92YWJsZSA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBvcmRlcmFibGUgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGxpbWl0ID0gMDtcbiAgQElucHV0KCkgcHVibGljIGZldGNoT25Gb2N1cyA9IHRydWU7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb21wYXJlV2l0aCA9IChvMTogYW55LCBvMjogYW55KSA9PiB7XG4gICAgcmV0dXJuIGlzRXF1YWwobzEsIG8yKTtcbiAgfTtcblxuICBAT3V0cHV0KCkgcHVibGljIHNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcHVibGljIHJlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVvcmRlcmVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZnMtZm9ybS13cmFwcGVyJykgZm9ybVdyYXBwZXIgPSB0cnVlO1xuXG4gIHB1YmxpYyBzZWFyY2hEYXRhOiBhbnlbXSA9IFtdO1xuICBwdWJsaWMgdGV4dERhdGE6IGFueSA9IHt9O1xuICBwdWJsaWMgZGF0YVR5cGUgPSBEYXRhVHlwZTtcbiAgcHVibGljIGtleXdvcmQ6IHN0cmluZyA9IG51bGw7XG4gIHB1YmxpYyBrZXl3b3JkJCA9IG5ldyBTdWJqZWN0PEV2ZW50PigpO1xuICBwdWJsaWMgbm9SZXN1bHRzID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfbW9kZWw6IGFueVtdID0gW107XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIGdldCBtb2RlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbW9kZWw7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnc3RhcnQnLCBbJyRldmVudCddKVxuICBkcmFnU3RhcnQoZSkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgfTtcblxuICBAQ29udGVudENoaWxkKEZzQXV0b2NvbXBsZXRlT2JqZWN0RGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIG9iamVjdFRlbXBsYXRlOiBGc0F1dG9jb21wbGV0ZU9iamVjdERpcmVjdGl2ZSA9IG51bGw7XG5cbiAgQFZpZXdDaGlsZCgnc2VhcmNoSW5wdXQnKSBwdWJsaWMgc2VhcmNoSW5wdXQ6IEVsZW1lbnRSZWYgPSBudWxsO1xuICBAVmlld0NoaWxkKCdhdXRvY29tcGxldGVTZWFyY2gnKSBwdWJsaWMgYXV0b2NvbXBsZXRlU2VhcmNoOiBNYXRBdXRvY29tcGxldGUgPSBudWxsO1xuICBAVmlld0NoaWxkKE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIpIHB1YmxpYyBhdXRvY29tcGxldGVUcmlnZ2VyID0gbnVsbDtcblxuICBwcml2YXRlIF9vblRvdWNoZWQgPSAoKSA9PiB7IH07XG4gIHByaXZhdGUgX29uQ2hhbmdlID0gKHZhbHVlOiBhbnkpID0+IHt9O1xuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueSkgPT4gYW55KTogdm9pZCB7IHRoaXMuX29uQ2hhbmdlID0gZm4gfVxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IGFueSk6IHZvaWQgeyB0aGlzLl9vblRvdWNoZWQgPSBmbiB9XG5cblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcblxuICAgIHRoaXMua2V5d29yZCRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmRlbGF5KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgICB0aGlzLmtleXdvcmQgPSB0cmltKHRoaXMuc2VhcmNoSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMuYWxsb3dPYmplY3QpIHtcbiAgICAgICAgICB0aGlzLm9iamVjdEtleXdvcmQoZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5hbGxvd1RleHQpIHtcbiAgICAgICAgICB0aGlzLnRleHRLZXl3b3JkKGUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLl9tb2RlbCwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICB0aGlzLnJlb3JkZXJlZC5lbWl0KHtcbiAgICAgIGl0ZW06IGV2ZW50Lml0ZW0uZGF0YS5kYXRhLFxuICAgICAgZnJvbTogZXZlbnQucHJldmlvdXNJbmRleCxcbiAgICAgIHRvOiBldmVudC5jdXJyZW50SW5kZXgsXG4gICAgICBpdGVtczogdGhpcy5fbW9kZWwsXG4gICAgfSk7XG4gICAgdGhpcy51cGRhdGVNb2RlbCh0aGlzLl9tb2RlbCk7XG4gIH1cblxuICBwcml2YXRlIF92YWxpZGF0ZVRleHQodGV4dCkge1xuICAgIHJldHVybiBTdHJpbmcodGV4dCkudHJpbSgpLmxlbmd0aCAmJiAoIXRoaXMudmFsaWRhdGVUZXh0IHx8IHRoaXMudmFsaWRhdGVUZXh0KHRleHQpKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUZXh0KHRleHQpIHtcblxuICAgIGlmICh0aGlzLl92YWxpZGF0ZVRleHQodGV4dCkpIHtcblxuICAgICAgY29uc3QgdGV4dE9iamVjdCA9IHRoaXMuY3JlYXRlSXRlbSh0ZXh0LCBEYXRhVHlwZS5UZXh0KTtcblxuICAgICAgdGhpcy51cGRhdGVNb2RlbChbLi4udGhpcy5fbW9kZWwsIHRleHRPYmplY3RdKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWRkT2JqZWN0KG9iamVjdCkge1xuICAgIHRoaXMudXBkYXRlTW9kZWwoWy4uLnRoaXMuX21vZGVsLCBvYmplY3RdKTtcbiAgfVxuXG4gIHB1YmxpYyBibHVyKCkge1xuXG4gICAgaWYgKHRoaXMuYXV0b2NvbXBsZXRlU2VhcmNoLmlzT3Blbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY2xvc2VkKCk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VkKCkge1xuXG4gICAgaWYgKHRoaXMuYWxsb3dUZXh0KSB7XG4gICAgICB0aGlzLmFkZFRleHQodGhpcy5rZXl3b3JkKTtcbiAgICB9XG5cbiAgICB0aGlzLmNsZWFySW5wdXQoKTtcbiAgfVxuXG4gIHB1YmxpYyB0ZXh0S2V5d29yZChlKSB7XG5cbiAgICBpZiAodGhpcy5hbGxvd1RleHQgJiYgZS5jb2RlID09PSAnQ29tbWEnKSB7XG4gICAgICB0aGlzLmtleXdvcmQuc3BsaXQoJywnKS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICB0aGlzLmFkZFRleHQoaXRlbS50cmltKCkpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gdGhpcy5jbGVhcklucHV0KCk7XG4gICAgfVxuXG4gICAgdGhpcy50ZXh0RGF0YSA9IHt9O1xuXG4gICAgaWYgKHRoaXMuX3ZhbGlkYXRlVGV4dCh0aGlzLmtleXdvcmQpKSB7XG4gICAgICB0aGlzLnRleHREYXRhID0gdGhpcy5jcmVhdGVJdGVtKHRoaXMua2V5d29yZCwgRGF0YVR5cGUuVGV4dCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZvY3VzKGUpIHtcblxuICAgIGlmICghdGhpcy5mZXRjaE9uRm9jdXMpIHtcbiAgICAgIHRoaXMuc2VhcmNoRGF0YSA9IFtdO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZldGNoT25Gb2N1cykge1xuICAgICAgdGhpcy5vYmplY3RLZXl3b3JkKGUpO1xuICAgICAgdGhpcy5hdXRvY29tcGxldGVUcmlnZ2VyLm9wZW5QYW5lbCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvYmplY3RLZXl3b3JkKGUpIHtcblxuICAgIGlmIChlICYmIChbJ0VudGVyJywgJ0Fycm93RG93bicsICdBcnJvd1VwJ10uaW5kZXhPZihlLmNvZGUpID4gLTEgfHwgKHRoaXMuYWxsb3dUZXh0ICYmIGUuY29kZSA9PT0gJ0NvbW1hJykpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmZldGNoT25Gb2N1cyAmJiAhdGhpcy5rZXl3b3JkKSB7XG4gICAgICB0aGlzLnNlYXJjaERhdGEgPSBbXTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5mZXRjaCkge1xuICAgICAgdGhpcy5ub1Jlc3VsdHMgPSBmYWxzZTtcbiAgICAgIHRoaXMuZmV0Y2godGhpcy5rZXl3b3JkLCB0aGlzLm1vZGVsKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JClcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcblxuICAgICAgICAgIHRoaXMuc2VhcmNoRGF0YSA9IHJlc3BvbnNlLm1hcChkYXRhID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUl0ZW0oZGF0YSwgRGF0YVR5cGUuT2JqZWN0KTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRoaXMuc2VhcmNoRGF0YSA9IGZpbHRlcih0aGlzLnNlYXJjaERhdGEsIGl0ZW0gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGZpbmRJbmRleCh0aGlzLl9tb2RlbCwgKG1vZGVsKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmVXaXRoKG1vZGVsLmRhdGEsIGl0ZW0uZGF0YSk7XG4gICAgICAgICAgICB9KSA9PT0gLTE7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAoIXRoaXMuc2VhcmNoRGF0YS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMubm9SZXN1bHRzID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlSXRlbShkYXRhLCB0eXBlKSB7XG4gICAgY29uc3QgaXRlbTogYW55ID0ge1xuICAgICAgICB0eXBlOiB0eXBlLFxuICAgICAgICBkYXRhOiBkYXRhXG4gICAgICB9O1xuXG4gICAgaWYgKHR5cGUgPT09IERhdGFUeXBlLk9iamVjdCkge1xuICAgICAgaXRlbS5pbWFnZSA9IGdldE9iamVjdFZhbHVlKGRhdGEsIHRoaXMuaW1hZ2VQcm9wZXJ0eSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGl0ZW07XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3QoZTogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCkge1xuXG4gICAgdGhpcy5zZWFyY2hEYXRhID0gW107XG4gICAgdGhpcy5jbGVhcklucHV0KCk7XG5cbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuYWxsb3dPYmplY3QgJiYgdGhpcy5hbGxvd1RleHQgPyBlLm9wdGlvbi52YWx1ZSA6IGUub3B0aW9uLnZhbHVlLmRhdGE7XG4gICAgaWYgKGUub3B0aW9uLnZhbHVlLnR5cGUgPT09IERhdGFUeXBlLk9iamVjdCkge1xuXG4gICAgICBpZiAoIWZpbHRlcih0aGlzLl9tb2RlbCwgdmFsdWUpLmxlbmd0aCkge1xuICAgICAgICB0aGlzLmFkZE9iamVjdChlLm9wdGlvbi52YWx1ZSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuZW1pdChlLm9wdGlvbi52YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGUub3B0aW9uLnZhbHVlLnR5cGUgPT09IERhdGFUeXBlLlRleHQpIHtcbiAgICAgIGlmICghZmlsdGVyKHRoaXMuX21vZGVsLCB2YWx1ZSkubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuYWRkVGV4dChlLm9wdGlvbi52YWx1ZS5kYXRhKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KGUub3B0aW9uLnZhbHVlLmRhdGEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5mb2N1cyhudWxsKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcklucHV0KCkge1xuICAgIHRoaXMuc2VhcmNoSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIHRoaXMudGV4dERhdGEgPSB7fTtcbiAgICB0aGlzLmtleXdvcmQgPSAnJztcbiAgfVxuXG4gIHB1YmxpYyBvblJlbW92ZShkYXRhKTogdm9pZCB7XG4gICAgdGhpcy5hdXRvY29tcGxldGVUcmlnZ2VyLmNsb3NlUGFuZWwoKTtcbiAgICByZW1vdmUodGhpcy5fbW9kZWwsIGRhdGEpO1xuICAgIHRoaXMucmVtb3ZlZC5lbWl0KGRhdGEpO1xuICAgIHRoaXMudXBkYXRlTW9kZWwodGhpcy5fbW9kZWwpO1xuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuXG4gICAgdmFsdWUgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW107XG5cbiAgICB2YWx1ZSA9IG1hcCh2YWx1ZSwgKGl0ZW0pID0+IHtcbiAgICAgIGNvbnN0IHR5cGUgPSBpc09iamVjdChpdGVtKSA/IERhdGFUeXBlLk9iamVjdCA6IERhdGFUeXBlLlRleHQ7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVJdGVtKGl0ZW0sIHR5cGUpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fbW9kZWwgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVNb2RlbCh2YWx1ZSkge1xuXG4gICAgdGhpcy5fbW9kZWwgPSB2YWx1ZTtcblxuICAgIGNvbnN0IG1vZGVsID0gbWFwKHRoaXMuX21vZGVsLCAoaXRlbSkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmFsbG93VGV4dCB8fCAhdGhpcy5hbGxvd09iamVjdCkge1xuICAgICAgICByZXR1cm4gaXRlbS5kYXRhO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaXRlbTtcbiAgICB9KTtcblxuICAgIHRoaXMuX29uQ2hhbmdlKG1vZGVsKTtcbiAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWNoaXBzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2F1dG9jb21wbGV0ZS1jaGlwcy8iLCJzb3VyY2VzIjpbImFwcC9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS1jaGlwcy9hdXRvY29tcGxldGUtY2hpcHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVLLFVBQVUsRUFBYSxZQUFZLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQ2pGLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsc0JBQXNCLEVBQWdDLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXpHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM5RSxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFakMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQzs7QUFFbkgsTUFBTSxLQUFPLDBCQUEwQixHQUFhO0lBQ2xELE9BQU8sRUFB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dkMsaURBQXlCOzs7OztJQUV6Qiw4Q0FBMkI7Ozs7O0lBQzNCLGdEQUFpQzs7SUFXakMsc0RBQ3FEOztJQUVyRCxtREFBZ0U7O0lBQ2hFLDBEQUFtRjs7SUFDbkYsMkRBQXFFOzs7OztJQUVyRSxrREFBK0I7Ozs7O0lBQy9CLGlEQUF1QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgVmlld0NoaWxkLFxuICBFbGVtZW50UmVmLFxuICBUZW1wbGF0ZVJlZixcbiAgQ29udGVudENoaWxkLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBQcm92aWRlciwgZm9yd2FyZFJlZiwgT25EZXN0cm95LCBIb3N0TGlzdGVuZXIsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZ1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIsIE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQsIE1hdEF1dG9jb21wbGV0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJ1xuXG5pbXBvcnQgeyBpc0VxdWFsLCByZW1vdmUsIGZpbmRJbmRleCwgbWFwLCBmaWx0ZXIsIGlzT2JqZWN0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyB0cmltIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgZ2V0T2JqZWN0VmFsdWUgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2dldC1vYmplY3QtdmFsdWUnO1xuaW1wb3J0IHsgRGF0YVR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2RhdGEtdHlwZSc7XG5pbXBvcnQgeyBGc0F1dG9jb21wbGV0ZU9iamVjdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvYXV0b2NvbXBsZXRlLW9iamVjdC9hdXRvY29tcGxldGUtb2JqZWN0LmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBGU19BQ0NPVU5UX1BJQ0tFUl9BQ0NFU1NPUjogUHJvdmlkZXIgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGc0F1dG9jb21wbGV0ZUNoaXBzQ29tcG9uZW50KSxcbiAgbXVsdGk6IHRydWVcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWF1dG9jb21wbGV0ZS1jaGlwcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRvY29tcGxldGUtY2hpcHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsgJy4vYXV0b2NvbXBsZXRlLWNoaXBzLmNvbXBvbmVudC5zY3NzJyBdLFxuICBwcm92aWRlcnM6IFtGU19BQ0NPVU5UX1BJQ0tFUl9BQ0NFU1NPUl1cbn0pXG5leHBvcnQgY2xhc3MgRnNBdXRvY29tcGxldGVDaGlwc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgQElucHV0KCkgcHVibGljIGZldGNoID0gbnVsbDtcbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpbWFnZVByb3BlcnR5ID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBhbGxvd1RleHQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHB1YmxpYyBhbGxvd09iamVjdCA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBkZWxheSA9IDMwMDtcbiAgQElucHV0KCkgcHVibGljIHZhbGlkYXRlVGV4dDtcbiAgQElucHV0KCkgcHVibGljIGludmFsaWRUZXh0TWVzc2FnZSA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHJlbW92YWJsZSA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBvcmRlcmFibGUgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGxpbWl0ID0gMDtcbiAgQElucHV0KCkgcHVibGljIGZldGNoT25Gb2N1cyA9IHRydWU7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb21wYXJlV2l0aCA9IChvMTogYW55LCBvMjogYW55KSA9PiB7XG4gICAgcmV0dXJuIGlzRXF1YWwobzEsIG8yKTtcbiAgfTtcblxuICBAT3V0cHV0KCkgcHVibGljIHNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcHVibGljIHJlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVvcmRlcmVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZnMtZm9ybS13cmFwcGVyJykgZm9ybVdyYXBwZXIgPSB0cnVlO1xuXG4gIHB1YmxpYyBzZWFyY2hEYXRhOiBhbnlbXSA9IFtdO1xuICBwdWJsaWMgdGV4dERhdGE6IGFueSA9IHt9O1xuICBwdWJsaWMgZGF0YVR5cGUgPSBEYXRhVHlwZTtcbiAgcHVibGljIGtleXdvcmQ6IHN0cmluZyA9IG51bGw7XG4gIHB1YmxpYyBrZXl3b3JkJCA9IG5ldyBTdWJqZWN0PEV2ZW50PigpO1xuICBwdWJsaWMgbm9SZXN1bHRzID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfbW9kZWw6IGFueVtdID0gW107XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIGdldCBtb2RlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbW9kZWw7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnc3RhcnQnLCBbJyRldmVudCddKVxuICBkcmFnU3RhcnQoZSkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgfTtcblxuICBAQ29udGVudENoaWxkKEZzQXV0b2NvbXBsZXRlT2JqZWN0RGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIG9iamVjdFRlbXBsYXRlOiBGc0F1dG9jb21wbGV0ZU9iamVjdERpcmVjdGl2ZSA9IG51bGw7XG5cbiAgQFZpZXdDaGlsZCgnc2VhcmNoSW5wdXQnKSBwdWJsaWMgc2VhcmNoSW5wdXQ6IEVsZW1lbnRSZWYgPSBudWxsO1xuICBAVmlld0NoaWxkKCdhdXRvY29tcGxldGVTZWFyY2gnKSBwdWJsaWMgYXV0b2NvbXBsZXRlU2VhcmNoOiBNYXRBdXRvY29tcGxldGUgPSBudWxsO1xuICBAVmlld0NoaWxkKE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIpIHB1YmxpYyBhdXRvY29tcGxldGVUcmlnZ2VyID0gbnVsbDtcblxuICBwcml2YXRlIF9vblRvdWNoZWQgPSAoKSA9PiB7IH07XG4gIHByaXZhdGUgX29uQ2hhbmdlID0gKHZhbHVlOiBhbnkpID0+IHt9O1xuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueSkgPT4gYW55KTogdm9pZCB7IHRoaXMuX29uQ2hhbmdlID0gZm4gfVxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IGFueSk6IHZvaWQgeyB0aGlzLl9vblRvdWNoZWQgPSBmbiB9XG5cblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcblxuICAgIHRoaXMua2V5d29yZCRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmRlbGF5KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgICB0aGlzLmtleXdvcmQgPSB0cmltKHRoaXMuc2VhcmNoSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMuYWxsb3dPYmplY3QpIHtcbiAgICAgICAgICB0aGlzLm9iamVjdEtleXdvcmQoZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5hbGxvd1RleHQpIHtcbiAgICAgICAgICB0aGlzLnRleHRLZXl3b3JkKGUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLl9tb2RlbCwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICB0aGlzLnJlb3JkZXJlZC5lbWl0KHtcbiAgICAgIGl0ZW06IGV2ZW50Lml0ZW0uZGF0YS5kYXRhLFxuICAgICAgZnJvbTogZXZlbnQucHJldmlvdXNJbmRleCxcbiAgICAgIHRvOiBldmVudC5jdXJyZW50SW5kZXgsXG4gICAgICBpdGVtczogdGhpcy5fbW9kZWwsXG4gICAgfSk7XG4gICAgdGhpcy51cGRhdGVNb2RlbCh0aGlzLl9tb2RlbCk7XG4gIH1cblxuICBwcml2YXRlIF92YWxpZGF0ZVRleHQodGV4dCkge1xuICAgIHJldHVybiBTdHJpbmcodGV4dCkudHJpbSgpLmxlbmd0aCAmJiAoIXRoaXMudmFsaWRhdGVUZXh0IHx8IHRoaXMudmFsaWRhdGVUZXh0KHRleHQpKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUZXh0KHRleHQpIHtcblxuICAgIGlmICh0aGlzLl92YWxpZGF0ZVRleHQodGV4dCkpIHtcblxuICAgICAgY29uc3QgdGV4dE9iamVjdCA9IHRoaXMuY3JlYXRlSXRlbSh0ZXh0LCBEYXRhVHlwZS5UZXh0KTtcblxuICAgICAgdGhpcy51cGRhdGVNb2RlbChbLi4udGhpcy5fbW9kZWwsIHRleHRPYmplY3RdKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWRkT2JqZWN0KG9iamVjdCkge1xuICAgIHRoaXMudXBkYXRlTW9kZWwoWy4uLnRoaXMuX21vZGVsLCBvYmplY3RdKTtcbiAgfVxuXG4gIHB1YmxpYyBibHVyKCkge1xuXG4gICAgaWYgKHRoaXMuYXV0b2NvbXBsZXRlU2VhcmNoLmlzT3Blbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY2xvc2VkKCk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VkKCkge1xuXG4gICAgaWYgKHRoaXMuYWxsb3dUZXh0KSB7XG4gICAgICB0aGlzLmFkZFRleHQodGhpcy5rZXl3b3JkKTtcbiAgICB9XG5cbiAgICB0aGlzLmNsZWFySW5wdXQoKTtcbiAgfVxuXG4gIHB1YmxpYyB0ZXh0S2V5d29yZChlKSB7XG5cbiAgICBpZiAodGhpcy5hbGxvd1RleHQgJiYgZS5jb2RlID09PSAnQ29tbWEnKSB7XG4gICAgICB0aGlzLmtleXdvcmQuc3BsaXQoJywnKS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICB0aGlzLmFkZFRleHQoaXRlbS50cmltKCkpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gdGhpcy5jbGVhcklucHV0KCk7XG4gICAgfVxuXG4gICAgdGhpcy50ZXh0RGF0YSA9IHt9O1xuXG4gICAgaWYgKHRoaXMuX3ZhbGlkYXRlVGV4dCh0aGlzLmtleXdvcmQpKSB7XG4gICAgICB0aGlzLnRleHREYXRhID0gdGhpcy5jcmVhdGVJdGVtKHRoaXMua2V5d29yZCwgRGF0YVR5cGUuVGV4dCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZvY3VzKGUpIHtcblxuICAgIGlmICghdGhpcy5mZXRjaE9uRm9jdXMpIHtcbiAgICAgIHRoaXMuc2VhcmNoRGF0YSA9IFtdO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZldGNoT25Gb2N1cykge1xuICAgICAgdGhpcy5vYmplY3RLZXl3b3JkKGUpO1xuICAgICAgdGhpcy5hdXRvY29tcGxldGVUcmlnZ2VyLm9wZW5QYW5lbCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvYmplY3RLZXl3b3JkKGUpIHtcblxuICAgIGlmIChlICYmIChbJ0VudGVyJywgJ0Fycm93RG93bicsICdBcnJvd1VwJ10uaW5kZXhPZihlLmNvZGUpID4gLTEgfHwgKHRoaXMuYWxsb3dUZXh0ICYmIGUuY29kZSA9PT0gJ0NvbW1hJykpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmZldGNoT25Gb2N1cyAmJiAhdGhpcy5rZXl3b3JkKSB7XG4gICAgICB0aGlzLnNlYXJjaERhdGEgPSBbXTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5mZXRjaCkge1xuICAgICAgdGhpcy5ub1Jlc3VsdHMgPSBmYWxzZTtcbiAgICAgIHRoaXMuZmV0Y2godGhpcy5rZXl3b3JkLCB0aGlzLm1vZGVsKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JClcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcblxuICAgICAgICAgIHRoaXMuc2VhcmNoRGF0YSA9IHJlc3BvbnNlLm1hcChkYXRhID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUl0ZW0oZGF0YSwgRGF0YVR5cGUuT2JqZWN0KTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRoaXMuc2VhcmNoRGF0YSA9IGZpbHRlcih0aGlzLnNlYXJjaERhdGEsIGl0ZW0gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGZpbmRJbmRleCh0aGlzLl9tb2RlbCwgKG1vZGVsKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmVXaXRoKG1vZGVsLmRhdGEsIGl0ZW0uZGF0YSk7XG4gICAgICAgICAgICB9KSA9PT0gLTE7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAoIXRoaXMuc2VhcmNoRGF0YS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMubm9SZXN1bHRzID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlSXRlbShkYXRhLCB0eXBlKSB7XG4gICAgY29uc3QgaXRlbTogYW55ID0ge1xuICAgICAgICB0eXBlOiB0eXBlLFxuICAgICAgICBkYXRhOiBkYXRhXG4gICAgICB9O1xuXG4gICAgaWYgKHR5cGUgPT09IERhdGFUeXBlLk9iamVjdCkge1xuICAgICAgaXRlbS5pbWFnZSA9IGdldE9iamVjdFZhbHVlKGRhdGEsIHRoaXMuaW1hZ2VQcm9wZXJ0eSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGl0ZW07XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3QoZTogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCkge1xuXG4gICAgdGhpcy5zZWFyY2hEYXRhID0gW107XG4gICAgdGhpcy5jbGVhcklucHV0KCk7XG5cbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuYWxsb3dPYmplY3QgJiYgdGhpcy5hbGxvd1RleHQgPyBlLm9wdGlvbi52YWx1ZSA6IGUub3B0aW9uLnZhbHVlLmRhdGE7XG4gICAgaWYgKGUub3B0aW9uLnZhbHVlLnR5cGUgPT09IERhdGFUeXBlLk9iamVjdCkge1xuXG4gICAgICBpZiAoIWZpbHRlcih0aGlzLl9tb2RlbCwgdmFsdWUpLmxlbmd0aCkge1xuICAgICAgICB0aGlzLmFkZE9iamVjdChlLm9wdGlvbi52YWx1ZSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuZW1pdChlLm9wdGlvbi52YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGUub3B0aW9uLnZhbHVlLnR5cGUgPT09IERhdGFUeXBlLlRleHQpIHtcbiAgICAgIGlmICghZmlsdGVyKHRoaXMuX21vZGVsLCB2YWx1ZSkubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuYWRkVGV4dChlLm9wdGlvbi52YWx1ZS5kYXRhKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KGUub3B0aW9uLnZhbHVlLmRhdGEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5mb2N1cyhudWxsKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcklucHV0KCkge1xuICAgIHRoaXMuc2VhcmNoSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIHRoaXMudGV4dERhdGEgPSB7fTtcbiAgICB0aGlzLmtleXdvcmQgPSAnJztcbiAgfVxuXG4gIHB1YmxpYyBvblJlbW92ZShkYXRhKTogdm9pZCB7XG4gICAgdGhpcy5hdXRvY29tcGxldGVUcmlnZ2VyLmNsb3NlUGFuZWwoKTtcbiAgICByZW1vdmUodGhpcy5fbW9kZWwsIGRhdGEpO1xuICAgIHRoaXMudXBkYXRlTW9kZWwodGhpcy5fbW9kZWwpO1xuICAgIHRoaXMucmVtb3ZlZC5lbWl0KGRhdGEpO1xuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuXG4gICAgdmFsdWUgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW107XG5cbiAgICB2YWx1ZSA9IG1hcCh2YWx1ZSwgKGl0ZW0pID0+IHtcbiAgICAgIGNvbnN0IHR5cGUgPSBpc09iamVjdChpdGVtKSA/IERhdGFUeXBlLk9iamVjdCA6IERhdGFUeXBlLlRleHQ7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVJdGVtKGl0ZW0sIHR5cGUpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fbW9kZWwgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVNb2RlbCh2YWx1ZSkge1xuXG4gICAgdGhpcy5fbW9kZWwgPSB2YWx1ZTtcblxuICAgIGNvbnN0IG1vZGVsID0gbWFwKHRoaXMuX21vZGVsLCAoaXRlbSkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmFsbG93VGV4dCB8fCAhdGhpcy5hbGxvd09iamVjdCkge1xuICAgICAgICByZXR1cm4gaXRlbS5kYXRhO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaXRlbTtcbiAgICB9KTtcblxuICAgIHRoaXMuX29uQ2hhbmdlKG1vZGVsKTtcbiAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19 |
@@ -0,0 +0,0 @@ /** |
@@ -0,0 +0,0 @@ /** |
@@ -33,2 +33,2 @@ /** | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW9iamVjdC12YWx1ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2F1dG9jb21wbGV0ZS1jaGlwcy8iLCJzb3VyY2VzIjpbImFwcC9oZWxwZXJzL2dldC1vYmplY3QtdmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsTUFBTSxVQUFVLGNBQWMsQ0FBQyxTQUFTLEVBQUUsT0FBTztJQUMvQyxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1osT0FBTyxJQUFJLENBQUM7S0FDYjtJQUNELE9BQU8sZUFBZSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDeEQsQ0FBQzs7Ozs7O0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxLQUFLLEVBQUUsT0FBTzs7UUFDdEMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBRXBDLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXJCLE9BQU8sZUFBZSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGdldE9iamVjdFZhbHVlKGF0dHJpYnV0ZSwgbWFwcGluZyk6IGFueSB7XHJcbiAgaWYgKCFtYXBwaW5nKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgcmV0dXJuIF9nZXRPYmplY3RWYWx1ZShhdHRyaWJ1dGUsIG1hcHBpbmcuc3BsaXQoJy4nKSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfZ2V0T2JqZWN0VmFsdWUodmFsdWUsIGluZGV4ZXMpOiBhbnkge1xyXG4gIGNvbnN0IGluZGV4ID0gaW5kZXhlcy5zaGlmdChpbmRleGVzKTtcclxuXHJcbiAgaWYgKCFpbmRleCkge1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgaWYgKCF2YWx1ZSkge1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgdmFsdWUgPSB2YWx1ZVtpbmRleF07XHJcblxyXG4gIHJldHVybiBfZ2V0T2JqZWN0VmFsdWUodmFsdWUsIGluZGV4ZXMpO1xyXG59Il19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW9iamVjdC12YWx1ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2F1dG9jb21wbGV0ZS1jaGlwcy8iLCJzb3VyY2VzIjpbImFwcC9oZWxwZXJzL2dldC1vYmplY3QtdmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsTUFBTSxVQUFVLGNBQWMsQ0FBQyxTQUFTLEVBQUUsT0FBTztJQUMvQyxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1osT0FBTyxJQUFJLENBQUM7S0FDYjtJQUNELE9BQU8sZUFBZSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDeEQsQ0FBQzs7Ozs7O0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxLQUFLLEVBQUUsT0FBTzs7UUFDdEMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBRXBDLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXJCLE9BQU8sZUFBZSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGdldE9iamVjdFZhbHVlKGF0dHJpYnV0ZSwgbWFwcGluZyk6IGFueSB7XG4gIGlmICghbWFwcGluZykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiBfZ2V0T2JqZWN0VmFsdWUoYXR0cmlidXRlLCBtYXBwaW5nLnNwbGl0KCcuJykpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX2dldE9iamVjdFZhbHVlKHZhbHVlLCBpbmRleGVzKTogYW55IHtcbiAgY29uc3QgaW5kZXggPSBpbmRleGVzLnNoaWZ0KGluZGV4ZXMpO1xuXG4gIGlmICghaW5kZXgpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBpZiAoIXZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgdmFsdWUgPSB2YWx1ZVtpbmRleF07XG5cbiAgcmV0dXJuIF9nZXRPYmplY3RWYWx1ZSh2YWx1ZSwgaW5kZXhlcyk7XG59Il19 |
@@ -11,2 +11,2 @@ /** | ||
export { DataType }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10eXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvYXV0b2NvbXBsZXRlLWNoaXBzLyIsInNvdXJjZXMiOlsiYXBwL2ludGVyZmFjZXMvZGF0YS10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztJQUNFLFFBQVMsUUFBUTtJQUNqQixNQUFPLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBEYXRhVHlwZSB7XHJcbiAgT2JqZWN0ID0gJ29iamVjdCcsXHJcbiAgVGV4dCA9ICd0ZXh0J1xyXG59XHJcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10eXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvYXV0b2NvbXBsZXRlLWNoaXBzLyIsInNvdXJjZXMiOlsiYXBwL2ludGVyZmFjZXMvZGF0YS10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztJQUNFLFFBQVMsUUFBUTtJQUNqQixNQUFPLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBEYXRhVHlwZSB7XG4gIE9iamVjdCA9ICdvYmplY3QnLFxuICBUZXh0ID0gJ3RleHQnXG59XG4iXX0= |
@@ -0,0 +0,0 @@ /** |
@@ -0,0 +0,0 @@ /** |
@@ -325,4 +325,4 @@ import { CommonModule } from '@angular/common'; | ||
remove(this._model, data); | ||
this.updateModel(this._model); | ||
this.removed.emit(data); | ||
this.updateModel(this._model); | ||
} | ||
@@ -329,0 +329,0 @@ /** |
@@ -403,4 +403,4 @@ import { CommonModule } from '@angular/common'; | ||
remove(this._model, data); | ||
this.updateModel(this._model); | ||
this.removed.emit(data); | ||
this.updateModel(this._model); | ||
}; | ||
@@ -407,0 +407,0 @@ /** |
@@ -0,0 +0,0 @@ /** |
{ | ||
"name": "@firestitch/autocomplete-chips", | ||
"version": "7.1.12", | ||
"version": "7.1.13", | ||
"repository": { | ||
@@ -5,0 +5,0 @@ "type": "git", |
export { FsAutocompleteChipsModule } from './app/fs-autocomplete-chips.module'; |
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 not supported yet
Sorry, the diff of this file is not supported yet
287099