@progressio_resources/gravity-design-system 3.7.3 → 3.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,11 +6,11 @@ import * as i3 from "../gravity-currency-dropdown-short/gravity-currency-dropdow
6
6
  import * as i4 from "../gravity-icon-button/gravity-icon-button.component";
7
7
  export class GravityTextFieldAmountOnlyComponent {
8
8
  constructor() {
9
- // Configuration
10
9
  this.priority = 'crypto';
11
10
  this.fiatCurrenciesSize = 'sm';
12
11
  this.rateDirection = 'CRYPTO_TO_FIAT';
13
12
  this.state = null;
13
+ this.width = 'standard';
14
14
  // UI State inputs
15
15
  this.disabled = false;
16
16
  this.readonly = false;
@@ -112,13 +112,23 @@ export class GravityTextFieldAmountOnlyComponent {
112
112
  this.inputValue = '' + value;
113
113
  this.calculateValues();
114
114
  }
115
+ //Clean component
116
+ reset(priority = 'crypto') {
117
+ this.priority = priority;
118
+ this.inputValue = '';
119
+ this.valueFiat = '';
120
+ this.valueCrypto = '';
121
+ this.state = null;
122
+ }
115
123
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityTextFieldAmountOnlyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
116
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GravityTextFieldAmountOnlyComponent, selector: "gravity-text-field-amount-only", inputs: { priority: "priority", placeholder: "placeholder", fiatCurrencies: "fiatCurrencies", fiatCurrenciesSize: "fiatCurrenciesSize", cryptoCurrency: "cryptoCurrency", rate: "rate", rateDirection: "rateDirection", state: "state", disabled: "disabled", readonly: "readonly" }, outputs: { swapCurrenciesFlag: "swapCurrenciesFlag", changeFiat: "changeFiat", amountValues: "amountValues" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"amount-only-text-field {{state ? state : null}}\" [class.disabled]=\"disabled\">\n\n <!--Switch-->\n <gravity-icon-button (clickOnIcon)=\"swapCurrencies()\" [icon]=\"'swaps'\" *ngIf=\"!readonly\"\n [cypressTag]=\"'swapCurrencies'\" [size]=\"'sm'\"\n [supportText]=\"disabled ? null : priority == 'crypto' ? 'Enter the amount in fiat' : 'Enter the amount in crypto'\"\n [type]=\"'primary'\" [state]=\"disabled ? 'disabled' : 'active'\"/>\n\n <div class=\"amounts\" [class.filled]=\"inputValue\" [class.readonly]=\"readonly\">\n\n <!--Enter amount row-->\n <div class=\"enter-amount amount-row\">\n <label class=\"floating-label hr-label sm-regular\">\n {{ placeholder }}\n </label>\n\n <input class=\"hr-label md-regular\" [disabled]=\"disabled\" [readonly]=\"readonly\" (input)=\"calculateValues()\"\n [attr.data-cy]=\"'textFieldAmount_input'\" [(ngModel)]=\"inputValue\" placeholder=\"{{placeholder}}\"\n type=\"number\">\n\n <ng-container *ngIf=\"priority == 'fiat'\">\n <gravity-currency-dropdown-short [size]=\"fiatCurrenciesSize\" [disabled]=\"disabled\" (onClick)=\"updateFiatCurrency($event)\"\n [config]=\"fiatCurrencies\"/>\n </ng-container>\n <ng-container *ngIf=\"priority == 'crypto'\">\n <p class=\"hr-body sm-regular\" [class.gravity-padding-inline-xxs]=\"fiatCurrenciesSize == 'sm'\" [class.gravity-padding-inline-sm]=\"fiatCurrenciesSize == 'md'\">{{cryptoCurrency.currency_iso}}</p>\n </ng-container>\n </div>\n\n <hr>\n\n <!--Equivalence row-->\n <div class=\"equivalence amount-row\">\n <p class=\"hr-body sm-regular\">\n \u2248 {{ priority == 'crypto' ? valueFiat : valueCrypto}}\n </p>\n\n <ng-container *ngIf=\"priority == 'crypto'\">\n <gravity-currency-dropdown-short [size]=\"fiatCurrenciesSize\" [readonly]=\"true\" [disabled]=\"disabled\"\n [config]=\"fiatCurrencies\"/>\n </ng-container>\n <ng-container *ngIf=\"priority == 'fiat'\">\n <p class=\"hr-body sm-regular\" [class.gravity-padding-inline-xxs]=\"fiatCurrenciesSize == 'sm'\" [class.gravity-padding-inline-sm]=\"fiatCurrenciesSize == 'md'\">{{cryptoCurrency.currency_iso}}</p>\n </ng-container>\n </div>\n </div>\n</div>", styles: [".border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.amount-only-text-field{align-items:center;display:flex;gap:8px;width:-moz-fit-content;width:fit-content}.amount-only-text-field.disabled .amounts{pointer-events:none}.amount-only-text-field.disabled .amounts .enter-amount input:disabled{color:var(--on-bg-disabled);cursor:not-allowed;background-color:transparent}.amount-only-text-field.disabled .amounts .enter-amount input:disabled::placeholder{color:var(--on-bg-disabled)}.amount-only-text-field.disabled .amounts .enter-amount .floating-label{color:var(--on-bg-disabled)}.amount-only-text-field.disabled .amounts hr{border-top-color:var(--on-bg-disabled)}.amount-only-text-field.disabled .amounts .enter-amount p,.amount-only-text-field.disabled .amounts .equivalence p{color:var(--on-bg-disabled)}.amount-only-text-field.positive .amounts hr{border-color:var(--positive-primary)}.amount-only-text-field.negative .amounts hr{border-color:var(--negative-primary)}.amount-row{height:30px;align-items:center;display:flex;justify-content:space-between}.amounts{padding:6px;width:310px}.amounts:hover .enter-amount input{color:var(--text-primary)}.amounts:hover .enter-amount input::placeholder{color:var(--text-primary)}.amounts:not(.readonly):focus-within .enter-amount .floating-label{opacity:1;transform:translateY(-12px)}.amounts:not(.readonly):focus-within .enter-amount input::placeholder{opacity:0}.amounts:not(.readonly):focus-within hr{border-color:var(--line-full-enabled-typing-primary)}.amounts .enter-amount{margin-top:12px;position:relative}.amounts .enter-amount .floating-label{position:absolute;top:0;left:0;opacity:0;transform:translateY(10px);pointer-events:none;color:var(--text-primary);transition:all .15s ease}.amounts .enter-amount input{width:100%;border:none;outline:none;color:var(--placeholder-empty-enabled-primary)}.amounts .enter-amount input::placeholder{color:var(--placeholder-empty-enabled-primary)}.amounts .enter-amount input[type=number]{-moz-appearance:textfield}.amounts .enter-amount input[type=number]::-webkit-outer-spin-button,.amounts .enter-amount input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.amounts hr{border:none;border-top:1px solid var(--line-empty-enabled-primary);margin:4px 0;opacity:1;transition:border-color .15s ease}.amounts.filled .enter-amount .floating-label{opacity:1;transform:translateY(-12px)}.amounts.filled .enter-amount input{color:var(--text-primary)}.amounts.filled .enter-amount input::placeholder{opacity:0}.amounts.filled hr{border-color:var(--line-full-enabled-typing-primary)}.amounts.readonly{cursor:default}.amounts.readonly .enter-amount input{color:var(--text-primary);cursor:default}.amounts.readonly .enter-amount input::placeholder{color:var(--text-primary)}.amounts.readonly .enter-amount .floating-label{color:var(--text-secondary)}.amounts.readonly hr{border-top-color:var(--line-empty-enabled-readonly)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.GravityCurrencyDropdownShortComponent, selector: "gravity-currency-dropdown-short", inputs: ["size", "readonly", "disabled", "showFlag", "config"], outputs: ["onClick"] }, { kind: "component", type: i4.GravityIconButtonComponent, selector: "gravity-icon-button", inputs: ["cypressTag", "icon", "supportText", "variant", "size", "type", "state", "badge"], outputs: ["clickOnIcon"] }] }); }
124
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GravityTextFieldAmountOnlyComponent, selector: "gravity-text-field-amount-only", inputs: { cypressTag: "cypressTag", priority: "priority", placeholder: "placeholder", fiatCurrencies: "fiatCurrencies", fiatCurrenciesSize: "fiatCurrenciesSize", cryptoCurrency: "cryptoCurrency", rate: "rate", rateDirection: "rateDirection", state: "state", width: "width", disabled: "disabled", readonly: "readonly" }, outputs: { swapCurrenciesFlag: "swapCurrenciesFlag", changeFiat: "changeFiat", amountValues: "amountValues" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"amount-only-text-field {{state ? state : null}}\" [class.disabled]=\"disabled\"\n [attr.data-cy]=\"cypressTag ? 'textFieldAmount_'+cypressTag : null\" [class.standard-width]=\"width === 'standard'\"\n [class.full-width]=\"width === 'full'\">\n\n <!--Switch-->\n <gravity-icon-button (clickOnIcon)=\"swapCurrencies()\" [icon]=\"'swaps'\" *ngIf=\"!readonly\"\n [cypressTag]=\"'swapCurrencies'\" [size]=\"'sm'\"\n [supportText]=\"disabled ? null : priority == 'crypto' ? 'Enter the amount in fiat' : 'Enter the amount in crypto'\"\n [type]=\"'primary'\" [state]=\"disabled ? 'disabled' : 'active'\"/>\n\n <div class=\"amounts\" [class.filled]=\"inputValue\" [class.readonly]=\"readonly\">\n\n <!--Enter amount row-->\n <div class=\"enter-amount amount-row\">\n <label class=\"floating-label hr-label sm-regular\">\n {{ placeholder }}\n </label>\n\n <input class=\"hr-label md-regular\" [disabled]=\"disabled\" [readonly]=\"readonly\" (input)=\"calculateValues()\"\n [attr.data-cy]=\"'textFieldAmount_input'\" [(ngModel)]=\"inputValue\" placeholder=\"{{placeholder}}\"\n type=\"number\">\n\n <ng-container *ngIf=\"priority == 'fiat'\">\n <gravity-currency-dropdown-short [size]=\"fiatCurrenciesSize\" [disabled]=\"disabled\"\n (onClick)=\"updateFiatCurrency($event)\" [cypressTag]=\"'amountFiat'\"\n [config]=\"fiatCurrencies\"/>\n </ng-container>\n <ng-container *ngIf=\"priority == 'crypto'\">\n <p class=\"hr-body sm-regular\" [class.gravity-padding-inline-xxs]=\"fiatCurrenciesSize == 'sm'\"\n [class.gravity-padding-inline-sm]=\"fiatCurrenciesSize == 'md'\">{{ cryptoCurrency.currency_iso }}</p>\n </ng-container>\n </div>\n\n <hr>\n\n <!--Equivalence row-->\n <div class=\"equivalence amount-row\">\n <p class=\"hr-body sm-regular\">\n \u2248 {{ priority == 'crypto' ? valueFiat : valueCrypto }}\n </p>\n\n <ng-container *ngIf=\"priority == 'crypto'\">\n <gravity-currency-dropdown-short [size]=\"fiatCurrenciesSize\" [readonly]=\"true\" [disabled]=\"disabled\"\n [config]=\"fiatCurrencies\"/>\n </ng-container>\n <ng-container *ngIf=\"priority == 'fiat'\">\n <p class=\"hr-body sm-regular\" [class.gravity-padding-inline-xxs]=\"fiatCurrenciesSize == 'sm'\"\n [class.gravity-padding-inline-sm]=\"fiatCurrenciesSize == 'md'\">{{ cryptoCurrency.currency_iso }}</p>\n </ng-container>\n </div>\n </div>\n</div>", styles: [".border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.amount-only-text-field{align-items:center;display:flex;gap:8px;width:-moz-fit-content;width:fit-content}.amount-only-text-field.standard-width .amounts{width:310px}.amount-only-text-field.full-width,.amount-only-text-field.full-width .amounts{width:100%}.amount-only-text-field.disabled .amounts{pointer-events:none}.amount-only-text-field.disabled .amounts .enter-amount input:disabled{color:var(--on-bg-disabled);cursor:not-allowed;background-color:transparent}.amount-only-text-field.disabled .amounts .enter-amount input:disabled::placeholder{color:var(--on-bg-disabled)}.amount-only-text-field.disabled .amounts .enter-amount .floating-label{color:var(--on-bg-disabled)}.amount-only-text-field.disabled .amounts hr{border-top-color:var(--on-bg-disabled)}.amount-only-text-field.disabled .amounts .enter-amount p,.amount-only-text-field.disabled .amounts .equivalence p{color:var(--on-bg-disabled)}.amount-only-text-field.positive .amounts hr{border-color:var(--positive-primary)}.amount-only-text-field.negative .amounts hr{border-color:var(--negative-primary)}.amount-row{height:30px;align-items:center;display:flex;justify-content:space-between}.amounts{padding:6px;width:100%}.amounts:hover .enter-amount input{color:var(--text-primary)}.amounts:hover .enter-amount input::placeholder{color:var(--text-primary)}.amounts:not(.readonly):focus-within .enter-amount .floating-label{opacity:1;transform:translateY(-12px)}.amounts:not(.readonly):focus-within .enter-amount input::placeholder{opacity:0}.amounts:not(.readonly):focus-within hr{border-color:var(--line-full-enabled-typing-primary)}.amounts .enter-amount{margin-top:12px;position:relative}.amounts .enter-amount .floating-label{position:absolute;top:0;left:0;opacity:0;transform:translateY(10px);pointer-events:none;color:var(--text-primary);transition:all .15s ease}.amounts .enter-amount input{width:100%;border:none;outline:none;color:var(--placeholder-empty-enabled-primary)}.amounts .enter-amount input::placeholder{color:var(--placeholder-empty-enabled-primary)}.amounts .enter-amount input[type=number]{-moz-appearance:textfield}.amounts .enter-amount input[type=number]::-webkit-outer-spin-button,.amounts .enter-amount input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.amounts hr{border:none;border-top:1px solid var(--line-empty-enabled-primary);margin:4px 0;opacity:1;transition:border-color .15s ease}.amounts.filled .enter-amount .floating-label{opacity:1;transform:translateY(-12px)}.amounts.filled .enter-amount input{color:var(--text-primary)}.amounts.filled .enter-amount input::placeholder{opacity:0}.amounts.filled hr{border-color:var(--line-full-enabled-typing-primary)}.amounts.readonly{cursor:default}.amounts.readonly .enter-amount input{color:var(--text-primary);cursor:default}.amounts.readonly .enter-amount input::placeholder{color:var(--text-primary)}.amounts.readonly .enter-amount .floating-label{color:var(--text-secondary)}.amounts.readonly hr{border-top-color:var(--line-empty-enabled-readonly)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.GravityCurrencyDropdownShortComponent, selector: "gravity-currency-dropdown-short", inputs: ["cypressTag", "size", "readonly", "disabled", "showFlag", "config"], outputs: ["onClick"] }, { kind: "component", type: i4.GravityIconButtonComponent, selector: "gravity-icon-button", inputs: ["cypressTag", "icon", "supportText", "variant", "size", "type", "state", "badge"], outputs: ["clickOnIcon"] }] }); }
117
125
  }
118
126
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityTextFieldAmountOnlyComponent, decorators: [{
119
127
  type: Component,
120
- args: [{ selector: 'gravity-text-field-amount-only', template: "<div class=\"amount-only-text-field {{state ? state : null}}\" [class.disabled]=\"disabled\">\n\n <!--Switch-->\n <gravity-icon-button (clickOnIcon)=\"swapCurrencies()\" [icon]=\"'swaps'\" *ngIf=\"!readonly\"\n [cypressTag]=\"'swapCurrencies'\" [size]=\"'sm'\"\n [supportText]=\"disabled ? null : priority == 'crypto' ? 'Enter the amount in fiat' : 'Enter the amount in crypto'\"\n [type]=\"'primary'\" [state]=\"disabled ? 'disabled' : 'active'\"/>\n\n <div class=\"amounts\" [class.filled]=\"inputValue\" [class.readonly]=\"readonly\">\n\n <!--Enter amount row-->\n <div class=\"enter-amount amount-row\">\n <label class=\"floating-label hr-label sm-regular\">\n {{ placeholder }}\n </label>\n\n <input class=\"hr-label md-regular\" [disabled]=\"disabled\" [readonly]=\"readonly\" (input)=\"calculateValues()\"\n [attr.data-cy]=\"'textFieldAmount_input'\" [(ngModel)]=\"inputValue\" placeholder=\"{{placeholder}}\"\n type=\"number\">\n\n <ng-container *ngIf=\"priority == 'fiat'\">\n <gravity-currency-dropdown-short [size]=\"fiatCurrenciesSize\" [disabled]=\"disabled\" (onClick)=\"updateFiatCurrency($event)\"\n [config]=\"fiatCurrencies\"/>\n </ng-container>\n <ng-container *ngIf=\"priority == 'crypto'\">\n <p class=\"hr-body sm-regular\" [class.gravity-padding-inline-xxs]=\"fiatCurrenciesSize == 'sm'\" [class.gravity-padding-inline-sm]=\"fiatCurrenciesSize == 'md'\">{{cryptoCurrency.currency_iso}}</p>\n </ng-container>\n </div>\n\n <hr>\n\n <!--Equivalence row-->\n <div class=\"equivalence amount-row\">\n <p class=\"hr-body sm-regular\">\n \u2248 {{ priority == 'crypto' ? valueFiat : valueCrypto}}\n </p>\n\n <ng-container *ngIf=\"priority == 'crypto'\">\n <gravity-currency-dropdown-short [size]=\"fiatCurrenciesSize\" [readonly]=\"true\" [disabled]=\"disabled\"\n [config]=\"fiatCurrencies\"/>\n </ng-container>\n <ng-container *ngIf=\"priority == 'fiat'\">\n <p class=\"hr-body sm-regular\" [class.gravity-padding-inline-xxs]=\"fiatCurrenciesSize == 'sm'\" [class.gravity-padding-inline-sm]=\"fiatCurrenciesSize == 'md'\">{{cryptoCurrency.currency_iso}}</p>\n </ng-container>\n </div>\n </div>\n</div>", styles: [".border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.amount-only-text-field{align-items:center;display:flex;gap:8px;width:-moz-fit-content;width:fit-content}.amount-only-text-field.disabled .amounts{pointer-events:none}.amount-only-text-field.disabled .amounts .enter-amount input:disabled{color:var(--on-bg-disabled);cursor:not-allowed;background-color:transparent}.amount-only-text-field.disabled .amounts .enter-amount input:disabled::placeholder{color:var(--on-bg-disabled)}.amount-only-text-field.disabled .amounts .enter-amount .floating-label{color:var(--on-bg-disabled)}.amount-only-text-field.disabled .amounts hr{border-top-color:var(--on-bg-disabled)}.amount-only-text-field.disabled .amounts .enter-amount p,.amount-only-text-field.disabled .amounts .equivalence p{color:var(--on-bg-disabled)}.amount-only-text-field.positive .amounts hr{border-color:var(--positive-primary)}.amount-only-text-field.negative .amounts hr{border-color:var(--negative-primary)}.amount-row{height:30px;align-items:center;display:flex;justify-content:space-between}.amounts{padding:6px;width:310px}.amounts:hover .enter-amount input{color:var(--text-primary)}.amounts:hover .enter-amount input::placeholder{color:var(--text-primary)}.amounts:not(.readonly):focus-within .enter-amount .floating-label{opacity:1;transform:translateY(-12px)}.amounts:not(.readonly):focus-within .enter-amount input::placeholder{opacity:0}.amounts:not(.readonly):focus-within hr{border-color:var(--line-full-enabled-typing-primary)}.amounts .enter-amount{margin-top:12px;position:relative}.amounts .enter-amount .floating-label{position:absolute;top:0;left:0;opacity:0;transform:translateY(10px);pointer-events:none;color:var(--text-primary);transition:all .15s ease}.amounts .enter-amount input{width:100%;border:none;outline:none;color:var(--placeholder-empty-enabled-primary)}.amounts .enter-amount input::placeholder{color:var(--placeholder-empty-enabled-primary)}.amounts .enter-amount input[type=number]{-moz-appearance:textfield}.amounts .enter-amount input[type=number]::-webkit-outer-spin-button,.amounts .enter-amount input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.amounts hr{border:none;border-top:1px solid var(--line-empty-enabled-primary);margin:4px 0;opacity:1;transition:border-color .15s ease}.amounts.filled .enter-amount .floating-label{opacity:1;transform:translateY(-12px)}.amounts.filled .enter-amount input{color:var(--text-primary)}.amounts.filled .enter-amount input::placeholder{opacity:0}.amounts.filled hr{border-color:var(--line-full-enabled-typing-primary)}.amounts.readonly{cursor:default}.amounts.readonly .enter-amount input{color:var(--text-primary);cursor:default}.amounts.readonly .enter-amount input::placeholder{color:var(--text-primary)}.amounts.readonly .enter-amount .floating-label{color:var(--text-secondary)}.amounts.readonly hr{border-top-color:var(--line-empty-enabled-readonly)}\n"] }]
121
- }], propDecorators: { priority: [{
128
+ args: [{ selector: 'gravity-text-field-amount-only', template: "<div class=\"amount-only-text-field {{state ? state : null}}\" [class.disabled]=\"disabled\"\n [attr.data-cy]=\"cypressTag ? 'textFieldAmount_'+cypressTag : null\" [class.standard-width]=\"width === 'standard'\"\n [class.full-width]=\"width === 'full'\">\n\n <!--Switch-->\n <gravity-icon-button (clickOnIcon)=\"swapCurrencies()\" [icon]=\"'swaps'\" *ngIf=\"!readonly\"\n [cypressTag]=\"'swapCurrencies'\" [size]=\"'sm'\"\n [supportText]=\"disabled ? null : priority == 'crypto' ? 'Enter the amount in fiat' : 'Enter the amount in crypto'\"\n [type]=\"'primary'\" [state]=\"disabled ? 'disabled' : 'active'\"/>\n\n <div class=\"amounts\" [class.filled]=\"inputValue\" [class.readonly]=\"readonly\">\n\n <!--Enter amount row-->\n <div class=\"enter-amount amount-row\">\n <label class=\"floating-label hr-label sm-regular\">\n {{ placeholder }}\n </label>\n\n <input class=\"hr-label md-regular\" [disabled]=\"disabled\" [readonly]=\"readonly\" (input)=\"calculateValues()\"\n [attr.data-cy]=\"'textFieldAmount_input'\" [(ngModel)]=\"inputValue\" placeholder=\"{{placeholder}}\"\n type=\"number\">\n\n <ng-container *ngIf=\"priority == 'fiat'\">\n <gravity-currency-dropdown-short [size]=\"fiatCurrenciesSize\" [disabled]=\"disabled\"\n (onClick)=\"updateFiatCurrency($event)\" [cypressTag]=\"'amountFiat'\"\n [config]=\"fiatCurrencies\"/>\n </ng-container>\n <ng-container *ngIf=\"priority == 'crypto'\">\n <p class=\"hr-body sm-regular\" [class.gravity-padding-inline-xxs]=\"fiatCurrenciesSize == 'sm'\"\n [class.gravity-padding-inline-sm]=\"fiatCurrenciesSize == 'md'\">{{ cryptoCurrency.currency_iso }}</p>\n </ng-container>\n </div>\n\n <hr>\n\n <!--Equivalence row-->\n <div class=\"equivalence amount-row\">\n <p class=\"hr-body sm-regular\">\n \u2248 {{ priority == 'crypto' ? valueFiat : valueCrypto }}\n </p>\n\n <ng-container *ngIf=\"priority == 'crypto'\">\n <gravity-currency-dropdown-short [size]=\"fiatCurrenciesSize\" [readonly]=\"true\" [disabled]=\"disabled\"\n [config]=\"fiatCurrencies\"/>\n </ng-container>\n <ng-container *ngIf=\"priority == 'fiat'\">\n <p class=\"hr-body sm-regular\" [class.gravity-padding-inline-xxs]=\"fiatCurrenciesSize == 'sm'\"\n [class.gravity-padding-inline-sm]=\"fiatCurrenciesSize == 'md'\">{{ cryptoCurrency.currency_iso }}</p>\n </ng-container>\n </div>\n </div>\n</div>", styles: [".border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.amount-only-text-field{align-items:center;display:flex;gap:8px;width:-moz-fit-content;width:fit-content}.amount-only-text-field.standard-width .amounts{width:310px}.amount-only-text-field.full-width,.amount-only-text-field.full-width .amounts{width:100%}.amount-only-text-field.disabled .amounts{pointer-events:none}.amount-only-text-field.disabled .amounts .enter-amount input:disabled{color:var(--on-bg-disabled);cursor:not-allowed;background-color:transparent}.amount-only-text-field.disabled .amounts .enter-amount input:disabled::placeholder{color:var(--on-bg-disabled)}.amount-only-text-field.disabled .amounts .enter-amount .floating-label{color:var(--on-bg-disabled)}.amount-only-text-field.disabled .amounts hr{border-top-color:var(--on-bg-disabled)}.amount-only-text-field.disabled .amounts .enter-amount p,.amount-only-text-field.disabled .amounts .equivalence p{color:var(--on-bg-disabled)}.amount-only-text-field.positive .amounts hr{border-color:var(--positive-primary)}.amount-only-text-field.negative .amounts hr{border-color:var(--negative-primary)}.amount-row{height:30px;align-items:center;display:flex;justify-content:space-between}.amounts{padding:6px;width:100%}.amounts:hover .enter-amount input{color:var(--text-primary)}.amounts:hover .enter-amount input::placeholder{color:var(--text-primary)}.amounts:not(.readonly):focus-within .enter-amount .floating-label{opacity:1;transform:translateY(-12px)}.amounts:not(.readonly):focus-within .enter-amount input::placeholder{opacity:0}.amounts:not(.readonly):focus-within hr{border-color:var(--line-full-enabled-typing-primary)}.amounts .enter-amount{margin-top:12px;position:relative}.amounts .enter-amount .floating-label{position:absolute;top:0;left:0;opacity:0;transform:translateY(10px);pointer-events:none;color:var(--text-primary);transition:all .15s ease}.amounts .enter-amount input{width:100%;border:none;outline:none;color:var(--placeholder-empty-enabled-primary)}.amounts .enter-amount input::placeholder{color:var(--placeholder-empty-enabled-primary)}.amounts .enter-amount input[type=number]{-moz-appearance:textfield}.amounts .enter-amount input[type=number]::-webkit-outer-spin-button,.amounts .enter-amount input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.amounts hr{border:none;border-top:1px solid var(--line-empty-enabled-primary);margin:4px 0;opacity:1;transition:border-color .15s ease}.amounts.filled .enter-amount .floating-label{opacity:1;transform:translateY(-12px)}.amounts.filled .enter-amount input{color:var(--text-primary)}.amounts.filled .enter-amount input::placeholder{opacity:0}.amounts.filled hr{border-color:var(--line-full-enabled-typing-primary)}.amounts.readonly{cursor:default}.amounts.readonly .enter-amount input{color:var(--text-primary);cursor:default}.amounts.readonly .enter-amount input::placeholder{color:var(--text-primary)}.amounts.readonly .enter-amount .floating-label{color:var(--text-secondary)}.amounts.readonly hr{border-top-color:var(--line-empty-enabled-readonly)}\n"] }]
129
+ }], propDecorators: { cypressTag: [{
130
+ type: Input
131
+ }], priority: [{
122
132
  type: Input
123
133
  }], placeholder: [{
124
134
  type: Input
@@ -134,6 +144,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
134
144
  type: Input
135
145
  }], state: [{
136
146
  type: Input
147
+ }], width: [{
148
+ type: Input
137
149
  }], disabled: [{
138
150
  type: Input
139
151
  }], readonly: [{
@@ -145,4 +157,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
145
157
  }], amountValues: [{
146
158
  type: Output
147
159
  }] } });
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS10ZXh0LWZpZWxkLWFtb3VudC1vbmx5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS10ZXh0LWZpZWxkLWFtb3VudC1vbmx5L2dyYXZpdHktdGV4dC1maWVsZC1hbW91bnQtb25seS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktdGV4dC1maWVsZC1hbW91bnQtb25seS9ncmF2aXR5LXRleHQtZmllbGQtYW1vdW50LW9ubHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBZ0IsTUFBTSxlQUFlLENBQUM7Ozs7OztBQWEvRixNQUFNLE9BQU8sbUNBQW1DO0lBTmhEO1FBT0UsZ0JBQWdCO1FBQ0EsYUFBUSxHQUFzQixRQUFRLENBQUM7UUFHdkMsdUJBQWtCLEdBQWdCLElBQUksQ0FBQztRQUd2QyxrQkFBYSxHQUF3QyxnQkFBZ0IsQ0FBQztRQUN0RSxVQUFLLEdBQW1DLElBQUksQ0FBQztRQUU3RCxrQkFBa0I7UUFDRixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakMsVUFBVTtRQUNPLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO1FBQzNELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBQzFDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQStDLENBQUM7UUFFaEcsMkJBQTJCO1FBQ3BCLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDeEIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsY0FBUyxHQUFXLEVBQUUsQ0FBQztLQTZHL0I7SUEzR0MsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFO1lBQ2pFLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksQ0FBQztTQUMxQztJQUNILENBQUM7SUFFRCwwQ0FBMEM7SUFDbkMsY0FBYztRQUNuQixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBRTNDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7WUFDOUIsZ0JBQWdCO1lBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUNsQzthQUFNO1lBQ0wsZ0JBQWdCO1lBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUNwQztRQUVELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCwrQkFBK0I7SUFDeEIsa0JBQWtCLENBQUMsS0FBVTtRQUNsQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDdkIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDeEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDN0IsQ0FBQztJQUVELG9CQUFvQjtJQUNiLGVBQWU7UUFDcEIsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFFMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO1lBQ3ZCLE9BQU87U0FDUjtRQUVELElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNoQixJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFFbEIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRTtZQUM5QixTQUFTLEdBQUcsS0FBSyxDQUFDO1lBRWxCLE9BQU87Z0JBQ0wsSUFBSSxDQUFDLGFBQWEsS0FBSyxnQkFBZ0I7b0JBQ3JDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSTtvQkFDZCxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztTQUVwQjthQUFNO1lBQ0wsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUVoQixTQUFTO2dCQUNQLElBQUksQ0FBQyxhQUFhLEtBQUssZ0JBQWdCO29CQUNyQyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUk7b0JBQ2QsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7U0FDcEI7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFbkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDckIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztTQUM5QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQVU7UUFDL0IsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTO1lBQUUsT0FBTyxDQUFDLENBQUM7UUFFcEQsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2hDLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFTyxZQUFZLENBQUMsS0FBYSxFQUFFLFFBQWdCO1FBQ2xELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sR0FBRyxDQUFDO1FBRWpELE9BQU8sS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUU7WUFDbkMsV0FBVyxFQUFFLEtBQUs7WUFDbEIscUJBQXFCLEVBQUUsQ0FBQztZQUN4QixxQkFBcUIsRUFBRSxRQUFRO1NBQ2hDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFHRCxtQkFBbUI7SUFDWixTQUFTLENBQUMsS0FBYSxFQUFFLFFBQTJCO1FBQ3pELElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBRTFCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxHQUFDLEtBQUssQ0FBQztRQUUzQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQzsrR0FsSVUsbUNBQW1DO21HQUFuQyxtQ0FBbUMsZ2VDYmhELHUzRUE4Q007OzRGRGpDTyxtQ0FBbUM7a0JBTi9DLFNBQVM7K0JBQ0UsZ0NBQWdDOzhCQU8xQixRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsY0FBYztzQkFBN0IsS0FBSztnQkFDVSxrQkFBa0I7c0JBQWpDLEtBQUs7Z0JBQ1UsY0FBYztzQkFBN0IsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFHVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBR1csa0JBQWtCO3NCQUFsQyxNQUFNO2dCQUNVLFVBQVU7c0JBQTFCLE1BQU07Z0JBQ1UsWUFBWTtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmludGVyZmFjZSBjdXJyZW5jeSB7XG4gIGN1cnJlbmN5X2lkOiBudW1iZXI7XG4gIGN1cnJlbmN5X2lzbzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdncmF2aXR5LXRleHQtZmllbGQtYW1vdW50LW9ubHknLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3Jhdml0eS10ZXh0LWZpZWxkLWFtb3VudC1vbmx5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3Jhdml0eS10ZXh0LWZpZWxkLWFtb3VudC1vbmx5LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5cbmV4cG9ydCBjbGFzcyBHcmF2aXR5VGV4dEZpZWxkQW1vdW50T25seUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIC8vIENvbmZpZ3VyYXRpb25cbiAgQElucHV0KCkgcHVibGljIHByaW9yaXR5OiAnY3J5cHRvJyB8ICdmaWF0JyA9ICdjcnlwdG8nO1xuICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXIhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBmaWF0Q3VycmVuY2llcyE6IHsgZGVmYXVsdEl0ZW06IGN1cnJlbmN5OyBpdGVtcz86IGN1cnJlbmN5W107IH07XG4gIEBJbnB1dCgpIHB1YmxpYyBmaWF0Q3VycmVuY2llc1NpemU6ICdzbScgfCAnbWQnID0gJ3NtJztcbiAgQElucHV0KCkgcHVibGljIGNyeXB0b0N1cnJlbmN5ITogY3VycmVuY3k7XG4gIEBJbnB1dCgpIHB1YmxpYyByYXRlITogbnVtYmVyO1xuICBASW5wdXQoKSBwdWJsaWMgcmF0ZURpcmVjdGlvbjogJ0NSWVBUT19UT19GSUFUJyB8ICdGSUFUX1RPX0NSWVBUTycgPSAnQ1JZUFRPX1RPX0ZJQVQnO1xuICBASW5wdXQoKSBwdWJsaWMgc3RhdGU6ICdwb3NpdGl2ZScgfCAnbmVnYXRpdmUnIHwgbnVsbCA9IG51bGw7XG5cbiAgLy8gVUkgU3RhdGUgaW5wdXRzXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgcmVhZG9ubHkgPSBmYWxzZTtcblxuICAvLyBPdXRwdXRzXG4gIEBPdXRwdXQoKSBwdWJsaWMgc3dhcEN1cnJlbmNpZXNGbGFnID0gbmV3IEV2ZW50RW1pdHRlcjwnY3J5cHRvJyB8ICdmaWF0Jz4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBjaGFuZ2VGaWF0ID0gbmV3IEV2ZW50RW1pdHRlcjxjdXJyZW5jeT4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBhbW91bnRWYWx1ZXMgPSBuZXcgRXZlbnRFbWl0dGVyPHsgdmFsdWVGaWF0OiBzdHJpbmc7IHZhbHVlQ3J5cHRvOiBzdHJpbmc7IH0+KCk7XG5cbiAgLy8gSW50ZXJuYWwgY29tcG9uZW50IHN0YXRlXG4gIHB1YmxpYyBpbnB1dFZhbHVlOiBzdHJpbmcgPSAnJztcbiAgcHVibGljIHZhbHVlQ3J5cHRvOiBzdHJpbmcgPSAnJztcbiAgcHVibGljIHZhbHVlRmlhdDogc3RyaW5nID0gJyc7XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydyYXRlJ10gJiYgY2hhbmdlc1sncmF0ZSddLmN1cnJlbnRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnJhdGUgPSBjaGFuZ2VzWydyYXRlJ10uY3VycmVudFZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIC8vQ2hhbmdlIGZyb20gY3J5cHRvIHRvIGZpYXQgb3IgdmljZSB2ZXJzYVxuICBwdWJsaWMgc3dhcEN1cnJlbmNpZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5yZWFkb25seSkgcmV0dXJuO1xuXG4gICAgaWYgKHRoaXMucHJpb3JpdHkgPT09ICdjcnlwdG8nKSB7XG4gICAgICAvLyBjcnlwdG8g4oaSIGZpYXRcbiAgICAgIHRoaXMucHJpb3JpdHkgPSAnZmlhdCc7XG4gICAgICB0aGlzLmlucHV0VmFsdWUgPSB0aGlzLnZhbHVlRmlhdDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gZmlhdCDihpIgY3J5cHRvXG4gICAgICB0aGlzLnByaW9yaXR5ID0gJ2NyeXB0byc7XG4gICAgICB0aGlzLmlucHV0VmFsdWUgPSB0aGlzLnZhbHVlQ3J5cHRvO1xuICAgIH1cblxuICAgIHRoaXMuc3dhcEN1cnJlbmNpZXNGbGFnLmVtaXQodGhpcy5wcmlvcml0eSk7XG4gIH1cblxuICAvL0NoYW5nZSBzZWxlY3RlZCBmaWF0IGN1cnJlbmN5XG4gIHB1YmxpYyB1cGRhdGVGaWF0Q3VycmVuY3koZXZlbnQ6IGFueSkge1xuICAgIGRlbGV0ZSB0aGlzLmlucHV0VmFsdWU7XG4gICAgZGVsZXRlIHRoaXMudmFsdWVGaWF0O1xuICAgIGRlbGV0ZSB0aGlzLnZhbHVlQ3J5cHRvO1xuICAgIHRoaXMuZmlhdEN1cnJlbmNpZXMuZGVmYXVsdEl0ZW0gPSBldmVudDtcbiAgICB0aGlzLmNoYW5nZUZpYXQuZW1pdChldmVudClcbiAgfVxuXG4gIC8vR2V0IGN1cnJlbmN5IHJhdGVzXG4gIHB1YmxpYyBjYWxjdWxhdGVWYWx1ZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcblxuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5zYW5pdGl6ZU51bWJlcih0aGlzLmlucHV0VmFsdWUpO1xuICAgIGNvbnN0IHJhdGUgPSB0aGlzLnNhbml0aXplTnVtYmVyKHRoaXMucmF0ZSk7XG5cbiAgICBpZiAoIXJhdGUpIHtcbiAgICAgIHRoaXMudmFsdWVGaWF0ID0gJzAnO1xuICAgICAgdGhpcy52YWx1ZUNyeXB0byA9ICcwJztcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgZmlhdE51bSA9IDA7XG4gICAgbGV0IGNyeXB0b051bSA9IDA7XG5cbiAgICBpZiAodGhpcy5wcmlvcml0eSA9PT0gJ2NyeXB0bycpIHtcbiAgICAgIGNyeXB0b051bSA9IGlucHV0O1xuXG4gICAgICBmaWF0TnVtID1cbiAgICAgICAgdGhpcy5yYXRlRGlyZWN0aW9uID09PSAnQ1JZUFRPX1RPX0ZJQVQnXG4gICAgICAgICAgPyBpbnB1dCAqIHJhdGVcbiAgICAgICAgICA6IGlucHV0IC8gcmF0ZTtcblxuICAgIH0gZWxzZSB7XG4gICAgICBmaWF0TnVtID0gaW5wdXQ7XG5cbiAgICAgIGNyeXB0b051bSA9XG4gICAgICAgIHRoaXMucmF0ZURpcmVjdGlvbiA9PT0gJ0NSWVBUT19UT19GSUFUJ1xuICAgICAgICAgID8gaW5wdXQgLyByYXRlXG4gICAgICAgICAgOiBpbnB1dCAqIHJhdGU7XG4gICAgfVxuXG4gICAgdGhpcy52YWx1ZUZpYXQgPSB0aGlzLmZvcm1hdE51bWJlcihmaWF0TnVtLCAyKTtcbiAgICB0aGlzLnZhbHVlQ3J5cHRvID0gdGhpcy5mb3JtYXROdW1iZXIoY3J5cHRvTnVtLCA4KTtcblxuICAgIHRoaXMuYW1vdW50VmFsdWVzLmVtaXQoe1xuICAgICAgdmFsdWVGaWF0OiB0aGlzLnZhbHVlRmlhdCxcbiAgICAgIHZhbHVlQ3J5cHRvOiB0aGlzLnZhbHVlQ3J5cHRvXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNhbml0aXplTnVtYmVyKHZhbHVlOiBhbnkpOiBudW1iZXIge1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gMDtcblxuICAgIGNvbnN0IG51bSA9IE51bWJlcih2YWx1ZSk7XG5cbiAgICBpZiAoIWlzRmluaXRlKG51bSkgfHwgaXNOYU4obnVtKSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0TnVtYmVyKHZhbHVlOiBudW1iZXIsIGRlY2ltYWxzOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmICghaXNGaW5pdGUodmFsdWUpIHx8IGlzTmFOKHZhbHVlKSkgcmV0dXJuICcwJztcblxuICAgIHJldHVybiB2YWx1ZS50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XG4gICAgICB1c2VHcm91cGluZzogZmFsc2UsXG4gICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAsXG4gICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IGRlY2ltYWxzXG4gICAgfSk7XG4gIH1cblxuXG4gIC8vU2V0IGN1c3RvbSBhbW91bnRcbiAgcHVibGljIHNldEFtb3VudCh2YWx1ZTogbnVtYmVyLCBwcmlvcml0eTogJ2ZpYXQnIHwgJ2NyeXB0bycpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5wcmlvcml0eSA9IHByaW9yaXR5O1xuICAgIHRoaXMuaW5wdXRWYWx1ZSA9ICcnK3ZhbHVlO1xuXG4gICAgdGhpcy5jYWxjdWxhdGVWYWx1ZXMoKTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiYW1vdW50LW9ubHktdGV4dC1maWVsZCB7e3N0YXRlID8gc3RhdGUgOiBudWxsfX1cIiBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cblxuICA8IS0tU3dpdGNoLS0+XG4gIDxncmF2aXR5LWljb24tYnV0dG9uIChjbGlja09uSWNvbik9XCJzd2FwQ3VycmVuY2llcygpXCIgW2ljb25dPVwiJ3N3YXBzJ1wiICpuZ0lmPVwiIXJlYWRvbmx5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2N5cHJlc3NUYWddPVwiJ3N3YXBDdXJyZW5jaWVzJ1wiIFtzaXplXT1cIidzbSdcIlxuICAgICAgICAgICAgICAgICAgICAgICBbc3VwcG9ydFRleHRdPVwiZGlzYWJsZWQgPyBudWxsIDogcHJpb3JpdHkgPT0gJ2NyeXB0bycgPyAnRW50ZXIgdGhlIGFtb3VudCBpbiBmaWF0JyA6ICdFbnRlciB0aGUgYW1vdW50IGluIGNyeXB0bydcIlxuICAgICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCIncHJpbWFyeSdcIiBbc3RhdGVdPVwiZGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogJ2FjdGl2ZSdcIi8+XG5cbiAgPGRpdiBjbGFzcz1cImFtb3VudHNcIiBbY2xhc3MuZmlsbGVkXT1cImlucHV0VmFsdWVcIiBbY2xhc3MucmVhZG9ubHldPVwicmVhZG9ubHlcIj5cblxuICAgIDwhLS1FbnRlciBhbW91bnQgcm93LS0+XG4gICAgPGRpdiBjbGFzcz1cImVudGVyLWFtb3VudCBhbW91bnQtcm93XCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJmbG9hdGluZy1sYWJlbCBoci1sYWJlbCBzbS1yZWd1bGFyXCI+XG4gICAgICAgIHt7IHBsYWNlaG9sZGVyIH19XG4gICAgICA8L2xhYmVsPlxuXG4gICAgICA8aW5wdXQgY2xhc3M9XCJoci1sYWJlbCBtZC1yZWd1bGFyXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgKGlucHV0KT1cImNhbGN1bGF0ZVZhbHVlcygpXCJcbiAgICAgICAgICAgICBbYXR0ci5kYXRhLWN5XT1cIid0ZXh0RmllbGRBbW91bnRfaW5wdXQnXCIgWyhuZ01vZGVsKV09XCJpbnB1dFZhbHVlXCIgcGxhY2Vob2xkZXI9XCJ7e3BsYWNlaG9sZGVyfX1cIlxuICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInByaW9yaXR5ID09ICdmaWF0J1wiPlxuICAgICAgICA8Z3Jhdml0eS1jdXJyZW5jeS1kcm9wZG93bi1zaG9ydCBbc2l6ZV09XCJmaWF0Q3VycmVuY2llc1NpemVcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAob25DbGljayk9XCJ1cGRhdGVGaWF0Q3VycmVuY3koJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwiZmlhdEN1cnJlbmNpZXNcIi8+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcmlvcml0eSA9PSAnY3J5cHRvJ1wiPlxuICAgICAgICA8cCBjbGFzcz1cImhyLWJvZHkgc20tcmVndWxhclwiIFtjbGFzcy5ncmF2aXR5LXBhZGRpbmctaW5saW5lLXh4c109XCJmaWF0Q3VycmVuY2llc1NpemUgPT0gJ3NtJ1wiIFtjbGFzcy5ncmF2aXR5LXBhZGRpbmctaW5saW5lLXNtXT1cImZpYXRDdXJyZW5jaWVzU2l6ZSA9PSAnbWQnXCI+e3tjcnlwdG9DdXJyZW5jeS5jdXJyZW5jeV9pc299fTwvcD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPGhyPlxuXG4gICAgPCEtLUVxdWl2YWxlbmNlIHJvdy0tPlxuICAgIDxkaXYgY2xhc3M9XCJlcXVpdmFsZW5jZSBhbW91bnQtcm93XCI+XG4gICAgICA8cCBjbGFzcz1cImhyLWJvZHkgc20tcmVndWxhclwiPlxuICAgICAgICDiiYgge3sgcHJpb3JpdHkgPT0gJ2NyeXB0bycgPyB2YWx1ZUZpYXQgOiB2YWx1ZUNyeXB0b319XG4gICAgICA8L3A+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcmlvcml0eSA9PSAnY3J5cHRvJ1wiPlxuICAgICAgICA8Z3Jhdml0eS1jdXJyZW5jeS1kcm9wZG93bi1zaG9ydCBbc2l6ZV09XCJmaWF0Q3VycmVuY2llc1NpemVcIiBbcmVhZG9ubHldPVwidHJ1ZVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwiZmlhdEN1cnJlbmNpZXNcIi8+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcmlvcml0eSA9PSAnZmlhdCdcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJoci1ib2R5IHNtLXJlZ3VsYXJcIiBbY2xhc3MuZ3Jhdml0eS1wYWRkaW5nLWlubGluZS14eHNdPVwiZmlhdEN1cnJlbmNpZXNTaXplID09ICdzbSdcIiBbY2xhc3MuZ3Jhdml0eS1wYWRkaW5nLWlubGluZS1zbV09XCJmaWF0Q3VycmVuY2llc1NpemUgPT0gJ21kJ1wiPnt7Y3J5cHRvQ3VycmVuY3kuY3VycmVuY3lfaXNvfX08L3A+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS10ZXh0LWZpZWxkLWFtb3VudC1vbmx5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS10ZXh0LWZpZWxkLWFtb3VudC1vbmx5L2dyYXZpdHktdGV4dC1maWVsZC1hbW91bnQtb25seS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktdGV4dC1maWVsZC1hbW91bnQtb25seS9ncmF2aXR5LXRleHQtZmllbGQtYW1vdW50LW9ubHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBZ0IsTUFBTSxlQUFlLENBQUM7Ozs7OztBQWEvRixNQUFNLE9BQU8sbUNBQW1DO0lBTmhEO1FBU2tCLGFBQVEsR0FBc0IsUUFBUSxDQUFDO1FBR3ZDLHVCQUFrQixHQUFnQixJQUFJLENBQUM7UUFHdkMsa0JBQWEsR0FBd0MsZ0JBQWdCLENBQUM7UUFDdEUsVUFBSyxHQUFtQyxJQUFJLENBQUM7UUFDN0MsVUFBSyxHQUF3QixVQUFVLENBQUM7UUFFeEQsa0JBQWtCO1FBQ0YsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpDLFVBQVU7UUFDTyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUMzRCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUMxQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUErQyxDQUFDO1FBRWhHLDJCQUEyQjtRQUNwQixlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGNBQVMsR0FBVyxFQUFFLENBQUM7S0F1SC9CO0lBckhDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRTtZQUNqRSxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLENBQUM7U0FDMUM7SUFDSCxDQUFDO0lBRUQsMENBQTBDO0lBQ25DLGNBQWM7UUFDbkIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUUzQyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFO1lBQzlCLGdCQUFnQjtZQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztZQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7U0FDbEM7YUFBTTtZQUNMLGdCQUFnQjtZQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztZQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7U0FDcEM7UUFFRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsK0JBQStCO0lBQ3hCLGtCQUFrQixDQUFDLEtBQVU7UUFDbEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzdCLENBQUM7SUFFRCxvQkFBb0I7SUFDYixlQUFlO1FBQ3BCLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBRTFCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztZQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztZQUN2QixPQUFPO1NBQ1I7UUFFRCxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBRWxCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7WUFDOUIsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUVsQixPQUFPO2dCQUNMLElBQUksQ0FBQyxhQUFhLEtBQUssZ0JBQWdCO29CQUNyQyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUk7b0JBQ2QsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7U0FFcEI7YUFBTTtZQUNMLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFFaEIsU0FBUztnQkFDUCxJQUFJLENBQUMsYUFBYSxLQUFLLGdCQUFnQjtvQkFDckMsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJO29CQUNkLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQ3BCO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRW5ELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ3JCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7U0FDOUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGNBQWMsQ0FBQyxLQUFVO1FBQy9CLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUztZQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXBELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNoQyxPQUFPLENBQUMsQ0FBQztTQUNWO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQWEsRUFBRSxRQUFnQjtRQUNsRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPLEdBQUcsQ0FBQztRQUVqRCxPQUFPLEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFO1lBQ25DLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLHFCQUFxQixFQUFFLENBQUM7WUFDeEIscUJBQXFCLEVBQUUsUUFBUTtTQUNoQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBR0QsbUJBQW1CO0lBQ1osU0FBUyxDQUFDLEtBQWEsRUFBRSxRQUEyQjtRQUN6RCxJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUUxQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsR0FBQyxLQUFLLENBQUM7UUFFM0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxpQkFBaUI7SUFDVixLQUFLLENBQUMsV0FBOEIsUUFBUTtRQUNqRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUV6QixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUV0QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDOytHQS9JVSxtQ0FBbUM7bUdBQW5DLG1DQUFtQywwZ0JDYmhELHFvRkFtRE07OzRGRHRDTyxtQ0FBbUM7a0JBTi9DLFNBQVM7K0JBQ0UsZ0NBQWdDOzhCQU8xQixVQUFVO3NCQUF6QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxjQUFjO3NCQUE3QixLQUFLO2dCQUNVLGtCQUFrQjtzQkFBakMsS0FBSztnQkFDVSxjQUFjO3NCQUE3QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBR1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUdXLGtCQUFrQjtzQkFBbEMsTUFBTTtnQkFDVSxVQUFVO3NCQUExQixNQUFNO2dCQUNVLFlBQVk7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbnRlcmZhY2UgY3VycmVuY3kge1xuICBjdXJyZW5jeV9pZDogbnVtYmVyO1xuICBjdXJyZW5jeV9pc286IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ3Jhdml0eS10ZXh0LWZpZWxkLWFtb3VudC1vbmx5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dyYXZpdHktdGV4dC1maWVsZC1hbW91bnQtb25seS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dyYXZpdHktdGV4dC1maWVsZC1hbW91bnQtb25seS5jb21wb25lbnQuc2NzcyddXG59KVxuXG5leHBvcnQgY2xhc3MgR3Jhdml0eVRleHRGaWVsZEFtb3VudE9ubHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAvLyBDb25maWd1cmF0aW9uXG4gIEBJbnB1dCgpIHB1YmxpYyBjeXByZXNzVGFnOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBwcmlvcml0eTogJ2NyeXB0bycgfCAnZmlhdCcgPSAnY3J5cHRvJztcbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyITogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgZmlhdEN1cnJlbmNpZXMhOiB7IGRlZmF1bHRJdGVtOiBjdXJyZW5jeTsgaXRlbXM/OiBjdXJyZW5jeVtdOyB9O1xuICBASW5wdXQoKSBwdWJsaWMgZmlhdEN1cnJlbmNpZXNTaXplOiAnc20nIHwgJ21kJyA9ICdzbSc7XG4gIEBJbnB1dCgpIHB1YmxpYyBjcnlwdG9DdXJyZW5jeSE6IGN1cnJlbmN5O1xuICBASW5wdXQoKSBwdWJsaWMgcmF0ZSE6IG51bWJlcjtcbiAgQElucHV0KCkgcHVibGljIHJhdGVEaXJlY3Rpb246ICdDUllQVE9fVE9fRklBVCcgfCAnRklBVF9UT19DUllQVE8nID0gJ0NSWVBUT19UT19GSUFUJztcbiAgQElucHV0KCkgcHVibGljIHN0YXRlOiAncG9zaXRpdmUnIHwgJ25lZ2F0aXZlJyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBwdWJsaWMgd2lkdGg6ICdzdGFuZGFyZCcgfCAnZnVsbCcgPSAnc3RhbmRhcmQnO1xuXG4gIC8vIFVJIFN0YXRlIGlucHV0c1xuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHJlYWRvbmx5ID0gZmFsc2U7XG5cbiAgLy8gT3V0cHV0c1xuICBAT3V0cHV0KCkgcHVibGljIHN3YXBDdXJyZW5jaWVzRmxhZyA9IG5ldyBFdmVudEVtaXR0ZXI8J2NyeXB0bycgfCAnZmlhdCc+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgY2hhbmdlRmlhdCA9IG5ldyBFdmVudEVtaXR0ZXI8Y3VycmVuY3k+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgYW1vdW50VmFsdWVzID0gbmV3IEV2ZW50RW1pdHRlcjx7IHZhbHVlRmlhdDogc3RyaW5nOyB2YWx1ZUNyeXB0bzogc3RyaW5nOyB9PigpO1xuXG4gIC8vIEludGVybmFsIGNvbXBvbmVudCBzdGF0ZVxuICBwdWJsaWMgaW5wdXRWYWx1ZTogc3RyaW5nID0gJyc7XG4gIHB1YmxpYyB2YWx1ZUNyeXB0bzogc3RyaW5nID0gJyc7XG4gIHB1YmxpYyB2YWx1ZUZpYXQ6IHN0cmluZyA9ICcnO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1sncmF0ZSddICYmIGNoYW5nZXNbJ3JhdGUnXS5jdXJyZW50VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5yYXRlID0gY2hhbmdlc1sncmF0ZSddLmN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gIH1cblxuICAvL0NoYW5nZSBmcm9tIGNyeXB0byB0byBmaWF0IG9yIHZpY2UgdmVyc2FcbiAgcHVibGljIHN3YXBDdXJyZW5jaWVzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpIHJldHVybjtcblxuICAgIGlmICh0aGlzLnByaW9yaXR5ID09PSAnY3J5cHRvJykge1xuICAgICAgLy8gY3J5cHRvIOKGkiBmaWF0XG4gICAgICB0aGlzLnByaW9yaXR5ID0gJ2ZpYXQnO1xuICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy52YWx1ZUZpYXQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGZpYXQg4oaSIGNyeXB0b1xuICAgICAgdGhpcy5wcmlvcml0eSA9ICdjcnlwdG8nO1xuICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy52YWx1ZUNyeXB0bztcbiAgICB9XG5cbiAgICB0aGlzLnN3YXBDdXJyZW5jaWVzRmxhZy5lbWl0KHRoaXMucHJpb3JpdHkpO1xuICB9XG5cbiAgLy9DaGFuZ2Ugc2VsZWN0ZWQgZmlhdCBjdXJyZW5jeVxuICBwdWJsaWMgdXBkYXRlRmlhdEN1cnJlbmN5KGV2ZW50OiBhbnkpIHtcbiAgICBkZWxldGUgdGhpcy5pbnB1dFZhbHVlO1xuICAgIGRlbGV0ZSB0aGlzLnZhbHVlRmlhdDtcbiAgICBkZWxldGUgdGhpcy52YWx1ZUNyeXB0bztcbiAgICB0aGlzLmZpYXRDdXJyZW5jaWVzLmRlZmF1bHRJdGVtID0gZXZlbnQ7XG4gICAgdGhpcy5jaGFuZ2VGaWF0LmVtaXQoZXZlbnQpXG4gIH1cblxuICAvL0dldCBjdXJyZW5jeSByYXRlc1xuICBwdWJsaWMgY2FsY3VsYXRlVmFsdWVzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG5cbiAgICBjb25zdCBpbnB1dCA9IHRoaXMuc2FuaXRpemVOdW1iZXIodGhpcy5pbnB1dFZhbHVlKTtcbiAgICBjb25zdCByYXRlID0gdGhpcy5zYW5pdGl6ZU51bWJlcih0aGlzLnJhdGUpO1xuXG4gICAgaWYgKCFyYXRlKSB7XG4gICAgICB0aGlzLnZhbHVlRmlhdCA9ICcwJztcbiAgICAgIHRoaXMudmFsdWVDcnlwdG8gPSAnMCc7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IGZpYXROdW0gPSAwO1xuICAgIGxldCBjcnlwdG9OdW0gPSAwO1xuXG4gICAgaWYgKHRoaXMucHJpb3JpdHkgPT09ICdjcnlwdG8nKSB7XG4gICAgICBjcnlwdG9OdW0gPSBpbnB1dDtcblxuICAgICAgZmlhdE51bSA9XG4gICAgICAgIHRoaXMucmF0ZURpcmVjdGlvbiA9PT0gJ0NSWVBUT19UT19GSUFUJ1xuICAgICAgICAgID8gaW5wdXQgKiByYXRlXG4gICAgICAgICAgOiBpbnB1dCAvIHJhdGU7XG5cbiAgICB9IGVsc2Uge1xuICAgICAgZmlhdE51bSA9IGlucHV0O1xuXG4gICAgICBjcnlwdG9OdW0gPVxuICAgICAgICB0aGlzLnJhdGVEaXJlY3Rpb24gPT09ICdDUllQVE9fVE9fRklBVCdcbiAgICAgICAgICA/IGlucHV0IC8gcmF0ZVxuICAgICAgICAgIDogaW5wdXQgKiByYXRlO1xuICAgIH1cblxuICAgIHRoaXMudmFsdWVGaWF0ID0gdGhpcy5mb3JtYXROdW1iZXIoZmlhdE51bSwgMik7XG4gICAgdGhpcy52YWx1ZUNyeXB0byA9IHRoaXMuZm9ybWF0TnVtYmVyKGNyeXB0b051bSwgOCk7XG5cbiAgICB0aGlzLmFtb3VudFZhbHVlcy5lbWl0KHtcbiAgICAgIHZhbHVlRmlhdDogdGhpcy52YWx1ZUZpYXQsXG4gICAgICB2YWx1ZUNyeXB0bzogdGhpcy52YWx1ZUNyeXB0b1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzYW5pdGl6ZU51bWJlcih2YWx1ZTogYW55KTogbnVtYmVyIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkgcmV0dXJuIDA7XG5cbiAgICBjb25zdCBudW0gPSBOdW1iZXIodmFsdWUpO1xuXG4gICAgaWYgKCFpc0Zpbml0ZShudW0pIHx8IGlzTmFOKG51bSkpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIHJldHVybiBudW07XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdE51bWJlcih2YWx1ZTogbnVtYmVyLCBkZWNpbWFsczogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBpZiAoIWlzRmluaXRlKHZhbHVlKSB8fCBpc05hTih2YWx1ZSkpIHJldHVybiAnMCc7XG5cbiAgICByZXR1cm4gdmFsdWUudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xuICAgICAgdXNlR3JvdXBpbmc6IGZhbHNlLFxuICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwLFxuICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBkZWNpbWFsc1xuICAgIH0pO1xuICB9XG5cblxuICAvL1NldCBjdXN0b20gYW1vdW50XG4gIHB1YmxpYyBzZXRBbW91bnQodmFsdWU6IG51bWJlciwgcHJpb3JpdHk6ICdmaWF0JyB8ICdjcnlwdG8nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcblxuICAgIHRoaXMucHJpb3JpdHkgPSBwcmlvcml0eTtcbiAgICB0aGlzLmlucHV0VmFsdWUgPSAnJyt2YWx1ZTtcblxuICAgIHRoaXMuY2FsY3VsYXRlVmFsdWVzKCk7XG4gIH1cblxuICAvL0NsZWFuIGNvbXBvbmVudFxuICBwdWJsaWMgcmVzZXQocHJpb3JpdHk6ICdjcnlwdG8nIHwgJ2ZpYXQnID0gJ2NyeXB0bycpOiB2b2lkIHtcbiAgICB0aGlzLnByaW9yaXR5ID0gcHJpb3JpdHk7XG5cbiAgICB0aGlzLmlucHV0VmFsdWUgPSAnJztcbiAgICB0aGlzLnZhbHVlRmlhdCA9ICcnO1xuICAgIHRoaXMudmFsdWVDcnlwdG8gPSAnJztcblxuICAgIHRoaXMuc3RhdGUgPSBudWxsO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYW1vdW50LW9ubHktdGV4dC1maWVsZCB7e3N0YXRlID8gc3RhdGUgOiBudWxsfX1cIiBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICBbYXR0ci5kYXRhLWN5XT1cImN5cHJlc3NUYWcgPyAndGV4dEZpZWxkQW1vdW50XycrY3lwcmVzc1RhZyA6IG51bGxcIiBbY2xhc3Muc3RhbmRhcmQtd2lkdGhdPVwid2lkdGggPT09ICdzdGFuZGFyZCdcIlxuICAgICBbY2xhc3MuZnVsbC13aWR0aF09XCJ3aWR0aCA9PT0gJ2Z1bGwnXCI+XG5cbiAgPCEtLVN3aXRjaC0tPlxuICA8Z3Jhdml0eS1pY29uLWJ1dHRvbiAoY2xpY2tPbkljb24pPVwic3dhcEN1cnJlbmNpZXMoKVwiIFtpY29uXT1cIidzd2FwcydcIiAqbmdJZj1cIiFyZWFkb25seVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtjeXByZXNzVGFnXT1cIidzd2FwQ3VycmVuY2llcydcIiBbc2l6ZV09XCInc20nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW3N1cHBvcnRUZXh0XT1cImRpc2FibGVkID8gbnVsbCA6IHByaW9yaXR5ID09ICdjcnlwdG8nID8gJ0VudGVyIHRoZSBhbW91bnQgaW4gZmlhdCcgOiAnRW50ZXIgdGhlIGFtb3VudCBpbiBjcnlwdG8nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiJ3ByaW1hcnknXCIgW3N0YXRlXT1cImRpc2FibGVkID8gJ2Rpc2FibGVkJyA6ICdhY3RpdmUnXCIvPlxuXG4gIDxkaXYgY2xhc3M9XCJhbW91bnRzXCIgW2NsYXNzLmZpbGxlZF09XCJpbnB1dFZhbHVlXCIgW2NsYXNzLnJlYWRvbmx5XT1cInJlYWRvbmx5XCI+XG5cbiAgICA8IS0tRW50ZXIgYW1vdW50IHJvdy0tPlxuICAgIDxkaXYgY2xhc3M9XCJlbnRlci1hbW91bnQgYW1vdW50LXJvd1wiPlxuICAgICAgPGxhYmVsIGNsYXNzPVwiZmxvYXRpbmctbGFiZWwgaHItbGFiZWwgc20tcmVndWxhclwiPlxuICAgICAgICB7eyBwbGFjZWhvbGRlciB9fVxuICAgICAgPC9sYWJlbD5cblxuICAgICAgPGlucHV0IGNsYXNzPVwiaHItbGFiZWwgbWQtcmVndWxhclwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIChpbnB1dCk9XCJjYWxjdWxhdGVWYWx1ZXMoKVwiXG4gICAgICAgICAgICAgW2F0dHIuZGF0YS1jeV09XCIndGV4dEZpZWxkQW1vdW50X2lucHV0J1wiIFsobmdNb2RlbCldPVwiaW5wdXRWYWx1ZVwiIHBsYWNlaG9sZGVyPVwie3twbGFjZWhvbGRlcn19XCJcbiAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCI+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcmlvcml0eSA9PSAnZmlhdCdcIj5cbiAgICAgICAgPGdyYXZpdHktY3VycmVuY3ktZHJvcGRvd24tc2hvcnQgW3NpemVdPVwiZmlhdEN1cnJlbmNpZXNTaXplXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwidXBkYXRlRmlhdEN1cnJlbmN5KCRldmVudClcIiBbY3lwcmVzc1RhZ109XCInYW1vdW50RmlhdCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImZpYXRDdXJyZW5jaWVzXCIvPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJpb3JpdHkgPT0gJ2NyeXB0bydcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJoci1ib2R5IHNtLXJlZ3VsYXJcIiBbY2xhc3MuZ3Jhdml0eS1wYWRkaW5nLWlubGluZS14eHNdPVwiZmlhdEN1cnJlbmNpZXNTaXplID09ICdzbSdcIlxuICAgICAgICAgICBbY2xhc3MuZ3Jhdml0eS1wYWRkaW5nLWlubGluZS1zbV09XCJmaWF0Q3VycmVuY2llc1NpemUgPT0gJ21kJ1wiPnt7IGNyeXB0b0N1cnJlbmN5LmN1cnJlbmN5X2lzbyB9fTwvcD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPGhyPlxuXG4gICAgPCEtLUVxdWl2YWxlbmNlIHJvdy0tPlxuICAgIDxkaXYgY2xhc3M9XCJlcXVpdmFsZW5jZSBhbW91bnQtcm93XCI+XG4gICAgICA8cCBjbGFzcz1cImhyLWJvZHkgc20tcmVndWxhclwiPlxuICAgICAgICDiiYgge3sgcHJpb3JpdHkgPT0gJ2NyeXB0bycgPyB2YWx1ZUZpYXQgOiB2YWx1ZUNyeXB0byB9fVxuICAgICAgPC9wPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJpb3JpdHkgPT0gJ2NyeXB0bydcIj5cbiAgICAgICAgPGdyYXZpdHktY3VycmVuY3ktZHJvcGRvd24tc2hvcnQgW3NpemVdPVwiZmlhdEN1cnJlbmNpZXNTaXplXCIgW3JlYWRvbmx5XT1cInRydWVcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImZpYXRDdXJyZW5jaWVzXCIvPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJpb3JpdHkgPT0gJ2ZpYXQnXCI+XG4gICAgICAgIDxwIGNsYXNzPVwiaHItYm9keSBzbS1yZWd1bGFyXCIgW2NsYXNzLmdyYXZpdHktcGFkZGluZy1pbmxpbmUteHhzXT1cImZpYXRDdXJyZW5jaWVzU2l6ZSA9PSAnc20nXCJcbiAgICAgICAgICAgW2NsYXNzLmdyYXZpdHktcGFkZGluZy1pbmxpbmUtc21dPVwiZmlhdEN1cnJlbmNpZXNTaXplID09ICdtZCdcIj57eyBjcnlwdG9DdXJyZW5jeS5jdXJyZW5jeV9pc28gfX08L3A+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=