ng2-input-autocomplete
Advanced tools
Comparing version
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms')) : | ||
typeof define === 'function' && define.amd ? define('ng2-input-autocomplete', ['exports', '@angular/core', '@angular/common', '@angular/forms'], factory) : | ||
(factory((global['ng2-input-autocomplete'] = {}),global.ng.core,global.ng.common,global.ng.forms)); | ||
}(this, (function (exports,core,common,forms) { 'use strict'; | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/forms'), require('@angular/common')) : | ||
typeof define === 'function' && define.amd ? define('ng2-input-autocomplete', ['exports', '@angular/core', '@angular/forms', '@angular/common'], factory) : | ||
(global = global || self, factory(global['ng2-input-autocomplete'] = {}, global.ng.core, global.ng.forms, global.ng.common)); | ||
}(this, (function (exports, core, forms, common) { 'use strict'; | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
* Generated from: lib/autocomplete.component.ts | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -28,22 +29,22 @@ var AutocompleteComponent = /** @class */ (function () { | ||
*/ | ||
function () { | ||
if (this.config && this.config.class) { | ||
this.classList += ' ' + this.config.class; | ||
function () { | ||
if (this.config && this.config.class) { | ||
this.classList += ' ' + this.config.class; | ||
} | ||
if (this.config && this.config.max > 0) { | ||
this.maxLimit = this.config.max; | ||
} | ||
this.placeholder = 'autocomplete'; | ||
this.inputElement = (/** @type {?} */ (this.thisElement.querySelector('input'))); | ||
if (!this.isNull(this.config)) { | ||
if (!this.isNull(this.config.placeholder)) { | ||
this.placeholder = this.config.placeholder; | ||
} | ||
if (this.config && this.config.max > 0) { | ||
this.maxLimit = this.config.max; | ||
if (!this.isNull(this.config.sourceField)) { | ||
this.sourceField = this.config.sourceField; | ||
} | ||
this.placeholder = 'autocomplete'; | ||
this.inputElement = /** @type {?} */ (this.thisElement.querySelector('input')); | ||
if (!this.isNull(this.config)) { | ||
if (!this.isNull(this.config.placeholder)) { | ||
this.placeholder = this.config.placeholder; | ||
} | ||
if (!this.isNull(this.config.sourceField)) { | ||
this.sourceField = this.config.sourceField; | ||
} | ||
} | ||
this.filterItems(this.value); | ||
this.inputElement.focus(); | ||
}; | ||
} | ||
this.filterItems(this.value); | ||
this.inputElement.focus(); | ||
}; | ||
/** | ||
@@ -55,5 +56,5 @@ * @return {?} | ||
*/ | ||
function () { | ||
this.filterItems(this.value); | ||
}; | ||
function () { | ||
this.filterItems(this.value); | ||
}; | ||
/** | ||
@@ -67,27 +68,27 @@ * @param {?} event | ||
*/ | ||
function (event) { | ||
/** @type {?} */ | ||
var total = this.candidates.length; | ||
switch (event.keyCode) { | ||
case 27: | ||
this.showAutoComplete = false; | ||
break; | ||
case 38: | ||
this.selectedIndex = (total + this.selectedIndex - 1) % total; | ||
break; | ||
case 40: | ||
this.selectedIndex = (total + this.selectedIndex + 1) % total; | ||
break; | ||
case 13: | ||
if (this.candidates.length > 0) { | ||
this.onSelect(this.selectedIndex); | ||
} | ||
event.preventDefault(); | ||
break; | ||
default: | ||
this.value = event.target.value; | ||
this.inputChangedEvent.emit(this.value); | ||
break; | ||
} | ||
}; | ||
function (event) { | ||
/** @type {?} */ | ||
var total = this.candidates.length; | ||
switch (event.keyCode) { | ||
case 27: | ||
this.showAutoComplete = false; | ||
break; | ||
case 38: | ||
this.selectedIndex = (total + this.selectedIndex - 1) % total; | ||
break; | ||
case 40: | ||
this.selectedIndex = (total + this.selectedIndex + 1) % total; | ||
break; | ||
case 13: | ||
if (this.candidates.length > 0) { | ||
this.onSelect(this.selectedIndex); | ||
} | ||
event.preventDefault(); | ||
break; | ||
default: | ||
this.value = event.target.value; | ||
this.inputChangedEvent.emit(this.value); | ||
break; | ||
} | ||
}; | ||
/** | ||
@@ -101,7 +102,7 @@ * @param {?} idx | ||
*/ | ||
function (idx) { | ||
this.showAutoComplete = false; | ||
this.value = this.candidatesLabels[idx]; | ||
this.selectEvent.emit(this.candidates[idx]); | ||
}; | ||
function (idx) { | ||
this.showAutoComplete = false; | ||
this.value = this.candidatesLabels[idx]; | ||
this.selectEvent.emit(this.candidates[idx]); | ||
}; | ||
/** | ||
@@ -117,7 +118,7 @@ * @param {?} event | ||
*/ | ||
function (event, idx) { | ||
if (event.keyCode === 13) { | ||
this.onSelect(idx); | ||
} | ||
}; | ||
function (event, idx) { | ||
if (event.keyCode === 13) { | ||
this.onSelect(idx); | ||
} | ||
}; | ||
/** | ||
@@ -131,18 +132,23 @@ * @param {?} search | ||
*/ | ||
function (search) { | ||
/** @type {?} */ | ||
var field = this.sourceField; | ||
/** @type {?} */ | ||
var filterItem = this.filterItem; | ||
if (this.items) { | ||
this.candidates = this.items.filter(function (item) { | ||
return filterItem(item, field, search); | ||
}); | ||
if (this.maxLimit > 0) { | ||
this.candidates = this.candidates.slice(0, this.maxLimit); | ||
} | ||
this.buildLabels(); | ||
function (search) { | ||
/** @type {?} */ | ||
var field = this.sourceField; | ||
/** @type {?} */ | ||
var filterItem = this.filterItem; | ||
if (this.items) { | ||
this.candidates = this.items.filter((/** | ||
* @param {?} item | ||
* @return {?} | ||
*/ | ||
function (item) { | ||
return filterItem(item, field, search); | ||
})); | ||
if (this.maxLimit > 0) { | ||
this.candidates = this.candidates.slice(0, this.maxLimit); | ||
} | ||
}; | ||
this.buildLabels(); | ||
} | ||
}; | ||
/** | ||
* @private | ||
* @param {?} object | ||
@@ -153,2 +159,3 @@ * @param {?} path | ||
AutocompleteComponent.prototype.getFieldValue = /** | ||
* @private | ||
* @param {?} object | ||
@@ -158,27 +165,32 @@ * @param {?} path | ||
*/ | ||
function (object, path) { | ||
if (typeof object === 'string') { | ||
return object; | ||
} | ||
if (path instanceof Array) { | ||
/** @type {?} */ | ||
var result_1 = object; | ||
path.forEach(function (element) { | ||
if (result_1 !== null && | ||
result_1 !== undefined && | ||
result_1[element] !== null && | ||
result_1[element] !== undefined) { | ||
result_1 = result_1[element]; | ||
} | ||
else { | ||
result_1 = ''; | ||
} | ||
}); | ||
return result_1; | ||
} | ||
else { | ||
return object[path] || ''; | ||
} | ||
}; | ||
function (object, path) { | ||
if (typeof object === 'string') { | ||
return object; | ||
} | ||
if (path instanceof Array) { | ||
/** @type {?} */ | ||
var result_1 = object; | ||
path.forEach((/** | ||
* @param {?} element | ||
* @return {?} | ||
*/ | ||
function (element) { | ||
if (result_1 !== null && | ||
result_1 !== undefined && | ||
result_1[element] !== null && | ||
result_1[element] !== undefined) { | ||
result_1 = result_1[element]; | ||
} | ||
else { | ||
result_1 = ''; | ||
} | ||
})); | ||
return result_1; | ||
} | ||
else { | ||
return object[path] || ''; | ||
} | ||
}; | ||
/** | ||
* @private | ||
* @param {?} object | ||
@@ -188,24 +200,32 @@ * @return {?} | ||
AutocompleteComponent.prototype.isNull = /** | ||
* @private | ||
* @param {?} object | ||
* @return {?} | ||
*/ | ||
function (object) { | ||
return object === null || object === undefined; | ||
}; | ||
function (object) { | ||
return object === null || object === undefined; | ||
}; | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
AutocompleteComponent.prototype.buildLabels = /** | ||
* @private | ||
* @return {?} | ||
*/ | ||
function () { | ||
/** @type {?} */ | ||
var field = this.sourceField; | ||
/** @type {?} */ | ||
var getFieldValue = this.getFieldValue; | ||
this.candidatesLabels = this.candidates.map(function (e) { | ||
return getFieldValue(e, field); | ||
}); | ||
}; | ||
function () { | ||
/** @type {?} */ | ||
var field = this.sourceField; | ||
/** @type {?} */ | ||
var getFieldValue = this.getFieldValue; | ||
this.candidatesLabels = this.candidates.map((/** | ||
* @param {?} e | ||
* @return {?} | ||
*/ | ||
function (e) { | ||
return getFieldValue(e, field); | ||
})); | ||
}; | ||
/** | ||
* @private | ||
* @param {?} item | ||
@@ -217,2 +237,3 @@ * @param {?} path | ||
AutocompleteComponent.prototype.filterItem = /** | ||
* @private | ||
* @param {?} item | ||
@@ -223,30 +244,34 @@ * @param {?} path | ||
*/ | ||
function (item, path, search) { | ||
if (search === null || search === undefined || search.length === 0) { | ||
return true; | ||
} | ||
/** @type {?} */ | ||
var result; | ||
if (typeof item === 'string') { | ||
result = item; | ||
} | ||
else if (path instanceof Array) { | ||
result = item; | ||
path.forEach(function (element) { | ||
if (result !== null && | ||
result !== undefined && | ||
result[element] !== null && | ||
result[element] !== undefined) { | ||
result = result[element]; | ||
} | ||
else { | ||
result = ''; | ||
} | ||
}); | ||
} | ||
else { | ||
result = item[path] || ''; | ||
} | ||
return result.toLowerCase().indexOf(search.toLowerCase()) >= 0; | ||
}; | ||
function (item, path, search) { | ||
if (search === null || search === undefined || search.length === 0) { | ||
return true; | ||
} | ||
/** @type {?} */ | ||
var result; | ||
if (typeof item === 'string') { | ||
result = item; | ||
} | ||
else if (path instanceof Array) { | ||
result = item; | ||
path.forEach((/** | ||
* @param {?} element | ||
* @return {?} | ||
*/ | ||
function (element) { | ||
if (result !== null && | ||
result !== undefined && | ||
result[element] !== null && | ||
result[element] !== undefined) { | ||
result = result[element]; | ||
} | ||
else { | ||
result = ''; | ||
} | ||
})); | ||
} | ||
else { | ||
result = item[path] || ''; | ||
} | ||
return result.toLowerCase().indexOf(search.toLowerCase()) >= 0; | ||
}; | ||
AutocompleteComponent.decorators = [ | ||
@@ -261,7 +286,5 @@ { type: core.Component, args: [{ | ||
/** @nocollapse */ | ||
AutocompleteComponent.ctorParameters = function () { | ||
return [ | ||
{ type: core.ElementRef } | ||
]; | ||
}; | ||
AutocompleteComponent.ctorParameters = function () { return [ | ||
{ type: core.ElementRef } | ||
]; }; | ||
AutocompleteComponent.propDecorators = { | ||
@@ -275,2 +298,40 @@ items: [{ type: core.Input }], | ||
}()); | ||
if (false) { | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.classList; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.items; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.config; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.selectEvent; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.inputChangedEvent; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.inputElement; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.value; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.candidates; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.candidatesLabels; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.selectedIndex; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.showAutoComplete; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.placeholder; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.maxLimit; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteComponent.prototype.sourceField; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteComponent.prototype.thisElement; | ||
} | ||
var AutocompleteDirective = /** @class */ (function () { | ||
@@ -285,3 +346,7 @@ function AutocompleteDirective(resolver, viewContainerRef) { | ||
this.reset = false; | ||
this.hideAutocomplete = function (event) { | ||
this.hideAutocomplete = (/** | ||
* @param {?=} event | ||
* @return {?} | ||
*/ | ||
function (event) { | ||
if (!_this.componentRef) { | ||
@@ -301,4 +366,8 @@ return; | ||
} | ||
}; | ||
this.onInputChanged = function (val) { | ||
}); | ||
this.onInputChanged = (/** | ||
* @param {?} val | ||
* @return {?} | ||
*/ | ||
function (val) { | ||
_this.inputElement.value = val; | ||
@@ -313,4 +382,8 @@ if (val !== _this.ngModel) { | ||
_this.inputChangedEvent.emit(val); | ||
}; | ||
this.onSelect = function (item) { | ||
}); | ||
this.onSelect = (/** | ||
* @param {?} item | ||
* @return {?} | ||
*/ | ||
function (item) { | ||
/** @type {?} */ | ||
@@ -329,3 +402,3 @@ var component = _this.componentRef.instance; | ||
_this.hideAutocomplete(); | ||
}; | ||
}); | ||
this.thisElement = this.viewContainerRef.element.nativeElement; | ||
@@ -339,8 +412,8 @@ } | ||
*/ | ||
function () { | ||
if (this.thisElement.tagName.toLowerCase() === 'form') { | ||
return; | ||
} | ||
this.createDiv(); | ||
}; | ||
function () { | ||
if (this.thisElement.tagName.toLowerCase() === 'form') { | ||
return; | ||
} | ||
this.createDiv(); | ||
}; | ||
/** | ||
@@ -352,9 +425,9 @@ * @return {?} | ||
*/ | ||
function () { | ||
if (this.componentRef) { | ||
this.componentRef.instance.selectEvent.unsubscribe(); | ||
this.componentRef.instance.inputChangedEvent.unsubscribe(); | ||
} | ||
document.removeEventListener('click', this.hideAutocomplete); | ||
}; | ||
function () { | ||
if (this.componentRef) { | ||
this.componentRef.instance.selectEvent.unsubscribe(); | ||
this.componentRef.instance.inputChangedEvent.unsubscribe(); | ||
} | ||
document.removeEventListener('click', this.hideAutocomplete); | ||
}; | ||
/** | ||
@@ -368,10 +441,10 @@ * @param {?} changes | ||
*/ | ||
function (changes) { | ||
if (changes['items'] && this.componentRef) { | ||
/** @type {?} */ | ||
var component = this.componentRef.instance; | ||
component.items = changes['items'].currentValue; | ||
component.filterItems(component.value); | ||
} | ||
}; | ||
function (changes) { | ||
if (changes['items'] && this.componentRef) { | ||
/** @type {?} */ | ||
var component = this.componentRef.instance; | ||
component.items = changes['items'].currentValue; | ||
component.filterItems(component.value); | ||
} | ||
}; | ||
/** | ||
@@ -383,17 +456,23 @@ * @return {?} | ||
*/ | ||
function () { | ||
var _this = this; | ||
/** @type {?} */ | ||
var input = this.getInputElement(); | ||
if (this.control) { | ||
this.control.valueChanges.subscribe(function () { | ||
_this.reset = true; | ||
}); | ||
} | ||
if (input.form) { | ||
input.form.addEventListener('reset', function () { | ||
_this.reset = true; | ||
}); | ||
} | ||
}; | ||
function () { | ||
var _this = this; | ||
/** @type {?} */ | ||
var input = this.getInputElement(); | ||
if (this.control) { | ||
this.control.valueChanges.subscribe((/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
_this.reset = true; | ||
})); | ||
} | ||
if (input.form) { | ||
input.form.addEventListener('reset', (/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
_this.reset = true; | ||
})); | ||
} | ||
}; | ||
/** | ||
@@ -407,8 +486,8 @@ * @param {?} event | ||
*/ | ||
function (event) { | ||
this.hideAutocomplete(); | ||
if (event === this.thisElement) { | ||
this.createAutocomplete(); | ||
} | ||
}; | ||
function (event) { | ||
this.hideAutocomplete(); | ||
if (event === this.thisElement) { | ||
this.createAutocomplete(); | ||
} | ||
}; | ||
/** | ||
@@ -420,68 +499,72 @@ * @return {?} | ||
*/ | ||
function () { | ||
/** @type {?} */ | ||
var input = /** @type {?} */ (this.thisElement); | ||
if (this.thisElement.tagName !== 'INPUT' && this.autocompleteElement) { | ||
input = /** @type {?} */ (this.thisElement.querySelector('input')); | ||
} | ||
return input; | ||
}; | ||
function () { | ||
/** @type {?} */ | ||
var input = (/** @type {?} */ (this.thisElement)); | ||
if (this.thisElement.tagName !== 'INPUT' && this.autocompleteElement) { | ||
input = (/** @type {?} */ (this.thisElement.querySelector('input'))); | ||
} | ||
return input; | ||
}; | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
AutocompleteDirective.prototype.createDiv = /** | ||
* @private | ||
* @return {?} | ||
*/ | ||
function () { | ||
/** @type {?} */ | ||
var element = document.createElement('div'); | ||
element.style.display = 'inline-block'; | ||
element.style.position = 'relative'; | ||
this.thisElement.parentElement.insertBefore(element, this.thisElement.nextSibling); | ||
element.appendChild(this.thisElement); | ||
document.addEventListener('click', this.hideAutocomplete); | ||
}; | ||
function () { | ||
/** @type {?} */ | ||
var element = document.createElement('div'); | ||
element.style.display = 'inline-block'; | ||
element.style.position = 'relative'; | ||
this.thisElement.parentElement.insertBefore(element, this.thisElement.nextSibling); | ||
element.appendChild(this.thisElement); | ||
document.addEventListener('click', this.hideAutocomplete); | ||
}; | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
AutocompleteDirective.prototype.createAutocomplete = /** | ||
* @private | ||
* @return {?} | ||
*/ | ||
function () { | ||
function () { | ||
/** @type {?} */ | ||
var factory = this.resolver.resolveComponentFactory(AutocompleteComponent); | ||
this.componentRef = this.viewContainerRef.createComponent(factory); | ||
/** @type {?} */ | ||
var component = this.componentRef.instance; | ||
component.config = this.config; | ||
component.items = this.items; | ||
component.selectEvent.subscribe(this.onSelect); | ||
component.inputChangedEvent.subscribe(this.onInputChanged); | ||
this.autocompleteElement = this.componentRef.location.nativeElement; | ||
this.autocompleteElement.style.display = 'none'; | ||
this.inputElement = this.getInputElement(); | ||
if (this.thisElement.tagName !== 'INPUT' && this.autocompleteElement) { | ||
this.inputElement.parentElement.insertBefore(this.autocompleteElement, this.inputElement.nextSibling); | ||
} | ||
if (this.reset) { | ||
this.ngModel = ''; | ||
this.reset = false; | ||
} | ||
this.inputElement.value = this.ngModel ? this.ngModel : ''; | ||
component.value = this.inputElement.value; | ||
this.tabIndex = this.inputElement['tabIndex']; | ||
this.inputElement['tabIndex'] = -100; | ||
if (this.componentRef) { | ||
/** @type {?} */ | ||
var factory = this.resolver.resolveComponentFactory(AutocompleteComponent); | ||
this.componentRef = this.viewContainerRef.createComponent(factory); | ||
var rect = this.thisElement.getBoundingClientRect(); | ||
/** @type {?} */ | ||
var component = this.componentRef.instance; | ||
component.config = this.config; | ||
component.items = this.items; | ||
component.selectEvent.subscribe(this.onSelect); | ||
component.inputChangedEvent.subscribe(this.onInputChanged); | ||
this.autocompleteElement = this.componentRef.location.nativeElement; | ||
this.autocompleteElement.style.display = 'none'; | ||
this.inputElement = this.getInputElement(); | ||
if (this.thisElement.tagName !== 'INPUT' && this.autocompleteElement) { | ||
this.inputElement.parentElement.insertBefore(this.autocompleteElement, this.inputElement.nextSibling); | ||
} | ||
if (this.reset) { | ||
this.ngModel = ''; | ||
this.reset = false; | ||
} | ||
this.inputElement.value = this.ngModel ? this.ngModel : ''; | ||
component.value = this.inputElement.value; | ||
this.tabIndex = this.inputElement['tabIndex']; | ||
this.inputElement['tabIndex'] = -100; | ||
if (this.componentRef) { | ||
/** @type {?} */ | ||
var rect = this.thisElement.getBoundingClientRect(); | ||
/** @type {?} */ | ||
var style = this.autocompleteElement.style; | ||
style.width = rect.width + 'px'; | ||
style.position = 'absolute'; | ||
style.zIndex = '1'; | ||
style.top = '0'; | ||
style.left = '0'; | ||
style.display = 'inline-block'; | ||
} | ||
}; | ||
var style = this.autocompleteElement.style; | ||
style.width = rect.width + 'px'; | ||
style.position = 'absolute'; | ||
style.zIndex = '1'; | ||
style.top = '0'; | ||
style.left = '0'; | ||
style.display = 'inline-block'; | ||
} | ||
}; | ||
AutocompleteDirective.decorators = [ | ||
@@ -494,8 +577,6 @@ { type: core.Directive, args: [{ | ||
/** @nocollapse */ | ||
AutocompleteDirective.ctorParameters = function () { | ||
return [ | ||
{ type: core.ComponentFactoryResolver }, | ||
{ type: core.ViewContainerRef } | ||
]; | ||
}; | ||
AutocompleteDirective.ctorParameters = function () { return [ | ||
{ type: core.ComponentFactoryResolver }, | ||
{ type: core.ViewContainerRef } | ||
]; }; | ||
AutocompleteDirective.propDecorators = { | ||
@@ -513,6 +594,66 @@ config: [{ type: core.Input }], | ||
}()); | ||
if (false) { | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.config; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.items; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.ngModel; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.control; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.ngModelChange; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.inputChangedEvent; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.selectEvent; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.componentRef; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.thisElement; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.autocompleteElement; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.inputElement; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.tabIndex; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.reset; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.hideAutocomplete; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.onInputChanged; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.onSelect; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.resolver; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.viewContainerRef; | ||
} | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
* Generated from: lib/autocomplete.module.ts | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -528,7 +669,7 @@ var AutocompleteModule = /** @class */ (function () { | ||
*/ | ||
function () { | ||
return { | ||
ngModule: AutocompleteModule | ||
}; | ||
function () { | ||
return { | ||
ngModule: AutocompleteModule | ||
}; | ||
}; | ||
AutocompleteModule.decorators = [ | ||
@@ -545,12 +686,2 @@ { type: core.NgModule, args: [{ | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
*/ | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
*/ | ||
exports.AutocompleteComponent = AutocompleteComponent; | ||
@@ -563,3 +694,2 @@ exports.AutocompleteDirective = AutocompleteDirective; | ||
}))); | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyLWlucHV0LWF1dG9jb21wbGV0ZS51bWQuanMubWFwIiwic291cmNlcyI6WyJuZzovL25nMi1pbnB1dC1hdXRvY29tcGxldGUvbGliL2F1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCJuZzovL25nMi1pbnB1dC1hdXRvY29tcGxldGUvbGliL2F1dG9jb21wbGV0ZS5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgTUlUIExJQ0VOU0UgQGxpdXk5N1xuKi9cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBDb21wb25lbnRSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZSxcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgSG9zdEJpbmRpbmdcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1Db250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgc2VsZWN0b3I6ICduZzItaW5wdXQtYXV0b2NvbXBsZXRlJyxcbiAgdGVtcGxhdGU6IGBcbiAgPGRpdiBbbmdDbGFzc109XCJjbGFzc0xpc3RcIj5cbiAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgcGxhY2Vob2xkZXI9XCJ7e3BsYWNlaG9sZGVyfX1cIlxuICAgICAgKGJsdXIpPVwic2hvd0F1dG9Db21wbGV0ZSA9IGZhbHNlO1wiXG4gICAgICAoZm9jdXMpPVwic2hvd0F1dG9Db21wbGV0ZSA9IHRydWU7XCJcbiAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAoa2V5dXApPVwiZW50ZXJUZXh0KCRldmVudClcIj5cbiAgICA8dWwgKm5nSWY9XCJzaG93QXV0b0NvbXBsZXRlICYmIGNhbmRpZGF0ZXMgJiYgY2FuZGlkYXRlcy5sZW5ndGggPiAwXCI+XG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGNhbmRpZGF0ZSBvZiBjYW5kaWRhdGVzOyBsZXQgaWR4ID0gaW5kZXhcIlxuICAgICAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogKGlkeCA9PT0gc2VsZWN0ZWRJbmRleCkgfVwiXG4gICAgICAgIChrZXl1cCk9XCJvbktleVVwRXZlbnQoJGV2ZW50LCBpZHgpXCJcbiAgICAgICAgKG1vdXNlb3Zlcik9XCJzZWxlY3RlZEluZGV4ID0gaWR4O1wiXG4gICAgICAgIChtb3VzZWRvd24pPVwib25TZWxlY3QoaWR4KVwiPlxuICAgICAgICB7e2NhbmRpZGF0ZXNMYWJlbHNbaWR4XX19XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIDwvZGl2PmAsXG4gIHN0eWxlczogW1xuICAgIGAuYXV0b2NvbXBsZXRlIHVsIHtcbiAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgbGVmdDogMDtcbiAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM4ODg7XG4gICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzg4ODtcbiAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzg4ODtcbiAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgfVxuICAgICAuYXV0b2NvbXBsZXRlIGxpIHtcbiAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgcGFkZGluZzogMC40ZW0gMCAwLjRlbSAwO1xuICAgICB9XG4gICAgIC5hdXRvY29tcGxldGUgbGkuYWN0aXZlIHtcbiAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGJmO1xuICAgICB9XG5cbiAgICAgLmF1dG9jb21wbGV0ZSAuaGlnaGxpZ2h0IHtcbiAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlMmUyO1xuICAgICB9XG4gICAgIC5hdXRvY29tcGxldGUgbGkuYWN0aXZlIC5oaWdobGlnaHQge1xuICAgICAgIGJhY2tncm91bmQ6ICM2NjY7XG4gICAgICAgY29sb3I6ICNmZmY7XG4gICAgIH1gXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBjbGFzc0xpc3QgPSAnYXV0b2NvbXBsZXRlJztcbiAgQElucHV0KCkgaXRlbXM6IGFueVtdO1xuICBASW5wdXQoKSBjb25maWc6IGFueTtcbiAgQE91dHB1dCgpIHNlbGVjdEV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgaW5wdXRDaGFuZ2VkRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIGlucHV0RWxlbWVudDogSFRNTElucHV0RWxlbWVudDtcbiAgdmFsdWU6IHN0cmluZztcbiAgY2FuZGlkYXRlczogYW55W107XG4gIGNhbmRpZGF0ZXNMYWJlbHM6IGFueVtdO1xuICBzZWxlY3RlZEluZGV4OiBudW1iZXI7XG4gIHNob3dBdXRvQ29tcGxldGU6IGJvb2xlYW47XG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIG1heExpbWl0ID0gMDtcbiAgcHJpdmF0ZSBzb3VyY2VGaWVsZDogYW55O1xuICBwcml2YXRlIHRoaXNFbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy50aGlzRWxlbWVudCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSAwO1xuICAgIHRoaXMuc2hvd0F1dG9Db21wbGV0ZSA9IGZhbHNlO1xuICAgIHRoaXMudmFsdWUgPSAnJztcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmNvbmZpZyAmJiB0aGlzLmNvbmZpZy5jbGFzcykge1xuICAgICAgdGhpcy5jbGFzc0xpc3QgKz0gJyAnICsgdGhpcy5jb25maWcuY2xhc3M7XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbmZpZyAmJiB0aGlzLmNvbmZpZy5tYXggPiAwKSB7XG4gICAgICB0aGlzLm1heExpbWl0ID0gdGhpcy5jb25maWcubWF4O1xuICAgIH1cbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gJ2F1dG9jb21wbGV0ZSc7XG4gICAgdGhpcy5pbnB1dEVsZW1lbnQgPSB0aGlzLnRoaXNFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnaW5wdXQnXG4gICAgKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuXG4gICAgaWYgKCF0aGlzLmlzTnVsbCh0aGlzLmNvbmZpZykpIHtcbiAgICAgIGlmICghdGhpcy5pc051bGwodGhpcy5jb25maWcucGxhY2Vob2xkZXIpKSB7XG4gICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSB0aGlzLmNvbmZpZy5wbGFjZWhvbGRlcjtcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5pc051bGwodGhpcy5jb25maWcuc291cmNlRmllbGQpKSB7XG4gICAgICAgIHRoaXMuc291cmNlRmllbGQgPSB0aGlzLmNvbmZpZy5zb3VyY2VGaWVsZDtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5maWx0ZXJJdGVtcyh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLmlucHV0RWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5maWx0ZXJJdGVtcyh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIGVudGVyVGV4dChldmVudDogYW55KSB7XG4gICAgY29uc3QgdG90YWwgPSB0aGlzLmNhbmRpZGF0ZXMubGVuZ3RoO1xuICAgIHN3aXRjaCAoZXZlbnQua2V5Q29kZSkge1xuICAgICAgY2FzZSAyNzpcbiAgICAgICAgdGhpcy5zaG93QXV0b0NvbXBsZXRlID0gZmFsc2U7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAzODpcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gKHRvdGFsICsgdGhpcy5zZWxlY3RlZEluZGV4IC0gMSkgJSB0b3RhbDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDQwOlxuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSAodG90YWwgKyB0aGlzLnNlbGVjdGVkSW5kZXggKyAxKSAlIHRvdGFsO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMTM6XG4gICAgICAgIGlmICh0aGlzLmNhbmRpZGF0ZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMub25TZWxlY3QodGhpcy5zZWxlY3RlZEluZGV4KTtcbiAgICAgICAgfVxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMudmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICAgIHRoaXMuaW5wdXRDaGFuZ2VkRXZlbnQuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgb25TZWxlY3QoaWR4OiBudW1iZXIpIHtcbiAgICB0aGlzLnNob3dBdXRvQ29tcGxldGUgPSBmYWxzZTtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5jYW5kaWRhdGVzTGFiZWxzW2lkeF07XG4gICAgdGhpcy5zZWxlY3RFdmVudC5lbWl0KHRoaXMuY2FuZGlkYXRlc1tpZHhdKTtcbiAgfVxuXG4gIG9uS2V5VXBFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCwgaWR4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gMTMpIHtcbiAgICAgIHRoaXMub25TZWxlY3QoaWR4KTtcbiAgICB9XG4gfVxuXG4gIGZpbHRlckl0ZW1zKHNlYXJjaDogc3RyaW5nKSB7XG4gICAgY29uc3QgZmllbGQgPSB0aGlzLnNvdXJjZUZpZWxkO1xuICAgIGNvbnN0IGZpbHRlckl0ZW0gPSB0aGlzLmZpbHRlckl0ZW07XG4gICAgaWYgKHRoaXMuaXRlbXMpIHtcbiAgICAgIHRoaXMuY2FuZGlkYXRlcyA9IHRoaXMuaXRlbXMuZmlsdGVyKGl0ZW0gPT4ge1xuICAgICAgICByZXR1cm4gZmlsdGVySXRlbShpdGVtLCBmaWVsZCwgc2VhcmNoKTtcbiAgICAgIH0pO1xuICAgICAgaWYgKHRoaXMubWF4TGltaXQgPiAwKSB7XG4gICAgICAgIHRoaXMuY2FuZGlkYXRlcyA9IHRoaXMuY2FuZGlkYXRlcy5zbGljZSgwLCB0aGlzLm1heExpbWl0KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuYnVpbGRMYWJlbHMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEZpZWxkVmFsdWUob2JqZWN0OiBhbnksIHBhdGg6IGFueSkge1xuICAgIGlmICh0eXBlb2Ygb2JqZWN0ID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICB9XG4gICAgaWYgKHBhdGggaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgbGV0IHJlc3VsdDogYW55ID0gb2JqZWN0O1xuICAgICAgcGF0aC5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHJlc3VsdCAhPT0gbnVsbCAmJlxuICAgICAgICAgIHJlc3VsdCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgcmVzdWx0W2VsZW1lbnRdICE9PSBudWxsICYmXG4gICAgICAgICAgcmVzdWx0W2VsZW1lbnRdICE9PSB1bmRlZmluZWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmVzdWx0ID0gcmVzdWx0W2VsZW1lbnRdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdCA9ICcnO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBvYmplY3RbcGF0aF0gfHwgJyc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc051bGwob2JqZWN0OiBhbnkpIHtcbiAgICByZXR1cm4gb2JqZWN0ID09PSBudWxsIHx8IG9iamVjdCA9PT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZExhYmVscygpIHtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuc291cmNlRmllbGQ7XG4gICAgY29uc3QgZ2V0RmllbGRWYWx1ZSA9IHRoaXMuZ2V0RmllbGRWYWx1ZTtcbiAgICB0aGlzLmNhbmRpZGF0ZXNMYWJlbHMgPSB0aGlzLmNhbmRpZGF0ZXMubWFwKChlOiBhbnkpID0+XG4gICAgICBnZXRGaWVsZFZhbHVlKGUsIGZpZWxkKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGZpbHRlckl0ZW0oaXRlbTogYW55LCBwYXRoOiBhbnksIHNlYXJjaDogc3RyaW5nKSB7XG4gICAgaWYgKHNlYXJjaCA9PT0gbnVsbCB8fCBzZWFyY2ggPT09IHVuZGVmaW5lZCB8fCBzZWFyY2gubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgbGV0IHJlc3VsdDogYW55O1xuICAgIGlmICh0eXBlb2YgaXRlbSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJlc3VsdCA9IGl0ZW07XG4gICAgfSBlbHNlIGlmIChwYXRoIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgIHJlc3VsdCA9IGl0ZW07XG4gICAgICBwYXRoLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgcmVzdWx0ICE9PSBudWxsICYmXG4gICAgICAgICAgcmVzdWx0ICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICByZXN1bHRbZWxlbWVudF0gIT09IG51bGwgJiZcbiAgICAgICAgICByZXN1bHRbZWxlbWVudF0gIT09IHVuZGVmaW5lZFxuICAgICAgICApIHtcbiAgICAgICAgICByZXN1bHQgPSByZXN1bHRbZWxlbWVudF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzdWx0ID0gJyc7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSBpdGVtW3BhdGhdIHx8ICcnO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2gudG9Mb3dlckNhc2UoKSkgPj0gMDtcbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXG4gIHNlbGVjdG9yOiAnW2lucHV0LWF1dG9jb21wbGV0ZV0nXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9jb21wbGV0ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBjb25maWc6IGFueTtcbiAgQElucHV0KCkgaXRlbXM6IGFueTtcbiAgQElucHV0KCkgbmdNb2RlbDogc3RyaW5nO1xuICBASW5wdXQoKSBjb250cm9sOiBGb3JtQ29udHJvbDtcbiAgQE91dHB1dCgpIG5nTW9kZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBpbnB1dENoYW5nZWRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHNlbGVjdEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByaXZhdGUgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8QXV0b2NvbXBsZXRlQ29tcG9uZW50PjtcbiAgcHJpdmF0ZSB0aGlzRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgYXV0b2NvbXBsZXRlRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50O1xuICBwcml2YXRlIHRhYkluZGV4OiBudW1iZXI7XG4gIHByaXZhdGUgcmVzZXQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgcHVibGljIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWZcbiAgKSB7XG4gICAgdGhpcy50aGlzRWxlbWVudCA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy50aGlzRWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdmb3JtJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNyZWF0ZURpdigpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5zZWxlY3RFdmVudC51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuaW5wdXRDaGFuZ2VkRXZlbnQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmhpZGVBdXRvY29tcGxldGUpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogeyBbcHJvcEtleTogc3RyaW5nXTogU2ltcGxlQ2hhbmdlIH0pIHtcbiAgICBpZiAoY2hhbmdlc1snaXRlbXMnXSAmJiB0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgICBjb21wb25lbnQuaXRlbXMgPSBjaGFuZ2VzWydpdGVtcyddLmN1cnJlbnRWYWx1ZTtcbiAgICAgIGNvbXBvbmVudC5maWx0ZXJJdGVtcyhjb21wb25lbnQudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMuZ2V0SW5wdXRFbGVtZW50KCk7XG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlc2V0ID0gdHJ1ZTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoaW5wdXQuZm9ybSkge1xuICAgICAgaW5wdXQuZm9ybS5hZGRFdmVudExpc3RlbmVyKCdyZXNldCcsICgpID0+IHtcbiAgICAgICAgdGhpcy5yZXNldCA9IHRydWU7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICBASG9zdExpc3RlbmVyKCdmb2N1cycsIFsnJGV2ZW50LnRhcmdldCddKVxuICBzaG93QXV0b2NvbXBsZXRlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmhpZGVBdXRvY29tcGxldGUoKTtcbiAgICBpZiAoZXZlbnQgPT09IHRoaXMudGhpc0VsZW1lbnQpIHtcbiAgICAgIHRoaXMuY3JlYXRlQXV0b2NvbXBsZXRlKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0SW5wdXRFbGVtZW50KCkge1xuICAgIGxldCBpbnB1dCA9IHRoaXMudGhpc0VsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudDtcblxuICAgIGlmICh0aGlzLnRoaXNFbGVtZW50LnRhZ05hbWUgIT09ICdJTlBVVCcgJiYgdGhpcy5hdXRvY29tcGxldGVFbGVtZW50KSB7XG4gICAgICBpbnB1dCA9IHRoaXMudGhpc0VsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgJ2lucHV0J1xuICAgICAgKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIH1cblxuICAgIHJldHVybiBpbnB1dDtcbiAgfVxuXG4gIGhpZGVBdXRvY29tcGxldGUgPSAoZXZlbnQ/OiBhbnkpOiB2b2lkID0+IHtcbiAgICBpZiAoIXRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChldmVudCAmJiBldmVudC50YXJnZXQgJiYgdGhpcy50aGlzRWxlbWVudCAmJiBldmVudC50YXJnZXQgPT09IHRoaXMudGhpc0VsZW1lbnQucGFyZW50RWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICAhZXZlbnQgfHxcbiAgICAgIChldmVudC50YXJnZXQgIT09IHRoaXMudGhpc0VsZW1lbnQgJiYgZXZlbnQudHlwZSA9PT0gJ2NsaWNrJylcbiAgICApIHtcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBpZiAodGhpcy5pbnB1dEVsZW1lbnRbJ3RhYkluZGV4J10gPCAwKSB7XG4gICAgICB0aGlzLmlucHV0RWxlbWVudFsndGFiSW5kZXgnXSA9IHRoaXMudGFiSW5kZXg7XG4gICAgfVxuICB9XG5cbiAgb25JbnB1dENoYW5nZWQgPSAodmFsOiBzdHJpbmcpID0+IHtcbiAgICB0aGlzLmlucHV0RWxlbWVudC52YWx1ZSA9IHZhbDtcbiAgICBpZiAodmFsICE9PSB0aGlzLm5nTW9kZWwpIHtcbiAgICAgIHRoaXMubmdNb2RlbCA9IHZhbDtcbiAgICAgIHRoaXMubmdNb2RlbENoYW5nZS5lbWl0KHZhbCk7XG4gICAgfVxuICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgIGNvbXBvbmVudC5maWx0ZXJJdGVtcyh2YWwpO1xuICAgIHRoaXMuaW5wdXRDaGFuZ2VkRXZlbnQuZW1pdCh2YWwpO1xuICB9XG5cbiAgb25TZWxlY3QgPSAoaXRlbTogYW55KSA9PiB7XG4gICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgY29uc3QgdmFsID0gY29tcG9uZW50LnZhbHVlO1xuICAgIGlmICh2YWwgIT09IHRoaXMubmdNb2RlbCkge1xuICAgICAgdGhpcy5uZ01vZGVsID0gdmFsO1xuICAgICAgdGhpcy5uZ01vZGVsQ2hhbmdlLmVtaXQodmFsKTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RFdmVudC5lbWl0KGl0ZW0pO1xuICAgIGlmICh0aGlzLmlucHV0RWxlbWVudCkge1xuICAgICAgdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUgPSAnJyArIHZhbDtcbiAgICB9XG4gICAgdGhpcy5oaWRlQXV0b2NvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURpdigpIHtcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2lubGluZS1ibG9jayc7XG4gICAgZWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9ICdyZWxhdGl2ZSc7XG4gICAgdGhpcy50aGlzRWxlbWVudC5wYXJlbnRFbGVtZW50Lmluc2VydEJlZm9yZShcbiAgICAgIGVsZW1lbnQsXG4gICAgICB0aGlzLnRoaXNFbGVtZW50Lm5leHRTaWJsaW5nXG4gICAgKTtcbiAgICBlbGVtZW50LmFwcGVuZENoaWxkKHRoaXMudGhpc0VsZW1lbnQpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5oaWRlQXV0b2NvbXBsZXRlKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQXV0b2NvbXBsZXRlKCkge1xuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLnJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFxuICAgICAgQXV0b2NvbXBsZXRlQ29tcG9uZW50XG4gICAgKTtcbiAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XG4gICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgY29tcG9uZW50LmNvbmZpZyA9IHRoaXMuY29uZmlnO1xuICAgIGNvbXBvbmVudC5pdGVtcyA9IHRoaXMuaXRlbXM7XG4gICAgY29tcG9uZW50LnNlbGVjdEV2ZW50LnN1YnNjcmliZSh0aGlzLm9uU2VsZWN0KTtcbiAgICBjb21wb25lbnQuaW5wdXRDaGFuZ2VkRXZlbnQuc3Vic2NyaWJlKHRoaXMub25JbnB1dENoYW5nZWQpO1xuICAgIHRoaXMuYXV0b2NvbXBsZXRlRWxlbWVudCA9IHRoaXMuY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG4gICAgdGhpcy5hdXRvY29tcGxldGVFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgdGhpcy5pbnB1dEVsZW1lbnQgPSB0aGlzLmdldElucHV0RWxlbWVudCgpO1xuICAgIGlmICh0aGlzLnRoaXNFbGVtZW50LnRhZ05hbWUgIT09ICdJTlBVVCcgJiYgdGhpcy5hdXRvY29tcGxldGVFbGVtZW50KSB7XG4gICAgICB0aGlzLmlucHV0RWxlbWVudC5wYXJlbnRFbGVtZW50Lmluc2VydEJlZm9yZShcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVFbGVtZW50LFxuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uZXh0U2libGluZ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5yZXNldCkge1xuICAgICAgdGhpcy5uZ01vZGVsID0gJyc7XG4gICAgICB0aGlzLnJlc2V0ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUgPSB0aGlzLm5nTW9kZWwgPyB0aGlzLm5nTW9kZWwgOiAnJztcbiAgICBjb21wb25lbnQudmFsdWUgPSB0aGlzLmlucHV0RWxlbWVudC52YWx1ZTtcbiAgICB0aGlzLnRhYkluZGV4ID0gdGhpcy5pbnB1dEVsZW1lbnRbJ3RhYkluZGV4J107XG4gICAgdGhpcy5pbnB1dEVsZW1lbnRbJ3RhYkluZGV4J10gPSAtMTAwO1xuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgY29uc3QgcmVjdCA9IHRoaXMudGhpc0VsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBzdHlsZSA9IHRoaXMuYXV0b2NvbXBsZXRlRWxlbWVudC5zdHlsZTtcbiAgICAgIHN0eWxlLndpZHRoID0gcmVjdC53aWR0aCArICdweCc7XG4gICAgICBzdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgICBzdHlsZS56SW5kZXggPSAnMSc7XG4gICAgICBzdHlsZS50b3AgPSAnMCc7XG4gICAgICBzdHlsZS5sZWZ0ID0gJzAnO1xuICAgICAgc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtYmxvY2snO1xuICAgIH1cbiAgfVxufVxuIiwiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUNvbXBvbmVudCwgQXV0b2NvbXBsZXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9hdXRvY29tcGxldGUuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtBdXRvY29tcGxldGVDb21wb25lbnQsIEF1dG9jb21wbGV0ZURpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IFtBdXRvY29tcGxldGVDb21wb25lbnQsIEF1dG9jb21wbGV0ZURpcmVjdGl2ZV0sXG4gIGVudHJ5Q29tcG9uZW50czogW0F1dG9jb21wbGV0ZUNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBdXRvY29tcGxldGVNb2R1bGVcbiAgICB9O1xuICB9XG59XG5cbiJdLCJuYW1lcyI6WyJFdmVudEVtaXR0ZXIiLCJDb21wb25lbnQiLCJFbGVtZW50UmVmIiwiSW5wdXQiLCJPdXRwdXQiLCJEaXJlY3RpdmUiLCJDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIiLCJWaWV3Q29udGFpbmVyUmVmIiwiSG9zdExpc3RlbmVyIiwiTmdNb2R1bGUiLCJDb21tb25Nb2R1bGUiLCJGb3Jtc01vZHVsZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUdBO1FBNEZFLCtCQUFZLFVBQXNCOzZCQWhCdEIsY0FBYzsrQkFHaUIsSUFBSUEsaUJBQVksRUFBTztxQ0FDakIsSUFBSUEsaUJBQVksRUFBTzs0QkFRN0QsQ0FBQztZQUtWLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQztZQUM1QyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1lBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1NBQ2pCOzs7O1FBRUQsd0NBQVE7OztZQUFSO2dCQUNFLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtvQkFDcEMsSUFBSSxDQUFDLFNBQVMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7aUJBQzNDO2dCQUNELElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUU7b0JBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7aUJBQ2pD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 | ||
//# sourceMappingURL=ng2-input-autocomplete.umd.js.map |
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@angular/forms")):"function"==typeof define&&define.amd?define("ng2-input-autocomplete",["exports","@angular/core","@angular/common","@angular/forms"],t):t(e["ng2-input-autocomplete"]={},e.ng.core,e.ng.common,e.ng.forms)}(this,function(e,i,t,n){"use strict";var o=function(){function e(e){this.classList="autocomplete",this.selectEvent=new i.EventEmitter,this.inputChangedEvent=new i.EventEmitter,this.maxLimit=0,this.thisElement=e.nativeElement,this.selectedIndex=0,this.showAutoComplete=!1,this.value=""}return e.prototype.ngOnInit=function(){this.config&&this.config["class"]&&(this.classList+=" "+this.config["class"]),this.config&&0<this.config.max&&(this.maxLimit=this.config.max),this.placeholder="autocomplete",this.inputElement=this.thisElement.querySelector("input"),this.isNull(this.config)||(this.isNull(this.config.placeholder)||(this.placeholder=this.config.placeholder),this.isNull(this.config.sourceField)||(this.sourceField=this.config.sourceField)),this.filterItems(this.value),this.inputElement.focus()},e.prototype.ngOnChanges=function(){this.filterItems(this.value)},e.prototype.enterText=function(e){var t=this.candidates.length;switch(e.keyCode){case 27:this.showAutoComplete=!1;break;case 38:this.selectedIndex=(t+this.selectedIndex-1)%t;break;case 40:this.selectedIndex=(t+this.selectedIndex+1)%t;break;case 13:0<this.candidates.length&&this.onSelect(this.selectedIndex),e.preventDefault();break;default:this.value=e.target.value,this.inputChangedEvent.emit(this.value)}},e.prototype.onSelect=function(e){this.showAutoComplete=!1,this.value=this.candidatesLabels[e],this.selectEvent.emit(this.candidates[e])},e.prototype.onKeyUpEvent=function(e,t){13===e.keyCode&&this.onSelect(t)},e.prototype.filterItems=function(t){var n=this.sourceField,i=this.filterItem;this.items&&(this.candidates=this.items.filter(function(e){return i(e,n,t)}),0<this.maxLimit&&(this.candidates=this.candidates.slice(0,this.maxLimit)),this.buildLabels())},e.prototype.getFieldValue=function(e,t){if("string"==typeof e)return e;if(t instanceof Array){var n=e;return t.forEach(function(e){n=null!==n&&n!==undefined&&null!==n[e]&&n[e]!==undefined?n[e]:""}),n}return e[t]||""},e.prototype.isNull=function(e){return null===e||e===undefined},e.prototype.buildLabels=function(){var t=this.sourceField,n=this.getFieldValue;this.candidatesLabels=this.candidates.map(function(e){return n(e,t)})},e.prototype.filterItem=function(e,t,n){return null===n||n===undefined||0===n.length||("string"==typeof e?i=e:t instanceof Array?(i=e,t.forEach(function(e){i=null!==i&&i!==undefined&&null!==i[e]&&i[e]!==undefined?i[e]:""})):i=e[t]||"",0<=i.toLowerCase().indexOf(n.toLowerCase()));var i},e.decorators=[{type:i.Component,args:[{selector:"ng2-input-autocomplete",template:'\n <div [ngClass]="classList">\n <input type="text"\n placeholder="{{placeholder}}"\n (blur)="showAutoComplete = false;"\n (focus)="showAutoComplete = true;"\n [value]="value"\n (keyup)="enterText($event)">\n <ul *ngIf="showAutoComplete && candidates && candidates.length > 0">\n <li *ngFor="let candidate of candidates; let idx = index"\n [ngClass]="{ active: (idx === selectedIndex) }"\n (keyup)="onKeyUpEvent($event, idx)"\n (mouseover)="selectedIndex = idx;"\n (mousedown)="onSelect(idx)">\n {{candidatesLabels[idx]}}\n </li>\n </ul>\n </div>',styles:[".autocomplete ul {\n position: absolute;\n left: 0;\n width: 100%;\n border-left: 1px solid #888;\n border-right: 1px solid #888;\n border-bottom: 1px solid #888;\n list-style: none;\n padding-left: 0px;\n margin-top: 2px;\n background-color: #fff;\n z-index: 100;\n }\n .autocomplete li {\n text-align: left;\n list-style: none;\n width: 100%;\n padding: 0.4em 0 0.4em 0;\n }\n .autocomplete li.active {\n width: 100%;\n background-color: #4bf;\n }\n\n .autocomplete .highlight {\n background-color: #e2e2e2;\n }\n .autocomplete li.active .highlight {\n background: #666;\n color: #fff;\n }"]}]}],e.ctorParameters=function(){return[{type:i.ElementRef}]},e.propDecorators={items:[{type:i.Input}],config:[{type:i.Input}],selectEvent:[{type:i.Output}],inputChangedEvent:[{type:i.Output}]},e}(),s=function(){function e(e,t){var n=this;this.resolver=e,this.viewContainerRef=t,this.ngModelChange=new i.EventEmitter,this.inputChangedEvent=new i.EventEmitter,this.selectEvent=new i.EventEmitter,this.reset=!1,this.hideAutocomplete=function(e){n.componentRef&&(e&&e.target&&n.thisElement&&e.target===n.thisElement.parentElement||((!e||e.target!==n.thisElement&&"click"===e.type)&&(n.componentRef.destroy(),n.componentRef=undefined),n.inputElement.tabIndex<0&&(n.inputElement.tabIndex=n.tabIndex)))},this.onInputChanged=function(e){(n.inputElement.value=e)!==n.ngModel&&(n.ngModel=e,n.ngModelChange.emit(e)),n.componentRef.instance.filterItems(e),n.inputChangedEvent.emit(e)},this.onSelect=function(e){var t=n.componentRef.instance.value;t!==n.ngModel&&(n.ngModel=t,n.ngModelChange.emit(t)),n.selectEvent.emit(e),n.inputElement&&(n.inputElement.value=""+t),n.hideAutocomplete()},this.thisElement=this.viewContainerRef.element.nativeElement}return e.prototype.ngOnInit=function(){"form"!==this.thisElement.tagName.toLowerCase()&&this.createDiv()},e.prototype.ngOnDestroy=function(){this.componentRef&&(this.componentRef.instance.selectEvent.unsubscribe(),this.componentRef.instance.inputChangedEvent.unsubscribe()),document.removeEventListener("click",this.hideAutocomplete)},e.prototype.ngOnChanges=function(e){if(e.items&&this.componentRef){var t=this.componentRef.instance;t.items=e.items.currentValue,t.filterItems(t.value)}},e.prototype.ngAfterViewInit=function(){var e=this,t=this.getInputElement();this.control&&this.control.valueChanges.subscribe(function(){e.reset=!0}),t.form&&t.form.addEventListener("reset",function(){e.reset=!0})},e.prototype.showAutocomplete=function(e){this.hideAutocomplete(),e===this.thisElement&&this.createAutocomplete()},e.prototype.getInputElement=function(){var e=this.thisElement;return"INPUT"!==this.thisElement.tagName&&this.autocompleteElement&&(e=this.thisElement.querySelector("input")),e},e.prototype.createDiv=function(){var e=document.createElement("div");e.style.display="inline-block",e.style.position="relative",this.thisElement.parentElement.insertBefore(e,this.thisElement.nextSibling),e.appendChild(this.thisElement),document.addEventListener("click",this.hideAutocomplete)},e.prototype.createAutocomplete=function(){var e=this.resolver.resolveComponentFactory(o);this.componentRef=this.viewContainerRef.createComponent(e);var t=this.componentRef.instance;if(t.config=this.config,t.items=this.items,t.selectEvent.subscribe(this.onSelect),t.inputChangedEvent.subscribe(this.onInputChanged),this.autocompleteElement=this.componentRef.location.nativeElement,this.autocompleteElement.style.display="none",this.inputElement=this.getInputElement(),"INPUT"!==this.thisElement.tagName&&this.autocompleteElement&&this.inputElement.parentElement.insertBefore(this.autocompleteElement,this.inputElement.nextSibling),this.reset&&(this.ngModel="",this.reset=!1),this.inputElement.value=this.ngModel?this.ngModel:"",t.value=this.inputElement.value,this.tabIndex=this.inputElement.tabIndex,this.inputElement.tabIndex=-100,this.componentRef){var n=this.thisElement.getBoundingClientRect(),i=this.autocompleteElement.style;i.width=n.width+"px",i.position="absolute",i.zIndex="1",i.top="0",i.left="0",i.display="inline-block"}},e.decorators=[{type:i.Directive,args:[{selector:"[input-autocomplete]"}]}],e.ctorParameters=function(){return[{type:i.ComponentFactoryResolver},{type:i.ViewContainerRef}]},e.propDecorators={config:[{type:i.Input}],items:[{type:i.Input}],ngModel:[{type:i.Input}],control:[{type:i.Input}],ngModelChange:[{type:i.Output}],inputChangedEvent:[{type:i.Output}],selectEvent:[{type:i.Output}],showAutocomplete:[{type:i.HostListener,args:["click",["$event.target"]]},{type:i.HostListener,args:["focus",["$event.target"]]}]},e}(),l=function(){function e(){}return e.forRoot=function(){return{ngModule:e}},e.decorators=[{type:i.NgModule,args:[{imports:[t.CommonModule,n.FormsModule],declarations:[o,s],exports:[o,s],entryComponents:[o]}]}],e}();e.AutocompleteComponent=o,e.AutocompleteDirective=s,e.AutocompleteModule=l,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/forms"),require("@angular/common")):"function"==typeof define&&define.amd?define("ng2-input-autocomplete",["exports","@angular/core","@angular/forms","@angular/common"],t):t((e=e||self)["ng2-input-autocomplete"]={},e.ng.core,e.ng.forms,e.ng.common)}(this,(function(e,t,n,i){"use strict";var o=function(){function e(e){this.classList="autocomplete",this.selectEvent=new t.EventEmitter,this.inputChangedEvent=new t.EventEmitter,this.maxLimit=0,this.thisElement=e.nativeElement,this.selectedIndex=0,this.showAutoComplete=!1,this.value=""}return e.prototype.ngOnInit=function(){this.config&&this.config.class&&(this.classList+=" "+this.config.class),this.config&&this.config.max>0&&(this.maxLimit=this.config.max),this.placeholder="autocomplete",this.inputElement=this.thisElement.querySelector("input"),this.isNull(this.config)||(this.isNull(this.config.placeholder)||(this.placeholder=this.config.placeholder),this.isNull(this.config.sourceField)||(this.sourceField=this.config.sourceField)),this.filterItems(this.value),this.inputElement.focus()},e.prototype.ngOnChanges=function(){this.filterItems(this.value)},e.prototype.enterText=function(e){var t=this.candidates.length;switch(e.keyCode){case 27:this.showAutoComplete=!1;break;case 38:this.selectedIndex=(t+this.selectedIndex-1)%t;break;case 40:this.selectedIndex=(t+this.selectedIndex+1)%t;break;case 13:this.candidates.length>0&&this.onSelect(this.selectedIndex),e.preventDefault();break;default:this.value=e.target.value,this.inputChangedEvent.emit(this.value)}},e.prototype.onSelect=function(e){this.showAutoComplete=!1,this.value=this.candidatesLabels[e],this.selectEvent.emit(this.candidates[e])},e.prototype.onKeyUpEvent=function(e,t){13===e.keyCode&&this.onSelect(t)},e.prototype.filterItems=function(e){var t=this.sourceField,n=this.filterItem;this.items&&(this.candidates=this.items.filter((function(i){return n(i,t,e)})),this.maxLimit>0&&(this.candidates=this.candidates.slice(0,this.maxLimit)),this.buildLabels())},e.prototype.getFieldValue=function(e,t){if("string"==typeof e)return e;if(t instanceof Array){var n=e;return t.forEach((function(e){n=null!=n&&null!==n[e]&&void 0!==n[e]?n[e]:""})),n}return e[t]||""},e.prototype.isNull=function(e){return null==e},e.prototype.buildLabels=function(){var e=this.sourceField,t=this.getFieldValue;this.candidatesLabels=this.candidates.map((function(n){return t(n,e)}))},e.prototype.filterItem=function(e,t,n){return null==n||0===n.length||("string"==typeof e?i=e:t instanceof Array?(i=e,t.forEach((function(e){i=null!=i&&null!==i[e]&&void 0!==i[e]?i[e]:""}))):i=e[t]||"",i.toLowerCase().indexOf(n.toLowerCase())>=0);var i},e.decorators=[{type:t.Component,args:[{selector:"ng2-input-autocomplete",template:'\n <div [ngClass]="classList">\n <input type="text"\n placeholder="{{placeholder}}"\n (blur)="showAutoComplete = false;"\n (focus)="showAutoComplete = true;"\n [value]="value"\n (keyup)="enterText($event)">\n <ul *ngIf="showAutoComplete && candidates && candidates.length > 0">\n <li *ngFor="let candidate of candidates; let idx = index"\n [ngClass]="{ active: (idx === selectedIndex) }"\n (keyup)="onKeyUpEvent($event, idx)"\n (mouseover)="selectedIndex = idx;"\n (mousedown)="onSelect(idx)">\n {{candidatesLabels[idx]}}\n </li>\n </ul>\n </div>',styles:[".autocomplete ul {\n position: absolute;\n left: 0;\n width: 100%;\n border-left: 1px solid #888;\n border-right: 1px solid #888;\n border-bottom: 1px solid #888;\n list-style: none;\n padding-left: 0px;\n margin-top: 2px;\n background-color: #fff;\n z-index: 100;\n }\n .autocomplete li {\n text-align: left;\n list-style: none;\n width: 100%;\n padding: 0.4em 0 0.4em 0;\n }\n .autocomplete li.active {\n width: 100%;\n background-color: #4bf;\n }\n\n .autocomplete .highlight {\n background-color: #e2e2e2;\n }\n .autocomplete li.active .highlight {\n background: #666;\n color: #fff;\n }"]}]}],e.ctorParameters=function(){return[{type:t.ElementRef}]},e.propDecorators={items:[{type:t.Input}],config:[{type:t.Input}],selectEvent:[{type:t.Output}],inputChangedEvent:[{type:t.Output}]},e}();var s=function(){function e(e,n){var i=this;this.resolver=e,this.viewContainerRef=n,this.ngModelChange=new t.EventEmitter,this.inputChangedEvent=new t.EventEmitter,this.selectEvent=new t.EventEmitter,this.reset=!1,this.hideAutocomplete=function(e){i.componentRef&&(e&&e.target&&i.thisElement&&e.target===i.thisElement.parentElement||((!e||e.target!==i.thisElement&&"click"===e.type)&&(i.componentRef.destroy(),i.componentRef=void 0),i.inputElement.tabIndex<0&&(i.inputElement.tabIndex=i.tabIndex)))},this.onInputChanged=function(e){i.inputElement.value=e,e!==i.ngModel&&(i.ngModel=e,i.ngModelChange.emit(e)),i.componentRef.instance.filterItems(e),i.inputChangedEvent.emit(e)},this.onSelect=function(e){var t=i.componentRef.instance.value;t!==i.ngModel&&(i.ngModel=t,i.ngModelChange.emit(t)),i.selectEvent.emit(e),i.inputElement&&(i.inputElement.value=""+t),i.hideAutocomplete()},this.thisElement=this.viewContainerRef.element.nativeElement}return e.prototype.ngOnInit=function(){"form"!==this.thisElement.tagName.toLowerCase()&&this.createDiv()},e.prototype.ngOnDestroy=function(){this.componentRef&&(this.componentRef.instance.selectEvent.unsubscribe(),this.componentRef.instance.inputChangedEvent.unsubscribe()),document.removeEventListener("click",this.hideAutocomplete)},e.prototype.ngOnChanges=function(e){if(e.items&&this.componentRef){var t=this.componentRef.instance;t.items=e.items.currentValue,t.filterItems(t.value)}},e.prototype.ngAfterViewInit=function(){var e=this,t=this.getInputElement();this.control&&this.control.valueChanges.subscribe((function(){e.reset=!0})),t.form&&t.form.addEventListener("reset",(function(){e.reset=!0}))},e.prototype.showAutocomplete=function(e){this.hideAutocomplete(),e===this.thisElement&&this.createAutocomplete()},e.prototype.getInputElement=function(){var e=this.thisElement;return"INPUT"!==this.thisElement.tagName&&this.autocompleteElement&&(e=this.thisElement.querySelector("input")),e},e.prototype.createDiv=function(){var e=document.createElement("div");e.style.display="inline-block",e.style.position="relative",this.thisElement.parentElement.insertBefore(e,this.thisElement.nextSibling),e.appendChild(this.thisElement),document.addEventListener("click",this.hideAutocomplete)},e.prototype.createAutocomplete=function(){var e=this.resolver.resolveComponentFactory(o);this.componentRef=this.viewContainerRef.createComponent(e);var t=this.componentRef.instance;if(t.config=this.config,t.items=this.items,t.selectEvent.subscribe(this.onSelect),t.inputChangedEvent.subscribe(this.onInputChanged),this.autocompleteElement=this.componentRef.location.nativeElement,this.autocompleteElement.style.display="none",this.inputElement=this.getInputElement(),"INPUT"!==this.thisElement.tagName&&this.autocompleteElement&&this.inputElement.parentElement.insertBefore(this.autocompleteElement,this.inputElement.nextSibling),this.reset&&(this.ngModel="",this.reset=!1),this.inputElement.value=this.ngModel?this.ngModel:"",t.value=this.inputElement.value,this.tabIndex=this.inputElement.tabIndex,this.inputElement.tabIndex=-100,this.componentRef){var n=this.thisElement.getBoundingClientRect(),i=this.autocompleteElement.style;i.width=n.width+"px",i.position="absolute",i.zIndex="1",i.top="0",i.left="0",i.display="inline-block"}},e.decorators=[{type:t.Directive,args:[{selector:"[input-autocomplete]"}]}],e.ctorParameters=function(){return[{type:t.ComponentFactoryResolver},{type:t.ViewContainerRef}]},e.propDecorators={config:[{type:t.Input}],items:[{type:t.Input}],ngModel:[{type:t.Input}],control:[{type:t.Input}],ngModelChange:[{type:t.Output}],inputChangedEvent:[{type:t.Output}],selectEvent:[{type:t.Output}],showAutocomplete:[{type:t.HostListener,args:["click",["$event.target"]]},{type:t.HostListener,args:["focus",["$event.target"]]}]},e}();var l=function(){function e(){}return e.forRoot=function(){return{ngModule:e}},e.decorators=[{type:t.NgModule,args:[{imports:[i.CommonModule,n.FormsModule],declarations:[o,s],exports:[o,s],entryComponents:[o]}]}],e}();e.AutocompleteComponent=o,e.AutocompleteDirective=s,e.AutocompleteModule=l,Object.defineProperty(e,"__esModule",{value:!0})})); | ||
//# sourceMappingURL=ng2-input-autocomplete.umd.min.js.map |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
* Generated from: lib/autocomplete.component.ts | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/* | ||
MIT LICENSE @liuy97 | ||
*/ | ||
import { Component, ComponentFactoryResolver, Directive, ElementRef, EventEmitter, HostListener, Input, Output, ViewContainerRef } from '@angular/core'; | ||
@@ -32,3 +36,3 @@ import { FormControl } from '@angular/forms'; | ||
this.placeholder = 'autocomplete'; | ||
this.inputElement = /** @type {?} */ (this.thisElement.querySelector('input')); | ||
this.inputElement = (/** @type {?} */ (this.thisElement.querySelector('input'))); | ||
if (!this.isNull(this.config)) { | ||
@@ -109,5 +113,9 @@ if (!this.isNull(this.config.placeholder)) { | ||
if (this.items) { | ||
this.candidates = this.items.filter(item => { | ||
this.candidates = this.items.filter((/** | ||
* @param {?} item | ||
* @return {?} | ||
*/ | ||
item => { | ||
return filterItem(item, field, search); | ||
}); | ||
})); | ||
if (this.maxLimit > 0) { | ||
@@ -120,2 +128,3 @@ this.candidates = this.candidates.slice(0, this.maxLimit); | ||
/** | ||
* @private | ||
* @param {?} object | ||
@@ -132,3 +141,7 @@ * @param {?} path | ||
let result = object; | ||
path.forEach((element) => { | ||
path.forEach((/** | ||
* @param {?} element | ||
* @return {?} | ||
*/ | ||
(element) => { | ||
if (result !== null && | ||
@@ -143,3 +156,3 @@ result !== undefined && | ||
} | ||
}); | ||
})); | ||
return result; | ||
@@ -152,2 +165,3 @@ } | ||
/** | ||
* @private | ||
* @param {?} object | ||
@@ -160,2 +174,3 @@ * @return {?} | ||
/** | ||
* @private | ||
* @return {?} | ||
@@ -168,5 +183,10 @@ */ | ||
const getFieldValue = this.getFieldValue; | ||
this.candidatesLabels = this.candidates.map((e) => getFieldValue(e, field)); | ||
this.candidatesLabels = this.candidates.map((/** | ||
* @param {?} e | ||
* @return {?} | ||
*/ | ||
(e) => getFieldValue(e, field))); | ||
} | ||
/** | ||
* @private | ||
* @param {?} item | ||
@@ -188,3 +208,7 @@ * @param {?} path | ||
result = item; | ||
path.forEach((element) => { | ||
path.forEach((/** | ||
* @param {?} element | ||
* @return {?} | ||
*/ | ||
(element) => { | ||
if (result !== null && | ||
@@ -199,3 +223,3 @@ result !== undefined && | ||
} | ||
}); | ||
})); | ||
} | ||
@@ -300,5 +324,11 @@ else { | ||
AutocompleteComponent.prototype.maxLimit; | ||
/** @type {?} */ | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteComponent.prototype.sourceField; | ||
/** @type {?} */ | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteComponent.prototype.thisElement; | ||
@@ -318,3 +348,7 @@ } | ||
this.reset = false; | ||
this.hideAutocomplete = (event) => { | ||
this.hideAutocomplete = (/** | ||
* @param {?=} event | ||
* @return {?} | ||
*/ | ||
(event) => { | ||
if (!this.componentRef) { | ||
@@ -334,4 +368,8 @@ return; | ||
} | ||
}; | ||
this.onInputChanged = (val) => { | ||
}); | ||
this.onInputChanged = (/** | ||
* @param {?} val | ||
* @return {?} | ||
*/ | ||
(val) => { | ||
this.inputElement.value = val; | ||
@@ -346,4 +384,8 @@ if (val !== this.ngModel) { | ||
this.inputChangedEvent.emit(val); | ||
}; | ||
this.onSelect = (item) => { | ||
}); | ||
this.onSelect = (/** | ||
* @param {?} item | ||
* @return {?} | ||
*/ | ||
(item) => { | ||
/** @type {?} */ | ||
@@ -362,3 +404,3 @@ const component = this.componentRef.instance; | ||
this.hideAutocomplete(); | ||
}; | ||
}); | ||
this.thisElement = this.viewContainerRef.element.nativeElement; | ||
@@ -404,10 +446,16 @@ } | ||
if (this.control) { | ||
this.control.valueChanges.subscribe(() => { | ||
this.control.valueChanges.subscribe((/** | ||
* @return {?} | ||
*/ | ||
() => { | ||
this.reset = true; | ||
}); | ||
})); | ||
} | ||
if (input.form) { | ||
input.form.addEventListener('reset', () => { | ||
input.form.addEventListener('reset', (/** | ||
* @return {?} | ||
*/ | ||
() => { | ||
this.reset = true; | ||
}); | ||
})); | ||
} | ||
@@ -430,5 +478,5 @@ } | ||
/** @type {?} */ | ||
let input = /** @type {?} */ (this.thisElement); | ||
let input = (/** @type {?} */ (this.thisElement)); | ||
if (this.thisElement.tagName !== 'INPUT' && this.autocompleteElement) { | ||
input = /** @type {?} */ (this.thisElement.querySelector('input')); | ||
input = (/** @type {?} */ (this.thisElement.querySelector('input'))); | ||
} | ||
@@ -438,2 +486,3 @@ return input; | ||
/** | ||
* @private | ||
* @return {?} | ||
@@ -451,2 +500,3 @@ */ | ||
/** | ||
* @private | ||
* @return {?} | ||
@@ -528,13 +578,31 @@ */ | ||
AutocompleteDirective.prototype.selectEvent; | ||
/** @type {?} */ | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.componentRef; | ||
/** @type {?} */ | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.thisElement; | ||
/** @type {?} */ | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.autocompleteElement; | ||
/** @type {?} */ | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.inputElement; | ||
/** @type {?} */ | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.tabIndex; | ||
/** @type {?} */ | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.reset; | ||
@@ -547,3 +615,6 @@ /** @type {?} */ | ||
AutocompleteDirective.prototype.onSelect; | ||
/** @type {?} */ | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.resolver; | ||
@@ -553,3 +624,2 @@ /** @type {?} */ | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nMi1pbnB1dC1hdXRvY29tcGxldGUvIiwic291cmNlcyI6WyJsaWIvYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBR0EsT0FBTyxFQUNMLFNBQVMsRUFDVCx3QkFBd0IsRUFFeEIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFLTCxNQUFNLEVBRU4sZ0JBQWdCLEVBRWpCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQXlEM0MsTUFBTTs7OztJQWlCSixZQUFZLFVBQXNCO3lCQWhCdEIsY0FBYzsyQkFHaUIsSUFBSSxZQUFZLEVBQU87aUNBQ2pCLElBQUksWUFBWSxFQUFPO3dCQVE3RCxDQUFDO1FBS1YsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQzVDLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7S0FDakI7Ozs7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxTQUFTLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1NBQzNDO1FBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1NBQ2pDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFj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b25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgQ29tcG9uZW50UmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2UsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIEhvc3RCaW5kaW5nXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXG4gIHNlbGVjdG9yOiAnbmcyLWlucHV0LWF1dG9jb21wbGV0ZScsXG4gIHRlbXBsYXRlOiBgXG4gIDxkaXYgW25nQ2xhc3NdPVwiY2xhc3NMaXN0XCI+XG4gICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgIHBsYWNlaG9sZGVyPVwie3twbGFjZWhvbGRlcn19XCJcbiAgICAgIChibHVyKT1cInNob3dBdXRvQ29tcGxldGUgPSBmYWxzZTtcIlxuICAgICAgKGZvY3VzKT1cInNob3dBdXRvQ29tcGxldGUgPSB0cnVlO1wiXG4gICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgKGtleXVwKT1cImVudGVyVGV4dCgkZXZlbnQpXCI+XG4gICAgPHVsICpuZ0lmPVwic2hvd0F1dG9Db21wbGV0ZSAmJiBjYW5kaWRhdGVzICYmIGNhbmRpZGF0ZXMubGVuZ3RoID4gMFwiPlxuICAgICAgPGxpICpuZ0Zvcj1cImxldCBjYW5kaWRhdGUgb2YgY2FuZGlkYXRlczsgbGV0IGlkeCA9IGluZGV4XCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyBhY3RpdmU6IChpZHggPT09IHNlbGVjdGVkSW5kZXgpIH1cIlxuICAgICAgICAoa2V5dXApPVwib25LZXlVcEV2ZW50KCRldmVudCwgaWR4KVwiXG4gICAgICAgIChtb3VzZW92ZXIpPVwic2VsZWN0ZWRJbmRleCA9IGlkeDtcIlxuICAgICAgICAobW91c2Vkb3duKT1cIm9uU2VsZWN0KGlkeClcIj5cbiAgICAgICAge3tjYW5kaWRhdGVzTGFiZWxzW2lkeF19fVxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICA8L2Rpdj5gLFxuICBzdHlsZXM6IFtcbiAgICBgLmF1dG9jb21wbGV0ZSB1bCB7XG4gICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgIGxlZnQ6IDA7XG4gICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjODg4O1xuICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM4ODg7XG4gICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM4ODg7XG4gICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgIH1cbiAgICAgLmF1dG9jb21wbGV0ZSBsaSB7XG4gICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgIHBhZGRpbmc6IDAuNGVtIDAgMC40ZW0gMDtcbiAgICAgfVxuICAgICAuYXV0b2NvbXBsZXRlIGxpLmFjdGl2ZSB7XG4gICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRiZjtcbiAgICAgfVxuXG4gICAgIC5hdXRvY29tcGxldGUgLmhpZ2hsaWdodCB7XG4gICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UyZTJlMjtcbiAgICAgfVxuICAgICAuYXV0b2NvbXBsZXRlIGxpLmFjdGl2ZSAuaGlnaGxpZ2h0IHtcbiAgICAgICBiYWNrZ3JvdW5kOiAjNjY2O1xuICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICB9YFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9jb21wbGV0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgY2xhc3NMaXN0ID0gJ2F1dG9jb21wbGV0ZSc7XG4gIEBJbnB1dCgpIGl0ZW1zOiBhbnlbXTtcbiAgQElucHV0KCkgY29uZmlnOiBhbnk7XG4gIEBPdXRwdXQoKSBzZWxlY3RFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGlucHV0Q2hhbmdlZEV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBpbnB1dEVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGNhbmRpZGF0ZXM6IGFueVtdO1xuICBjYW5kaWRhdGVzTGFiZWxzOiBhbnlbXTtcbiAgc2VsZWN0ZWRJbmRleDogbnVtYmVyO1xuICBzaG93QXV0b0NvbXBsZXRlOiBib29sZWFuO1xuICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBtYXhMaW1pdCA9IDA7XG4gIHByaXZhdGUgc291cmNlRmllbGQ6IGFueTtcbiAgcHJpdmF0ZSB0aGlzRWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHRoaXMudGhpc0VsZW1lbnQgPSBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gMDtcbiAgICB0aGlzLnNob3dBdXRvQ29tcGxldGUgPSBmYWxzZTtcbiAgICB0aGlzLnZhbHVlID0gJyc7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5jb25maWcgJiYgdGhpcy5jb25maWcuY2xhc3MpIHtcbiAgICAgIHRoaXMuY2xhc3NMaXN0ICs9ICcgJyArIHRoaXMuY29uZmlnLmNsYXNzO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb25maWcgJiYgdGhpcy5jb25maWcubWF4ID4gMCkge1xuICAgICAgdGhpcy5tYXhMaW1pdCA9IHRoaXMuY29uZmlnLm1heDtcbiAgICB9XG4gICAgdGhpcy5wbGFjZWhvbGRlciA9ICdhdXRvY29tcGxldGUnO1xuICAgIHRoaXMuaW5wdXRFbGVtZW50ID0gdGhpcy50aGlzRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgJ2lucHV0J1xuICAgICkgYXMgSFRNTElucHV0RWxlbWVudDtcblxuICAgIGlmICghdGhpcy5pc051bGwodGhpcy5jb25maWcpKSB7XG4gICAgICBpZiAoIXRoaXMuaXNOdWxsKHRoaXMuY29uZmlnLnBsYWNlaG9sZGVyKSkge1xuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gdGhpcy5jb25maWcucGxhY2Vob2xkZXI7XG4gICAgICB9XG4gICAgICBpZiAoIXRoaXMuaXNOdWxsKHRoaXMuY29uZmlnLnNvdXJjZUZpZWxkKSkge1xuICAgICAgICB0aGlzLnNvdXJjZUZpZWxkID0gdGhpcy5jb25maWcuc291cmNlRmllbGQ7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuZmlsdGVySXRlbXModGhpcy52YWx1ZSk7XG4gICAgdGhpcy5pbnB1dEVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIHRoaXMuZmlsdGVySXRlbXModGhpcy52YWx1ZSk7XG4gIH1cblxuICBlbnRlclRleHQoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IHRvdGFsID0gdGhpcy5jYW5kaWRhdGVzLmxlbmd0aDtcbiAgICBzd2l0Y2ggKGV2ZW50LmtleUNvZGUpIHtcbiAgICAgIGNhc2UgMjc6XG4gICAgICAgIHRoaXMuc2hvd0F1dG9Db21wbGV0ZSA9IGZhbHNlO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMzg6XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9ICh0b3RhbCArIHRoaXMuc2VsZWN0ZWRJbmRleCAtIDEpICUgdG90YWw7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSA0MDpcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gKHRvdGFsICsgdGhpcy5zZWxlY3RlZEluZGV4ICsgMSkgJSB0b3RhbDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDEzOlxuICAgICAgICBpZiAodGhpcy5jYW5kaWRhdGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLm9uU2VsZWN0KHRoaXMuc2VsZWN0ZWRJbmRleCk7XG4gICAgICAgIH1cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLnZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuICAgICAgICB0aGlzLmlucHV0Q2hhbmdlZEV2ZW50LmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIG9uU2VsZWN0KGlkeDogbnVtYmVyKSB7XG4gICAgdGhpcy5zaG93QXV0b0NvbXBsZXRlID0gZmFsc2U7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuY2FuZGlkYXRlc0xhYmVsc1tpZHhdO1xuICAgIHRoaXMuc2VsZWN0RXZlbnQuZW1pdCh0aGlzLmNhbmRpZGF0ZXNbaWR4XSk7XG4gIH1cblxuICBvbktleVVwRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGlkeDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IDEzKSB7XG4gICAgICB0aGlzLm9uU2VsZWN0KGlkeCk7XG4gICAgfVxuIH1cblxuICBmaWx0ZXJJdGVtcyhzZWFyY2g6IHN0cmluZykge1xuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5zb3VyY2VGaWVsZDtcbiAgICBjb25zdCBmaWx0ZXJJdGVtID0gdGhpcy5maWx0ZXJJdGVtO1xuICAgIGlmICh0aGlzLml0ZW1zKSB7XG4gICAgICB0aGlzLmNhbmRpZGF0ZXMgPSB0aGlzLml0ZW1zLmZpbHRlcihpdGVtID0+IHtcbiAgICAgICAgcmV0dXJuIGZpbHRlckl0ZW0oaXRlbSwgZmllbGQsIHNlYXJjaCk7XG4gICAgICB9KTtcbiAgICAgIGlmICh0aGlzLm1heExpbWl0ID4gMCkge1xuICAgICAgICB0aGlzLmNhbmRpZGF0ZXMgPSB0aGlzLmNhbmRpZGF0ZXMuc2xpY2UoMCwgdGhpcy5tYXhMaW1pdCk7XG4gICAgICB9XG4gICAgICB0aGlzLmJ1aWxkTGFiZWxzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaWVsZFZhbHVlKG9iamVjdDogYW55LCBwYXRoOiBhbnkpIHtcbiAgICBpZiAodHlwZW9mIG9iamVjdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBvYmplY3Q7XG4gICAgfVxuICAgIGlmIChwYXRoIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgIGxldCByZXN1bHQ6IGFueSA9IG9iamVjdDtcbiAgICAgIHBhdGguZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICByZXN1bHQgIT09IG51bGwgJiZcbiAgICAgICAgICByZXN1bHQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIHJlc3VsdFtlbGVtZW50XSAhPT0gbnVsbCAmJlxuICAgICAgICAgIHJlc3VsdFtlbGVtZW50XSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICkge1xuICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdFtlbGVtZW50XTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXN1bHQgPSAnJztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb2JqZWN0W3BhdGhdIHx8ICcnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNOdWxsKG9iamVjdDogYW55KSB7XG4gICAgcmV0dXJuIG9iamVjdCA9PT0gbnVsbCB8fCBvYmplY3QgPT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRMYWJlbHMoKSB7XG4gICAgY29uc3QgZmllbGQgPSB0aGlzLnNvdXJjZUZpZWxkO1xuICAgIGNvbnN0IGdldEZpZWxkVmFsdWUgPSB0aGlzLmdldEZpZWxkVmFsdWU7XG4gICAgdGhpcy5jYW5kaWRhdGVzTGFiZWxzID0gdGhpcy5jYW5kaWRhdGVzLm1hcCgoZTogYW55KSA9PlxuICAgICAgZ2V0RmllbGRWYWx1ZShlLCBmaWVsZClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJJdGVtKGl0ZW06IGFueSwgcGF0aDogYW55LCBzZWFyY2g6IHN0cmluZykge1xuICAgIGlmIChzZWFyY2ggPT09IG51bGwgfHwgc2VhcmNoID09PSB1bmRlZmluZWQgfHwgc2VhcmNoLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGxldCByZXN1bHQ6IGFueTtcbiAgICBpZiAodHlwZW9mIGl0ZW0gPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXN1bHQgPSBpdGVtO1xuICAgIH0gZWxzZSBpZiAocGF0aCBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICByZXN1bHQgPSBpdGVtO1xuICAgICAgcGF0aC5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHJlc3VsdCAhPT0gbnVsbCAmJlxuICAgICAgICAgIHJlc3VsdCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgcmVzdWx0W2VsZW1lbnRdICE9PSBudWxsICYmXG4gICAgICAgICAgcmVzdWx0W2VsZW1lbnRdICE9PSB1bmRlZmluZWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmVzdWx0ID0gcmVzdWx0W2VsZW1lbnRdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdCA9ICcnO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0ID0gaXRlbVtwYXRoXSB8fCAnJztcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdC50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoLnRvTG93ZXJDYXNlKCkpID49IDA7XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZVxuICBzZWxlY3RvcjogJ1tpbnB1dC1hdXRvY29tcGxldGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBBdXRvY29tcGxldGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgY29uZmlnOiBhbnk7XG4gIEBJbnB1dCgpIGl0ZW1zOiBhbnk7XG4gIEBJbnB1dCgpIG5nTW9kZWw6IHN0cmluZztcbiAgQElucHV0KCkgY29udHJvbDogRm9ybUNvbnRyb2w7XG4gIEBPdXRwdXQoKSBuZ01vZGVsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgaW5wdXRDaGFuZ2VkRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwcml2YXRlIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPEF1dG9jb21wbGV0ZUNvbXBvbmVudD47XG4gIHByaXZhdGUgdGhpc0VsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIGF1dG9jb21wbGV0ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIGlucHV0RWxlbWVudDogSFRNTElucHV0RWxlbWVudDtcbiAgcHJpdmF0ZSB0YWJJbmRleDogbnVtYmVyO1xuICBwcml2YXRlIHJlc2V0ID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHB1YmxpYyB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmXG4gICkge1xuICAgIHRoaXMudGhpc0VsZW1lbnQgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMudGhpc0VsZW1lbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnZm9ybScpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jcmVhdGVEaXYoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2Uuc2VsZWN0RXZlbnQudW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmlucHV0Q2hhbmdlZEV2ZW50LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5oaWRlQXV0b2NvbXBsZXRlKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IHsgW3Byb3BLZXk6IHN0cmluZ106IFNpbXBsZUNoYW5nZSB9KSB7XG4gICAgaWYgKGNoYW5nZXNbJ2l0ZW1zJ10gJiYgdGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgICAgY29tcG9uZW50Lml0ZW1zID0gY2hhbmdlc1snaXRlbXMnXS5jdXJyZW50VmFsdWU7XG4gICAgICBjb21wb25lbnQuZmlsdGVySXRlbXMoY29tcG9uZW50LnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmdldElucHV0RWxlbWVudCgpO1xuICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgIHRoaXMuY29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5yZXNldCA9IHRydWU7XG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGlucHV0LmZvcm0pIHtcbiAgICAgIGlucHV0LmZvcm0uYWRkRXZlbnRMaXN0ZW5lcigncmVzZXQnLCAoKSA9PiB7XG4gICAgICAgIHRoaXMucmVzZXQgPSB0cnVlO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcbiAgQEhvc3RMaXN0ZW5lcignZm9jdXMnLCBbJyRldmVudC50YXJnZXQnXSlcbiAgc2hvd0F1dG9jb21wbGV0ZShldmVudDogYW55KSB7XG4gICAgdGhpcy5oaWRlQXV0b2NvbXBsZXRlKCk7XG4gICAgaWYgKGV2ZW50ID09PSB0aGlzLnRoaXNFbGVtZW50KSB7XG4gICAgICB0aGlzLmNyZWF0ZUF1dG9jb21wbGV0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIGdldElucHV0RWxlbWVudCgpIHtcbiAgICBsZXQgaW5wdXQgPSB0aGlzLnRoaXNFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICBpZiAodGhpcy50aGlzRWxlbWVudC50YWdOYW1lICE9PSAnSU5QVVQnICYmIHRoaXMuYXV0b2NvbXBsZXRlRWxlbWVudCkge1xuICAgICAgaW5wdXQgPSB0aGlzLnRoaXNFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICdpbnB1dCdcbiAgICAgICkgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICB9XG5cbiAgICByZXR1cm4gaW5wdXQ7XG4gIH1cblxuICBoaWRlQXV0b2NvbXBsZXRlID0gKGV2ZW50PzogYW55KTogdm9pZCA9PiB7XG4gICAgaWYgKCF0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQudGFyZ2V0ICYmIHRoaXMudGhpc0VsZW1lbnQgJiYgZXZlbnQudGFyZ2V0ID09PSB0aGlzLnRoaXNFbGVtZW50LnBhcmVudEVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgIWV2ZW50IHx8XG4gICAgICAoZXZlbnQudGFyZ2V0ICE9PSB0aGlzLnRoaXNFbGVtZW50ICYmIGV2ZW50LnR5cGUgPT09ICdjbGljaycpXG4gICAgKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50Wyd0YWJJbmRleCddIDwgMCkge1xuICAgICAgdGhpcy5pbnB1dEVsZW1lbnRbJ3RhYkluZGV4J10gPSB0aGlzLnRhYkluZGV4O1xuICAgIH1cbiAgfVxuXG4gIG9uSW5wdXRDaGFuZ2VkID0gKHZhbDogc3RyaW5nKSA9PiB7XG4gICAgdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUgPSB2YWw7XG4gICAgaWYgKHZhbCAhPT0gdGhpcy5uZ01vZGVsKSB7XG4gICAgICB0aGlzLm5nTW9kZWwgPSB2YWw7XG4gICAgICB0aGlzLm5nTW9kZWxDaGFuZ2UuZW1pdCh2YWwpO1xuICAgIH1cbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICBjb21wb25lbnQuZmlsdGVySXRlbXModmFsKTtcbiAgICB0aGlzLmlucHV0Q2hhbmdlZEV2ZW50LmVtaXQodmFsKTtcbiAgfVxuXG4gIG9uU2VsZWN0ID0gKGl0ZW06IGFueSkgPT4ge1xuICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgIGNvbnN0IHZhbCA9IGNvbXBvbmVudC52YWx1ZTtcbiAgICBpZiAodmFsICE9PSB0aGlzLm5nTW9kZWwpIHtcbiAgICAgIHRoaXMubmdNb2RlbCA9IHZhbDtcbiAgICAgIHRoaXMubmdNb2RlbENoYW5nZS5lbWl0KHZhbCk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0RXZlbnQuZW1pdChpdGVtKTtcbiAgICBpZiAodGhpcy5pbnB1dEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlID0gJycgKyB2YWw7XG4gICAgfVxuICAgIHRoaXMuaGlkZUF1dG9jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEaXYoKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIGVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtYmxvY2snO1xuICAgIGVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAncmVsYXRpdmUnO1xuICAgIHRoaXMudGhpc0VsZW1lbnQucGFyZW50RWxlbWVudC5pbnNlcnRCZWZvcmUoXG4gICAgICBlbGVtZW50LFxuICAgICAgdGhpcy50aGlzRWxlbWVudC5uZXh0U2libGluZ1xuICAgICk7XG4gICAgZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLnRoaXNFbGVtZW50KTtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuaGlkZUF1dG9jb21wbGV0ZSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUF1dG9jb21wbGV0ZSgpIHtcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5yZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShcbiAgICAgIEF1dG9jb21wbGV0ZUNvbXBvbmVudFxuICAgICk7XG4gICAgdGhpcy5jb21wb25lbnRSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnkpO1xuICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgIGNvbXBvbmVudC5jb25maWcgPSB0aGlzLmNvbmZpZztcbiAgICBjb21wb25lbnQuaXRlbXMgPSB0aGlzLml0ZW1zO1xuICAgIGNvbXBvbmVudC5zZWxlY3RFdmVudC5zdWJzY3JpYmUodGhpcy5vblNlbGVjdCk7XG4gICAgY29tcG9uZW50LmlucHV0Q2hhbmdlZEV2ZW50LnN1YnNjcmliZSh0aGlzLm9uSW5wdXRDaGFuZ2VkKTtcbiAgICB0aGlzLmF1dG9jb21wbGV0ZUVsZW1lbnQgPSB0aGlzLmNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMuYXV0b2NvbXBsZXRlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgIHRoaXMuaW5wdXRFbGVtZW50ID0gdGhpcy5nZXRJbnB1dEVsZW1lbnQoKTtcbiAgICBpZiAodGhpcy50aGlzRWxlbWVudC50YWdOYW1lICE9PSAnSU5QVVQnICYmIHRoaXMuYXV0b2NvbXBsZXRlRWxlbWVudCkge1xuICAgICAgdGhpcy5pbnB1dEVsZW1lbnQucGFyZW50RWxlbWVudC5pbnNlcnRCZWZvcmUoXG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlRWxlbWVudCxcbiAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmV4dFNpYmxpbmdcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucmVzZXQpIHtcbiAgICAgIHRoaXMubmdNb2RlbCA9ICcnO1xuICAgICAgdGhpcy5yZXNldCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlID0gdGhpcy5uZ01vZGVsID8gdGhpcy5uZ01vZGVsIDogJyc7XG4gICAgY29tcG9uZW50LnZhbHVlID0gdGhpcy5pbnB1dEVsZW1lbnQudmFsdWU7XG4gICAgdGhpcy50YWJJbmRleCA9IHRoaXMuaW5wdXRFbGVtZW50Wyd0YWJJbmRleCddO1xuICAgIHRoaXMuaW5wdXRFbGVtZW50Wyd0YWJJbmRleCddID0gLTEwMDtcbiAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgIGNvbnN0IHJlY3QgPSB0aGlzLnRoaXNFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3Qgc3R5bGUgPSB0aGlzLmF1dG9jb21wbGV0ZUVsZW1lbnQuc3R5bGU7XG4gICAgICBzdHlsZS53aWR0aCA9IHJlY3Qud2lkdGggKyAncHgnO1xuICAgICAgc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgc3R5bGUuekluZGV4ID0gJzEnO1xuICAgICAgc3R5bGUudG9wID0gJzAnO1xuICAgICAgc3R5bGUubGVmdCA9ICcwJztcbiAgICAgIHN0eWxlLmRpc3BsYXkgPSAnaW5saW5lLWJsb2NrJztcbiAgICB9XG4gIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nMi1pbnB1dC1hdXRvY29tcGxldGUvIiwic291cmNlcyI6WyJsaWIvYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUdBLE9BQU8sRUFDTCxTQUFTLEVBQ1Qsd0JBQXdCLEVBRXhCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBS0wsTUFBTSxFQUVOLGdCQUFnQixFQUVqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUF5RDNDLE1BQU0sT0FBTyxxQkFBcUI7Ozs7SUFpQmhDLFlBQVksVUFBc0I7UUFoQmxDLGNBQVMsR0FBRyxjQUFjLENBQUM7UUFHakIsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN6RCxzQkFBaUIsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQVF6RSxhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBS1gsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQzVDLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDbEIsQ0FBQzs7OztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFNBQVMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7U0FDM0M7UUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFO1lBQ3RDLElB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TSxHQUFHLEdBQUcsQ0FBQztZQUNuQixLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztZQUNoQixLQUFLLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztZQUNqQixLQUFLLENBQUMsT0FBTyxHQUFHLGNBQWMsQ0FBQztTQUNoQztJQUNILENBQUM7OztZQXBMRixTQUFTLFNBQUM7O2dCQUVULFFBQVEsRUFBRSxzQkFBc0I7YUFDakM7Ozs7WUFuUEMsd0JBQXdCO1lBYXhCLGdCQUFnQjs7O3FCQXdPZixLQUFLO29CQUNMLEtBQUs7c0JBQ0wsS0FBSztzQkFDTCxLQUFLOzRCQUNMLE1BQU07Z0NBQ04sTUFBTTswQkFDTixNQUFNOytCQXFETixZQUFZLFNBQUMsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDLGNBQ3ZDLFlBQVksU0FBQyxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7Ozs7SUE1RHhDLHVDQUFxQjs7SUFDckIsc0NBQW9COztJQUNwQix3Q0FBeUI7O0lBQ3pCLHdDQUE4Qjs7SUFDOUIsOENBQTZDOztJQUM3QyxrREFBaUQ7O0lBQ2pELDRDQUEyQzs7Ozs7SUFFM0MsNkNBQTBEOzs7OztJQUMxRCw0Q0FBaUM7Ozs7O0lBQ2pDLG9EQUF5Qzs7Ozs7SUFDekMsNkNBQXVDOzs7OztJQUN2Qyx5Q0FBeUI7Ozs7O0lBQ3pCLHNDQUFzQjs7SUFtRXRCLGlEQWlCQzs7SUFFRCwrQ0FTQzs7SUFFRCx5Q0FZQzs7Ozs7SUExR0MseUNBQTBDOztJQUMxQyxpREFBeUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICBNSVQgTElDRU5TRSBAbGl1eTk3XG4qL1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIENvbXBvbmVudFJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBIb3N0QmluZGluZ1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZVxuICBzZWxlY3RvcjogJ25nMi1pbnB1dC1hdXRvY29tcGxldGUnLFxuICB0ZW1wbGF0ZTogYFxuICA8ZGl2IFtuZ0NsYXNzXT1cImNsYXNzTGlzdFwiPlxuICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICBwbGFjZWhvbGRlcj1cInt7cGxhY2Vob2xkZXJ9fVwiXG4gICAgICAoYmx1cik9XCJzaG93QXV0b0NvbXBsZXRlID0gZmFsc2U7XCJcbiAgICAgIChmb2N1cyk9XCJzaG93QXV0b0NvbXBsZXRlID0gdHJ1ZTtcIlxuICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgIChrZXl1cCk9XCJlbnRlclRleHQoJGV2ZW50KVwiPlxuICAgIDx1bCAqbmdJZj1cInNob3dBdXRvQ29tcGxldGUgJiYgY2FuZGlkYXRlcyAmJiBjYW5kaWRhdGVzLmxlbmd0aCA+IDBcIj5cbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgY2FuZGlkYXRlIG9mIGNhbmRpZGF0ZXM7IGxldCBpZHggPSBpbmRleFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgYWN0aXZlOiAoaWR4ID09PSBzZWxlY3RlZEluZGV4KSB9XCJcbiAgICAgICAgKGtleXVwKT1cIm9uS2V5VXBFdmVudCgkZXZlbnQsIGlkeClcIlxuICAgICAgICAobW91c2VvdmVyKT1cInNlbGVjdGVkSW5kZXggPSBpZHg7XCJcbiAgICAgICAgKG1vdXNlZG93bik9XCJvblNlbGVjdChpZHgpXCI+XG4gICAgICAgIHt7Y2FuZGlkYXRlc0xhYmVsc1tpZHhdfX1cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgPC9kaXY+YCxcbiAgc3R5bGVzOiBbXG4gICAgYC5hdXRvY29tcGxldGUgdWwge1xuICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICBsZWZ0OiAwO1xuICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzg4ODtcbiAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjODg4O1xuICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjODg4O1xuICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgei1pbmRleDogMTAwO1xuICAgICB9XG4gICAgIC5hdXRvY29tcGxldGUgbGkge1xuICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICBwYWRkaW5nOiAwLjRlbSAwIDAuNGVtIDA7XG4gICAgIH1cbiAgICAgLmF1dG9jb21wbGV0ZSBsaS5hY3RpdmUge1xuICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0YmY7XG4gICAgIH1cblxuICAgICAuYXV0b2NvbXBsZXRlIC5oaWdobGlnaHQge1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMmUyZTI7XG4gICAgIH1cbiAgICAgLmF1dG9jb21wbGV0ZSBsaS5hY3RpdmUgLmhpZ2hsaWdodCB7XG4gICAgICAgYmFja2dyb3VuZDogIzY2NjtcbiAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgfWBcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBdXRvY29tcGxldGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIGNsYXNzTGlzdCA9ICdhdXRvY29tcGxldGUnO1xuICBASW5wdXQoKSBpdGVtczogYW55W107XG4gIEBJbnB1dCgpIGNvbmZpZzogYW55O1xuICBAT3V0cHV0KCkgc2VsZWN0RXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBpbnB1dENoYW5nZWRFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50O1xuICB2YWx1ZTogc3RyaW5nO1xuICBjYW5kaWRhdGVzOiBhbnlbXTtcbiAgY2FuZGlkYXRlc0xhYmVsczogYW55W107XG4gIHNlbGVjdGVkSW5kZXg6IG51bWJlcjtcbiAgc2hvd0F1dG9Db21wbGV0ZTogYm9vbGVhbjtcbiAgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgbWF4TGltaXQgPSAwO1xuICBwcml2YXRlIHNvdXJjZUZpZWxkOiBhbnk7XG4gIHByaXZhdGUgdGhpc0VsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLnRoaXNFbGVtZW50ID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IDA7XG4gICAgdGhpcy5zaG93QXV0b0NvbXBsZXRlID0gZmFsc2U7XG4gICAgdGhpcy52YWx1ZSA9ICcnO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnICYmIHRoaXMuY29uZmlnLmNsYXNzKSB7XG4gICAgICB0aGlzLmNsYXNzTGlzdCArPSAnICcgKyB0aGlzLmNvbmZpZy5jbGFzcztcbiAgICB9XG4gICAgaWYgKHRoaXMuY29uZmlnICYmIHRoaXMuY29uZmlnLm1heCA+IDApIHtcbiAgICAgIHRoaXMubWF4TGltaXQgPSB0aGlzLmNvbmZpZy5tYXg7XG4gICAgfVxuICAgIHRoaXMucGxhY2Vob2xkZXIgPSAnYXV0b2NvbXBsZXRlJztcbiAgICB0aGlzLmlucHV0RWxlbWVudCA9IHRoaXMudGhpc0VsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICdpbnB1dCdcbiAgICApIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICBpZiAoIXRoaXMuaXNOdWxsKHRoaXMuY29uZmlnKSkge1xuICAgICAgaWYgKCF0aGlzLmlzTnVsbCh0aGlzLmNvbmZpZy5wbGFjZWhvbGRlcikpIHtcbiAgICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IHRoaXMuY29uZmlnLnBsYWNlaG9sZGVyO1xuICAgICAgfVxuICAgICAgaWYgKCF0aGlzLmlzTnVsbCh0aGlzLmNvbmZpZy5zb3VyY2VGaWVsZCkpIHtcbiAgICAgICAgdGhpcy5zb3VyY2VGaWVsZCA9IHRoaXMuY29uZmlnLnNvdXJjZUZpZWxkO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmZpbHRlckl0ZW1zKHRoaXMudmFsdWUpO1xuICAgIHRoaXMuaW5wdXRFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLmZpbHRlckl0ZW1zKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgZW50ZXJUZXh0KGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCB0b3RhbCA9IHRoaXMuY2FuZGlkYXRlcy5sZW5ndGg7XG4gICAgc3dpdGNoIChldmVudC5rZXlDb2RlKSB7XG4gICAgICBjYXNlIDI3OlxuICAgICAgICB0aGlzLnNob3dBdXRvQ29tcGxldGUgPSBmYWxzZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDM4OlxuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSAodG90YWwgKyB0aGlzLnNlbGVjdGVkSW5kZXggLSAxKSAlIHRvdGFsO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgNDA6XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9ICh0b3RhbCArIHRoaXMuc2VsZWN0ZWRJbmRleCArIDEpICUgdG90YWw7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAxMzpcbiAgICAgICAgaWYgKHRoaXMuY2FuZGlkYXRlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5vblNlbGVjdCh0aGlzLnNlbGVjdGVkSW5kZXgpO1xuICAgICAgICB9XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy52YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgICAgdGhpcy5pbnB1dENoYW5nZWRFdmVudC5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBvblNlbGVjdChpZHg6IG51bWJlcikge1xuICAgIHRoaXMuc2hvd0F1dG9Db21wbGV0ZSA9IGZhbHNlO1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLmNhbmRpZGF0ZXNMYWJlbHNbaWR4XTtcbiAgICB0aGlzLnNlbGVjdEV2ZW50LmVtaXQodGhpcy5jYW5kaWRhdGVzW2lkeF0pO1xuICB9XG5cbiAgb25LZXlVcEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpZHg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXlDb2RlID09PSAxMykge1xuICAgICAgdGhpcy5vblNlbGVjdChpZHgpO1xuICAgIH1cbiB9XG5cbiAgZmlsdGVySXRlbXMoc2VhcmNoOiBzdHJpbmcpIHtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuc291cmNlRmllbGQ7XG4gICAgY29uc3QgZmlsdGVySXRlbSA9IHRoaXMuZmlsdGVySXRlbTtcbiAgICBpZiAodGhpcy5pdGVtcykge1xuICAgICAgdGhpcy5jYW5kaWRhdGVzID0gdGhpcy5pdGVtcy5maWx0ZXIoaXRlbSA9PiB7XG4gICAgICAgIHJldHVybiBmaWx0ZXJJdGVtKGl0ZW0sIGZpZWxkLCBzZWFyY2gpO1xuICAgICAgfSk7XG4gICAgICBpZiAodGhpcy5tYXhMaW1pdCA+IDApIHtcbiAgICAgICAgdGhpcy5jYW5kaWRhdGVzID0gdGhpcy5jYW5kaWRhdGVzLnNsaWNlKDAsIHRoaXMubWF4TGltaXQpO1xuICAgICAgfVxuICAgICAgdGhpcy5idWlsZExhYmVscygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmllbGRWYWx1ZShvYmplY3Q6IGFueSwgcGF0aDogYW55KSB7XG4gICAgaWYgKHR5cGVvZiBvYmplY3QgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gb2JqZWN0O1xuICAgIH1cbiAgICBpZiAocGF0aCBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICBsZXQgcmVzdWx0OiBhbnkgPSBvYmplY3Q7XG4gICAgICBwYXRoLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgcmVzdWx0ICE9PSBudWxsICYmXG4gICAgICAgICAgcmVzdWx0ICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICByZXN1bHRbZWxlbWVudF0gIT09IG51bGwgJiZcbiAgICAgICAgICByZXN1bHRbZWxlbWVudF0gIT09IHVuZGVmaW5lZFxuICAgICAgICApIHtcbiAgICAgICAgICByZXN1bHQgPSByZXN1bHRbZWxlbWVudF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzdWx0ID0gJyc7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9iamVjdFtwYXRoXSB8fCAnJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzTnVsbChvYmplY3Q6IGFueSkge1xuICAgIHJldHVybiBvYmplY3QgPT09IG51bGwgfHwgb2JqZWN0ID09PSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkTGFiZWxzKCkge1xuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5zb3VyY2VGaWVsZDtcbiAgICBjb25zdCBnZXRGaWVsZFZhbHVlID0gdGhpcy5nZXRGaWVsZFZhbHVlO1xuICAgIHRoaXMuY2FuZGlkYXRlc0xhYmVscyA9IHRoaXMuY2FuZGlkYXRlcy5tYXAoKGU6IGFueSkgPT5cbiAgICAgIGdldEZpZWxkVmFsdWUoZSwgZmllbGQpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVySXRlbShpdGVtOiBhbnksIHBhdGg6IGFueSwgc2VhcmNoOiBzdHJpbmcpIHtcbiAgICBpZiAoc2VhcmNoID09PSBudWxsIHx8IHNlYXJjaCA9PT0gdW5kZWZpbmVkIHx8IHNlYXJjaC5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBsZXQgcmVzdWx0OiBhbnk7XG4gICAgaWYgKHR5cGVvZiBpdGVtID09PSAnc3RyaW5nJykge1xuICAgICAgcmVzdWx0ID0gaXRlbTtcbiAgICB9IGVsc2UgaWYgKHBhdGggaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgcmVzdWx0ID0gaXRlbTtcbiAgICAgIHBhdGguZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICByZXN1bHQgIT09IG51bGwgJiZcbiAgICAgICAgICByZXN1bHQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIHJlc3VsdFtlbGVtZW50XSAhPT0gbnVsbCAmJlxuICAgICAgICAgIHJlc3VsdFtlbGVtZW50XSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICkge1xuICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdFtlbGVtZW50XTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXN1bHQgPSAnJztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IGl0ZW1bcGF0aF0gfHwgJyc7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaC50b0xvd2VyQ2FzZSgpKSA+PSAwO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgc2VsZWN0b3I6ICdbaW5wdXQtYXV0b2NvbXBsZXRlXSdcbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIGNvbmZpZzogYW55O1xuICBASW5wdXQoKSBpdGVtczogYW55O1xuICBASW5wdXQoKSBuZ01vZGVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbnRyb2w6IEZvcm1Db250cm9sO1xuICBAT3V0cHV0KCkgbmdNb2RlbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGlucHV0Q2hhbmdlZEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgc2VsZWN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxBdXRvY29tcGxldGVDb21wb25lbnQ+O1xuICBwcml2YXRlIHRoaXNFbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBhdXRvY29tcGxldGVFbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBpbnB1dEVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gIHByaXZhdGUgdGFiSW5kZXg6IG51bWJlcjtcbiAgcHJpdmF0ZSByZXNldCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZlxuICApIHtcbiAgICB0aGlzLnRoaXNFbGVtZW50ID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnRoaXNFbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2Zvcm0nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY3JlYXRlRGl2KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnNlbGVjdEV2ZW50LnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5pbnB1dENoYW5nZWRFdmVudC51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuaGlkZUF1dG9jb21wbGV0ZSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiB7IFtwcm9wS2V5OiBzdHJpbmddOiBTaW1wbGVDaGFuZ2UgfSkge1xuICAgIGlmIChjaGFuZ2VzWydpdGVtcyddICYmIHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICAgIGNvbXBvbmVudC5pdGVtcyA9IGNoYW5nZXNbJ2l0ZW1zJ10uY3VycmVudFZhbHVlO1xuICAgICAgY29tcG9uZW50LmZpbHRlckl0ZW1zKGNvbXBvbmVudC52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5nZXRJbnB1dEVsZW1lbnQoKTtcbiAgICBpZiAodGhpcy5jb250cm9sKSB7XG4gICAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVzZXQgPSB0cnVlO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChpbnB1dC5mb3JtKSB7XG4gICAgICBpbnB1dC5mb3JtLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2V0JywgKCkgPT4ge1xuICAgICAgICB0aGlzLnJlc2V0ID0gdHJ1ZTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJywgWyckZXZlbnQudGFyZ2V0J10pXG4gIHNob3dBdXRvY29tcGxldGUoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuaGlkZUF1dG9jb21wbGV0ZSgpO1xuICAgIGlmIChldmVudCA9PT0gdGhpcy50aGlzRWxlbWVudCkge1xuICAgICAgdGhpcy5jcmVhdGVBdXRvY29tcGxldGUoKTtcbiAgICB9XG4gIH1cblxuICBnZXRJbnB1dEVsZW1lbnQoKSB7XG4gICAgbGV0IGlucHV0ID0gdGhpcy50aGlzRWxlbWVudCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuXG4gICAgaWYgKHRoaXMudGhpc0VsZW1lbnQudGFnTmFtZSAhPT0gJ0lOUFVUJyAmJiB0aGlzLmF1dG9jb21wbGV0ZUVsZW1lbnQpIHtcbiAgICAgIGlucHV0ID0gdGhpcy50aGlzRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAnaW5wdXQnXG4gICAgICApIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIGlucHV0O1xuICB9XG5cbiAgaGlkZUF1dG9jb21wbGV0ZSA9IChldmVudD86IGFueSk6IHZvaWQgPT4ge1xuICAgIGlmICghdGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGV2ZW50ICYmIGV2ZW50LnRhcmdldCAmJiB0aGlzLnRoaXNFbGVtZW50ICYmIGV2ZW50LnRhcmdldCA9PT0gdGhpcy50aGlzRWxlbWVudC5wYXJlbnRFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChcbiAgICAgICFldmVudCB8fFxuICAgICAgKGV2ZW50LnRhcmdldCAhPT0gdGhpcy50aGlzRWxlbWVudCAmJiBldmVudC50eXBlID09PSAnY2xpY2snKVxuICAgICkge1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLmlucHV0RWxlbWVudFsndGFiSW5kZXgnXSA8IDApIHtcbiAgICAgIHRoaXMuaW5wdXRFbGVtZW50Wyd0YWJJbmRleCddID0gdGhpcy50YWJJbmRleDtcbiAgICB9XG4gIH1cblxuICBvbklucHV0Q2hhbmdlZCA9ICh2YWw6IHN0cmluZykgPT4ge1xuICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlID0gdmFsO1xuICAgIGlmICh2YWwgIT09IHRoaXMubmdNb2RlbCkge1xuICAgICAgdGhpcy5uZ01vZGVsID0gdmFsO1xuICAgICAgdGhpcy5uZ01vZGVsQ2hhbmdlLmVtaXQodmFsKTtcbiAgICB9XG4gICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgY29tcG9uZW50LmZpbHRlckl0ZW1zKHZhbCk7XG4gICAgdGhpcy5pbnB1dENoYW5nZWRFdmVudC5lbWl0KHZhbCk7XG4gIH1cblxuICBvblNlbGVjdCA9IChpdGVtOiBhbnkpID0+IHtcbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICBjb25zdCB2YWwgPSBjb21wb25lbnQudmFsdWU7XG4gICAgaWYgKHZhbCAhPT0gdGhpcy5uZ01vZGVsKSB7XG4gICAgICB0aGlzLm5nTW9kZWwgPSB2YWw7XG4gICAgICB0aGlzLm5nTW9kZWxDaGFuZ2UuZW1pdCh2YWwpO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdEV2ZW50LmVtaXQoaXRlbSk7XG4gICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50KSB7XG4gICAgICB0aGlzLmlucHV0RWxlbWVudC52YWx1ZSA9ICcnICsgdmFsO1xuICAgIH1cbiAgICB0aGlzLmhpZGVBdXRvY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRGl2KCkge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBlbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnaW5saW5lLWJsb2NrJztcbiAgICBlbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ3JlbGF0aXZlJztcbiAgICB0aGlzLnRoaXNFbGVtZW50LnBhcmVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKFxuICAgICAgZWxlbWVudCxcbiAgICAgIHRoaXMudGhpc0VsZW1lbnQubmV4dFNpYmxpbmdcbiAgICApO1xuICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy50aGlzRWxlbWVudCk7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmhpZGVBdXRvY29tcGxldGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVBdXRvY29tcGxldGUoKSB7XG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMucmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoXG4gICAgICBBdXRvY29tcGxldGVDb21wb25lbnRcbiAgICApO1xuICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICBjb21wb25lbnQuY29uZmlnID0gdGhpcy5jb25maWc7XG4gICAgY29tcG9uZW50Lml0ZW1zID0gdGhpcy5pdGVtcztcbiAgICBjb21wb25lbnQuc2VsZWN0RXZlbnQuc3Vic2NyaWJlKHRoaXMub25TZWxlY3QpO1xuICAgIGNvbXBvbmVudC5pbnB1dENoYW5nZWRFdmVudC5zdWJzY3JpYmUodGhpcy5vbklucHV0Q2hhbmdlZCk7XG4gICAgdGhpcy5hdXRvY29tcGxldGVFbGVtZW50ID0gdGhpcy5jb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLmF1dG9jb21wbGV0ZUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICB0aGlzLmlucHV0RWxlbWVudCA9IHRoaXMuZ2V0SW5wdXRFbGVtZW50KCk7XG4gICAgaWYgKHRoaXMudGhpc0VsZW1lbnQudGFnTmFtZSAhPT0gJ0lOUFVUJyAmJiB0aGlzLmF1dG9jb21wbGV0ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnBhcmVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKFxuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUVsZW1lbnQsXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5leHRTaWJsaW5nXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJlc2V0KSB7XG4gICAgICB0aGlzLm5nTW9kZWwgPSAnJztcbiAgICAgIHRoaXMucmVzZXQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLmlucHV0RWxlbWVudC52YWx1ZSA9IHRoaXMubmdNb2RlbCA/IHRoaXMubmdNb2RlbCA6ICcnO1xuICAgIGNvbXBvbmVudC52YWx1ZSA9IHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlO1xuICAgIHRoaXMudGFiSW5kZXggPSB0aGlzLmlucHV0RWxlbWVudFsndGFiSW5kZXgnXTtcbiAgICB0aGlzLmlucHV0RWxlbWVudFsndGFiSW5kZXgnXSA9IC0xMDA7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICBjb25zdCByZWN0ID0gdGhpcy50aGlzRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IHN0eWxlID0gdGhpcy5hdXRvY29tcGxldGVFbGVtZW50LnN0eWxlO1xuICAgICAgc3R5bGUud2lkdGggPSByZWN0LndpZHRoICsgJ3B4JztcbiAgICAgIHN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgIHN0eWxlLnpJbmRleCA9ICcxJztcbiAgICAgIHN0eWxlLnRvcCA9ICcwJztcbiAgICAgIHN0eWxlLmxlZnQgPSAnMCc7XG4gICAgICBzdHlsZS5kaXNwbGF5ID0gJ2lubGluZS1ibG9jayc7XG4gICAgfVxuICB9XG59XG4iXX0= |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
* Generated from: lib/autocomplete.module.ts | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -27,3 +28,2 @@ import { NgModule } from '@angular/core'; | ||
]; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nMi1pbnB1dC1hdXRvY29tcGxldGUvIiwic291cmNlcyI6WyJsaWIvYXV0b2NvbXBsZXRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQVF4RixNQUFNOzs7O0lBQ0osTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtTQUM3QixDQUFDO0tBQ0g7OztZQVhGLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO2dCQUNwQyxZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxxQkFBcUIsQ0FBQztnQkFDNUQsT0FBTyxFQUFFLENBQUMscUJBQXFCLEVBQUUscUJBQXFCLENBQUM7Z0JBQ3ZELGVBQWUsRUFBRSxDQUFDLHFCQUFxQixDQUFDO2FBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUNvbXBvbmVudCwgQXV0b2NvbXBsZXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9hdXRvY29tcGxldGUuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtBdXRvY29tcGxldGVDb21wb25lbnQsIEF1dG9jb21wbGV0ZURpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IFtBdXRvY29tcGxldGVDb21wb25lbnQsIEF1dG9jb21wbGV0ZURpcmVjdGl2ZV0sXG4gIGVudHJ5Q29tcG9uZW50czogW0F1dG9jb21wbGV0ZUNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBdXRvY29tcGxldGVNb2R1bGVcbiAgICB9O1xuICB9XG59XG5cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nMi1pbnB1dC1hdXRvY29tcGxldGUvIiwic291cmNlcyI6WyJsaWIvYXV0b2NvbXBsZXRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFReEYsTUFBTSxPQUFPLGtCQUFrQjs7OztJQUM3QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsa0JBQWtCO1NBQzdCLENBQUM7SUFDSixDQUFDOzs7WUFYRixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQztnQkFDcEMsWUFBWSxFQUFFLENBQUMscUJBQXFCLEVBQUUscUJBQXFCLENBQUM7Z0JBQzVELE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLHFCQUFxQixDQUFDO2dCQUN2RCxlQUFlLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQzthQUN6QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVDb21wb25lbnQsIEF1dG9jb21wbGV0ZURpcmVjdGl2ZSB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbQXV0b2NvbXBsZXRlQ29tcG9uZW50LCBBdXRvY29tcGxldGVEaXJlY3RpdmVdLFxuICBleHBvcnRzOiBbQXV0b2NvbXBsZXRlQ29tcG9uZW50LCBBdXRvY29tcGxldGVEaXJlY3RpdmVdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtBdXRvY29tcGxldGVDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9jb21wbGV0ZU1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQXV0b2NvbXBsZXRlTW9kdWxlXG4gICAgfTtcbiAgfVxufVxuXG4iXX0= |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
* Generated from: ng2-input-autocomplete.ts | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -9,3 +10,2 @@ /** | ||
export { AutocompleteComponent, AutocompleteDirective, AutocompleteModule } from './public_api'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyLWlucHV0LWF1dG9jb21wbGV0ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nMi1pbnB1dC1hdXRvY29tcGxldGUvIiwic291cmNlcyI6WyJuZzItaW5wdXQtYXV0b2NvbXBsZXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxpRkFBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyLWlucHV0LWF1dG9jb21wbGV0ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nMi1pbnB1dC1hdXRvY29tcGxldGUvIiwic291cmNlcyI6WyJuZzItaW5wdXQtYXV0b2NvbXBsZXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBSUEsaUZBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19 |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
* Generated from: public_api.ts | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -10,3 +11,2 @@ /* | ||
export { AutocompleteModule } from './lib/autocomplete.module'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nMi1pbnB1dC1hdXRvY29tcGxldGUvIiwic291cmNlcyI6WyJwdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSw2REFBYyw4QkFBOEIsQ0FBQztBQUM3QyxtQ0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYXV0b2NvbXBsZXRlXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdXRvY29tcGxldGUubW9kdWxlJztcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nMi1pbnB1dC1hdXRvY29tcGxldGUvIiwic291cmNlcyI6WyJwdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBSUEsNkRBQWMsOEJBQThCLENBQUM7QUFDN0MsbUNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGF1dG9jb21wbGV0ZVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXV0b2NvbXBsZXRlLm1vZHVsZSc7XG4iXX0= |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
* Generated from: lib/autocomplete.component.ts | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/* | ||
MIT LICENSE @liuy97 | ||
*/ | ||
import { Component, ComponentFactoryResolver, Directive, ElementRef, EventEmitter, HostListener, Input, Output, ViewContainerRef } from '@angular/core'; | ||
@@ -32,3 +36,3 @@ import { FormControl } from '@angular/forms'; | ||
this.placeholder = 'autocomplete'; | ||
this.inputElement = /** @type {?} */ (this.thisElement.querySelector('input')); | ||
this.inputElement = (/** @type {?} */ (this.thisElement.querySelector('input'))); | ||
if (!this.isNull(this.config)) { | ||
@@ -129,5 +133,9 @@ if (!this.isNull(this.config.placeholder)) { | ||
if (this.items) { | ||
this.candidates = this.items.filter(function (item) { | ||
this.candidates = this.items.filter((/** | ||
* @param {?} item | ||
* @return {?} | ||
*/ | ||
function (item) { | ||
return filterItem(item, field, search); | ||
}); | ||
})); | ||
if (this.maxLimit > 0) { | ||
@@ -140,2 +148,3 @@ this.candidates = this.candidates.slice(0, this.maxLimit); | ||
/** | ||
* @private | ||
* @param {?} object | ||
@@ -146,2 +155,3 @@ * @param {?} path | ||
AutocompleteComponent.prototype.getFieldValue = /** | ||
* @private | ||
* @param {?} object | ||
@@ -158,3 +168,7 @@ * @param {?} path | ||
var result_1 = object; | ||
path.forEach(function (element) { | ||
path.forEach((/** | ||
* @param {?} element | ||
* @return {?} | ||
*/ | ||
function (element) { | ||
if (result_1 !== null && | ||
@@ -169,3 +183,3 @@ result_1 !== undefined && | ||
} | ||
}); | ||
})); | ||
return result_1; | ||
@@ -178,2 +192,3 @@ } | ||
/** | ||
* @private | ||
* @param {?} object | ||
@@ -183,2 +198,3 @@ * @return {?} | ||
AutocompleteComponent.prototype.isNull = /** | ||
* @private | ||
* @param {?} object | ||
@@ -191,5 +207,7 @@ * @return {?} | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
AutocompleteComponent.prototype.buildLabels = /** | ||
* @private | ||
* @return {?} | ||
@@ -202,7 +220,12 @@ */ | ||
var getFieldValue = this.getFieldValue; | ||
this.candidatesLabels = this.candidates.map(function (e) { | ||
this.candidatesLabels = this.candidates.map((/** | ||
* @param {?} e | ||
* @return {?} | ||
*/ | ||
function (e) { | ||
return getFieldValue(e, field); | ||
}); | ||
})); | ||
}; | ||
/** | ||
* @private | ||
* @param {?} item | ||
@@ -214,2 +237,3 @@ * @param {?} path | ||
AutocompleteComponent.prototype.filterItem = /** | ||
* @private | ||
* @param {?} item | ||
@@ -231,3 +255,7 @@ * @param {?} path | ||
result = item; | ||
path.forEach(function (element) { | ||
path.forEach((/** | ||
* @param {?} element | ||
* @return {?} | ||
*/ | ||
function (element) { | ||
if (result !== null && | ||
@@ -242,3 +270,3 @@ result !== undefined && | ||
} | ||
}); | ||
})); | ||
} | ||
@@ -298,5 +326,11 @@ else { | ||
AutocompleteComponent.prototype.maxLimit; | ||
/** @type {?} */ | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteComponent.prototype.sourceField; | ||
/** @type {?} */ | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteComponent.prototype.thisElement; | ||
@@ -313,3 +347,7 @@ } | ||
this.reset = false; | ||
this.hideAutocomplete = function (event) { | ||
this.hideAutocomplete = (/** | ||
* @param {?=} event | ||
* @return {?} | ||
*/ | ||
function (event) { | ||
if (!_this.componentRef) { | ||
@@ -329,4 +367,8 @@ return; | ||
} | ||
}; | ||
this.onInputChanged = function (val) { | ||
}); | ||
this.onInputChanged = (/** | ||
* @param {?} val | ||
* @return {?} | ||
*/ | ||
function (val) { | ||
_this.inputElement.value = val; | ||
@@ -341,4 +383,8 @@ if (val !== _this.ngModel) { | ||
_this.inputChangedEvent.emit(val); | ||
}; | ||
this.onSelect = function (item) { | ||
}); | ||
this.onSelect = (/** | ||
* @param {?} item | ||
* @return {?} | ||
*/ | ||
function (item) { | ||
/** @type {?} */ | ||
@@ -357,3 +403,3 @@ var component = _this.componentRef.instance; | ||
_this.hideAutocomplete(); | ||
}; | ||
}); | ||
this.thisElement = this.viewContainerRef.element.nativeElement; | ||
@@ -413,10 +459,16 @@ } | ||
if (this.control) { | ||
this.control.valueChanges.subscribe(function () { | ||
this.control.valueChanges.subscribe((/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
_this.reset = true; | ||
}); | ||
})); | ||
} | ||
if (input.form) { | ||
input.form.addEventListener('reset', function () { | ||
input.form.addEventListener('reset', (/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
_this.reset = true; | ||
}); | ||
})); | ||
} | ||
@@ -446,5 +498,5 @@ }; | ||
/** @type {?} */ | ||
var input = /** @type {?} */ (this.thisElement); | ||
var input = (/** @type {?} */ (this.thisElement)); | ||
if (this.thisElement.tagName !== 'INPUT' && this.autocompleteElement) { | ||
input = /** @type {?} */ (this.thisElement.querySelector('input')); | ||
input = (/** @type {?} */ (this.thisElement.querySelector('input'))); | ||
} | ||
@@ -454,5 +506,7 @@ return input; | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
AutocompleteDirective.prototype.createDiv = /** | ||
* @private | ||
* @return {?} | ||
@@ -470,5 +524,7 @@ */ | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
AutocompleteDirective.prototype.createAutocomplete = /** | ||
* @private | ||
* @return {?} | ||
@@ -552,13 +608,31 @@ */ | ||
AutocompleteDirective.prototype.selectEvent; | ||
/** @type {?} */ | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.componentRef; | ||
/** @type {?} */ | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.thisElement; | ||
/** @type {?} */ | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.autocompleteElement; | ||
/** @type {?} */ | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.inputElement; | ||
/** @type {?} */ | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.tabIndex; | ||
/** @type {?} */ | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.reset; | ||
@@ -571,3 +645,6 @@ /** @type {?} */ | ||
AutocompleteDirective.prototype.onSelect; | ||
/** @type {?} */ | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.resolver; | ||
@@ -577,3 +654,2 @@ /** @type {?} */ | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nMi1pbnB1dC1hdXRvY29tcGxldGUvIiwic291cmNlcyI6WyJsaWIvYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBR0EsT0FBTyxFQUNMLFNBQVMsRUFDVCx3QkFBd0IsRUFFeEIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFLTCxNQUFNLEVBRU4sZ0JBQWdCLEVBRWpCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7SUEwRXpDLCtCQUFZLFVBQXNCO3lCQWhCdEIsY0FBYzsyQkFHaUIsSUFBSSxZQUFZLEVBQU87aUNBQ2pCLElBQUksWUFBWSxFQUFPO3dCQVE3RCxDQUFDO1FBS1YsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQzVDLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7S0FDakI7Ozs7SUFFRCx3Q0FBUTs7O0lBQVI7UUFDRSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFNBQVMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7U0FDM0M7UUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7U0FDakM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FB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Iiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgTUlUIExJQ0VOU0UgQGxpdXk5N1xuKi9cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBDb21wb25lbnRSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZSxcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgSG9zdEJpbmRpbmdcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1Db250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgc2VsZWN0b3I6ICduZzItaW5wdXQtYXV0b2NvbXBsZXRlJyxcbiAgdGVtcGxhdGU6IGBcbiAgPGRpdiBbbmdDbGFzc109XCJjbGFzc0xpc3RcIj5cbiAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgcGxhY2Vob2xkZXI9XCJ7e3BsYWNlaG9sZGVyfX1cIlxuICAgICAgKGJsdXIpPVwic2hvd0F1dG9Db21wbGV0ZSA9IGZhbHNlO1wiXG4gICAgICAoZm9jdXMpPVwic2hvd0F1dG9Db21wbGV0ZSA9IHRydWU7XCJcbiAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAoa2V5dXApPVwiZW50ZXJUZXh0KCRldmVudClcIj5cbiAgICA8dWwgKm5nSWY9XCJzaG93QXV0b0NvbXBsZXRlICYmIGNhbmRpZGF0ZXMgJiYgY2FuZGlkYXRlcy5sZW5ndGggPiAwXCI+XG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGNhbmRpZGF0ZSBvZiBjYW5kaWRhdGVzOyBsZXQgaWR4ID0gaW5kZXhcIlxuICAgICAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogKGlkeCA9PT0gc2VsZWN0ZWRJbmRleCkgfVwiXG4gICAgICAgIChrZXl1cCk9XCJvbktleVVwRXZlbnQoJGV2ZW50LCBpZHgpXCJcbiAgICAgICAgKG1vdXNlb3Zlcik9XCJzZWxlY3RlZEluZGV4ID0gaWR4O1wiXG4gICAgICAgIChtb3VzZWRvd24pPVwib25TZWxlY3QoaWR4KVwiPlxuICAgICAgICB7e2NhbmRpZGF0ZXNMYWJlbHNbaWR4XX19XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIDwvZGl2PmAsXG4gIHN0eWxlczogW1xuICAgIGAuYXV0b2NvbXBsZXRlIHVsIHtcbiAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgbGVmdDogMDtcbiAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM4ODg7XG4gICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzg4ODtcbiAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzg4ODtcbiAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgfVxuICAgICAuYXV0b2NvbXBsZXRlIGxpIHtcbiAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgcGFkZGluZzogMC40ZW0gMCAwLjRlbSAwO1xuICAgICB9XG4gICAgIC5hdXRvY29tcGxldGUgbGkuYWN0aXZlIHtcbiAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGJmO1xuICAgICB9XG5cbiAgICAgLmF1dG9jb21wbGV0ZSAuaGlnaGxpZ2h0IHtcbiAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlMmUyO1xuICAgICB9XG4gICAgIC5hdXRvY29tcGxldGUgbGkuYWN0aXZlIC5oaWdobGlnaHQge1xuICAgICAgIGJhY2tncm91bmQ6ICM2NjY7XG4gICAgICAgY29sb3I6ICNmZmY7XG4gICAgIH1gXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBjbGFzc0xpc3QgPSAnYXV0b2NvbXBsZXRlJztcbiAgQElucHV0KCkgaXRlbXM6IGFueVtdO1xuICBASW5wdXQoKSBjb25maWc6IGFueTtcbiAgQE91dHB1dCgpIHNlbGVjdEV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgaW5wdXRDaGFuZ2VkRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIGlucHV0RWxlbWVudDogSFRNTElucHV0RWxlbWVudDtcbiAgdmFsdWU6IHN0cmluZztcbiAgY2FuZGlkYXRlczogYW55W107XG4gIGNhbmRpZGF0ZXNMYWJlbHM6IGFueVtdO1xuICBzZWxlY3RlZEluZGV4OiBudW1iZXI7XG4gIHNob3dBdXRvQ29tcGxldGU6IGJvb2xlYW47XG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIG1heExpbWl0ID0gMDtcbiAgcHJpdmF0ZSBzb3VyY2VGaWVsZDogYW55O1xuICBwcml2YXRlIHRoaXNFbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy50aGlzRWxlbWVudCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSAwO1xuICAgIHRoaXMuc2hvd0F1dG9Db21wbGV0ZSA9IGZhbHNlO1xuICAgIHRoaXMudmFsdWUgPSAnJztcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmNvbmZpZyAmJiB0aGlzLmNvbmZpZy5jbGFzcykge1xuICAgICAgdGhpcy5jbGFzc0xpc3QgKz0gJyAnICsgdGhpcy5jb25maWcuY2xhc3M7XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbmZpZyAmJiB0aGlzLmNvbmZpZy5tYXggPiAwKSB7XG4gICAgICB0aGlzLm1heExpbWl0ID0gdGhpcy5jb25maWcubWF4O1xuICAgIH1cbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gJ2F1dG9jb21wbGV0ZSc7XG4gICAgdGhpcy5pbnB1dEVsZW1lbnQgPSB0aGlzLnRoaXNFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnaW5wdXQnXG4gICAgKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuXG4gICAgaWYgKCF0aGlzLmlzTnVsbCh0aGlzLmNvbmZpZykpIHtcbiAgICAgIGlmICghdGhpcy5pc051bGwodGhpcy5jb25maWcucGxhY2Vob2xkZXIpKSB7XG4gICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSB0aGlzLmNvbmZpZy5wbGFjZWhvbGRlcjtcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5pc051bGwodGhpcy5jb25maWcuc291cmNlRmllbGQpKSB7XG4gICAgICAgIHRoaXMuc291cmNlRmllbGQgPSB0aGlzLmNvbmZpZy5zb3VyY2VGaWVsZDtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5maWx0ZXJJdGVtcyh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLmlucHV0RWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5maWx0ZXJJdGVtcyh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIGVudGVyVGV4dChldmVudDogYW55KSB7XG4gICAgY29uc3QgdG90YWwgPSB0aGlzLmNhbmRpZGF0ZXMubGVuZ3RoO1xuICAgIHN3aXRjaCAoZXZlbnQua2V5Q29kZSkge1xuICAgICAgY2FzZSAyNzpcbiAgICAgICAgdGhpcy5zaG93QXV0b0NvbXBsZXRlID0gZmFsc2U7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAzODpcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gKHRvdGFsICsgdGhpcy5zZWxlY3RlZEluZGV4IC0gMSkgJSB0b3RhbDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDQwOlxuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSAodG90YWwgKyB0aGlzLnNlbGVjdGVkSW5kZXggKyAxKSAlIHRvdGFsO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMTM6XG4gICAgICAgIGlmICh0aGlzLmNhbmRpZGF0ZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMub25TZWxlY3QodGhpcy5zZWxlY3RlZEluZGV4KTtcbiAgICAgICAgfVxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMudmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICAgIHRoaXMuaW5wdXRDaGFuZ2VkRXZlbnQuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgb25TZWxlY3QoaWR4OiBudW1iZXIpIHtcbiAgICB0aGlzLnNob3dBdXRvQ29tcGxldGUgPSBmYWxzZTtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5jYW5kaWRhdGVzTGFiZWxzW2lkeF07XG4gICAgdGhpcy5zZWxlY3RFdmVudC5lbWl0KHRoaXMuY2FuZGlkYXRlc1tpZHhdKTtcbiAgfVxuXG4gIG9uS2V5VXBFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCwgaWR4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gMTMpIHtcbiAgICAgIHRoaXMub25TZWxlY3QoaWR4KTtcbiAgICB9XG4gfVxuXG4gIGZpbHRlckl0ZW1zKHNlYXJjaDogc3RyaW5nKSB7XG4gICAgY29uc3QgZmllbGQgPSB0aGlzLnNvdXJjZUZpZWxkO1xuICAgIGNvbnN0IGZpbHRlckl0ZW0gPSB0aGlzLmZpbHRlckl0ZW07XG4gICAgaWYgKHRoaXMuaXRlbXMpIHtcbiAgICAgIHRoaXMuY2FuZGlkYXRlcyA9IHRoaXMuaXRlbXMuZmlsdGVyKGl0ZW0gPT4ge1xuICAgICAgICByZXR1cm4gZmlsdGVySXRlbShpdGVtLCBmaWVsZCwgc2VhcmNoKTtcbiAgICAgIH0pO1xuICAgICAgaWYgKHRoaXMubWF4TGltaXQgPiAwKSB7XG4gICAgICAgIHRoaXMuY2FuZGlkYXRlcyA9IHRoaXMuY2FuZGlkYXRlcy5zbGljZSgwLCB0aGlzLm1heExpbWl0KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuYnVpbGRMYWJlbHMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEZpZWxkVmFsdWUob2JqZWN0OiBhbnksIHBhdGg6IGFueSkge1xuICAgIGlmICh0eXBlb2Ygb2JqZWN0ID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICB9XG4gICAgaWYgKHBhdGggaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgbGV0IHJlc3VsdDogYW55ID0gb2JqZWN0O1xuICAgICAgcGF0aC5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHJlc3VsdCAhPT0gbnVsbCAmJlxuICAgICAgICAgIHJlc3VsdCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgcmVzdWx0W2VsZW1lbnRdICE9PSBudWxsICYmXG4gICAgICAgICAgcmVzdWx0W2VsZW1lbnRdICE9PSB1bmRlZmluZWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmVzdWx0ID0gcmVzdWx0W2VsZW1lbnRdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdCA9ICcnO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBvYmplY3RbcGF0aF0gfHwgJyc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc051bGwob2JqZWN0OiBhbnkpIHtcbiAgICByZXR1cm4gb2JqZWN0ID09PSBudWxsIHx8IG9iamVjdCA9PT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZExhYmVscygpIHtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuc291cmNlRmllbGQ7XG4gICAgY29uc3QgZ2V0RmllbGRWYWx1ZSA9IHRoaXMuZ2V0RmllbGRWYWx1ZTtcbiAgICB0aGlzLmNhbmRpZGF0ZXNMYWJlbHMgPSB0aGlzLmNhbmRpZGF0ZXMubWFwKChlOiBhbnkpID0+XG4gICAgICBnZXRGaWVsZFZhbHVlKGUsIGZpZWxkKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGZpbHRlckl0ZW0oaXRlbTogYW55LCBwYXRoOiBhbnksIHNlYXJjaDogc3RyaW5nKSB7XG4gICAgaWYgKHNlYXJjaCA9PT0gbnVsbCB8fCBzZWFyY2ggPT09IHVuZGVmaW5lZCB8fCBzZWFyY2gubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgbGV0IHJlc3VsdDogYW55O1xuICAgIGlmICh0eXBlb2YgaXRlbSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJlc3VsdCA9IGl0ZW07XG4gICAgfSBlbHNlIGlmIChwYXRoIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgIHJlc3VsdCA9IGl0ZW07XG4gICAgICBwYXRoLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgcmVzdWx0ICE9PSBudWxsICYmXG4gICAgICAgICAgcmVzdWx0ICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICByZXN1bHRbZWxlbWVudF0gIT09IG51bGwgJiZcbiAgICAgICAgICByZXN1bHRbZWxlbWVudF0gIT09IHVuZGVmaW5lZFxuICAgICAgICApIHtcbiAgICAgICAgICByZXN1bHQgPSByZXN1bHRbZWxlbWVudF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzdWx0ID0gJyc7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSBpdGVtW3BhdGhdIHx8ICcnO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2gudG9Mb3dlckNhc2UoKSkgPj0gMDtcbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXG4gIHNlbGVjdG9yOiAnW2lucHV0LWF1dG9jb21wbGV0ZV0nXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9jb21wbGV0ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBjb25maWc6IGFueTtcbiAgQElucHV0KCkgaXRlbXM6IGFueTtcbiAgQElucHV0KCkgbmdNb2RlbDogc3RyaW5nO1xuICBASW5wdXQoKSBjb250cm9sOiBGb3JtQ29udHJvbDtcbiAgQE91dHB1dCgpIG5nTW9kZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBpbnB1dENoYW5nZWRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHNlbGVjdEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByaXZhdGUgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8QXV0b2NvbXBsZXRlQ29tcG9uZW50PjtcbiAgcHJpdmF0ZSB0aGlzRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgYXV0b2NvbXBsZXRlRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50O1xuICBwcml2YXRlIHRhYkluZGV4OiBudW1iZXI7XG4gIHByaXZhdGUgcmVzZXQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgcHVibGljIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWZcbiAgKSB7XG4gICAgdGhpcy50aGlzRWxlbWVudCA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy50aGlzRWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdmb3JtJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNyZWF0ZURpdigpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5zZWxlY3RFdmVudC51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuaW5wdXRDaGFuZ2VkRXZlbnQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmhpZGVBdXRvY29tcGxldGUpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogeyBbcHJvcEtleTogc3RyaW5nXTogU2ltcGxlQ2hhbmdlIH0pIHtcbiAgICBpZiAoY2hhbmdlc1snaXRlbXMnXSAmJiB0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgICBjb21wb25lbnQuaXRlbXMgPSBjaGFuZ2VzWydpdGVtcyddLmN1cnJlbnRWYWx1ZTtcbiAgICAgIGNvbXBvbmVudC5maWx0ZXJJdGVtcyhjb21wb25lbnQudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMuZ2V0SW5wdXRFbGVtZW50KCk7XG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlc2V0ID0gdHJ1ZTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoaW5wdXQuZm9ybSkge1xuICAgICAgaW5wdXQuZm9ybS5hZGRFdmVudExpc3RlbmVyKCdyZXNldCcsICgpID0+IHtcbiAgICAgICAgdGhpcy5yZXNldCA9IHRydWU7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICBASG9zdExpc3RlbmVyKCdmb2N1cycsIFsnJGV2ZW50LnRhcmdldCddKVxuICBzaG93QXV0b2NvbXBsZXRlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmhpZGVBdXRvY29tcGxldGUoKTtcbiAgICBpZiAoZXZlbnQgPT09IHRoaXMudGhpc0VsZW1lbnQpIHtcbiAgICAgIHRoaXMuY3JlYXRlQXV0b2NvbXBsZXRlKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0SW5wdXRFbGVtZW50KCkge1xuICAgIGxldCBpbnB1dCA9IHRoaXMudGhpc0VsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudDtcblxuICAgIGlmICh0aGlzLnRoaXNFbGVtZW50LnRhZ05hbWUgIT09ICdJTlBVVCcgJiYgdGhpcy5hdXRvY29tcGxldGVFbGVtZW50KSB7XG4gICAgICBpbnB1dCA9IHRoaXMudGhpc0VsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgJ2lucHV0J1xuICAgICAgKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIH1cblxuICAgIHJldHVybiBpbnB1dDtcbiAgfVxuXG4gIGhpZGVBdXRvY29tcGxldGUgPSAoZXZlbnQ/OiBhbnkpOiB2b2lkID0+IHtcbiAgICBpZiAoIXRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChldmVudCAmJiBldmVudC50YXJnZXQgJiYgdGhpcy50aGlzRWxlbWVudCAmJiBldmVudC50YXJnZXQgPT09IHRoaXMudGhpc0VsZW1lbnQucGFyZW50RWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICAhZXZlbnQgfHxcbiAgICAgIChldmVudC50YXJnZXQgIT09IHRoaXMudGhpc0VsZW1lbnQgJiYgZXZlbnQudHlwZSA9PT0gJ2NsaWNrJylcbiAgICApIHtcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBpZiAodGhpcy5pbnB1dEVsZW1lbnRbJ3RhYkluZGV4J10gPCAwKSB7XG4gICAgICB0aGlzLmlucHV0RWxlbWVudFsndGFiSW5kZXgnXSA9IHRoaXMudGFiSW5kZXg7XG4gICAgfVxuICB9XG5cbiAgb25JbnB1dENoYW5nZWQgPSAodmFsOiBzdHJpbmcpID0+IHtcbiAgICB0aGlzLmlucHV0RWxlbWVudC52YWx1ZSA9IHZhbDtcbiAgICBpZiAodmFsICE9PSB0aGlzLm5nTW9kZWwpIHtcbiAgICAgIHRoaXMubmdNb2RlbCA9IHZhbDtcbiAgICAgIHRoaXMubmdNb2RlbENoYW5nZS5lbWl0KHZhbCk7XG4gICAgfVxuICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgIGNvbXBvbmVudC5maWx0ZXJJdGVtcyh2YWwpO1xuICAgIHRoaXMuaW5wdXRDaGFuZ2VkRXZlbnQuZW1pdCh2YWwpO1xuICB9XG5cbiAgb25TZWxlY3QgPSAoaXRlbTogYW55KSA9PiB7XG4gICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgY29uc3QgdmFsID0gY29tcG9uZW50LnZhbHVlO1xuICAgIGlmICh2YWwgIT09IHRoaXMubmdNb2RlbCkge1xuICAgICAgdGhpcy5uZ01vZGVsID0gdmFsO1xuICAgICAgdGhpcy5uZ01vZGVsQ2hhbmdlLmVtaXQodmFsKTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RFdmVudC5lbWl0KGl0ZW0pO1xuICAgIGlmICh0aGlzLmlucHV0RWxlbWVudCkge1xuICAgICAgdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUgPSAnJyArIHZhbDtcbiAgICB9XG4gICAgdGhpcy5oaWRlQXV0b2NvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURpdigpIHtcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2lubGluZS1ibG9jayc7XG4gICAgZWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9ICdyZWxhdGl2ZSc7XG4gICAgdGhpcy50aGlzRWxlbWVudC5wYXJlbnRFbGVtZW50Lmluc2VydEJlZm9yZShcbiAgICAgIGVsZW1lbnQsXG4gICAgICB0aGlzLnRoaXNFbGVtZW50Lm5leHRTaWJsaW5nXG4gICAgKTtcbiAgICBlbGVtZW50LmFwcGVuZENoaWxkKHRoaXMudGhpc0VsZW1lbnQpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5oaWRlQXV0b2NvbXBsZXRlKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQXV0b2NvbXBsZXRlKCkge1xuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLnJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFxuICAgICAgQXV0b2NvbXBsZXRlQ29tcG9uZW50XG4gICAgKTtcbiAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XG4gICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgY29tcG9uZW50LmNvbmZpZyA9IHRoaXMuY29uZmlnO1xuICAgIGNvbXBvbmVudC5pdGVtcyA9IHRoaXMuaXRlbXM7XG4gICAgY29tcG9uZW50LnNlbGVjdEV2ZW50LnN1YnNjcmliZSh0aGlzLm9uU2VsZWN0KTtcbiAgICBjb21wb25lbnQuaW5wdXRDaGFuZ2VkRXZlbnQuc3Vic2NyaWJlKHRoaXMub25JbnB1dENoYW5nZWQpO1xuICAgIHRoaXMuYXV0b2NvbXBsZXRlRWxlbWVudCA9IHRoaXMuY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG4gICAgdGhpcy5hdXRvY29tcGxldGVFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgdGhpcy5pbnB1dEVsZW1lbnQgPSB0aGlzLmdldElucHV0RWxlbWVudCgpO1xuICAgIGlmICh0aGlzLnRoaXNFbGVtZW50LnRhZ05hbWUgIT09ICdJTlBVVCcgJiYgdGhpcy5hdXRvY29tcGxldGVFbGVtZW50KSB7XG4gICAgICB0aGlzLmlucHV0RWxlbWVudC5wYXJlbnRFbGVtZW50Lmluc2VydEJlZm9yZShcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVFbGVtZW50LFxuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uZXh0U2libGluZ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5yZXNldCkge1xuICAgICAgdGhpcy5uZ01vZGVsID0gJyc7XG4gICAgICB0aGlzLnJlc2V0ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUgPSB0aGlzLm5nTW9kZWwgPyB0aGlzLm5nTW9kZWwgOiAnJztcbiAgICBjb21wb25lbnQudmFsdWUgPSB0aGlzLmlucHV0RWxlbWVudC52YWx1ZTtcbiAgICB0aGlzLnRhYkluZGV4ID0gdGhpcy5pbnB1dEVsZW1lbnRbJ3RhYkluZGV4J107XG4gICAgdGhpcy5pbnB1dEVsZW1lbnRbJ3RhYkluZGV4J10gPSAtMTAwO1xuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgY29uc3QgcmVjdCA9IHRoaXMudGhpc0VsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBzdHlsZSA9IHRoaXMuYXV0b2NvbXBsZXRlRWxlbWVudC5zdHlsZTtcbiAgICAgIHN0eWxlLndpZHRoID0gcmVjdC53aWR0aCArICdweCc7XG4gICAgICBzdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgICBzdHlsZS56SW5kZXggPSAnMSc7XG4gICAgICBzdHlsZS50b3AgPSAnMCc7XG4gICAgICBzdHlsZS5sZWZ0ID0gJzAnO1xuICAgICAgc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtYmxvY2snO1xuICAgIH1cbiAgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nMi1pbnB1dC1hdXRvY29tcGxldGUvIiwic291cmNlcyI6WyJsaWIvYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUdBLE9BQU8sRUFDTCxTQUFTLEVBQ1Qsd0JBQXdCLEVBRXhCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBS0wsTUFBTSxFQUVOLGdCQUFnQixFQUVqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0M7SUF3RUUsK0JBQVksVUFBc0I7UUFoQmxDLGNBQVMsR0FBRyxjQUFjLENBQUM7UUFHakIsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN6RCxzQkFBaUIsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQVF6RSxhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBS1gsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQzVDLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDbEIsQ0FBQzs7OztJQUVELHdDQUFROzs7SUFBUjtRQUNFLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtZQUNwQyxJQUFJLENBQUMsU0FBUyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztTQUMzQztRQUNELElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFFBQVEs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QUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNoQyxLQUFLLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztZQUM1QixLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztZQUNuQixLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztZQUNoQixLQUFLLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztZQUNqQixLQUFLLENBQUMsT0FBTyxHQUFHLGNBQWMsQ0FBQztTQUNoQztJQUNILENBQUM7O2dCQXBMRixTQUFTLFNBQUM7O29CQUVULFFBQVEsRUFBRSxzQkFBc0I7aUJBQ2pDOzs7O2dCQW5QQyx3QkFBd0I7Z0JBYXhCLGdCQUFnQjs7O3lCQXdPZixLQUFLO3dCQUNMLEtBQUs7MEJBQ0wsS0FBSzswQkFDTCxLQUFLO2dDQUNMLE1BQU07b0NBQ04sTUFBTTs4QkFDTixNQUFNO21DQXFETixZQUFZLFNBQUMsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDLGNBQ3ZDLFlBQVksU0FBQyxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7O0lBb0gxQyw0QkFBQztDQUFBLEFBckxELElBcUxDO1NBakxZLHFCQUFxQjs7O0lBQ2hDLHVDQUFxQjs7SUFDckIsc0NBQW9COztJQUNwQix3Q0FBeUI7O0lBQ3pCLHdDQUE4Qjs7SUFDOUIsOENBQTZDOztJQUM3QyxrREFBaUQ7O0lBQ2pELDRDQUEyQzs7Ozs7SUFFM0MsNkNBQTBEOzs7OztJQUMxRCw0Q0FBaUM7Ozs7O0lBQ2pDLG9EQUF5Qzs7Ozs7SUFDekMsNkNBQXVDOzs7OztJQUN2Qyx5Q0FBeUI7Ozs7O0lBQ3pCLHNDQUFzQjs7SUFtRXRCLGlEQWlCQzs7SUFFRCwrQ0FTQzs7SUFFRCx5Q0FZQzs7Ozs7SUExR0MseUNBQTBDOztJQUMxQyxpREFBeUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICBNSVQgTElDRU5TRSBAbGl1eTk3XG4qL1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIENvbXBvbmVudFJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBIb3N0QmluZGluZ1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZVxuICBzZWxlY3RvcjogJ25nMi1pbnB1dC1hdXRvY29tcGxldGUnLFxuICB0ZW1wbGF0ZTogYFxuICA8ZGl2IFtuZ0NsYXNzXT1cImNsYXNzTGlzdFwiPlxuICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICBwbGFjZWhvbGRlcj1cInt7cGxhY2Vob2xkZXJ9fVwiXG4gICAgICAoYmx1cik9XCJzaG93QXV0b0NvbXBsZXRlID0gZmFsc2U7XCJcbiAgICAgIChmb2N1cyk9XCJzaG93QXV0b0NvbXBsZXRlID0gdHJ1ZTtcIlxuICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgIChrZXl1cCk9XCJlbnRlclRleHQoJGV2ZW50KVwiPlxuICAgIDx1bCAqbmdJZj1cInNob3dBdXRvQ29tcGxldGUgJiYgY2FuZGlkYXRlcyAmJiBjYW5kaWRhdGVzLmxlbmd0aCA+IDBcIj5cbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgY2FuZGlkYXRlIG9mIGNhbmRpZGF0ZXM7IGxldCBpZHggPSBpbmRleFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgYWN0aXZlOiAoaWR4ID09PSBzZWxlY3RlZEluZGV4KSB9XCJcbiAgICAgICAgKGtleXVwKT1cIm9uS2V5VXBFdmVudCgkZXZlbnQsIGlkeClcIlxuICAgICAgICAobW91c2VvdmVyKT1cInNlbGVjdGVkSW5kZXggPSBpZHg7XCJcbiAgICAgICAgKG1vdXNlZG93bik9XCJvblNlbGVjdChpZHgpXCI+XG4gICAgICAgIHt7Y2FuZGlkYXRlc0xhYmVsc1tpZHhdfX1cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgPC9kaXY+YCxcbiAgc3R5bGVzOiBbXG4gICAgYC5hdXRvY29tcGxldGUgdWwge1xuICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICBsZWZ0OiAwO1xuICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzg4ODtcbiAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjODg4O1xuICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjODg4O1xuICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgei1pbmRleDogMTAwO1xuICAgICB9XG4gICAgIC5hdXRvY29tcGxldGUgbGkge1xuICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICBwYWRkaW5nOiAwLjRlbSAwIDAuNGVtIDA7XG4gICAgIH1cbiAgICAgLmF1dG9jb21wbGV0ZSBsaS5hY3RpdmUge1xuICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0YmY7XG4gICAgIH1cblxuICAgICAuYXV0b2NvbXBsZXRlIC5oaWdobGlnaHQge1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMmUyZTI7XG4gICAgIH1cbiAgICAgLmF1dG9jb21wbGV0ZSBsaS5hY3RpdmUgLmhpZ2hsaWdodCB7XG4gICAgICAgYmFja2dyb3VuZDogIzY2NjtcbiAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgfWBcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBdXRvY29tcGxldGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIGNsYXNzTGlzdCA9ICdhdXRvY29tcGxldGUnO1xuICBASW5wdXQoKSBpdGVtczogYW55W107XG4gIEBJbnB1dCgpIGNvbmZpZzogYW55O1xuICBAT3V0cHV0KCkgc2VsZWN0RXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBpbnB1dENoYW5nZWRFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50O1xuICB2YWx1ZTogc3RyaW5nO1xuICBjYW5kaWRhdGVzOiBhbnlbXTtcbiAgY2FuZGlkYXRlc0xhYmVsczogYW55W107XG4gIHNlbGVjdGVkSW5kZXg6IG51bWJlcjtcbiAgc2hvd0F1dG9Db21wbGV0ZTogYm9vbGVhbjtcbiAgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgbWF4TGltaXQgPSAwO1xuICBwcml2YXRlIHNvdXJjZUZpZWxkOiBhbnk7XG4gIHByaXZhdGUgdGhpc0VsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLnRoaXNFbGVtZW50ID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IDA7XG4gICAgdGhpcy5zaG93QXV0b0NvbXBsZXRlID0gZmFsc2U7XG4gICAgdGhpcy52YWx1ZSA9ICcnO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnICYmIHRoaXMuY29uZmlnLmNsYXNzKSB7XG4gICAgICB0aGlzLmNsYXNzTGlzdCArPSAnICcgKyB0aGlzLmNvbmZpZy5jbGFzcztcbiAgICB9XG4gICAgaWYgKHRoaXMuY29uZmlnICYmIHRoaXMuY29uZmlnLm1heCA+IDApIHtcbiAgICAgIHRoaXMubWF4TGltaXQgPSB0aGlzLmNvbmZpZy5tYXg7XG4gICAgfVxuICAgIHRoaXMucGxhY2Vob2xkZXIgPSAnYXV0b2NvbXBsZXRlJztcbiAgICB0aGlzLmlucHV0RWxlbWVudCA9IHRoaXMudGhpc0VsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICdpbnB1dCdcbiAgICApIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICBpZiAoIXRoaXMuaXNOdWxsKHRoaXMuY29uZmlnKSkge1xuICAgICAgaWYgKCF0aGlzLmlzTnVsbCh0aGlzLmNvbmZpZy5wbGFjZWhvbGRlcikpIHtcbiAgICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IHRoaXMuY29uZmlnLnBsYWNlaG9sZGVyO1xuICAgICAgfVxuICAgICAgaWYgKCF0aGlzLmlzTnVsbCh0aGlzLmNvbmZpZy5zb3VyY2VGaWVsZCkpIHtcbiAgICAgICAgdGhpcy5zb3VyY2VGaWVsZCA9IHRoaXMuY29uZmlnLnNvdXJjZUZpZWxkO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmZpbHRlckl0ZW1zKHRoaXMudmFsdWUpO1xuICAgIHRoaXMuaW5wdXRFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLmZpbHRlckl0ZW1zKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgZW50ZXJUZXh0KGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCB0b3RhbCA9IHRoaXMuY2FuZGlkYXRlcy5sZW5ndGg7XG4gICAgc3dpdGNoIChldmVudC5rZXlDb2RlKSB7XG4gICAgICBjYXNlIDI3OlxuICAgICAgICB0aGlzLnNob3dBdXRvQ29tcGxldGUgPSBmYWxzZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDM4OlxuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSAodG90YWwgKyB0aGlzLnNlbGVjdGVkSW5kZXggLSAxKSAlIHRvdGFsO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgNDA6XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9ICh0b3RhbCArIHRoaXMuc2VsZWN0ZWRJbmRleCArIDEpICUgdG90YWw7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAxMzpcbiAgICAgICAgaWYgKHRoaXMuY2FuZGlkYXRlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5vblNlbGVjdCh0aGlzLnNlbGVjdGVkSW5kZXgpO1xuICAgICAgICB9XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy52YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgICAgdGhpcy5pbnB1dENoYW5nZWRFdmVudC5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBvblNlbGVjdChpZHg6IG51bWJlcikge1xuICAgIHRoaXMuc2hvd0F1dG9Db21wbGV0ZSA9IGZhbHNlO1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLmNhbmRpZGF0ZXNMYWJlbHNbaWR4XTtcbiAgICB0aGlzLnNlbGVjdEV2ZW50LmVtaXQodGhpcy5jYW5kaWRhdGVzW2lkeF0pO1xuICB9XG5cbiAgb25LZXlVcEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpZHg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXlDb2RlID09PSAxMykge1xuICAgICAgdGhpcy5vblNlbGVjdChpZHgpO1xuICAgIH1cbiB9XG5cbiAgZmlsdGVySXRlbXMoc2VhcmNoOiBzdHJpbmcpIHtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuc291cmNlRmllbGQ7XG4gICAgY29uc3QgZmlsdGVySXRlbSA9IHRoaXMuZmlsdGVySXRlbTtcbiAgICBpZiAodGhpcy5pdGVtcykge1xuICAgICAgdGhpcy5jYW5kaWRhdGVzID0gdGhpcy5pdGVtcy5maWx0ZXIoaXRlbSA9PiB7XG4gICAgICAgIHJldHVybiBmaWx0ZXJJdGVtKGl0ZW0sIGZpZWxkLCBzZWFyY2gpO1xuICAgICAgfSk7XG4gICAgICBpZiAodGhpcy5tYXhMaW1pdCA+IDApIHtcbiAgICAgICAgdGhpcy5jYW5kaWRhdGVzID0gdGhpcy5jYW5kaWRhdGVzLnNsaWNlKDAsIHRoaXMubWF4TGltaXQpO1xuICAgICAgfVxuICAgICAgdGhpcy5idWlsZExhYmVscygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmllbGRWYWx1ZShvYmplY3Q6IGFueSwgcGF0aDogYW55KSB7XG4gICAgaWYgKHR5cGVvZiBvYmplY3QgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gb2JqZWN0O1xuICAgIH1cbiAgICBpZiAocGF0aCBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICBsZXQgcmVzdWx0OiBhbnkgPSBvYmplY3Q7XG4gICAgICBwYXRoLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgcmVzdWx0ICE9PSBudWxsICYmXG4gICAgICAgICAgcmVzdWx0ICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICByZXN1bHRbZWxlbWVudF0gIT09IG51bGwgJiZcbiAgICAgICAgICByZXN1bHRbZWxlbWVudF0gIT09IHVuZGVmaW5lZFxuICAgICAgICApIHtcbiAgICAgICAgICByZXN1bHQgPSByZXN1bHRbZWxlbWVudF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzdWx0ID0gJyc7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9iamVjdFtwYXRoXSB8fCAnJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzTnVsbChvYmplY3Q6IGFueSkge1xuICAgIHJldHVybiBvYmplY3QgPT09IG51bGwgfHwgb2JqZWN0ID09PSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkTGFiZWxzKCkge1xuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5zb3VyY2VGaWVsZDtcbiAgICBjb25zdCBnZXRGaWVsZFZhbHVlID0gdGhpcy5nZXRGaWVsZFZhbHVlO1xuICAgIHRoaXMuY2FuZGlkYXRlc0xhYmVscyA9IHRoaXMuY2FuZGlkYXRlcy5tYXAoKGU6IGFueSkgPT5cbiAgICAgIGdldEZpZWxkVmFsdWUoZSwgZmllbGQpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVySXRlbShpdGVtOiBhbnksIHBhdGg6IGFueSwgc2VhcmNoOiBzdHJpbmcpIHtcbiAgICBpZiAoc2VhcmNoID09PSBudWxsIHx8IHNlYXJjaCA9PT0gdW5kZWZpbmVkIHx8IHNlYXJjaC5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBsZXQgcmVzdWx0OiBhbnk7XG4gICAgaWYgKHR5cGVvZiBpdGVtID09PSAnc3RyaW5nJykge1xuICAgICAgcmVzdWx0ID0gaXRlbTtcbiAgICB9IGVsc2UgaWYgKHBhdGggaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgcmVzdWx0ID0gaXRlbTtcbiAgICAgIHBhdGguZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICByZXN1bHQgIT09IG51bGwgJiZcbiAgICAgICAgICByZXN1bHQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIHJlc3VsdFtlbGVtZW50XSAhPT0gbnVsbCAmJlxuICAgICAgICAgIHJlc3VsdFtlbGVtZW50XSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICkge1xuICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdFtlbGVtZW50XTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXN1bHQgPSAnJztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IGl0ZW1bcGF0aF0gfHwgJyc7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaC50b0xvd2VyQ2FzZSgpKSA+PSAwO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgc2VsZWN0b3I6ICdbaW5wdXQtYXV0b2NvbXBsZXRlXSdcbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIGNvbmZpZzogYW55O1xuICBASW5wdXQoKSBpdGVtczogYW55O1xuICBASW5wdXQoKSBuZ01vZGVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbnRyb2w6IEZvcm1Db250cm9sO1xuICBAT3V0cHV0KCkgbmdNb2RlbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGlucHV0Q2hhbmdlZEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgc2VsZWN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxBdXRvY29tcGxldGVDb21wb25lbnQ+O1xuICBwcml2YXRlIHRoaXNFbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBhdXRvY29tcGxldGVFbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBpbnB1dEVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gIHByaXZhdGUgdGFiSW5kZXg6IG51bWJlcjtcbiAgcHJpdmF0ZSByZXNldCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZlxuICApIHtcbiAgICB0aGlzLnRoaXNFbGVtZW50ID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnRoaXNFbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2Zvcm0nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY3JlYXRlRGl2KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnNlbGVjdEV2ZW50LnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5pbnB1dENoYW5nZWRFdmVudC51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuaGlkZUF1dG9jb21wbGV0ZSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiB7IFtwcm9wS2V5OiBzdHJpbmddOiBTaW1wbGVDaGFuZ2UgfSkge1xuICAgIGlmIChjaGFuZ2VzWydpdGVtcyddICYmIHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICAgIGNvbXBvbmVudC5pdGVtcyA9IGNoYW5nZXNbJ2l0ZW1zJ10uY3VycmVudFZhbHVlO1xuICAgICAgY29tcG9uZW50LmZpbHRlckl0ZW1zKGNvbXBvbmVudC52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5nZXRJbnB1dEVsZW1lbnQoKTtcbiAgICBpZiAodGhpcy5jb250cm9sKSB7XG4gICAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVzZXQgPSB0cnVlO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChpbnB1dC5mb3JtKSB7XG4gICAgICBpbnB1dC5mb3JtLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2V0JywgKCkgPT4ge1xuICAgICAgICB0aGlzLnJlc2V0ID0gdHJ1ZTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJywgWyckZXZlbnQudGFyZ2V0J10pXG4gIHNob3dBdXRvY29tcGxldGUoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuaGlkZUF1dG9jb21wbGV0ZSgpO1xuICAgIGlmIChldmVudCA9PT0gdGhpcy50aGlzRWxlbWVudCkge1xuICAgICAgdGhpcy5jcmVhdGVBdXRvY29tcGxldGUoKTtcbiAgICB9XG4gIH1cblxuICBnZXRJbnB1dEVsZW1lbnQoKSB7XG4gICAgbGV0IGlucHV0ID0gdGhpcy50aGlzRWxlbWVudCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuXG4gICAgaWYgKHRoaXMudGhpc0VsZW1lbnQudGFnTmFtZSAhPT0gJ0lOUFVUJyAmJiB0aGlzLmF1dG9jb21wbGV0ZUVsZW1lbnQpIHtcbiAgICAgIGlucHV0ID0gdGhpcy50aGlzRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAnaW5wdXQnXG4gICAgICApIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIGlucHV0O1xuICB9XG5cbiAgaGlkZUF1dG9jb21wbGV0ZSA9IChldmVudD86IGFueSk6IHZvaWQgPT4ge1xuICAgIGlmICghdGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGV2ZW50ICYmIGV2ZW50LnRhcmdldCAmJiB0aGlzLnRoaXNFbGVtZW50ICYmIGV2ZW50LnRhcmdldCA9PT0gdGhpcy50aGlzRWxlbWVudC5wYXJlbnRFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChcbiAgICAgICFldmVudCB8fFxuICAgICAgKGV2ZW50LnRhcmdldCAhPT0gdGhpcy50aGlzRWxlbWVudCAmJiBldmVudC50eXBlID09PSAnY2xpY2snKVxuICAgICkge1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLmlucHV0RWxlbWVudFsndGFiSW5kZXgnXSA8IDApIHtcbiAgICAgIHRoaXMuaW5wdXRFbGVtZW50Wyd0YWJJbmRleCddID0gdGhpcy50YWJJbmRleDtcbiAgICB9XG4gIH1cblxuICBvbklucHV0Q2hhbmdlZCA9ICh2YWw6IHN0cmluZykgPT4ge1xuICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlID0gdmFsO1xuICAgIGlmICh2YWwgIT09IHRoaXMubmdNb2RlbCkge1xuICAgICAgdGhpcy5uZ01vZGVsID0gdmFsO1xuICAgICAgdGhpcy5uZ01vZGVsQ2hhbmdlLmVtaXQodmFsKTtcbiAgICB9XG4gICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgY29tcG9uZW50LmZpbHRlckl0ZW1zKHZhbCk7XG4gICAgdGhpcy5pbnB1dENoYW5nZWRFdmVudC5lbWl0KHZhbCk7XG4gIH1cblxuICBvblNlbGVjdCA9IChpdGVtOiBhbnkpID0+IHtcbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICBjb25zdCB2YWwgPSBjb21wb25lbnQudmFsdWU7XG4gICAgaWYgKHZhbCAhPT0gdGhpcy5uZ01vZGVsKSB7XG4gICAgICB0aGlzLm5nTW9kZWwgPSB2YWw7XG4gICAgICB0aGlzLm5nTW9kZWxDaGFuZ2UuZW1pdCh2YWwpO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdEV2ZW50LmVtaXQoaXRlbSk7XG4gICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50KSB7XG4gICAgICB0aGlzLmlucHV0RWxlbWVudC52YWx1ZSA9ICcnICsgdmFsO1xuICAgIH1cbiAgICB0aGlzLmhpZGVBdXRvY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRGl2KCkge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBlbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnaW5saW5lLWJsb2NrJztcbiAgICBlbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ3JlbGF0aXZlJztcbiAgICB0aGlzLnRoaXNFbGVtZW50LnBhcmVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKFxuICAgICAgZWxlbWVudCxcbiAgICAgIHRoaXMudGhpc0VsZW1lbnQubmV4dFNpYmxpbmdcbiAgICApO1xuICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy50aGlzRWxlbWVudCk7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmhpZGVBdXRvY29tcGxldGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVBdXRvY29tcGxldGUoKSB7XG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMucmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoXG4gICAgICBBdXRvY29tcGxldGVDb21wb25lbnRcbiAgICApO1xuICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICBjb21wb25lbnQuY29uZmlnID0gdGhpcy5jb25maWc7XG4gICAgY29tcG9uZW50Lml0ZW1zID0gdGhpcy5pdGVtcztcbiAgICBjb21wb25lbnQuc2VsZWN0RXZlbnQuc3Vic2NyaWJlKHRoaXMub25TZWxlY3QpO1xuICAgIGNvbXBvbmVudC5pbnB1dENoYW5nZWRFdmVudC5zdWJzY3JpYmUodGhpcy5vbklucHV0Q2hhbmdlZCk7XG4gICAgdGhpcy5hdXRvY29tcGxldGVFbGVtZW50ID0gdGhpcy5jb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLmF1dG9jb21wbGV0ZUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICB0aGlzLmlucHV0RWxlbWVudCA9IHRoaXMuZ2V0SW5wdXRFbGVtZW50KCk7XG4gICAgaWYgKHRoaXMudGhpc0VsZW1lbnQudGFnTmFtZSAhPT0gJ0lOUFVUJyAmJiB0aGlzLmF1dG9jb21wbGV0ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnBhcmVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKFxuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUVsZW1lbnQsXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5leHRTaWJsaW5nXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJlc2V0KSB7XG4gICAgICB0aGlzLm5nTW9kZWwgPSAnJztcbiAgICAgIHRoaXMucmVzZXQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLmlucHV0RWxlbWVudC52YWx1ZSA9IHRoaXMubmdNb2RlbCA/IHRoaXMubmdNb2RlbCA6ICcnO1xuICAgIGNvbXBvbmVudC52YWx1ZSA9IHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlO1xuICAgIHRoaXMudGFiSW5kZXggPSB0aGlzLmlucHV0RWxlbWVudFsndGFiSW5kZXgnXTtcbiAgICB0aGlzLmlucHV0RWxlbWVudFsndGFiSW5kZXgnXSA9IC0xMDA7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICBjb25zdCByZWN0ID0gdGhpcy50aGlzRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IHN0eWxlID0gdGhpcy5hdXRvY29tcGxldGVFbGVtZW50LnN0eWxlO1xuICAgICAgc3R5bGUud2lkdGggPSByZWN0LndpZHRoICsgJ3B4JztcbiAgICAgIHN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgIHN0eWxlLnpJbmRleCA9ICcxJztcbiAgICAgIHN0eWxlLnRvcCA9ICcwJztcbiAgICAgIHN0eWxlLmxlZnQgPSAnMCc7XG4gICAgICBzdHlsZS5kaXNwbGF5ID0gJ2lubGluZS1ibG9jayc7XG4gICAgfVxuICB9XG59XG4iXX0= |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
* Generated from: lib/autocomplete.module.ts | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -34,3 +35,2 @@ import { NgModule } from '@angular/core'; | ||
export { AutocompleteModule }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nMi1pbnB1dC1hdXRvY29tcGxldGUvIiwic291cmNlcyI6WyJsaWIvYXV0b2NvbXBsZXRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztJQVMvRSwwQkFBTzs7O0lBQWQ7UUFDRSxPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtTQUM3QixDQUFDO0tBQ0g7O2dCQVhGLFFBQVEsU0FBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO29CQUNwQyxZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxxQkFBcUIsQ0FBQztvQkFDNUQsT0FBTyxFQUFFLENBQUMscUJBQXFCLEVBQUUscUJBQXFCLENBQUM7b0JBQ3ZELGVBQWUsRUFBRSxDQUFDLHFCQUFxQixDQUFDO2lCQUN6Qzs7NkJBVkQ7O1NBV2Esa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUNvbXBvbmVudCwgQXV0b2NvbXBsZXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9hdXRvY29tcGxldGUuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtBdXRvY29tcGxldGVDb21wb25lbnQsIEF1dG9jb21wbGV0ZURpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IFtBdXRvY29tcGxldGVDb21wb25lbnQsIEF1dG9jb21wbGV0ZURpcmVjdGl2ZV0sXG4gIGVudHJ5Q29tcG9uZW50czogW0F1dG9jb21wbGV0ZUNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBdXRvY29tcGxldGVNb2R1bGVcbiAgICB9O1xuICB9XG59XG5cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nMi1pbnB1dC1hdXRvY29tcGxldGUvIiwic291cmNlcyI6WyJsaWIvYXV0b2NvbXBsZXRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFeEY7SUFBQTtJQVlBLENBQUM7Ozs7SUFMUSwwQkFBTzs7O0lBQWQ7UUFDRSxPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtTQUM3QixDQUFDO0lBQ0osQ0FBQzs7Z0JBWEYsUUFBUSxTQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7b0JBQ3BDLFlBQVksRUFBRSxDQUFDLHFCQUFxQixFQUFFLHFCQUFxQixDQUFDO29CQUM1RCxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxxQkFBcUIsQ0FBQztvQkFDdkQsZUFBZSxFQUFFLENBQUMscUJBQXFCLENBQUM7aUJBQ3pDOztJQU9ELHlCQUFDO0NBQUEsQUFaRCxJQVlDO1NBTlksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUNvbXBvbmVudCwgQXV0b2NvbXBsZXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9hdXRvY29tcGxldGUuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtBdXRvY29tcGxldGVDb21wb25lbnQsIEF1dG9jb21wbGV0ZURpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IFtBdXRvY29tcGxldGVDb21wb25lbnQsIEF1dG9jb21wbGV0ZURpcmVjdGl2ZV0sXG4gIGVudHJ5Q29tcG9uZW50czogW0F1dG9jb21wbGV0ZUNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBdXRvY29tcGxldGVNb2R1bGVcbiAgICB9O1xuICB9XG59XG5cbiJdfQ== |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
* Generated from: ng2-input-autocomplete.ts | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -9,3 +10,2 @@ /** | ||
export { AutocompleteComponent, AutocompleteDirective, AutocompleteModule } from './public_api'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyLWlucHV0LWF1dG9jb21wbGV0ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nMi1pbnB1dC1hdXRvY29tcGxldGUvIiwic291cmNlcyI6WyJuZzItaW5wdXQtYXV0b2NvbXBsZXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxpRkFBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyLWlucHV0LWF1dG9jb21wbGV0ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nMi1pbnB1dC1hdXRvY29tcGxldGUvIiwic291cmNlcyI6WyJuZzItaW5wdXQtYXV0b2NvbXBsZXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBSUEsaUZBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19 |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
* Generated from: public_api.ts | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -10,3 +11,2 @@ /* | ||
export { AutocompleteModule } from './lib/autocomplete.module'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nMi1pbnB1dC1hdXRvY29tcGxldGUvIiwic291cmNlcyI6WyJwdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSw2REFBYyw4QkFBOEIsQ0FBQztBQUM3QyxtQ0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYXV0b2NvbXBsZXRlXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdXRvY29tcGxldGUubW9kdWxlJztcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nMi1pbnB1dC1hdXRvY29tcGxldGUvIiwic291cmNlcyI6WyJwdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBSUEsNkRBQWMsOEJBQThCLENBQUM7QUFDN0MsbUNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGF1dG9jb21wbGV0ZVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXV0b2NvbXBsZXRlLm1vZHVsZSc7XG4iXX0= |
@@ -1,2 +0,2 @@ | ||
import { Component, ComponentFactoryResolver, Directive, ElementRef, EventEmitter, HostListener, Input, Output, ViewContainerRef, NgModule } from '@angular/core'; | ||
import { EventEmitter, Component, ElementRef, Input, Output, Directive, ComponentFactoryResolver, ViewContainerRef, HostListener, NgModule } from '@angular/core'; | ||
import { FormsModule } from '@angular/forms'; | ||
@@ -7,3 +7,4 @@ import { CommonModule } from '@angular/common'; | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
* Generated from: lib/autocomplete.component.ts | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -35,3 +36,3 @@ class AutocompleteComponent { | ||
this.placeholder = 'autocomplete'; | ||
this.inputElement = /** @type {?} */ (this.thisElement.querySelector('input')); | ||
this.inputElement = (/** @type {?} */ (this.thisElement.querySelector('input'))); | ||
if (!this.isNull(this.config)) { | ||
@@ -112,5 +113,9 @@ if (!this.isNull(this.config.placeholder)) { | ||
if (this.items) { | ||
this.candidates = this.items.filter(item => { | ||
this.candidates = this.items.filter((/** | ||
* @param {?} item | ||
* @return {?} | ||
*/ | ||
item => { | ||
return filterItem(item, field, search); | ||
}); | ||
})); | ||
if (this.maxLimit > 0) { | ||
@@ -123,2 +128,3 @@ this.candidates = this.candidates.slice(0, this.maxLimit); | ||
/** | ||
* @private | ||
* @param {?} object | ||
@@ -135,3 +141,7 @@ * @param {?} path | ||
let result = object; | ||
path.forEach((element) => { | ||
path.forEach((/** | ||
* @param {?} element | ||
* @return {?} | ||
*/ | ||
(element) => { | ||
if (result !== null && | ||
@@ -146,3 +156,3 @@ result !== undefined && | ||
} | ||
}); | ||
})); | ||
return result; | ||
@@ -155,2 +165,3 @@ } | ||
/** | ||
* @private | ||
* @param {?} object | ||
@@ -163,2 +174,3 @@ * @return {?} | ||
/** | ||
* @private | ||
* @return {?} | ||
@@ -171,5 +183,10 @@ */ | ||
const getFieldValue = this.getFieldValue; | ||
this.candidatesLabels = this.candidates.map((e) => getFieldValue(e, field)); | ||
this.candidatesLabels = this.candidates.map((/** | ||
* @param {?} e | ||
* @return {?} | ||
*/ | ||
(e) => getFieldValue(e, field))); | ||
} | ||
/** | ||
* @private | ||
* @param {?} item | ||
@@ -191,3 +208,7 @@ * @param {?} path | ||
result = item; | ||
path.forEach((element) => { | ||
path.forEach((/** | ||
* @param {?} element | ||
* @return {?} | ||
*/ | ||
(element) => { | ||
if (result !== null && | ||
@@ -202,3 +223,3 @@ result !== undefined && | ||
} | ||
}); | ||
})); | ||
} | ||
@@ -276,2 +297,40 @@ else { | ||
}; | ||
if (false) { | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.classList; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.items; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.config; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.selectEvent; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.inputChangedEvent; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.inputElement; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.value; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.candidates; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.candidatesLabels; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.selectedIndex; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.showAutoComplete; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.placeholder; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.maxLimit; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteComponent.prototype.sourceField; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteComponent.prototype.thisElement; | ||
} | ||
class AutocompleteDirective { | ||
@@ -289,3 +348,7 @@ /** | ||
this.reset = false; | ||
this.hideAutocomplete = (event) => { | ||
this.hideAutocomplete = (/** | ||
* @param {?=} event | ||
* @return {?} | ||
*/ | ||
(event) => { | ||
if (!this.componentRef) { | ||
@@ -305,4 +368,8 @@ return; | ||
} | ||
}; | ||
this.onInputChanged = (val) => { | ||
}); | ||
this.onInputChanged = (/** | ||
* @param {?} val | ||
* @return {?} | ||
*/ | ||
(val) => { | ||
this.inputElement.value = val; | ||
@@ -317,4 +384,8 @@ if (val !== this.ngModel) { | ||
this.inputChangedEvent.emit(val); | ||
}; | ||
this.onSelect = (item) => { | ||
}); | ||
this.onSelect = (/** | ||
* @param {?} item | ||
* @return {?} | ||
*/ | ||
(item) => { | ||
/** @type {?} */ | ||
@@ -333,3 +404,3 @@ const component = this.componentRef.instance; | ||
this.hideAutocomplete(); | ||
}; | ||
}); | ||
this.thisElement = this.viewContainerRef.element.nativeElement; | ||
@@ -375,10 +446,16 @@ } | ||
if (this.control) { | ||
this.control.valueChanges.subscribe(() => { | ||
this.control.valueChanges.subscribe((/** | ||
* @return {?} | ||
*/ | ||
() => { | ||
this.reset = true; | ||
}); | ||
})); | ||
} | ||
if (input.form) { | ||
input.form.addEventListener('reset', () => { | ||
input.form.addEventListener('reset', (/** | ||
* @return {?} | ||
*/ | ||
() => { | ||
this.reset = true; | ||
}); | ||
})); | ||
} | ||
@@ -401,5 +478,5 @@ } | ||
/** @type {?} */ | ||
let input = /** @type {?} */ (this.thisElement); | ||
let input = (/** @type {?} */ (this.thisElement)); | ||
if (this.thisElement.tagName !== 'INPUT' && this.autocompleteElement) { | ||
input = /** @type {?} */ (this.thisElement.querySelector('input')); | ||
input = (/** @type {?} */ (this.thisElement.querySelector('input'))); | ||
} | ||
@@ -409,2 +486,3 @@ return input; | ||
/** | ||
* @private | ||
* @return {?} | ||
@@ -422,2 +500,3 @@ */ | ||
/** | ||
* @private | ||
* @return {?} | ||
@@ -484,6 +563,66 @@ */ | ||
}; | ||
if (false) { | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.config; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.items; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.ngModel; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.control; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.ngModelChange; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.inputChangedEvent; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.selectEvent; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.componentRef; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.thisElement; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.autocompleteElement; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.inputElement; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.tabIndex; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.reset; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.hideAutocomplete; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.onInputChanged; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.onSelect; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.resolver; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.viewContainerRef; | ||
} | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
* Generated from: lib/autocomplete.module.ts | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -511,3 +650,4 @@ class AutocompleteModule { | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
* Generated from: public_api.ts | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -517,7 +657,7 @@ | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
* Generated from: ng2-input-autocomplete.ts | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
export { AutocompleteComponent, AutocompleteDirective, AutocompleteModule }; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyLWlucHV0LWF1dG9jb21wbGV0ZS5qcy5tYXAiLCJzb3VyY2VzIjpbIm5nOi8vbmcyLWlucHV0LWF1dG9jb21wbGV0ZS9saWIvYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIm5nOi8vbmcyLWlucHV0LWF1dG9jb21wbGV0ZS9saWIvYXV0b2NvbXBsZXRlLm1vZHVsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICBNSVQgTElDRU5TRSBAbGl1eTk3XG4qL1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIENvbXBvbmVudFJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBIb3N0QmluZGluZ1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZVxuICBzZWxlY3RvcjogJ25nMi1pbnB1dC1hdXRvY29tcGxldGUnLFxuICB0ZW1wbGF0ZTogYFxuICA8ZGl2IFtuZ0NsYXNzXT1cImNsYXNzTGlzdFwiPlxuICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICBwbGFjZWhvbGRlcj1cInt7cGxhY2Vob2xkZXJ9fVwiXG4gICAgICAoYmx1cik9XCJzaG93QXV0b0NvbXBsZXRlID0gZmFsc2U7XCJcbiAgICAgIChmb2N1cyk9XCJzaG93QXV0b0NvbXBsZXRlID0gdHJ1ZTtcIlxuICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgIChrZXl1cCk9XCJlbnRlclRleHQoJGV2ZW50KVwiPlxuICAgIDx1bCAqbmdJZj1cInNob3dBdXRvQ29tcGxldGUgJiYgY2FuZGlkYXRlcyAmJiBjYW5kaWRhdGVzLmxlbmd0aCA+IDBcIj5cbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgY2FuZGlkYXRlIG9mIGNhbmRpZGF0ZXM7IGxldCBpZHggPSBpbmRleFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgYWN0aXZlOiAoaWR4ID09PSBzZWxlY3RlZEluZGV4KSB9XCJcbiAgICAgICAgKGtleXVwKT1cIm9uS2V5VXBFdmVudCgkZXZlbnQsIGlkeClcIlxuICAgICAgICAobW91c2VvdmVyKT1cInNlbGVjdGVkSW5kZXggPSBpZHg7XCJcbiAgICAgICAgKG1vdXNlZG93bik9XCJvblNlbGVjdChpZHgpXCI+XG4gICAgICAgIHt7Y2FuZGlkYXRlc0xhYmVsc1tpZHhdfX1cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgPC9kaXY+YCxcbiAgc3R5bGVzOiBbXG4gICAgYC5hdXRvY29tcGxldGUgdWwge1xuICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICBsZWZ0OiAwO1xuICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzg4ODtcbiAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjODg4O1xuICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjODg4O1xuICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgei1pbmRleDogMTAwO1xuICAgICB9XG4gICAgIC5hdXRvY29tcGxldGUgbGkge1xuICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICBwYWRkaW5nOiAwLjRlbSAwIDAuNGVtIDA7XG4gICAgIH1cbiAgICAgLmF1dG9jb21wbGV0ZSBsaS5hY3RpdmUge1xuICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0YmY7XG4gICAgIH1cblxuICAgICAuYXV0b2NvbXBsZXRlIC5oaWdobGlnaHQge1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMmUyZTI7XG4gICAgIH1cbiAgICAgLmF1dG9jb21wbGV0ZSBsaS5hY3RpdmUgLmhpZ2hsaWdodCB7XG4gICAgICAgYmFja2dyb3VuZDogIzY2NjtcbiAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgfWBcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBdXRvY29tcGxldGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIGNsYXNzTGlzdCA9ICdhdXRvY29tcGxldGUnO1xuICBASW5wdXQoKSBpdGVtczogYW55W107XG4gIEBJbnB1dCgpIGNvbmZpZzogYW55O1xuICBAT3V0cHV0KCkgc2VsZWN0RXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBpbnB1dENoYW5nZWRFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50O1xuICB2YWx1ZTogc3RyaW5nO1xuICBjYW5kaWRhdGVzOiBhbnlbXTtcbiAgY2FuZGlkYXRlc0xhYmVsczogYW55W107XG4gIHNlbGVjdGVkSW5kZXg6IG51bWJlcjtcbiAgc2hvd0F1dG9Db21wbGV0ZTogYm9vbGVhbjtcbiAgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgbWF4TGltaXQgPSAwO1xuICBwcml2YXRlIHNvdXJjZUZpZWxkOiBhbnk7XG4gIHByaXZhdGUgdGhpc0VsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLnRoaXNFbGVtZW50ID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IDA7XG4gICAgdGhpcy5zaG93QXV0b0NvbXBsZXRlID0gZmFsc2U7XG4gICAgdGhpcy52YWx1ZSA9ICcnO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnICYmIHRoaXMuY29uZmlnLmNsYXNzKSB7XG4gICAgICB0aGlzLmNsYXNzTGlzdCArPSAnICcgKyB0aGlzLmNvbmZpZy5jbGFzcztcbiAgICB9XG4gICAgaWYgKHRoaXMuY29uZmlnICYmIHRoaXMuY29uZmlnLm1heCA+IDApIHtcbiAgICAgIHRoaXMubWF4TGltaXQgPSB0aGlzLmNvbmZpZy5tYXg7XG4gICAgfVxuICAgIHRoaXMucGxhY2Vob2xkZXIgPSAnYXV0b2NvbXBsZXRlJztcbiAgICB0aGlzLmlucHV0RWxlbWVudCA9IHRoaXMudGhpc0VsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICdpbnB1dCdcbiAgICApIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICBpZiAoIXRoaXMuaXNOdWxsKHRoaXMuY29uZmlnKSkge1xuICAgICAgaWYgKCF0aGlzLmlzTnVsbCh0aGlzLmNvbmZpZy5wbGFjZWhvbGRlcikpIHtcbiAgICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IHRoaXMuY29uZmlnLnBsYWNlaG9sZGVyO1xuICAgICAgfVxuICAgICAgaWYgKCF0aGlzLmlzTnVsbCh0aGlzLmNvbmZpZy5zb3VyY2VGaWVsZCkpIHtcbiAgICAgICAgdGhpcy5zb3VyY2VGaWVsZCA9IHRoaXMuY29uZmlnLnNvdXJjZUZpZWxkO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmZpbHRlckl0ZW1zKHRoaXMudmFsdWUpO1xuICAgIHRoaXMuaW5wdXRFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLmZpbHRlckl0ZW1zKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgZW50ZXJUZXh0KGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCB0b3RhbCA9IHRoaXMuY2FuZGlkYXRlcy5sZW5ndGg7XG4gICAgc3dpdGNoIChldmVudC5rZXlDb2RlKSB7XG4gICAgICBjYXNlIDI3OlxuICAgICAgICB0aGlzLnNob3dBdXRvQ29tcGxldGUgPSBmYWxzZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDM4OlxuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSAodG90YWwgKyB0aGlzLnNlbGVjdGVkSW5kZXggLSAxKSAlIHRvdGFsO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgNDA6XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9ICh0b3RhbCArIHRoaXMuc2VsZWN0ZWRJbmRleCArIDEpICUgdG90YWw7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAxMzpcbiAgICAgICAgaWYgKHRoaXMuY2FuZGlkYXRlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5vblNlbGVjdCh0aGlzLnNlbGVjdGVkSW5kZXgpO1xuICAgICAgICB9XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy52YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgICAgdGhpcy5pbnB1dENoYW5nZWRFdmVudC5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBvblNlbGVjdChpZHg6IG51bWJlcikge1xuICAgIHRoaXMuc2hvd0F1dG9Db21wbGV0ZSA9IGZhbHNlO1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLmNhbmRpZGF0ZXNMYWJlbHNbaWR4XTtcbiAgICB0aGlzLnNlbGVjdEV2ZW50LmVtaXQodGhpcy5jYW5kaWRhdGVzW2lkeF0pO1xuICB9XG5cbiAgb25LZXlVcEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpZHg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXlDb2RlID09PSAxMykge1xuICAgICAgdGhpcy5vblNlbGVjdChpZHgpO1xuICAgIH1cbiB9XG5cbiAgZmlsdGVySXRlbXMoc2VhcmNoOiBzdHJpbmcpIHtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuc291cmNlRmllbGQ7XG4gICAgY29uc3QgZmlsdGVySXRlbSA9IHRoaXMuZmlsdGVySXRlbTtcbiAgICBpZiAodGhpcy5pdGVtcykge1xuICAgICAgdGhpcy5jYW5kaWRhdGVzID0gdGhpcy5pdGVtcy5maWx0ZXIoaXRlbSA9PiB7XG4gICAgICAgIHJldHVybiBmaWx0ZXJJdGVtKGl0ZW0sIGZpZWxkLCBzZWFyY2gpO1xuICAgICAgfSk7XG4gICAgICBpZiAodGhpcy5tYXhMaW1pdCA+IDApIHtcbiAgICAgICAgdGhpcy5jYW5kaWRhdGVzID0gdGhpcy5jYW5kaWRhdGVzLnNsaWNlKDAsIHRoaXMubWF4TGltaXQpO1xuICAgICAgfVxuICAgICAgdGhpcy5idWlsZExhYmVscygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmllbGRWYWx1ZShvYmplY3Q6IGFueSwgcGF0aDogYW55KSB7XG4gICAgaWYgKHR5cGVvZiBvYmplY3QgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gb2JqZWN0O1xuICAgIH1cbiAgICBpZiAocGF0aCBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICBsZXQgcmVzdWx0OiBhbnkgPSBvYmplY3Q7XG4gICAgICBwYXRoLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgcmVzdWx0ICE9PSBudWxsICYmXG4gICAgICAgICAgcmVzdWx0ICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICByZXN1bHRbZWxlbWVudF0gIT09IG51bGwgJiZcbiAgICAgICAgICByZXN1bHRbZWxlbWVudF0gIT09IHVuZGVmaW5lZFxuICAgICAgICApIHtcbiAgICAgICAgICByZXN1bHQgPSByZXN1bHRbZWxlbWVudF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzdWx0ID0gJyc7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9iamVjdFtwYXRoXSB8fCAnJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzTnVsbChvYmplY3Q6IGFueSkge1xuICAgIHJldHVybiBvYmplY3QgPT09IG51bGwgfHwgb2JqZWN0ID09PSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkTGFiZWxzKCkge1xuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5zb3VyY2VGaWVsZDtcbiAgICBjb25zdCBnZXRGaWVsZFZhbHVlID0gdGhpcy5nZXRGaWVsZFZhbHVlO1xuICAgIHRoaXMuY2FuZGlkYXRlc0xhYmVscyA9IHRoaXMuY2FuZGlkYXRlcy5tYXAoKGU6IGFueSkgPT5cbiAgICAgIGdldEZpZWxkVmFsdWUoZSwgZmllbGQpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVySXRlbShpdGVtOiBhbnksIHBhdGg6IGFueSwgc2VhcmNoOiBzdHJpbmcpIHtcbiAgICBpZiAoc2VhcmNoID09PSBudWxsIHx8IHNlYXJjaCA9PT0gdW5kZWZpbmVkIHx8IHNlYXJjaC5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBsZXQgcmVzdWx0OiBhbnk7XG4gICAgaWYgKHR5cGVvZiBpdGVtID09PSAnc3RyaW5nJykge1xuICAgICAgcmVzdWx0ID0gaXRlbTtcbiAgICB9IGVsc2UgaWYgKHBhdGggaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgcmVzdWx0ID0gaXRlbTtcbiAgICAgIHBhdGguZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICByZXN1bHQgIT09IG51bGwgJiZcbiAgICAgICAgICByZXN1bHQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIHJlc3VsdFtlbGVtZW50XSAhPT0gbnVsbCAmJlxuICAgICAgICAgIHJlc3VsdFtlbGVtZW50XSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICkge1xuICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdFtlbGVtZW50XTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXN1bHQgPSAnJztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IGl0ZW1bcGF0aF0gfHwgJyc7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaC50b0xvd2VyQ2FzZSgpKSA+PSAwO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgc2VsZWN0b3I6ICdbaW5wdXQtYXV0b2NvbXBsZXRlXSdcbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIGNvbmZpZzogYW55O1xuICBASW5wdXQoKSBpdGVtczogYW55O1xuICBASW5wdXQoKSBuZ01vZGVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbnRyb2w6IEZvcm1Db250cm9sO1xuICBAT3V0cHV0KCkgbmdNb2RlbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGlucHV0Q2hhbmdlZEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgc2VsZWN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxBdXRvY29tcGxldGVDb21wb25lbnQ+O1xuICBwcml2YXRlIHRoaXNFbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBhdXRvY29tcGxldGVFbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBpbnB1dEVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gIHByaXZhdGUgdGFiSW5kZXg6IG51bWJlcjtcbiAgcHJpdmF0ZSByZXNldCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZlxuICApIHtcbiAgICB0aGlzLnRoaXNFbGVtZW50ID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnRoaXNFbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2Zvcm0nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY3JlYXRlRGl2KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnNlbGVjdEV2ZW50LnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5pbnB1dENoYW5nZWRFdmVudC51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuaGlkZUF1dG9jb21wbGV0ZSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiB7IFtwcm9wS2V5OiBzdHJpbmddOiBTaW1wbGVDaGFuZ2UgfSkge1xuICAgIGlmIChjaGFuZ2VzWydpdGVtcyddICYmIHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICAgIGNvbXBvbmVudC5pdGVtcyA9IGNoYW5nZXNbJ2l0ZW1zJ10uY3VycmVudFZhbHVlO1xuICAgICAgY29tcG9uZW50LmZpbHRlckl0ZW1zKGNvbXBvbmVudC52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5nZXRJbnB1dEVsZW1lbnQoKTtcbiAgICBpZiAodGhpcy5jb250cm9sKSB7XG4gICAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVzZXQgPSB0cnVlO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChpbnB1dC5mb3JtKSB7XG4gICAgICBpbnB1dC5mb3JtLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2V0JywgKCkgPT4ge1xuICAgICAgICB0aGlzLnJlc2V0ID0gdHJ1ZTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJywgWyckZXZlbnQudGFyZ2V0J10pXG4gIHNob3dBdXRvY29tcGxldGUoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuaGlkZUF1dG9jb21wbGV0ZSgpO1xuICAgIGlmIChldmVudCA9PT0gdGhpcy50aGlzRWxlbWVudCkge1xuICAgICAgdGhpcy5jcmVhdGVBdXRvY29tcGxldGUoKTtcbiAgICB9XG4gIH1cblxuICBnZXRJbnB1dEVsZW1lbnQoKSB7XG4gICAgbGV0IGlucHV0ID0gdGhpcy50aGlzRWxlbWVudCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuXG4gICAgaWYgKHRoaXMudGhpc0VsZW1lbnQudGFnTmFtZSAhPT0gJ0lOUFVUJyAmJiB0aGlzLmF1dG9jb21wbGV0ZUVsZW1lbnQpIHtcbiAgICAgIGlucHV0ID0gdGhpcy50aGlzRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAnaW5wdXQnXG4gICAgICApIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIGlucHV0O1xuICB9XG5cbiAgaGlkZUF1dG9jb21wbGV0ZSA9IChldmVudD86IGFueSk6IHZvaWQgPT4ge1xuICAgIGlmICghdGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGV2ZW50ICYmIGV2ZW50LnRhcmdldCAmJiB0aGlzLnRoaXNFbGVtZW50ICYmIGV2ZW50LnRhcmdldCA9PT0gdGhpcy50aGlzRWxlbWVudC5wYXJlbnRFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChcbiAgICAgICFldmVudCB8fFxuICAgICAgKGV2ZW50LnRhcmdldCAhPT0gdGhpcy50aGlzRWxlbWVudCAmJiBldmVudC50eXBlID09PSAnY2xpY2snKVxuICAgICkge1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLmlucHV0RWxlbWVudFsndGFiSW5kZXgnXSA8IDApIHtcbiAgICAgIHRoaXMuaW5wdXRFbGVtZW50Wyd0YWJJbmRleCddID0gdGhpcy50YWJJbmRleDtcbiAgICB9XG4gIH1cblxuICBvbklucHV0Q2hhbmdlZCA9ICh2YWw6IHN0cmluZykgPT4ge1xuICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlID0gdmFsO1xuICAgIGlmICh2YWwgIT09IHRoaXMubmdNb2RlbCkge1xuICAgICAgdGhpcy5uZ01vZGVsID0gdmFsO1xuICAgICAgdGhpcy5uZ01vZGVsQ2hhbmdlLmVtaXQodmFsKTtcbiAgICB9XG4gICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgY29tcG9uZW50LmZpbHRlckl0ZW1zKHZhbCk7XG4gICAgdGhpcy5pbnB1dENoYW5nZWRFdmVudC5lbWl0KHZhbCk7XG4gIH1cblxuICBvblNlbGVjdCA9IChpdGVtOiBhbnkpID0+IHtcbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICBjb25zdCB2YWwgPSBjb21wb25lbnQudmFsdWU7XG4gICAgaWYgKHZhbCAhPT0gdGhpcy5uZ01vZGVsKSB7XG4gICAgICB0aGlzLm5nTW9kZWwgPSB2YWw7XG4gICAgICB0aGlzLm5nTW9kZWxDaGFuZ2UuZW1pdCh2YWwpO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdEV2ZW50LmVtaXQoaXRlbSk7XG4gICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50KSB7XG4gICAgICB0aGlzLmlucHV0RWxlbWVudC52YWx1ZSA9ICcnICsgdmFsO1xuICAgIH1cbiAgICB0aGlzLmhpZGVBdXRvY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRGl2KCkge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBlbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnaW5saW5lLWJsb2NrJztcbiAgICBlbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ3JlbGF0aXZlJztcbiAgICB0aGlzLnRoaXNFbGVtZW50LnBhcmVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKFxuICAgICAgZWxlbWVudCxcbiAgICAgIHRoaXMudGhpc0VsZW1lbnQubmV4dFNpYmxpbmdcbiAgICApO1xuICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy50aGlzRWxlbWVudCk7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmhpZGVBdXRvY29tcGxldGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVBdXRvY29tcGxldGUoKSB7XG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMucmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoXG4gICAgICBBdXRvY29tcGxldGVDb21wb25lbnRcbiAgICApO1xuICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICBjb21wb25lbnQuY29uZmlnID0gdGhpcy5jb25maWc7XG4gICAgY29tcG9uZW50Lml0ZW1zID0gdGhpcy5pdGVtcztcbiAgICBjb21wb25lbnQuc2VsZWN0RXZlbnQuc3Vic2NyaWJlKHRoaXMub25TZWxlY3QpO1xuICAgIGNvbXBvbmVudC5pbnB1dENoYW5nZWRFdmVudC5zdWJzY3JpYmUodGhpcy5vbklucHV0Q2hhbmdlZCk7XG4gICAgdGhpcy5hdXRvY29tcGxldGVFbGVtZW50ID0gdGhpcy5jb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLmF1dG9jb21wbGV0ZUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICB0aGlzLmlucHV0RWxlbWVudCA9IHRoaXMuZ2V0SW5wdXRFbGVtZW50KCk7XG4gICAgaWYgKHRoaXMudGhpc0VsZW1lbnQudGFnTmFtZSAhPT0gJ0lOUFVUJyAmJiB0aGlzLmF1dG9jb21wbGV0ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnBhcmVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKFxuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUVsZW1lbnQsXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5leHRTaWJsaW5nXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJlc2V0KSB7XG4gICAgICB0aGlzLm5nTW9kZWwgPSAnJztcbiAgICAgIHRoaXMucmVzZXQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLmlucHV0RWxlbWVudC52YWx1ZSA9IHRoaXMubmdNb2RlbCA/IHRoaXMubmdNb2RlbCA6ICcnO1xuICAgIGNvbXBvbmVudC52YWx1ZSA9IHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlO1xuICAgIHRoaXMudGFiSW5kZXggPSB0aGlzLmlucHV0RWxlbWVudFsndGFiSW5kZXgnXTtcbiAgICB0aGlzLmlucHV0RWxlbWVudFsndGFiSW5kZXgnXSA9IC0xMDA7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICBjb25zdCByZWN0ID0gdGhpcy50aGlzRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IHN0eWxlID0gdGhpcy5hdXRvY29tcGxldGVFbGVtZW50LnN0eWxlO1xuICAgICAgc3R5bGUud2lkdGggPSByZWN0LndpZHRoICsgJ3B4JztcbiAgICAgIHN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgIHN0eWxlLnpJbmRleCA9ICcxJztcbiAgICAgIHN0eWxlLnRvcCA9ICcwJztcbiAgICAgIHN0eWxlLmxlZnQgPSAnMCc7XG4gICAgICBzdHlsZS5kaXNwbGF5ID0gJ2lubGluZS1ibG9jayc7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlQ29tcG9uZW50LCBBdXRvY29tcGxldGVEaXJlY3RpdmUgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW0F1dG9jb21wbGV0ZUNvbXBvbmVudCwgQXV0b2NvbXBsZXRlRGlyZWN0aXZlXSxcbiAgZXhwb3J0czogW0F1dG9jb21wbGV0ZUNvbXBvbmVudCwgQXV0b2NvbXBsZXRlRGlyZWN0aXZlXSxcbiAgZW50cnlDb21wb25lbnRzOiBbQXV0b2NvbXBsZXRlQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBBdXRvY29tcGxldGVNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEF1dG9jb21wbGV0ZU1vZHVsZVxuICAgIH07XG4gIH1cbn1cblxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBR0E7Ozs7SUE0RkUsWUFBWSxVQUFzQjt5QkFoQnRCLGNBQWM7MkJBR2lCLElBQUksWUFBWSxFQUFPO2lDQUNqQixJQUFJLFlBQVksRUFBTzt3QkFRN0QsQ0FBQztRQUtWLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUM1QyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO0tBQ2pCOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtZQUNwQyxJQUFJLENBQUMsU0FBUyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztTQUMzQztRQUNELElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztTQUNqQztRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsY0FBYyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxZQUFZLHFCQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUNoRCxPQUFPLENBQ1ksQ0FBQSxDQUFDO1FBRXRCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM3QixJQUFJLENBQUMs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 | ||
//# sourceMappingURL=ng2-input-autocomplete.js.map |
@@ -1,2 +0,2 @@ | ||
import { Component, ComponentFactoryResolver, Directive, ElementRef, EventEmitter, HostListener, Input, Output, ViewContainerRef, NgModule } from '@angular/core'; | ||
import { EventEmitter, Component, ElementRef, Input, Output, Directive, ComponentFactoryResolver, ViewContainerRef, HostListener, NgModule } from '@angular/core'; | ||
import { FormsModule } from '@angular/forms'; | ||
@@ -7,3 +7,4 @@ import { CommonModule } from '@angular/common'; | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
* Generated from: lib/autocomplete.component.ts | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -35,3 +36,3 @@ var AutocompleteComponent = /** @class */ (function () { | ||
this.placeholder = 'autocomplete'; | ||
this.inputElement = /** @type {?} */ (this.thisElement.querySelector('input')); | ||
this.inputElement = (/** @type {?} */ (this.thisElement.querySelector('input'))); | ||
if (!this.isNull(this.config)) { | ||
@@ -132,5 +133,9 @@ if (!this.isNull(this.config.placeholder)) { | ||
if (this.items) { | ||
this.candidates = this.items.filter(function (item) { | ||
this.candidates = this.items.filter((/** | ||
* @param {?} item | ||
* @return {?} | ||
*/ | ||
function (item) { | ||
return filterItem(item, field, search); | ||
}); | ||
})); | ||
if (this.maxLimit > 0) { | ||
@@ -143,2 +148,3 @@ this.candidates = this.candidates.slice(0, this.maxLimit); | ||
/** | ||
* @private | ||
* @param {?} object | ||
@@ -149,2 +155,3 @@ * @param {?} path | ||
AutocompleteComponent.prototype.getFieldValue = /** | ||
* @private | ||
* @param {?} object | ||
@@ -161,3 +168,7 @@ * @param {?} path | ||
var result_1 = object; | ||
path.forEach(function (element) { | ||
path.forEach((/** | ||
* @param {?} element | ||
* @return {?} | ||
*/ | ||
function (element) { | ||
if (result_1 !== null && | ||
@@ -172,3 +183,3 @@ result_1 !== undefined && | ||
} | ||
}); | ||
})); | ||
return result_1; | ||
@@ -181,2 +192,3 @@ } | ||
/** | ||
* @private | ||
* @param {?} object | ||
@@ -186,2 +198,3 @@ * @return {?} | ||
AutocompleteComponent.prototype.isNull = /** | ||
* @private | ||
* @param {?} object | ||
@@ -194,5 +207,7 @@ * @return {?} | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
AutocompleteComponent.prototype.buildLabels = /** | ||
* @private | ||
* @return {?} | ||
@@ -205,7 +220,12 @@ */ | ||
var getFieldValue = this.getFieldValue; | ||
this.candidatesLabels = this.candidates.map(function (e) { | ||
this.candidatesLabels = this.candidates.map((/** | ||
* @param {?} e | ||
* @return {?} | ||
*/ | ||
function (e) { | ||
return getFieldValue(e, field); | ||
}); | ||
})); | ||
}; | ||
/** | ||
* @private | ||
* @param {?} item | ||
@@ -217,2 +237,3 @@ * @param {?} path | ||
AutocompleteComponent.prototype.filterItem = /** | ||
* @private | ||
* @param {?} item | ||
@@ -234,3 +255,7 @@ * @param {?} path | ||
result = item; | ||
path.forEach(function (element) { | ||
path.forEach((/** | ||
* @param {?} element | ||
* @return {?} | ||
*/ | ||
function (element) { | ||
if (result !== null && | ||
@@ -245,3 +270,3 @@ result !== undefined && | ||
} | ||
}); | ||
})); | ||
} | ||
@@ -273,2 +298,40 @@ else { | ||
}()); | ||
if (false) { | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.classList; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.items; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.config; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.selectEvent; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.inputChangedEvent; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.inputElement; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.value; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.candidates; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.candidatesLabels; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.selectedIndex; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.showAutoComplete; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.placeholder; | ||
/** @type {?} */ | ||
AutocompleteComponent.prototype.maxLimit; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteComponent.prototype.sourceField; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteComponent.prototype.thisElement; | ||
} | ||
var AutocompleteDirective = /** @class */ (function () { | ||
@@ -283,3 +346,7 @@ function AutocompleteDirective(resolver, viewContainerRef) { | ||
this.reset = false; | ||
this.hideAutocomplete = function (event) { | ||
this.hideAutocomplete = (/** | ||
* @param {?=} event | ||
* @return {?} | ||
*/ | ||
function (event) { | ||
if (!_this.componentRef) { | ||
@@ -299,4 +366,8 @@ return; | ||
} | ||
}; | ||
this.onInputChanged = function (val) { | ||
}); | ||
this.onInputChanged = (/** | ||
* @param {?} val | ||
* @return {?} | ||
*/ | ||
function (val) { | ||
_this.inputElement.value = val; | ||
@@ -311,4 +382,8 @@ if (val !== _this.ngModel) { | ||
_this.inputChangedEvent.emit(val); | ||
}; | ||
this.onSelect = function (item) { | ||
}); | ||
this.onSelect = (/** | ||
* @param {?} item | ||
* @return {?} | ||
*/ | ||
function (item) { | ||
/** @type {?} */ | ||
@@ -327,3 +402,3 @@ var component = _this.componentRef.instance; | ||
_this.hideAutocomplete(); | ||
}; | ||
}); | ||
this.thisElement = this.viewContainerRef.element.nativeElement; | ||
@@ -383,10 +458,16 @@ } | ||
if (this.control) { | ||
this.control.valueChanges.subscribe(function () { | ||
this.control.valueChanges.subscribe((/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
_this.reset = true; | ||
}); | ||
})); | ||
} | ||
if (input.form) { | ||
input.form.addEventListener('reset', function () { | ||
input.form.addEventListener('reset', (/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
_this.reset = true; | ||
}); | ||
})); | ||
} | ||
@@ -416,5 +497,5 @@ }; | ||
/** @type {?} */ | ||
var input = /** @type {?} */ (this.thisElement); | ||
var input = (/** @type {?} */ (this.thisElement)); | ||
if (this.thisElement.tagName !== 'INPUT' && this.autocompleteElement) { | ||
input = /** @type {?} */ (this.thisElement.querySelector('input')); | ||
input = (/** @type {?} */ (this.thisElement.querySelector('input'))); | ||
} | ||
@@ -424,5 +505,7 @@ return input; | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
AutocompleteDirective.prototype.createDiv = /** | ||
* @private | ||
* @return {?} | ||
@@ -440,5 +523,7 @@ */ | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
AutocompleteDirective.prototype.createAutocomplete = /** | ||
* @private | ||
* @return {?} | ||
@@ -506,6 +591,66 @@ */ | ||
}()); | ||
if (false) { | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.config; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.items; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.ngModel; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.control; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.ngModelChange; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.inputChangedEvent; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.selectEvent; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.componentRef; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.thisElement; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.autocompleteElement; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.inputElement; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.tabIndex; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.reset; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.hideAutocomplete; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.onInputChanged; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.onSelect; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
AutocompleteDirective.prototype.resolver; | ||
/** @type {?} */ | ||
AutocompleteDirective.prototype.viewContainerRef; | ||
} | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
* Generated from: lib/autocomplete.module.ts | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -539,3 +684,4 @@ var AutocompleteModule = /** @class */ (function () { | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
* Generated from: public_api.ts | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -545,7 +691,7 @@ | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
* Generated from: ng2-input-autocomplete.ts | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
export { AutocompleteComponent, AutocompleteDirective, AutocompleteModule }; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyLWlucHV0LWF1dG9jb21wbGV0ZS5qcy5tYXAiLCJzb3VyY2VzIjpbIm5nOi8vbmcyLWlucHV0LWF1dG9jb21wbGV0ZS9saWIvYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIm5nOi8vbmcyLWlucHV0LWF1dG9jb21wbGV0ZS9saWIvYXV0b2NvbXBsZXRlLm1vZHVsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICBNSVQgTElDRU5TRSBAbGl1eTk3XG4qL1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIENvbXBvbmVudFJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBIb3N0QmluZGluZ1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZVxuICBzZWxlY3RvcjogJ25nMi1pbnB1dC1hdXRvY29tcGxldGUnLFxuICB0ZW1wbGF0ZTogYFxuICA8ZGl2IFtuZ0NsYXNzXT1cImNsYXNzTGlzdFwiPlxuICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICBwbGFjZWhvbGRlcj1cInt7cGxhY2Vob2xkZXJ9fVwiXG4gICAgICAoYmx1cik9XCJzaG93QXV0b0NvbXBsZXRlID0gZmFsc2U7XCJcbiAgICAgIChmb2N1cyk9XCJzaG93QXV0b0NvbXBsZXRlID0gdHJ1ZTtcIlxuICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgIChrZXl1cCk9XCJlbnRlclRleHQoJGV2ZW50KVwiPlxuICAgIDx1bCAqbmdJZj1cInNob3dBdXRvQ29tcGxldGUgJiYgY2FuZGlkYXRlcyAmJiBjYW5kaWRhdGVzLmxlbmd0aCA+IDBcIj5cbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgY2FuZGlkYXRlIG9mIGNhbmRpZGF0ZXM7IGxldCBpZHggPSBpbmRleFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgYWN0aXZlOiAoaWR4ID09PSBzZWxlY3RlZEluZGV4KSB9XCJcbiAgICAgICAgKGtleXVwKT1cIm9uS2V5VXBFdmVudCgkZXZlbnQsIGlkeClcIlxuICAgICAgICAobW91c2VvdmVyKT1cInNlbGVjdGVkSW5kZXggPSBpZHg7XCJcbiAgICAgICAgKG1vdXNlZG93bik9XCJvblNlbGVjdChpZHgpXCI+XG4gICAgICAgIHt7Y2FuZGlkYXRlc0xhYmVsc1tpZHhdfX1cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgPC9kaXY+YCxcbiAgc3R5bGVzOiBbXG4gICAgYC5hdXRvY29tcGxldGUgdWwge1xuICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICBsZWZ0OiAwO1xuICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzg4ODtcbiAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjODg4O1xuICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjODg4O1xuICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgei1pbmRleDogMTAwO1xuICAgICB9XG4gICAgIC5hdXRvY29tcGxldGUgbGkge1xuICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICBwYWRkaW5nOiAwLjRlbSAwIDAuNGVtIDA7XG4gICAgIH1cbiAgICAgLmF1dG9jb21wbGV0ZSBsaS5hY3RpdmUge1xuICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0YmY7XG4gICAgIH1cblxuICAgICAuYXV0b2NvbXBsZXRlIC5oaWdobGlnaHQge1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMmUyZTI7XG4gICAgIH1cbiAgICAgLmF1dG9jb21wbGV0ZSBsaS5hY3RpdmUgLmhpZ2hsaWdodCB7XG4gICAgICAgYmFja2dyb3VuZDogIzY2NjtcbiAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgfWBcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBdXRvY29tcGxldGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIGNsYXNzTGlzdCA9ICdhdXRvY29tcGxldGUnO1xuICBASW5wdXQoKSBpdGVtczogYW55W107XG4gIEBJbnB1dCgpIGNvbmZpZzogYW55O1xuICBAT3V0cHV0KCkgc2VsZWN0RXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBpbnB1dENoYW5nZWRFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50O1xuICB2YWx1ZTogc3RyaW5nO1xuICBjYW5kaWRhdGVzOiBhbnlbXTtcbiAgY2FuZGlkYXRlc0xhYmVsczogYW55W107XG4gIHNlbGVjdGVkSW5kZXg6IG51bWJlcjtcbiAgc2hvd0F1dG9Db21wbGV0ZTogYm9vbGVhbjtcbiAgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgbWF4TGltaXQgPSAwO1xuICBwcml2YXRlIHNvdXJjZUZpZWxkOiBhbnk7XG4gIHByaXZhdGUgdGhpc0VsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLnRoaXNFbGVtZW50ID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IDA7XG4gICAgdGhpcy5zaG93QXV0b0NvbXBsZXRlID0gZmFsc2U7XG4gICAgdGhpcy52YWx1ZSA9ICcnO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnICYmIHRoaXMuY29uZmlnLmNsYXNzKSB7XG4gICAgICB0aGlzLmNsYXNzTGlzdCArPSAnICcgKyB0aGlzLmNvbmZpZy5jbGFzcztcbiAgICB9XG4gICAgaWYgKHRoaXMuY29uZmlnICYmIHRoaXMuY29uZmlnLm1heCA+IDApIHtcbiAgICAgIHRoaXMubWF4TGltaXQgPSB0aGlzLmNvbmZpZy5tYXg7XG4gICAgfVxuICAgIHRoaXMucGxhY2Vob2xkZXIgPSAnYXV0b2NvbXBsZXRlJztcbiAgICB0aGlzLmlucHV0RWxlbWVudCA9IHRoaXMudGhpc0VsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICdpbnB1dCdcbiAgICApIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICBpZiAoIXRoaXMuaXNOdWxsKHRoaXMuY29uZmlnKSkge1xuICAgICAgaWYgKCF0aGlzLmlzTnVsbCh0aGlzLmNvbmZpZy5wbGFjZWhvbGRlcikpIHtcbiAgICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IHRoaXMuY29uZmlnLnBsYWNlaG9sZGVyO1xuICAgICAgfVxuICAgICAgaWYgKCF0aGlzLmlzTnVsbCh0aGlzLmNvbmZpZy5zb3VyY2VGaWVsZCkpIHtcbiAgICAgICAgdGhpcy5zb3VyY2VGaWVsZCA9IHRoaXMuY29uZmlnLnNvdXJjZUZpZWxkO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmZpbHRlckl0ZW1zKHRoaXMudmFsdWUpO1xuICAgIHRoaXMuaW5wdXRFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLmZpbHRlckl0ZW1zKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgZW50ZXJUZXh0KGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCB0b3RhbCA9IHRoaXMuY2FuZGlkYXRlcy5sZW5ndGg7XG4gICAgc3dpdGNoIChldmVudC5rZXlDb2RlKSB7XG4gICAgICBjYXNlIDI3OlxuICAgICAgICB0aGlzLnNob3dBdXRvQ29tcGxldGUgPSBmYWxzZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDM4OlxuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSAodG90YWwgKyB0aGlzLnNlbGVjdGVkSW5kZXggLSAxKSAlIHRvdGFsO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgNDA6XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9ICh0b3RhbCArIHRoaXMuc2VsZWN0ZWRJbmRleCArIDEpICUgdG90YWw7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAxMzpcbiAgICAgICAgaWYgKHRoaXMuY2FuZGlkYXRlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5vblNlbGVjdCh0aGlzLnNlbGVjdGVkSW5kZXgpO1xuICAgICAgICB9XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy52YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgICAgdGhpcy5pbnB1dENoYW5nZWRFdmVudC5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBvblNlbGVjdChpZHg6IG51bWJlcikge1xuICAgIHRoaXMuc2hvd0F1dG9Db21wbGV0ZSA9IGZhbHNlO1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLmNhbmRpZGF0ZXNMYWJlbHNbaWR4XTtcbiAgICB0aGlzLnNlbGVjdEV2ZW50LmVtaXQodGhpcy5jYW5kaWRhdGVzW2lkeF0pO1xuICB9XG5cbiAgb25LZXlVcEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpZHg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXlDb2RlID09PSAxMykge1xuICAgICAgdGhpcy5vblNlbGVjdChpZHgpO1xuICAgIH1cbiB9XG5cbiAgZmlsdGVySXRlbXMoc2VhcmNoOiBzdHJpbmcpIHtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuc291cmNlRmllbGQ7XG4gICAgY29uc3QgZmlsdGVySXRlbSA9IHRoaXMuZmlsdGVySXRlbTtcbiAgICBpZiAodGhpcy5pdGVtcykge1xuICAgICAgdGhpcy5jYW5kaWRhdGVzID0gdGhpcy5pdGVtcy5maWx0ZXIoaXRlbSA9PiB7XG4gICAgICAgIHJldHVybiBmaWx0ZXJJdGVtKGl0ZW0sIGZpZWxkLCBzZWFyY2gpO1xuICAgICAgfSk7XG4gICAgICBpZiAodGhpcy5tYXhMaW1pdCA+IDApIHtcbiAgICAgICAgdGhpcy5jYW5kaWRhdGVzID0gdGhpcy5jYW5kaWRhdGVzLnNsaWNlKDAsIHRoaXMubWF4TGltaXQpO1xuICAgICAgfVxuICAgICAgdGhpcy5idWlsZExhYmVscygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmllbGRWYWx1ZShvYmplY3Q6IGFueSwgcGF0aDogYW55KSB7XG4gICAgaWYgKHR5cGVvZiBvYmplY3QgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gb2JqZWN0O1xuICAgIH1cbiAgICBpZiAocGF0aCBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICBsZXQgcmVzdWx0OiBhbnkgPSBvYmplY3Q7XG4gICAgICBwYXRoLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgcmVzdWx0ICE9PSBudWxsICYmXG4gICAgICAgICAgcmVzdWx0ICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICByZXN1bHRbZWxlbWVudF0gIT09IG51bGwgJiZcbiAgICAgICAgICByZXN1bHRbZWxlbWVudF0gIT09IHVuZGVmaW5lZFxuICAgICAgICApIHtcbiAgICAgICAgICByZXN1bHQgPSByZXN1bHRbZWxlbWVudF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzdWx0ID0gJyc7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9iamVjdFtwYXRoXSB8fCAnJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzTnVsbChvYmplY3Q6IGFueSkge1xuICAgIHJldHVybiBvYmplY3QgPT09IG51bGwgfHwgb2JqZWN0ID09PSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkTGFiZWxzKCkge1xuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5zb3VyY2VGaWVsZDtcbiAgICBjb25zdCBnZXRGaWVsZFZhbHVlID0gdGhpcy5nZXRGaWVsZFZhbHVlO1xuICAgIHRoaXMuY2FuZGlkYXRlc0xhYmVscyA9IHRoaXMuY2FuZGlkYXRlcy5tYXAoKGU6IGFueSkgPT5cbiAgICAgIGdldEZpZWxkVmFsdWUoZSwgZmllbGQpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVySXRlbShpdGVtOiBhbnksIHBhdGg6IGFueSwgc2VhcmNoOiBzdHJpbmcpIHtcbiAgICBpZiAoc2VhcmNoID09PSBudWxsIHx8IHNlYXJjaCA9PT0gdW5kZWZpbmVkIHx8IHNlYXJjaC5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBsZXQgcmVzdWx0OiBhbnk7XG4gICAgaWYgKHR5cGVvZiBpdGVtID09PSAnc3RyaW5nJykge1xuICAgICAgcmVzdWx0ID0gaXRlbTtcbiAgICB9IGVsc2UgaWYgKHBhdGggaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgcmVzdWx0ID0gaXRlbTtcbiAgICAgIHBhdGguZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICByZXN1bHQgIT09IG51bGwgJiZcbiAgICAgICAgICByZXN1bHQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIHJlc3VsdFtlbGVtZW50XSAhPT0gbnVsbCAmJlxuICAgICAgICAgIHJlc3VsdFtlbGVtZW50XSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICkge1xuICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdFtlbGVtZW50XTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXN1bHQgPSAnJztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IGl0ZW1bcGF0aF0gfHwgJyc7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaC50b0xvd2VyQ2FzZSgpKSA+PSAwO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgc2VsZWN0b3I6ICdbaW5wdXQtYXV0b2NvbXBsZXRlXSdcbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIGNvbmZpZzogYW55O1xuICBASW5wdXQoKSBpdGVtczogYW55O1xuICBASW5wdXQoKSBuZ01vZGVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbnRyb2w6IEZvcm1Db250cm9sO1xuICBAT3V0cHV0KCkgbmdNb2RlbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGlucHV0Q2hhbmdlZEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgc2VsZWN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxBdXRvY29tcGxldGVDb21wb25lbnQ+O1xuICBwcml2YXRlIHRoaXNFbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBhdXRvY29tcGxldGVFbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBpbnB1dEVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gIHByaXZhdGUgdGFiSW5kZXg6IG51bWJlcjtcbiAgcHJpdmF0ZSByZXNldCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZlxuICApIHtcbiAgICB0aGlzLnRoaXNFbGVtZW50ID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnRoaXNFbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2Zvcm0nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY3JlYXRlRGl2KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnNlbGVjdEV2ZW50LnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5pbnB1dENoYW5nZWRFdmVudC51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuaGlkZUF1dG9jb21wbGV0ZSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiB7IFtwcm9wS2V5OiBzdHJpbmddOiBTaW1wbGVDaGFuZ2UgfSkge1xuICAgIGlmIChjaGFuZ2VzWydpdGVtcyddICYmIHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICAgIGNvbXBvbmVudC5pdGVtcyA9IGNoYW5nZXNbJ2l0ZW1zJ10uY3VycmVudFZhbHVlO1xuICAgICAgY29tcG9uZW50LmZpbHRlckl0ZW1zKGNvbXBvbmVudC52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5nZXRJbnB1dEVsZW1lbnQoKTtcbiAgICBpZiAodGhpcy5jb250cm9sKSB7XG4gICAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVzZXQgPSB0cnVlO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChpbnB1dC5mb3JtKSB7XG4gICAgICBpbnB1dC5mb3JtLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2V0JywgKCkgPT4ge1xuICAgICAgICB0aGlzLnJlc2V0ID0gdHJ1ZTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJywgWyckZXZlbnQudGFyZ2V0J10pXG4gIHNob3dBdXRvY29tcGxldGUoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuaGlkZUF1dG9jb21wbGV0ZSgpO1xuICAgIGlmIChldmVudCA9PT0gdGhpcy50aGlzRWxlbWVudCkge1xuICAgICAgdGhpcy5jcmVhdGVBdXRvY29tcGxldGUoKTtcbiAgICB9XG4gIH1cblxuICBnZXRJbnB1dEVsZW1lbnQoKSB7XG4gICAgbGV0IGlucHV0ID0gdGhpcy50aGlzRWxlbWVudCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuXG4gICAgaWYgKHRoaXMudGhpc0VsZW1lbnQudGFnTmFtZSAhPT0gJ0lOUFVUJyAmJiB0aGlzLmF1dG9jb21wbGV0ZUVsZW1lbnQpIHtcbiAgICAgIGlucHV0ID0gdGhpcy50aGlzRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAnaW5wdXQnXG4gICAgICApIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIGlucHV0O1xuICB9XG5cbiAgaGlkZUF1dG9jb21wbGV0ZSA9IChldmVudD86IGFueSk6IHZvaWQgPT4ge1xuICAgIGlmICghdGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGV2ZW50ICYmIGV2ZW50LnRhcmdldCAmJiB0aGlzLnRoaXNFbGVtZW50ICYmIGV2ZW50LnRhcmdldCA9PT0gdGhpcy50aGlzRWxlbWVudC5wYXJlbnRFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChcbiAgICAgICFldmVudCB8fFxuICAgICAgKGV2ZW50LnRhcmdldCAhPT0gdGhpcy50aGlzRWxlbWVudCAmJiBldmVudC50eXBlID09PSAnY2xpY2snKVxuICAgICkge1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLmlucHV0RWxlbWVudFsndGFiSW5kZXgnXSA8IDApIHtcbiAgICAgIHRoaXMuaW5wdXRFbGVtZW50Wyd0YWJJbmRleCddID0gdGhpcy50YWJJbmRleDtcbiAgICB9XG4gIH1cblxuICBvbklucHV0Q2hhbmdlZCA9ICh2YWw6IHN0cmluZykgPT4ge1xuICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlID0gdmFsO1xuICAgIGlmICh2YWwgIT09IHRoaXMubmdNb2RlbCkge1xuICAgICAgdGhpcy5uZ01vZGVsID0gdmFsO1xuICAgICAgdGhpcy5uZ01vZGVsQ2hhbmdlLmVtaXQodmFsKTtcbiAgICB9XG4gICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgY29tcG9uZW50LmZpbHRlckl0ZW1zKHZhbCk7XG4gICAgdGhpcy5pbnB1dENoYW5nZWRFdmVudC5lbWl0KHZhbCk7XG4gIH1cblxuICBvblNlbGVjdCA9IChpdGVtOiBhbnkpID0+IHtcbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICBjb25zdCB2YWwgPSBjb21wb25lbnQudmFsdWU7XG4gICAgaWYgKHZhbCAhPT0gdGhpcy5uZ01vZGVsKSB7XG4gICAgICB0aGlzLm5nTW9kZWwgPSB2YWw7XG4gICAgICB0aGlzLm5nTW9kZWxDaGFuZ2UuZW1pdCh2YWwpO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdEV2ZW50LmVtaXQoaXRlbSk7XG4gICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50KSB7XG4gICAgICB0aGlzLmlucHV0RWxlbWVudC52YWx1ZSA9ICcnICsgdmFsO1xuICAgIH1cbiAgICB0aGlzLmhpZGVBdXRvY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRGl2KCkge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBlbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnaW5saW5lLWJsb2NrJztcbiAgICBlbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ3JlbGF0aXZlJztcbiAgICB0aGlzLnRoaXNFbGVtZW50LnBhcmVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKFxuICAgICAgZWxlbWVudCxcbiAgICAgIHRoaXMudGhpc0VsZW1lbnQubmV4dFNpYmxpbmdcbiAgICApO1xuICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy50aGlzRWxlbWVudCk7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmhpZGVBdXRvY29tcGxldGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVBdXRvY29tcGxldGUoKSB7XG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMucmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoXG4gICAgICBBdXRvY29tcGxldGVDb21wb25lbnRcbiAgICApO1xuICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICBjb21wb25lbnQuY29uZmlnID0gdGhpcy5jb25maWc7XG4gICAgY29tcG9uZW50Lml0ZW1zID0gdGhpcy5pdGVtcztcbiAgICBjb21wb25lbnQuc2VsZWN0RXZlbnQuc3Vic2NyaWJlKHRoaXMub25TZWxlY3QpO1xuICAgIGNvbXBvbmVudC5pbnB1dENoYW5nZWRFdmVudC5zdWJzY3JpYmUodGhpcy5vbklucHV0Q2hhbmdlZCk7XG4gICAgdGhpcy5hdXRvY29tcGxldGVFbGVtZW50ID0gdGhpcy5jb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLmF1dG9jb21wbGV0ZUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICB0aGlzLmlucHV0RWxlbWVudCA9IHRoaXMuZ2V0SW5wdXRFbGVtZW50KCk7XG4gICAgaWYgKHRoaXMudGhpc0VsZW1lbnQudGFnTmFtZSAhPT0gJ0lOUFVUJyAmJiB0aGlzLmF1dG9jb21wbGV0ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnBhcmVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKFxuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUVsZW1lbnQsXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5leHRTaWJsaW5nXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJlc2V0KSB7XG4gICAgICB0aGlzLm5nTW9kZWwgPSAnJztcbiAgICAgIHRoaXMucmVzZXQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLmlucHV0RWxlbWVudC52YWx1ZSA9IHRoaXMubmdNb2RlbCA/IHRoaXMubmdNb2RlbCA6ICcnO1xuICAgIGNvbXBvbmVudC52YWx1ZSA9IHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlO1xuICAgIHRoaXMudGFiSW5kZXggPSB0aGlzLmlucHV0RWxlbWVudFsndGFiSW5kZXgnXTtcbiAgICB0aGlzLmlucHV0RWxlbWVudFsndGFiSW5kZXgnXSA9IC0xMDA7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICBjb25zdCByZWN0ID0gdGhpcy50aGlzRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IHN0eWxlID0gdGhpcy5hdXRvY29tcGxldGVFbGVtZW50LnN0eWxlO1xuICAgICAgc3R5bGUud2lkdGggPSByZWN0LndpZHRoICsgJ3B4JztcbiAgICAgIHN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgIHN0eWxlLnpJbmRleCA9ICcxJztcbiAgICAgIHN0eWxlLnRvcCA9ICcwJztcbiAgICAgIHN0eWxlLmxlZnQgPSAnMCc7XG4gICAgICBzdHlsZS5kaXNwbGF5ID0gJ2lubGluZS1ibG9jayc7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlQ29tcG9uZW50LCBBdXRvY29tcGxldGVEaXJlY3RpdmUgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW0F1dG9jb21wbGV0ZUNvbXBvbmVudCwgQXV0b2NvbXBsZXRlRGlyZWN0aXZlXSxcbiAgZXhwb3J0czogW0F1dG9jb21wbGV0ZUNvbXBvbmVudCwgQXV0b2NvbXBsZXRlRGlyZWN0aXZlXSxcbiAgZW50cnlDb21wb25lbnRzOiBbQXV0b2NvbXBsZXRlQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBBdXRvY29tcGxldGVNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEF1dG9jb21wbGV0ZU1vZHVsZVxuICAgIH07XG4gIH1cbn1cblxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBR0E7SUE0RkUsK0JBQVksVUFBc0I7eUJBaEJ0QixjQUFjOzJCQUdpQixJQUFJLFlBQVksRUFBTztpQ0FDakIsSUFBSSxZQUFZLEVBQU87d0JBUTdELENBQUM7UUFLVixJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDNUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztLQUNqQjs7OztJQUVELHdDQUFROzs7SUFBUjtRQUNFLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtZQUNwQyxJQUFJLENBQUMsU0FBUyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztTQUMzQztRQUNELElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztTQUNqQztRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsY0FBYyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxZQUFZLHFCQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUNoRCxPQUFPLENBQ1ksQ0FBQSxDQUFDO1FBRXRCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM3QixJQUFJ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 | ||
//# sourceMappingURL=ng2-input-autocomplete.js.map |
{ | ||
"name": "ng2-input-autocomplete", | ||
"version": "1.1.2", | ||
"version": "2.0.0-rc.0", | ||
"description": "Angular input auto complete", | ||
@@ -21,4 +21,4 @@ "repository": { | ||
"peerDependencies": { | ||
"@angular/common": ">=2.0.0", | ||
"@angular/core": ">=2.0.0" | ||
"@angular/common": ">=8.0.0", | ||
"@angular/core": ">=8.0.0" | ||
}, | ||
@@ -25,0 +25,0 @@ "main": "bundles/ng2-input-autocomplete.umd.js", |
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
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
3406
20.4%285890
-20.17%3
50%