rd-outer-component 0.0.71 → 0.0.73
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.
- package/esm2020/lib/modules/custom-filter/custom-filter.component.mjs +11 -4
- package/esm2020/lib/modules/custom-input/custom-input.component.mjs +20 -11
- package/esm2020/lib/modules/custom-input-amount/custom-input-amount.component.mjs +17 -9
- package/esm2020/lib/modules/custom-pagination/paginator.component.mjs +7 -4
- package/esm2020/lib/modules/custom-select/custom-select.component.mjs +13 -6
- package/esm2020/lib/modules/custom-textarea/custom-textarea.component.mjs +16 -8
- package/esm2020/lib/utils/form-vaild-lang.mjs +26 -0
- package/fesm2015/rd-outer-component.mjs +100 -36
- package/fesm2015/rd-outer-component.mjs.map +1 -1
- package/fesm2020/rd-outer-component.mjs +99 -36
- package/fesm2020/rd-outer-component.mjs.map +1 -1
- package/lib/modules/custom-filter/custom-filter.component.d.ts +3 -1
- package/lib/modules/custom-input/custom-input.component.d.ts +2 -1
- package/lib/modules/custom-input-amount/custom-input-amount.component.d.ts +2 -1
- package/lib/modules/custom-pagination/paginator.component.d.ts +2 -1
- package/lib/modules/custom-select/custom-select.component.d.ts +2 -1
- package/lib/modules/custom-textarea/custom-textarea.component.d.ts +2 -1
- package/lib/utils/form-vaild-lang.d.ts +17 -0
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Component, EventEmitter, forwardRef, Input, Output, } from '@angular/core';
|
|
2
2
|
import { NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
|
|
3
|
+
import { getTranslation } from '../../utils/form-vaild-lang';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "@angular/common";
|
|
5
6
|
import * as i2 from "@angular/forms";
|
|
@@ -21,11 +22,14 @@ export class CustomSelectComponent {
|
|
|
21
22
|
const msg = this.errorMessages[firstError];
|
|
22
23
|
switch (firstError) {
|
|
23
24
|
case 'required':
|
|
24
|
-
return msg ||
|
|
25
|
+
return (msg ||
|
|
26
|
+
`${getTranslation(this.lang, 'pleaseEnter')} ${this.label.toLowerCase()}`);
|
|
25
27
|
case 'custom':
|
|
26
|
-
return this.control?.errors['custom'] ||
|
|
28
|
+
return (this.control?.errors['custom'] ||
|
|
29
|
+
getTranslation(this.lang, 'validationFailed'));
|
|
27
30
|
default:
|
|
28
|
-
return this.errorMessages[firstError] ||
|
|
31
|
+
return (this.errorMessages[firstError] ||
|
|
32
|
+
getTranslation(this.lang, 'validationFailed'));
|
|
29
33
|
}
|
|
30
34
|
}
|
|
31
35
|
get showError() {
|
|
@@ -33,6 +37,7 @@ export class CustomSelectComponent {
|
|
|
33
37
|
}
|
|
34
38
|
constructor(cdr) {
|
|
35
39
|
this.cdr = cdr;
|
|
40
|
+
this.lang = 'en';
|
|
36
41
|
this.label = '';
|
|
37
42
|
this.name = '';
|
|
38
43
|
this.disabled = false;
|
|
@@ -113,7 +118,7 @@ export class CustomSelectComponent {
|
|
|
113
118
|
}
|
|
114
119
|
}
|
|
115
120
|
CustomSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CustomSelectComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
116
|
-
CustomSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CustomSelectComponent, selector: "app-rd-select", inputs: { label: "label", customTpl: "customTpl", optionTpl: "optionTpl", name: "name", disabled: "disabled", nzMode: "nzMode", isCurrency: "isCurrency", currencyUrlMap: "currencyUrlMap", optionHeightPx: "optionHeightPx", isLoading: "isLoading", isShowSearch: "isShowSearch", isRemoteSearch: "isRemoteSearch", options: "options", errorMessages: "errorMessages" }, outputs: { searchChange: "searchChange", valueChange: "valueChange", scrollToBottomEmit: "scrollToBottomEmit" }, providers: [
|
|
121
|
+
CustomSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CustomSelectComponent, selector: "app-rd-select", inputs: { lang: "lang", label: "label", customTpl: "customTpl", optionTpl: "optionTpl", name: "name", disabled: "disabled", nzMode: "nzMode", isCurrency: "isCurrency", currencyUrlMap: "currencyUrlMap", optionHeightPx: "optionHeightPx", isLoading: "isLoading", isShowSearch: "isShowSearch", isRemoteSearch: "isRemoteSearch", options: "options", errorMessages: "errorMessages" }, outputs: { searchChange: "searchChange", valueChange: "valueChange", scrollToBottomEmit: "scrollToBottomEmit" }, providers: [
|
|
117
122
|
{
|
|
118
123
|
provide: NG_VALUE_ACCESSOR,
|
|
119
124
|
useExisting: forwardRef(() => CustomSelectComponent),
|
|
@@ -139,7 +144,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
139
144
|
multi: true,
|
|
140
145
|
},
|
|
141
146
|
], template: "<app-rd-form-item\n [disabled]=\"disabled\"\n [focus]=\"!!searchInput || isFocus || isOpen\"\n [type]=\"'select'\"\n [label]=\"label\"\n [value]=\"nativeValue\"\n [errorMessage]=\"showError ? currentErrorMessage : ''\"\n>\n <nz-select\n class=\"rd-form-item-select\"\n nzBorderless\n [nzMode]=\"nzMode\"\n [nzShowArrow]=\"false\"\n [(ngModel)]=\"nativeValue\"\n [nzCustomTemplate]=\"\n customTpl\n ? customTpl\n : isCurrency\n ? currencySelectedTpl\n : defaultSelectedTpl\n \"\n (nzScrollToBottom)=\"onScrollToBottom()\"\n (ngModelChange)=\"handleValueChange($event)\"\n [disabled]=\"disabled\"\n (nzFocus)=\"isFocus = true\"\n (nzBlur)=\"isFocus = false\"\n [nzDropdownClassName]=\"\n nzMode === 'multiple'\n ? 'rd-form-item-multiple-select-dropdown'\n : 'rd-form-item-select-dropdown'\n \"\n [nzOptionOverflowSize]=\"5\"\n [nzOptionHeightPx]=\"optionHeightPx || 40\"\n [nzSuffixIcon]=\"customIcon\"\n [nzRemoveIcon]=\"removeIcon\"\n [nzShowSearch]=\"isShowSearch\"\n (nzOnSearch)=\"onSearch($event)\"\n (nzOpenChange)=\"handleOpenChange($event)\"\n >\n <nz-option\n *ngFor=\"let option of filteredOptions\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.name || ''\"\n [nzDisabled]=\"option.disabled || false\"\n [nzCustomContent]=\"true\"\n >\n <ng-container *ngIf=\"optionTpl || isCurrency\">\n <ng-container\n *ngTemplateOutlet=\"\n isCurrency ? currencyOptionTpl : optionTpl;\n context: { $implicit: option }\n \"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(optionTpl || isCurrency)\">\n {{ option.name }}\n </ng-container>\n </nz-option>\n <nz-option *ngIf=\"isLoading\" nzDisabled nzCustomContent>\n <nz-spin style=\"padding: 16px 0\"></nz-spin>\n </nz-option>\n </nz-select>\n</app-rd-form-item>\n\n<ng-template #defaultSelectedTpl let-selected>\n {{ selected?.nzLabel }}\n</ng-template>\n\n<ng-template #currencyOptionTpl let-option>\n <div class=\"rd-form-item-option-content\">\n <img [src]=\"option.iconUrl\" class=\"rd-token-icon\" alt=\"icon\" />\n <span>{{ option.name }}</span>\n </div>\n</ng-template>\n\n<ng-template #currencySelectedTpl let-selected let-extra>\n <div class=\"rd-form-item-option-content\">\n <img\n [src]=\"currencyUrlMap?.[selected.nzValue]\"\n class=\"rd-token-icon\"\n alt=\"icon\"\n />\n <span>{{ selected.nzLabel }}</span>\n </div>\n</ng-template>\n\n<ng-template #removeIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.39645 2.39645C2.59171 2.20118 2.90829 2.20118 3.10355 2.39645L6 5.29289L8.89645 2.39645C9.09171 2.20118 9.40829 2.20118 9.60355 2.39645C9.79882 2.59171 9.79882 2.90829 9.60355 3.10355L6.70711 6L9.60355 8.89645C9.79882 9.09171 9.79882 9.40829 9.60355 9.60355C9.40829 9.79882 9.09171 9.79882 8.89645 9.60355L6 6.70711L3.10355 9.60355C2.90829 9.79882 2.59171 9.79882 2.39645 9.60355C2.20118 9.40829 2.20118 9.09171 2.39645 8.89645L5.29289 6L2.39645 3.10355C2.20118 2.90829 2.20118 2.59171 2.39645 2.39645Z\"\n fill=\"#030712\"\n />\n </svg>\n</ng-template>\n\n<ng-template #customIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n fill=\"#030712\"\n />\n </svg>\n</ng-template>\n", styles: [":host .rd-form-item-select{width:100%}:host .rd-form-item-select ::ng-deep .ant-select-selection-search-input{padding:17px 5px 12px;color:#030712;font-size:14px;width:100%;font-weight:500}\n", "::ng-deep .rd-form-item-select{min-width:113px;min-height:52px;max-height:100%;position:relative}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-search{margin-inline-start:0}::ng-deep .rd-form-item-select .ant-select-selection-search-input{padding:12px 4px 0}::ng-deep .rd-form-item-select .ant-select-selection-search-input::placeholder{color:#9ca3af}::ng-deep .rd-form-item-select .ant-select-selection-search .ant-select-selection-search-input{padding:12px 4px 0;transform:translate(-2px,12px)!important}::ng-deep .rd-form-item-select .ant-select-show-search{transform:translateY(10px)}::ng-deep .rd-form-item-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{padding:14px 16px 10px;min-height:52px;height:-moz-fit-content;height:fit-content}::ng-deep .rd-form-item-select.ant-select-single .ant-select-selector .ant-select-selection-item:after{display:none}::ng-deep .rd-form-item-select.ant-select .ant-select-selection-item{color:#030712;font-weight:500;font-size:14px}::ng-deep .rd-form-item-select .ant-select-selector{padding:12px 16px}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-item{border-radius:4px;background:#f3f4f6;font-size:14px;font-weight:500;color:#030712;display:flex;align-items:center;gap:4px}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-item .ant-select-selection-item-remove{line-height:1}::ng-deep .rd-form-item-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px}::ng-deep .rd-form-item-select.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px;border:1px solid #367af6;background:#fff;box-shadow:0 0 0 2px #367af61a}::ng-deep .rd-form-item-select .ant-select-selection-placeholder{color:#030712;font-weight:500;font-size:14px}::ng-deep .rd-form-item-select .ant-select-selection-item-content{color:#030712;font-weight:500}::ng-deep .rd-form-item-select .ant-select-arrow{transition:ease-in-out .2s all;cursor:pointer;pointer-events:initial}::ng-deep .rd-form-item-select:hover:has(.ant-select-clear) .ant-select-arrow{opacity:0}::ng-deep .rd-form-item-select.ant-select-focused .ant-select-arrow,::ng-deep .rd-form-item-select .ant-select-selector:focus-within .ant-select-arrow{transform:rotate(-180deg);transition:transform .2s ease}::ng-deep .rd-form-item-select-s{min-height:38px}::ng-deep .rd-form-item-select-s.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{height:100%;min-height:38px;padding:0 12px}::ng-deep .rd-form-item-select-dropdown .ant-select-dropdown,::ng-deep .rd-form-item-select-dropdown-s .ant-select-dropdown,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-dropdown{border-radius:4px;background:#fff;min-width:113px}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option{background-color:transparent;padding:0 6px}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content{border-radius:4px;padding:0 6px;display:flex;align-items:center;color:#030712;font-size:14px;min-height:40px;font-weight:600}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-active .ant-select-item-option-content{background:rgba(54,122,246,.1)}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-disabled .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-disabled .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-disabled .ant-select-item-option-content{color:#6b7280;background:#e5e7eb}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty img,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty img,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty img{width:61px;height:68px}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty p,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty p,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty p{font-size:13px;color:#9ca3af;font-weight:500;margin:0}::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-content{padding:0 4px;min-height:32px}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content{border-radius:4px;color:#030712;font-size:14px;padding:0 6px 0 32px;position:relative}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content:before{content:\"\";position:absolute;top:50%;left:6px;width:16px;height:16px;transform:translateY(-50%);border-radius:4px;border:1px solid #9ca3af}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-selected .ant-select-item-option-content:before{background-image:url(/assets/img/icon/checkbox.svg);background-size:contain;background-position:center;background-repeat:no-repeat;border:none}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-state{display:none}::ng-deep .rd-form-item-option-content{display:flex;align-items:center;gap:8px;height:100%}::ng-deep .rd-form-item-option-content span{font-size:14px;font-weight:500}::ng-deep .rd-form-item-option-content .rd-token-icon{width:20px;height:20px;transition:opacity .3s ease-in-out}\n"] }]
|
|
142
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: {
|
|
147
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { lang: [{
|
|
148
|
+
type: Input
|
|
149
|
+
}], label: [{
|
|
143
150
|
type: Input
|
|
144
151
|
}], customTpl: [{
|
|
145
152
|
type: Input
|
|
@@ -174,4 +181,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
174
181
|
}], scrollToBottomEmit: [{
|
|
175
182
|
type: Output
|
|
176
183
|
}] } });
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQtbGliL3NyYy9saWIvbW9kdWxlcy9jdXN0b20tc2VsZWN0L2N1c3RvbS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWxpYi9zcmMvbGliL21vZHVsZXMvY3VzdG9tLXNlbGVjdC9jdXN0b20tc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxhQUFhLEVBQ2IsaUJBQWlCLEdBRWxCLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFvQnhCLE1BQU0sT0FBTyxxQkFBcUI7SUFjaEMsSUFDSSxPQUFPLENBQUMsR0FBb0I7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUM7UUFDdkIsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUM7SUFDN0IsQ0FBQztJQUNELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBNkJELElBQUksbUJBQW1CO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU07WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNyQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTlELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFM0MsUUFBUSxVQUFVLEVBQUU7WUFDbEIsS0FBSyxVQUFV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QUs7Z0JBRUYsT0FBTztzQkFEVixLQUFLO2dCQVNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBS0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOR19WQUxJREFUT1JTLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgVmFsaWRhdGlvbkVycm9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSVNlbGVjdE9wdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzL2NvbW1vbi50eXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXJkLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tLXNlbGVjdC5jb21wb25lbnQuc2NzcycsICcuL3NlbGVjdC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ3VzdG9tU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEN1c3RvbVNlbGVjdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21TZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgY3VzdG9tVHBsOiBhbnk7XG4gIEBJbnB1dCgpIG9wdGlvblRwbDogYW55O1xuICBASW5wdXQoKSBuYW1lID0gJyc7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIG56TW9kZTogJ211bHRpcGxlJyB8ICdkZWZhdWx0JyA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgaXNDdXJyZW5jeT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGN1cnJlbmN5VXJsTWFwPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgQElucHV0KCkgb3B0aW9uSGVpZ2h0UHg/OiBudW1iZXI7XG5cbiAgQElucHV0KCkgaXNMb2FkaW5nID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzU2hvd1NlYXJjaCA9IGZhbHNlO1xuICBASW5wdXQoKSBpc1JlbW90ZVNlYXJjaCA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBzZXQgb3B0aW9ucyh2YWw6IElTZWxlY3RPcHRpb25bXSkge1xuICAgIHRoaXMuX3Jhd09wdGlvbnMgPSB2YWw7XG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB2YWw7XG4gIH1cbiAgZ2V0IG9wdGlvbnMoKTogSVNlbGVjdE9wdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5fcmF3T3B0aW9ucztcbiAgfVxuXG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgcGF0dGVybjogJ0ludmFsaWQgZm9ybWF0JyxcbiAgICBjdXN0b206ICdWYWxpZGF0aW9uIGZhaWxlZCcsXG4gIH07XG5cbiAgQE91dHB1dCgpIHNlYXJjaENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPElTZWxlY3RPcHRpb24gfCBJU2VsZWN0T3B0aW9uW10+KCk7XG4gIEBPdXRwdXQoKSBzY3JvbGxUb0JvdHRvbUVtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBfcmF3T3B0aW9uczogSVNlbGVjdE9wdGlvbltdID0gW107XG4gIGZpbHRlcmVkT3B0aW9uczogSVNlbGVjdE9wdGlvbltdID0gW107XG5cbiAgdmFsdWU6IElTZWxlY3RPcHRpb24gfCBJU2VsZWN0T3B0aW9uW10gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gIG5hdGl2ZVZhbHVlOiBJU2VsZWN0T3B0aW9uWyd2YWx1ZSddIHwgSVNlbGVjdE9wdGlvblsndmFsdWUnXVtdIHwgdW5kZWZpbmVkID1cbiAgICB1bmRlZmluZWQ7XG5cbiAgc2VhcmNoSW5wdXQgPSAnJztcblxuICBvbkNoYW5nZTogKHZhbHVlOiBJU2VsZWN0T3B0aW9uIHwgSVNlbGVjdE9wdGlvbltdIHwgdW5kZWZpbmVkKSA9PiB2b2lkID1cbiAgICAoKSA9PiB7fTtcbiAgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgaXNGb2N1cyA9IGZhbHNlO1xuICBpc09wZW4gPSBmYWxzZTtcblxuICBwcml2YXRlIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGwgPSBudWxsO1xuXG4gIGdldCBjdXJyZW50RXJyb3JNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmNvbnRyb2w/LmVycm9ycykgcmV0dXJuICcnO1xuICAgIGNvbnN0IGZpcnN0RXJyb3IgPSBPYmplY3Qua2V5cyh0aGlzLmNvbnRyb2w/LmVycm9ycyB8fCB7fSlbMF07XG5cbiAgICBjb25zdCBtc2cgPSB0aGlzLmVycm9yTWVzc2FnZXNbZmlyc3RFcnJvcl07XG5cbiAgICBzd2l0Y2ggKGZpcnN0RXJyb3IpIHtcbiAgICAgIGNhc2UgJ3JlcXVpcmVkJzpcbiAgICAgICAgcmV0dXJuIG1zZyB8fCBgUGxlYXNlIGVudGVyICR7dGhpcy5sYWJlbC50b0xvd2VyQ2FzZSgpfWA7XG4gICAgICBjYXNlICdjdXN0b20nOlxuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sPy5lcnJvcnNbJ2N1c3RvbSddIHx8ICdWYWxpZGF0aW9uIGZhaWxlZCc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdGhpcy5lcnJvck1lc3NhZ2VzW2ZpcnN0RXJyb3JdIHx8ICdWYWxpZGF0aW9uIGZhaWxlZCc7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHNob3dFcnJvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgISF0aGlzLmNvbnRyb2w/LmludmFsaWQgJiYgKHRoaXMuY29udHJvbD8udG91Y2hlZCB8fCB0aGlzLmNvbnRyb2w/LmRpcnR5KVxuICAgICk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgbnVsbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBpZiAoY29udHJvbCkge1xuICAgICAgdGhpcy5jb250cm9sID0gY29udHJvbDtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogSVNlbGVjdE9wdGlvbiB8IElTZWxlY3RPcHRpb25bXSk6IHZvaWQge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHZhbHVlLm1hcCgoaXRlbSkgPT4gaXRlbS52YWx1ZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLm5hdGl2ZVZhbHVlID0gdmFsdWU/LnZhbHVlO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBoYW5kbGVWYWx1ZUNoYW5nZShcbiAgICB2YWx1ZTogSVNlbGVjdE9wdGlvblsndmFsdWUnXSB8IElTZWxlY3RPcHRpb25bJ3ZhbHVlJ11bXVxuICApOiB2b2lkIHtcbiAgICB0aGlzLm5hdGl2ZVZhbHVlID0gdmFsdWU7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5vcHRpb25zLmZpbHRlcigoaXRlbSkgPT4gdmFsdWUuaW5jbHVkZXMoaXRlbS52YWx1ZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5vcHRpb25zLmZpbmQoKGl0ZW0pID0+IGl0ZW0udmFsdWUgPT09IHZhbHVlKTtcbiAgICB9XG5cbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIG9uU2Nyb2xsVG9Cb3R0b20oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzTG9hZGluZykge1xuICAgICAgdGhpcy5zY3JvbGxUb0JvdHRvbUVtaXQuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIG9uU2VhcmNoKHNlYXJjaFZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlYXJjaElucHV0ID0gc2VhcmNoVmFsdWU7XG4gICAgaWYgKHRoaXMuaXNSZW1vdGVTZWFyY2gpIHtcbiAgICAgIHRoaXMuc2VhcmNoQ2hhbmdlLmVtaXQoc2VhcmNoVmFsdWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGxvd2VyID0gc2VhcmNoVmFsdWUudG9Mb3dlckNhc2UoKTtcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMuX3Jhd09wdGlvbnMuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgaXRlbS5uYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGxvd2VyKVxuICAgICk7XG4gIH1cblxuICBoYW5kbGVPcGVuQ2hhbmdlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc09wZW4gPSB2YWx1ZTtcbiAgfVxufVxuIiwiPGFwcC1yZC1mb3JtLWl0ZW1cbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2ZvY3VzXT1cIiEhc2VhcmNoSW5wdXQgfHwgaXNGb2N1cyB8fCBpc09wZW5cIlxuICBbdHlwZV09XCInc2VsZWN0J1wiXG4gIFtsYWJlbF09XCJsYWJlbFwiXG4gIFt2YWx1ZV09XCJuYXRpdmVWYWx1ZVwiXG4gIFtlcnJvck1lc3NhZ2VdPVwic2hvd0Vycm9yID8gY3VycmVudEVycm9yTWVzc2FnZSA6ICcnXCJcbj5cbiAgPG56LXNlbGVjdFxuICAgIGNsYXNzPVwicmQtZm9ybS1pdGVtLXNlbGVjdFwiXG4gICAgbnpCb3JkZXJsZXNzXG4gICAgW256TW9kZV09XCJuek1vZGVcIlxuICAgIFtuelNob3dBcnJvd109XCJmYWxzZVwiXG4gICAgWyhuZ01vZGVsKV09XCJuYXRpdmVWYWx1ZVwiXG4gICAgW256Q3VzdG9tVGVtcGxhdGVdPVwiXG4gICAgICBjdXN0b21UcGxcbiAgICAgICAgPyBjdXN0b21UcGxcbiAgICAgICAgOiBpc0N1cnJlbmN5XG4gICAgICAgID8gY3VycmVuY3lTZWxlY3RlZFRwbFxuICAgICAgICA6IGRlZmF1bHRTZWxlY3RlZFRwbFxuICAgIFwiXG4gICAgKG56U2Nyb2xsVG9Cb3R0b20pPVwib25TY3JvbGxUb0JvdHRvbSgpXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJoYW5kbGVWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIChuekZvY3VzKT1cImlzRm9jdXMgPSB0cnVlXCJcbiAgICAobnpCbHVyKT1cImlzRm9jdXMgPSBmYWxzZVwiXG4gICAgW256RHJvcGRvd25DbGFzc05hbWVdPVwiXG4gICAgICBuek1vZGUgPT09ICdtdWx0aXBsZSdcbiAgICAgICAgPyAncmQtZm9ybS1pdGVtLW11bHRpcGxlLXNlbGVjdC1kcm9wZG93bidcbiAgICAgICAgOiAncmQtZm9ybS1pdGVtLXNlbGVjdC1kcm9wZG93bidcbiAgICBcIlxuICAgIFtuek9wdGlvbk92ZXJmbG93U2l6ZV09XCI1XCJcbiAgICBbbnpPcHRpb25IZWlnaHRQeF09XCJvcHRpb25IZWlnaHRQeCB8fCA0MFwiXG4gICAgW256U3VmZml4SWNvbl09XCJjdXN0b21JY29uXCJcbiAgICBbbnpSZW1vdmVJY29uXT1cInJlbW92ZUljb25cIlxuICAgIFtuelNob3dTZWFyY2hdPVwiaXNTaG93U2VhcmNoXCJcbiAgICAobnpPblNlYXJjaCk9XCJvblNlYXJjaCgkZXZlbnQpXCJcbiAgICAobnpPcGVuQ2hhbmdlKT1cImhhbmRsZU9wZW5DaGFuZ2UoJGV2ZW50KVwiXG4gID5cbiAgICA8bnotb3B0aW9uXG4gICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlcmVkT3B0aW9uc1wiXG4gICAgICBbbnpWYWx1ZV09XCJvcHRpb24udmFsdWVcIlxuICAgICAgW256TGFiZWxdPVwib3B0aW9uLm5hbWUgfHwgJydcIlxuICAgICAgW256RGlzYWJsZWRdPVwib3B0aW9uLmRpc2FibGVkIHx8IGZhbHNlXCJcbiAgICAgIFtuekN1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wdGlvblRwbCB8fCBpc0N1cnJlbmN5XCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgaXNDdXJyZW5jeSA/IGN1cnJlbmN5T3B0aW9uVHBsIDogb3B0aW9uVHBsO1xuICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IG9wdGlvbiB9XG4gICAgICAgICAgXCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIShvcHRpb25UcGwgfHwgaXNDdXJyZW5jeSlcIj5cbiAgICAgICAge3sgb3B0aW9uLm5hbWUgfX1cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbnotb3B0aW9uPlxuICAgIDxuei1vcHRpb24gKm5nSWY9XCJpc0xvYWRpbmdcIiBuekRpc2FibGVkIG56Q3VzdG9tQ29udGVudD5cbiAgICAgIDxuei1zcGluIHN0eWxlPVwicGFkZGluZzogMTZweCAwXCI+PC9uei1zcGluPlxuICAgIDwvbnotb3B0aW9uPlxuICA8L256LXNlbGVjdD5cbjwvYXBwLXJkLWZvcm0taXRlbT5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0U2VsZWN0ZWRUcGwgbGV0LXNlbGVjdGVkPlxuICB7eyBzZWxlY3RlZD8ubnpMYWJlbCB9fVxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjdXJyZW5jeU9wdGlvblRwbCBsZXQtb3B0aW9uPlxuICA8ZGl2IGNsYXNzPVwicmQtZm9ybS1pdGVtLW9wdGlvbi1jb250ZW50XCI+XG4gICAgPGltZyBbc3JjXT1cIm9wdGlvbi5pY29uVXJsXCIgY2xhc3M9XCJyZC10b2tlbi1pY29uXCIgYWx0PVwiaWNvblwiIC8+XG4gICAgPHNwYW4+e3sgb3B0aW9uLm5hbWUgfX08L3NwYW4+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjdXJyZW5jeVNlbGVjdGVkVHBsIGxldC1zZWxlY3RlZCBsZXQtZXh0cmE+XG4gIDxkaXYgY2xhc3M9XCJyZC1mb3JtLWl0ZW0tb3B0aW9uLWNvbnRlbnRcIj5cbiAgICA8aW1nXG4gICAgICBbc3JjXT1cImN1cnJlbmN5VXJsTWFwPy5bc2VsZWN0ZWQubnpWYWx1ZV1cIlxuICAgICAgY2xhc3M9XCJyZC10b2tlbi1pY29uXCJcbiAgICAgIGFsdD1cImljb25cIlxuICAgIC8+XG4gICAgPHNwYW4+e3sgc2VsZWN0ZWQubnpMYWJlbCB9fTwvc3Bhbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3JlbW92ZUljb24+XG4gIDxzdmdcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICB3aWR0aD1cIjEyXCJcbiAgICBoZWlnaHQ9XCIxMlwiXG4gICAgdmlld0JveD1cIjAgMCAxMiAxMlwiXG4gICAgZmlsbD1cIm5vbmVcIlxuICA+XG4gICAgPHBhdGhcbiAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICBkPVwiTTIuMzk2NDUgMi4zOTY0NUMyLjU5MTcxIDIuMjAxMTggMi45MDgyOSAyLjIwMTE4IDMuMTAzNTUgMi4zOTY0NUw2IDUuMjkyODlMOC44OTY0NSAyLjM5NjQ1QzkuMDkxNzEgMi4yMDExOCA5LjQwODI5IDIuMjAxMTggOS42MDM1NSAyLjM5NjQ1QzkuNzk4ODIgMi41OTE3MSA5Ljc5ODgyIDIuOTA4MjkgOS42MDM1NSAzLjEwMzU1TDYuNzA3MTEgNkw5LjYwMzU1IDguODk2NDVDOS43OTg4MiA5LjA5MTcxIDkuNzk4ODIgOS40MDgyOSA5LjYwMzU1IDkuNjAzNTVDOS40MDgyOSA5Ljc5ODgyIDkuMDkxNzEgOS43OTg4MiA4Ljg5NjQ1IDkuNjAzNTVMNiA2LjcwNzExTDMuMTAzNTUgOS42MDM1NUMyLjkwODI5IDkuNzk4ODIgMi41OTE3MSA5Ljc5ODgyIDIuMzk2NDUgOS42MDM1NUMyLjIwMTE4IDkuNDA4MjkgMi4yMDExOCA5LjA5MTcxIDIuMzk2NDUgOC44OTY0NUw1LjI5Mjg5IDZMMi4zOTY0NSAzLjEwMzU1QzIuMjAxMTggMi45MDgyOSAyLjIwMTE4IDIuNTkxNzEgMi4zOTY0NSAyLjM5NjQ1WlwiXG4gICAgICBmaWxsPVwiIzAzMDcxMlwiXG4gICAgLz5cbiAgPC9zdmc+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2N1c3RvbUljb24+XG4gIDxzdmdcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICB3aWR0aD1cIjE2XCJcbiAgICBoZWlnaHQ9XCIxNlwiXG4gICAgdmlld0JveD1cIjAgMCAxNiAxNlwiXG4gICAgZmlsbD1cIm5vbmVcIlxuICA+XG4gICAgPHBhdGhcbiAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICBkPVwiTTIuNjAxMzYgNC45MDc3N0MyLjgzNjM5IDQuNjg3NDMgMy4yMDU1NSA0LjY5OTM0IDMuNDI1ODkgNC45MzQzN0w4LjAwMDMzIDkuODEzNzdMMTIuNTc0OCA0LjkzNDM3QzEyLjc5NTEgNC42OTkzNCAxMy4xNjQzIDQuNjg3NDMgMTMuMzk5MyA0LjkwNzc3QzEzLjYzNDMgNS4xMjgxMiAxMy42NDYyIDUuNDk3MjcgMTMuNDI1OSA1LjczMjNMOC40MjU4OSAxMS4wNjU2QzguMzE1NjEgMTEuMTgzMyA4LjE2MTU3IDExLjI1IDguMDAwMzMgMTEuMjVDNy44MzkwOSAxMS4yNSA3LjY4NTA0IDExLjE4MzMgNy41NzQ3NiAxMS4wNjU2TDIuNTc0NzYgNS43MzIzQzIuMzU0NDIgNS40OTcyNyAyLjM2NjMzIDUuMTI4MTEgMi42MDEzNiA0LjkwNzc3WlwiXG4gICAgICBmaWxsPVwiIzAzMDcxMlwiXG4gICAgLz5cbiAgPC9zdmc+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQtbGliL3NyYy9saWIvbW9kdWxlcy9jdXN0b20tc2VsZWN0L2N1c3RvbS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWxpYi9zcmMvbGliL21vZHVsZXMvY3VzdG9tLXNlbGVjdC9jdXN0b20tc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxhQUFhLEVBQ2IsaUJBQWlCLEdBRWxCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7O0FBbUI3RCxNQUFNLE9BQU8scUJBQXFCO0lBZWhDLElBQ0ksT0FBTyxDQUFDLEdBQW9CO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQTZCRCxJQUFJLG1CQUFtQjtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDckMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU5RCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FB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O3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVGLE9BQU87c0JBRFYsS0FBSztnQkFTRyxhQUFhO3NCQUFyQixLQUFLO2dCQUtJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElTZWxlY3RPcHRpb24gfSBmcm9tICcuLi8uLi90eXBlcy9jb21tb24udHlwZSc7XG5pbXBvcnQgeyBnZXRUcmFuc2xhdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxzL2Zvcm0tdmFpbGQtbGFuZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1yZC1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2N1c3RvbS1zZWxlY3QuY29tcG9uZW50LnNjc3MnLCAnLi9zZWxlY3Quc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEN1c3RvbVNlbGVjdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDdXN0b21TZWxlY3RDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKSBsYW5nID0gJ2VuJztcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBjdXN0b21UcGw6IGFueTtcbiAgQElucHV0KCkgb3B0aW9uVHBsOiBhbnk7XG4gIEBJbnB1dCgpIG5hbWUgPSAnJztcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgbnpNb2RlOiAnbXVsdGlwbGUnIHwgJ2RlZmF1bHQnID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBpc0N1cnJlbmN5PzogYm9vbGVhbjtcbiAgQElucHV0KCkgY3VycmVuY3lVcmxNYXA/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBASW5wdXQoKSBvcHRpb25IZWlnaHRQeD86IG51bWJlcjtcblxuICBASW5wdXQoKSBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgQElucHV0KCkgaXNTaG93U2VhcmNoID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzUmVtb3RlU2VhcmNoID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHNldCBvcHRpb25zKHZhbDogSVNlbGVjdE9wdGlvbltdKSB7XG4gICAgdGhpcy5fcmF3T3B0aW9ucyA9IHZhbDtcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHZhbDtcbiAgfVxuICBnZXQgb3B0aW9ucygpOiBJU2VsZWN0T3B0aW9uW10ge1xuICAgIHJldHVybiB0aGlzLl9yYXdPcHRpb25zO1xuICB9XG5cbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICBwYXR0ZXJuOiAnSW52YWxpZCBmb3JtYXQnLFxuICAgIGN1c3RvbTogJ1ZhbGlkYXRpb24gZmFpbGVkJyxcbiAgfTtcblxuICBAT3V0cHV0KCkgc2VhcmNoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8SVNlbGVjdE9wdGlvbiB8IElTZWxlY3RPcHRpb25bXT4oKTtcbiAgQE91dHB1dCgpIHNjcm9sbFRvQm90dG9tRW1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwcml2YXRlIF9yYXdPcHRpb25zOiBJU2VsZWN0T3B0aW9uW10gPSBbXTtcbiAgZmlsdGVyZWRPcHRpb25zOiBJU2VsZWN0T3B0aW9uW10gPSBbXTtcblxuICB2YWx1ZTogSVNlbGVjdE9wdGlvbiB8IElTZWxlY3RPcHRpb25bXSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgbmF0aXZlVmFsdWU6IElTZWxlY3RPcHRpb25bJ3ZhbHVlJ10gfCBJU2VsZWN0T3B0aW9uWyd2YWx1ZSddW10gfCB1bmRlZmluZWQgPVxuICAgIHVuZGVmaW5lZDtcblxuICBzZWFyY2hJbnB1dCA9ICcnO1xuXG4gIG9uQ2hhbmdlOiAodmFsdWU6IElTZWxlY3RPcHRpb24gfCBJU2VsZWN0T3B0aW9uW10gfCB1bmRlZmluZWQpID0+IHZvaWQgPVxuICAgICgpID0+IHt9O1xuICBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICBpc0ZvY3VzID0gZmFsc2U7XG4gIGlzT3BlbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgbnVsbCA9IG51bGw7XG5cbiAgZ2V0IGN1cnJlbnRFcnJvck1lc3NhZ2UoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuY29udHJvbD8uZXJyb3JzKSByZXR1cm4gJyc7XG4gICAgY29uc3QgZmlyc3RFcnJvciA9IE9iamVjdC5rZXlzKHRoaXMuY29udHJvbD8uZXJyb3JzIHx8IHt9KVswXTtcblxuICAgIGNvbnN0IG1zZyA9IHRoaXMuZXJyb3JNZXNzYWdlc1tmaXJzdEVycm9yXTtcblxuICAgIHN3aXRjaCAoZmlyc3RFcnJvcikge1xuICAgICAgY2FzZSAncmVxdWlyZWQnOlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIG1zZyB8fFxuICAgICAgICAgIGAke2dldFRyYW5zbGF0aW9uKFxuICAgICAgICAgICAgdGhpcy5sYW5nLFxuICAgICAgICAgICAgJ3BsZWFzZUVudGVyJ1xuICAgICAgICAgICl9ICR7dGhpcy5sYWJlbC50b0xvd2VyQ2FzZSgpfWBcbiAgICAgICAgKTtcbiAgICAgIGNhc2UgJ2N1c3RvbSc6XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgdGhpcy5jb250cm9sPy5lcnJvcnNbJ2N1c3RvbSddIHx8XG4gICAgICAgICAgZ2V0VHJhbnNsYXRpb24odGhpcy5sYW5nLCAndmFsaWRhdGlvbkZhaWxlZCcpXG4gICAgICAgICk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlc1tmaXJzdEVycm9yXSB8fFxuICAgICAgICAgIGdldFRyYW5zbGF0aW9uKHRoaXMubGFuZywgJ3ZhbGlkYXRpb25GYWlsZWQnKVxuICAgICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzaG93RXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICEhdGhpcy5jb250cm9sPy5pbnZhbGlkICYmICh0aGlzLmNvbnRyb2w/LnRvdWNoZWQgfHwgdGhpcy5jb250cm9sPy5kaXJ0eSlcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGwpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgIHRoaXMuY29udHJvbCA9IGNvbnRyb2w7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IElTZWxlY3RPcHRpb24gfCBJU2VsZWN0T3B0aW9uW10pOiB2b2lkIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB2YWx1ZS5tYXAoKGl0ZW0pID0+IGl0ZW0udmFsdWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHZhbHVlPy52YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgaGFuZGxlVmFsdWVDaGFuZ2UoXG4gICAgdmFsdWU6IElTZWxlY3RPcHRpb25bJ3ZhbHVlJ10gfCBJU2VsZWN0T3B0aW9uWyd2YWx1ZSddW11cbiAgKTogdm9pZCB7XG4gICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHZhbHVlO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMub3B0aW9ucy5maWx0ZXIoKGl0ZW0pID0+IHZhbHVlLmluY2x1ZGVzKGl0ZW0udmFsdWUpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMub3B0aW9ucy5maW5kKChpdGVtKSA9PiBpdGVtLnZhbHVlID09PSB2YWx1ZSk7XG4gICAgfVxuXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gIH1cblxuICBvblNjcm9sbFRvQm90dG9tKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0xvYWRpbmcpIHtcbiAgICAgIHRoaXMuc2Nyb2xsVG9Cb3R0b21FbWl0LmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBvblNlYXJjaChzZWFyY2hWYWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWFyY2hJbnB1dCA9IHNlYXJjaFZhbHVlO1xuICAgIGlmICh0aGlzLmlzUmVtb3RlU2VhcmNoKSB7XG4gICAgICB0aGlzLnNlYXJjaENoYW5nZS5lbWl0KHNlYXJjaFZhbHVlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsb3dlciA9IHNlYXJjaFZhbHVlLnRvTG93ZXJDYXNlKCk7XG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLl9yYXdPcHRpb25zLmZpbHRlcigoaXRlbSkgPT5cbiAgICAgIGl0ZW0ubmFtZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhsb3dlcilcbiAgICApO1xuICB9XG5cbiAgaGFuZGxlT3BlbkNoYW5nZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuaXNPcGVuID0gdmFsdWU7XG4gIH1cbn1cbiIsIjxhcHAtcmQtZm9ybS1pdGVtXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtmb2N1c109XCIhIXNlYXJjaElucHV0IHx8IGlzRm9jdXMgfHwgaXNPcGVuXCJcbiAgW3R5cGVdPVwiJ3NlbGVjdCdcIlxuICBbbGFiZWxdPVwibGFiZWxcIlxuICBbdmFsdWVdPVwibmF0aXZlVmFsdWVcIlxuICBbZXJyb3JNZXNzYWdlXT1cInNob3dFcnJvciA/IGN1cnJlbnRFcnJvck1lc3NhZ2UgOiAnJ1wiXG4+XG4gIDxuei1zZWxlY3RcbiAgICBjbGFzcz1cInJkLWZvcm0taXRlbS1zZWxlY3RcIlxuICAgIG56Qm9yZGVybGVzc1xuICAgIFtuek1vZGVdPVwibnpNb2RlXCJcbiAgICBbbnpTaG93QXJyb3ddPVwiZmFsc2VcIlxuICAgIFsobmdNb2RlbCldPVwibmF0aXZlVmFsdWVcIlxuICAgIFtuekN1c3RvbVRlbXBsYXRlXT1cIlxuICAgICAgY3VzdG9tVHBsXG4gICAgICAgID8gY3VzdG9tVHBsXG4gICAgICAgIDogaXNDdXJyZW5jeVxuICAgICAgICA/IGN1cnJlbmN5U2VsZWN0ZWRUcGxcbiAgICAgICAgOiBkZWZhdWx0U2VsZWN0ZWRUcGxcbiAgICBcIlxuICAgIChuelNjcm9sbFRvQm90dG9tKT1cIm9uU2Nyb2xsVG9Cb3R0b20oKVwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwiaGFuZGxlVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAobnpGb2N1cyk9XCJpc0ZvY3VzID0gdHJ1ZVwiXG4gICAgKG56Qmx1cik9XCJpc0ZvY3VzID0gZmFsc2VcIlxuICAgIFtuekRyb3Bkb3duQ2xhc3NOYW1lXT1cIlxuICAgICAgbnpNb2RlID09PSAnbXVsdGlwbGUnXG4gICAgICAgID8gJ3JkLWZvcm0taXRlbS1tdWx0aXBsZS1zZWxlY3QtZHJvcGRvd24nXG4gICAgICAgIDogJ3JkLWZvcm0taXRlbS1zZWxlY3QtZHJvcGRvd24nXG4gICAgXCJcbiAgICBbbnpPcHRpb25PdmVyZmxvd1NpemVdPVwiNVwiXG4gICAgW256T3B0aW9uSGVpZ2h0UHhdPVwib3B0aW9uSGVpZ2h0UHggfHwgNDBcIlxuICAgIFtuelN1ZmZpeEljb25dPVwiY3VzdG9tSWNvblwiXG4gICAgW256UmVtb3ZlSWNvbl09XCJyZW1vdmVJY29uXCJcbiAgICBbbnpTaG93U2VhcmNoXT1cImlzU2hvd1NlYXJjaFwiXG4gICAgKG56T25TZWFyY2gpPVwib25TZWFyY2goJGV2ZW50KVwiXG4gICAgKG56T3BlbkNoYW5nZSk9XCJoYW5kbGVPcGVuQ2hhbmdlKCRldmVudClcIlxuICA+XG4gICAgPG56LW9wdGlvblxuICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnNcIlxuICAgICAgW256VmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICAgIFtuekxhYmVsXT1cIm9wdGlvbi5uYW1lIHx8ICcnXCJcbiAgICAgIFtuekRpc2FibGVkXT1cIm9wdGlvbi5kaXNhYmxlZCB8fCBmYWxzZVwiXG4gICAgICBbbnpDdXN0b21Db250ZW50XT1cInRydWVcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb25UcGwgfHwgaXNDdXJyZW5jeVwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgIGlzQ3VycmVuY3kgPyBjdXJyZW5jeU9wdGlvblRwbCA6IG9wdGlvblRwbDtcbiAgICAgICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBvcHRpb24gfVxuICAgICAgICAgIFwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEob3B0aW9uVHBsIHx8IGlzQ3VycmVuY3kpXCI+XG4gICAgICAgIHt7IG9wdGlvbi5uYW1lIH19XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L256LW9wdGlvbj5cbiAgICA8bnotb3B0aW9uICpuZ0lmPVwiaXNMb2FkaW5nXCIgbnpEaXNhYmxlZCBuekN1c3RvbUNvbnRlbnQ+XG4gICAgICA8bnotc3BpbiBzdHlsZT1cInBhZGRpbmc6IDE2cHggMFwiPjwvbnotc3Bpbj5cbiAgICA8L256LW9wdGlvbj5cbiAgPC9uei1zZWxlY3Q+XG48L2FwcC1yZC1mb3JtLWl0ZW0+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdFNlbGVjdGVkVHBsIGxldC1zZWxlY3RlZD5cbiAge3sgc2VsZWN0ZWQ/Lm56TGFiZWwgfX1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY3VycmVuY3lPcHRpb25UcGwgbGV0LW9wdGlvbj5cbiAgPGRpdiBjbGFzcz1cInJkLWZvcm0taXRlbS1vcHRpb24tY29udGVudFwiPlxuICAgIDxpbWcgW3NyY109XCJvcHRpb24uaWNvblVybFwiIGNsYXNzPVwicmQtdG9rZW4taWNvblwiIGFsdD1cImljb25cIiAvPlxuICAgIDxzcGFuPnt7IG9wdGlvbi5uYW1lIH19PC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY3VycmVuY3lTZWxlY3RlZFRwbCBsZXQtc2VsZWN0ZWQgbGV0LWV4dHJhPlxuICA8ZGl2IGNsYXNzPVwicmQtZm9ybS1pdGVtLW9wdGlvbi1jb250ZW50XCI+XG4gICAgPGltZ1xuICAgICAgW3NyY109XCJjdXJyZW5jeVVybE1hcD8uW3NlbGVjdGVkLm56VmFsdWVdXCJcbiAgICAgIGNsYXNzPVwicmQtdG9rZW4taWNvblwiXG4gICAgICBhbHQ9XCJpY29uXCJcbiAgICAvPlxuICAgIDxzcGFuPnt7IHNlbGVjdGVkLm56TGFiZWwgfX08L3NwYW4+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNyZW1vdmVJY29uPlxuICA8c3ZnXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgd2lkdGg9XCIxMlwiXG4gICAgaGVpZ2h0PVwiMTJcIlxuICAgIHZpZXdCb3g9XCIwIDAgMTIgMTJcIlxuICAgIGZpbGw9XCJub25lXCJcbiAgPlxuICAgIDxwYXRoXG4gICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgZD1cIk0yLjM5NjQ1IDIuMzk2NDVDMi41OTE3MSAyLjIwMTE4IDIuOTA4MjkgMi4yMDExOCAzLjEwMzU1IDIuMzk2NDVMNiA1LjI5Mjg5TDguODk2NDUgMi4zOTY0NUM5LjA5MTcxIDIuMjAxMTggOS40MDgyOSAyLjIwMTE4IDkuNjAzNTUgMi4zOTY0NUM5Ljc5ODgyIDIuNTkxNzEgOS43OTg4MiAyLjkwODI5IDkuNjAzNTUgMy4xMDM1NUw2LjcwNzExIDZMOS42MDM1NSA4Ljg5NjQ1QzkuNzk4ODIgOS4wOTE3MSA5Ljc5ODgyIDkuNDA4MjkgOS42MDM1NSA5LjYwMzU1QzkuNDA4MjkgOS43OTg4MiA5LjA5MTcxIDkuNzk4ODIgOC44OTY0NSA5LjYwMzU1TDYgNi43MDcxMUwzLjEwMzU1IDkuNjAzNTVDMi45MDgyOSA5Ljc5ODgyIDIuNTkxNzEgOS43OTg4MiAyLjM5NjQ1IDkuNjAzNTVDMi4yMDExOCA5LjQwODI5IDIuMjAxMTggOS4wOTE3MSAyLjM5NjQ1IDguODk2NDVMNS4yOTI4OSA2TDIuMzk2NDUgMy4xMDM1NUMyLjIwMTE4IDIuOTA4MjkgMi4yMDExOCAyLjU5MTcxIDIuMzk2NDUgMi4zOTY0NVpcIlxuICAgICAgZmlsbD1cIiMwMzA3MTJcIlxuICAgIC8+XG4gIDwvc3ZnPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjdXN0b21JY29uPlxuICA8c3ZnXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgd2lkdGg9XCIxNlwiXG4gICAgaGVpZ2h0PVwiMTZcIlxuICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxuICAgIGZpbGw9XCJub25lXCJcbiAgPlxuICAgIDxwYXRoXG4gICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgZD1cIk0yLjYwMTM2IDQuOTA3NzdDMi44MzYzOSA0LjY4NzQzIDMuMjA1NTUgNC42OTkzNCAzLjQyNTg5IDQuOTM0MzdMOC4wMDAzMyA5LjgxMzc3TDEyLjU3NDggNC45MzQzN0MxMi43OTUxIDQuNjk5MzQgMTMuMTY0MyA0LjY4NzQzIDEzLjM5OTMgNC45MDc3N0MxMy42MzQzIDUuMTI4MTIgMTMuNjQ2MiA1LjQ5NzI3IDEzLjQyNTkgNS43MzIzTDguNDI1ODkgMTEuMDY1NkM4LjMxNTYxIDExLjE4MzMgOC4xNjE1NyAxMS4yNSA4LjAwMDMzIDExLjI1QzcuODM5MDkgMTEuMjUgNy42ODUwNCAxMS4xODMzIDcuNTc0NzYgMTEuMDY1NkwyLjU3NDc2IDUuNzMyM0MyLjM1NDQyIDUuNDk3MjcgMi4zNjYzMyA1LjEyODExIDIuNjAxMzYgNC45MDc3N1pcIlxuICAgICAgZmlsbD1cIiMwMzA3MTJcIlxuICAgIC8+XG4gIDwvc3ZnPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Component, EventEmitter, forwardRef, Input, Output, } from '@angular/core';
|
|
2
2
|
import { NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
|
|
3
|
+
import { getTranslation } from '../../utils/form-vaild-lang';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "@angular/common";
|
|
5
6
|
import * as i2 from "@angular/forms";
|
|
@@ -12,16 +13,20 @@ export class CustomTextareaComponent {
|
|
|
12
13
|
const msg = this.errorMessages[firstError];
|
|
13
14
|
switch (firstError) {
|
|
14
15
|
case 'required':
|
|
15
|
-
return msg ||
|
|
16
|
+
return (msg ||
|
|
17
|
+
`${getTranslation(this.lang, 'pleaseEnter')} ${this.label.toLowerCase()}`);
|
|
16
18
|
case 'minLength':
|
|
17
19
|
return (msg ||
|
|
18
|
-
|
|
20
|
+
`${getTranslation(this.lang, 'lengthCannotBeLess')} ${this.minLength}`);
|
|
19
21
|
case 'maxLength':
|
|
20
|
-
return (msg ||
|
|
22
|
+
return (msg ||
|
|
23
|
+
`${getTranslation(this.lang, 'lengthCannotExceed')} ${this.maxLength}`);
|
|
21
24
|
case 'custom':
|
|
22
|
-
return this.control?.errors['custom'] ||
|
|
25
|
+
return (this.control?.errors['custom'] ||
|
|
26
|
+
getTranslation(this.lang, 'validationFailed'));
|
|
23
27
|
default:
|
|
24
|
-
return this.errorMessages[firstError] ||
|
|
28
|
+
return (this.errorMessages[firstError] ||
|
|
29
|
+
getTranslation(this.lang, 'validationFailed'));
|
|
25
30
|
}
|
|
26
31
|
}
|
|
27
32
|
get showError() {
|
|
@@ -29,6 +34,7 @@ export class CustomTextareaComponent {
|
|
|
29
34
|
}
|
|
30
35
|
constructor(cdr) {
|
|
31
36
|
this.cdr = cdr;
|
|
37
|
+
this.lang = 'en';
|
|
32
38
|
this.label = '';
|
|
33
39
|
this.name = '';
|
|
34
40
|
this.disabled = false;
|
|
@@ -120,7 +126,7 @@ export class CustomTextareaComponent {
|
|
|
120
126
|
}
|
|
121
127
|
}
|
|
122
128
|
CustomTextareaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CustomTextareaComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
123
|
-
CustomTextareaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CustomTextareaComponent, selector: "app-rd-textarea", inputs: { label: "label", name: "name", disabled: "disabled", required: "required", minLength: "minLength", maxLength: "maxLength", pattern: "pattern", customValidator: "customValidator", nzAutosize: "nzAutosize", errorMessages: "errorMessages" }, outputs: { valueChange: "valueChange", focus: "focus", blur: "blur" }, providers: [
|
|
129
|
+
CustomTextareaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CustomTextareaComponent, selector: "app-rd-textarea", inputs: { lang: "lang", label: "label", name: "name", disabled: "disabled", required: "required", minLength: "minLength", maxLength: "maxLength", pattern: "pattern", customValidator: "customValidator", nzAutosize: "nzAutosize", errorMessages: "errorMessages" }, outputs: { valueChange: "valueChange", focus: "focus", blur: "blur" }, providers: [
|
|
124
130
|
{
|
|
125
131
|
provide: NG_VALUE_ACCESSOR,
|
|
126
132
|
useExisting: forwardRef(() => CustomTextareaComponent),
|
|
@@ -146,7 +152,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
146
152
|
multi: true,
|
|
147
153
|
},
|
|
148
154
|
], template: "<div>\n <div\n class=\"rd-form-item rd-form-textarea\"\n [ngClass]=\"{ disabled: disabled, error: showError }\"\n >\n <textarea\n nz-input\n nzBorderless\n [name]=\"name\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n (ngModelChange)=\"handleValueChange($event)\"\n (blur)=\"onBlur()\"\n [nzAutosize]=\"nzAutosize\"\n placeholder=\" \"\n class=\"rd-form-item-input\"\n ></textarea>\n <div class=\"rd-form-item-label\">{{ label }}</div>\n </div>\n <div *ngIf=\"showError\" class=\"rd-form-item-error\">\n <img *ngIf=\"currentErrorMessage\" src=\"/assets/img/icon/icon-error.svg\" />\n {{ currentErrorMessage }}\n </div>\n</div>\n", styles: [":host .rd-form-textarea{height:auto;min-height:64px}:host .rd-form-textarea .rd-form-item-input{position:static;line-height:1.5;min-height:58px}:host .rd-form-textarea .rd-form-item-input:focus,:host .rd-form-textarea .rd-form-item-input:not(:placeholder-shown){padding-top:28px}\n", ".rd-form-item{position:relative;border-radius:4px;padding:2px 0;border:1px solid #e5e7eb;background-color:#fff;width:100%;height:64px}.rd-form-item .rd-form-item-select-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;pointer-events:none}.rd-form-item-label{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#6b7280;transition:all .3s ease;pointer-events:none;z-index:1;font-size:14px;font-weight:600;line-height:1}.rd-form-item-input{color:#030712;font-size:14px;width:100%;font-weight:500;padding:22px 16px 12px;height:52px}.rd-form-item-input:focus,.rd-form-item-input:not(:placeholder-shown){top:10px}.rd-form-item .rd-form-item-input:focus~.rd-form-item-label,.rd-form-item .rd-form-item-input:not(:placeholder-shown)~.rd-form-item-label{top:18px;font-size:12px}.rd-form-item-select{width:100%}.rd-form-item-select ::ng-deep .ant-select-selection-item{color:#030712;font-size:14px;font-weight:500}.rd-form-item.rd-selected .rd-form-item-label{top:16px;font-size:12px}.rd-form-item.rd-selected .rd-form-item-select{top:10px}.rd-form-item.rd-disabled{background-color:#f3f4f6;border-color:#d1d5db}.rd-form-item.rd-disabled .rd-form-item-label,.rd-form-item.rd-disabled .rd-form-item-input{color:#9ca3af}.rd-form-item.rd-disabled ::ng-deep .ant-select-selection-item{color:#9ca3af}.rd-form-item.rd-error{border-color:#e51c36}.rd-form-item-error{color:#d2152e;font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px;margin-top:4px}.rd-form-item-error img{width:16px}.rd-form-number-item{position:relative;border-radius:4px;padding:12px 16px;background-color:#fff;border:1px solid #e5e7eb;width:100%}.rd-form-number-item .rd-item-label{color:#6b7280;font-size:12px;font-weight:600}.rd-form-number-item .rd-item-content{display:flex;align-items:center;font-size:32px;font-weight:600;line-height:48px;color:#9ca3af}.rd-form-number-item .rd-item-content-value{flex:1;font-size:32px;font-weight:600;line-height:48px;color:#030712;border:none;padding:4px 0}.rd-form-number-item .rd-item-content-value:focus,.rd-form-number-item .rd-item-content-value:active,.rd-form-number-item .rd-item-content-value:hover{outline:none;box-shadow:none}.rd-form-number-item .rd-item-content-value ::ng-deep .ant-input-number-handler-wrap{display:none}.rd-form-number-item .rd-item-content-value ::ng-deep .ant-input-number-input{font-size:32px;font-weight:600;line-height:48px}.rd-form-number-item .rd-item-content-value ::ng-deep .ant-input-number-input::placeholder{color:#9ca3af}.rd-form-number-item .rd-item-content-symbol{flex-shrink:0}.rd-form-number-item ::ng-deep .rd-item-warning{font-weight:500;font-size:12px;color:#6b7280;margin-top:4px;padding:0 12px}.rd-form-number-item.rd-disabled{background-color:#f3f4f6;border-color:#d1d5db}.rd-form-number-item.rd-disabled .rd-item-label,.rd-form-number-item.rd-disabled .rd-item-content-value{color:#9ca3af}.rd-form-number-item.rd-error{border-color:#e51c36}\n"] }]
|
|
149
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: {
|
|
155
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { lang: [{
|
|
156
|
+
type: Input
|
|
157
|
+
}], label: [{
|
|
150
158
|
type: Input
|
|
151
159
|
}], name: [{
|
|
152
160
|
type: Input
|
|
@@ -173,4 +181,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
173
181
|
}], blur: [{
|
|
174
182
|
type: Output
|
|
175
183
|
}] } });
|
|
176
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRleHRhcmVhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC1saWIvc3JjL2xpYi9tb2R1bGVzL2N1c3RvbS10ZXh0YXJlYS9jdXN0b20tdGV4dGFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWxpYi9zcmMvbGliL21vZHVsZXMvY3VzdG9tLXRleHRhcmVhL2N1c3RvbS10ZXh0YXJlYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsYUFBYSxFQUNiLGlCQUFpQixHQUlsQixNQUFNLGdCQUFnQixDQUFDOzs7OztBQXNCeEIsTUFBTSxPQUFPLHVCQUF1QjtJQThCbEMsSUFBSSxtQkFBbUI7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTTtZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3JDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFOUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUzQyxRQUFRLFVBQVUsRUFBRTtZQUNsQixLQUFLLFVBQVU7Z0JBQ2IsT0FBTyxHQUFHLElBQUksZ0JBQWdCLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUMzRCxLQUFLLFdBQVc7Z0JBQ2QsT0FBTyxDQUNMLEdBQUc7b0JBQ0gsaURBQWlELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FDbEUsQ0FBQztZQUNKLEtB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LEVBQUUsd0JBQXdCLENBQUM7NEJBQ3RELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3dHQUtRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBS0ksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csSUFBSTtzQkFBYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3IsXG4gIFZhbGlkYXRvckZuLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1yZC10ZXh0YXJlYScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tdGV4dGFyZWEuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtcbiAgICAnLi9jdXN0b20tdGV4dGFyZWEuY29tcG9uZW50LnNjc3MnLFxuICAgICcuLi8uLi9hc3NldHMvc2Nzcy9mb3JtLWl0ZW0uc2NzcycsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ3VzdG9tVGV4dGFyZWFDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ3VzdG9tVGV4dGFyZWFDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tVGV4dGFyZWFDb21wb25lbnRcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yXG57XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgbmFtZSA9ICcnO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSByZXF1aXJlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBtaW5MZW5ndGg/OiBudW1iZXI7XG4gIEBJbnB1dCgpIG1heExlbmd0aD86IG51bWJlcjtcbiAgQElucHV0KCkgcGF0dGVybj86IHN0cmluZyB8IFJlZ0V4cDtcbiAgQElucHV0KCkgY3VzdG9tVmFsaWRhdG9yPzogVmFsaWRhdG9yRm47XG4gIEBJbnB1dCgpIG56QXV0b3NpemU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgcGF0dGVybjogJ0ludmFsaWQgZm9ybWF0JyxcbiAgICBjdXN0b206ICdWYWxpZGF0aW9uIGZhaWxlZCcsXG4gIH07XG5cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBmb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgdmFsdWU6IHN0cmluZyA9ICcnO1xuICBpc0ZvY3VzZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSB0b3VjaGVkID0gZmFsc2U7XG4gIHByaXZhdGUgb25DaGFuZ2U6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkID0gKCkgPT4ge307XG4gIHByaXZhdGUgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG4gIHByaXZhdGUgY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgb25WYWxpZGF0b3JDaGFuZ2U6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICBnZXQgY3VycmVudEVycm9yTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5jb250cm9sPy5lcnJvcnMpIHJldHVybiAnJztcbiAgICBjb25zdCBmaXJzdEVycm9yID0gT2JqZWN0LmtleXModGhpcy5jb250cm9sPy5lcnJvcnMgfHwge30pWzBdO1xuXG4gICAgY29uc3QgbXNnID0gdGhpcy5lcnJvck1lc3NhZ2VzW2ZpcnN0RXJyb3JdO1xuXG4gICAgc3dpdGNoIChmaXJzdEVycm9yKSB7XG4gICAgICBjYXNlICdyZXF1aXJlZCc6XG4gICAgICAgIHJldHVybiBtc2cgfHwgYFBsZWFzZSBlbnRlciAke3RoaXMubGFiZWwudG9Mb3dlckNhc2UoKX1gO1xuICAgICAgY2FzZSAnbWluTGVuZ3RoJzpcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICBtc2cgfHxcbiAgICAgICAgICBgTGVuZ3RoIGNhbm5vdCBiZSBsZXNzIHRoYW4gdGhlIG1pbmltdW0gbGVuZ3RoICR7dGhpcy5taW5MZW5ndGh9YFxuICAgICAgICApO1xuICAgICAgY2FzZSAnbWF4TGVuZ3RoJzpcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICBtc2cgfHwgYExlbmd0aCBjYW5ub3QgZXhjZWVkIHRoZSBtYXhpbXVtIGxlbmd0aCAke3RoaXMubWF4TGVuZ3RofWBcbiAgICAgICAgKTtcbiAgICAgIGNhc2UgJ2N1c3RvbSc6XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2w/LmVycm9yc1snY3VzdG9tJ10gfHwgJ1ZhbGlkYXRpb24gZmFpbGVkJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB0aGlzLmVycm9yTWVzc2FnZXNbZmlyc3RFcnJvcl0gfHwgJ1ZhbGlkYXRpb24gZmFpbGVkJztcbiAgICB9XG4gIH1cblxuICBnZXQgc2hvd0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhIXRoaXMuY29udHJvbD8uaW52YWxpZCAmJiAodGhpcy5jb250cm9sPy50b3VjaGVkIHx8IHRoaXMuY29udHJvbD8uZGlydHkpXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWUgfHwgJyc7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVmFsaWRhdG9yQ2hhbmdlID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG9uQmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLmlzRm9jdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMudG91Y2hlZCA9IHRydWU7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB0aGlzLmJsdXIuZW1pdCgpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgaGFuZGxlVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGNsZWFuZWRWYWx1ZSA9IHZhbHVlLnRyaW0oKTtcbiAgICB0aGlzLnZhbHVlID0gY2xlYW5lZFZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UoY2xlYW5lZFZhbHVlKTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoY2xlYW5lZFZhbHVlKTtcbiAgfVxuXG4gIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGwpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgIHRoaXMuY29udHJvbCA9IGNvbnRyb2w7XG4gICAgfVxuXG4gICAgY29uc3QgZXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzID0ge307XG4gICAgbGV0IHZhbHVlID0gY29udHJvbD8udmFsdWU/LnRyaW0oKTtcblxuICAgIGlmICh0aGlzLnJlcXVpcmVkICYmICF2YWx1ZSkge1xuICAgICAgZXJyb3JzWydyZXF1aXJlZCddID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKHRoaXMubWluTGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA8IHRoaXMubWluTGVuZ3RoKSB7XG4gICAgICAgIGVycm9yc1snbWluTGVuZ3RoJ10gPSB7XG4gICAgICAgICAgcmVxdWlyZWRMZW5ndGg6IHRoaXMubWluTGVuZ3RoLFxuICAgICAgICAgIGFjdHVhbExlbmd0aDogdmFsdWUubGVuZ3RoLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMubWF4TGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA+IHRoaXMubWF4TGVuZ3RoKSB7XG4gICAgICAgIGVycm9yc1snbWF4TGVuZ3RoJ10gPSB7XG4gICAgICAgICAgcmVxdWlyZWRMZW5ndGg6IHRoaXMubWF4TGVuZ3RoLFxuICAgICAgICAgIGFjdHVhbExlbmd0aDogdmFsdWUubGVuZ3RoLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLnBhdHRlcm4gJiYgdmFsdWUpIHtcbiAgICAgIGNvbnN0IHBhdHRlcm4gPVxuICAgICAgICB0aGlzLnBhdHRlcm4gaW5zdGFuY2VvZiBSZWdFeHBcbiAgICAgICAgICA/IHRoaXMucGF0dGVyblxuICAgICAgICAgIDogbmV3IFJlZ0V4cCh0aGlzLnBhdHRlcm4pO1xuICAgICAgaWYgKCFwYXR0ZXJuLnRlc3QodmFsdWUpKSB7XG4gICAgICAgIGVycm9yc1sncGF0dGVybiddID0geyByZXF1aXJlZFBhdHRlcm46IHBhdHRlcm4sIGFjdHVhbFZhbHVlOiB2YWx1ZSB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLmN1c3RvbVZhbGlkYXRvcikge1xuICAgICAgY29uc3QgY3VzdG9tRXJyb3JzID0gdGhpcy5jdXN0b21WYWxpZGF0b3IoY29udHJvbCEpO1xuICAgICAgaWYgKGN1c3RvbUVycm9ycykge1xuICAgICAgICBPYmplY3QuYXNzaWduKGVycm9ycywgY3VzdG9tRXJyb3JzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZXJyb3JzKS5sZW5ndGggPiAwID8gZXJyb3JzIDogbnVsbDtcbiAgfVxufVxuIiwiPGRpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwicmQtZm9ybS1pdGVtIHJkLWZvcm0tdGV4dGFyZWFcIlxuICAgIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGRpc2FibGVkLCBlcnJvcjogc2hvd0Vycm9yIH1cIlxuICA+XG4gICAgPHRleHRhcmVhXG4gICAgICBuei1pbnB1dFxuICAgICAgbnpCb3JkZXJsZXNzXG4gICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImhhbmRsZVZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgICAgW256QXV0b3NpemVdPVwibnpBdXRvc2l6ZVwiXG4gICAgICBwbGFjZWhvbGRlcj1cIiBcIlxuICAgICAgY2xhc3M9XCJyZC1mb3JtLWl0ZW0taW5wdXRcIlxuICAgID48L3RleHRhcmVhPlxuICAgIDxkaXYgY2xhc3M9XCJyZC1mb3JtLWl0ZW0tbGFiZWxcIj57eyBsYWJlbCB9fTwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cInNob3dFcnJvclwiIGNsYXNzPVwicmQtZm9ybS1pdGVtLWVycm9yXCI+XG4gICAgPGltZyAqbmdJZj1cImN1cnJlbnRFcnJvck1lc3NhZ2VcIiBzcmM9XCIvYXNzZXRzL2ltZy9pY29uL2ljb24tZXJyb3Iuc3ZnXCIgLz5cbiAgICB7eyBjdXJyZW50RXJyb3JNZXNzYWdlIH19XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRleHRhcmVhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC1saWIvc3JjL2xpYi9tb2R1bGVzL2N1c3RvbS10ZXh0YXJlYS9jdXN0b20tdGV4dGFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWxpYi9zcmMvbGliL21vZHVsZXMvY3VzdG9tLXRleHRhcmVhL2N1c3RvbS10ZXh0YXJlYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsYUFBYSxFQUNiLGlCQUFpQixHQUlsQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7QUFzQjdELE1BQU0sT0FBTyx1QkFBdUI7SUErQmxDLElBQUksbUJBQW1CO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU07WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNyQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTlELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFM0MsUUFBUSxVQUFVLEVBQUU7WUFDbEIsS0FBSyxVQUFVO2dCQUNiLE9BQU8sQ0FDTCxHQUFHO29CQUNILEdBQUcsY0FBYyxDQUNmLElBQUksQ0FBQyxJQUFJLEVBQ1QsYUFBYSxDQUNkLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxD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QUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO1lBQ3RELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRiwwQkNyQ0gsd3NCQXdCQTs0RkRlYSx1QkFBdUI7a0JBcEJuQyxTQUFTOytCQUNFLGlCQUFpQixhQU1oQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQzs0QkFDdEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDOzRCQUN0RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjt3R0FLUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsYUFBYTtzQkFBckIsS0FBSztnQkFLSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxJQUFJO3NCQUFiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcixcbiAgVmFsaWRhdG9yRm4sXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGdldFRyYW5zbGF0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMvZm9ybS12YWlsZC1sYW5nJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXJkLXRleHRhcmVhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS10ZXh0YXJlYS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW1xuICAgICcuL2N1c3RvbS10ZXh0YXJlYS5jb21wb25lbnQuc2NzcycsXG4gICAgJy4uLy4uL2Fzc2V0cy9zY3NzL2Zvcm0taXRlbS5zY3NzJyxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDdXN0b21UZXh0YXJlYUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDdXN0b21UZXh0YXJlYUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21UZXh0YXJlYUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3JcbntcbiAgQElucHV0KCkgbGFuZyA9ICdlbic7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgbmFtZSA9ICcnO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSByZXF1aXJlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBtaW5MZW5ndGg/OiBudW1iZXI7XG4gIEBJbnB1dCgpIG1heExlbmd0aD86IG51bWJlcjtcbiAgQElucHV0KCkgcGF0dGVybj86IHN0cmluZyB8IFJlZ0V4cDtcbiAgQElucHV0KCkgY3VzdG9tVmFsaWRhdG9yPzogVmFsaWRhdG9yRm47XG4gIEBJbnB1dCgpIG56QXV0b3NpemU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgcGF0dGVybjogJ0ludmFsaWQgZm9ybWF0JyxcbiAgICBjdXN0b206ICdWYWxpZGF0aW9uIGZhaWxlZCcsXG4gIH07XG5cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBmb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgdmFsdWU6IHN0cmluZyA9ICcnO1xuICBpc0ZvY3VzZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSB0b3VjaGVkID0gZmFsc2U7XG4gIHByaXZhdGUgb25DaGFuZ2U6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkID0gKCkgPT4ge307XG4gIHByaXZhdGUgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG4gIHByaXZhdGUgY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgb25WYWxpZGF0b3JDaGFuZ2U6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICBnZXQgY3VycmVudEVycm9yTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5jb250cm9sPy5lcnJvcnMpIHJldHVybiAnJztcbiAgICBjb25zdCBmaXJzdEVycm9yID0gT2JqZWN0LmtleXModGhpcy5jb250cm9sPy5lcnJvcnMgfHwge30pWzBdO1xuXG4gICAgY29uc3QgbXNnID0gdGhpcy5lcnJvck1lc3NhZ2VzW2ZpcnN0RXJyb3JdO1xuXG4gICAgc3dpdGNoIChmaXJzdEVycm9yKSB7XG4gICAgICBjYXNlICdyZXF1aXJlZCc6XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgbXNnIHx8XG4gICAgICAgICAgYCR7Z2V0VHJhbnNsYXRpb24oXG4gICAgICAgICAgICB0aGlzLmxhbmcsXG4gICAgICAgICAgICAncGxlYXNlRW50ZXInXG4gICAgICAgICAgKX0gJHt0aGlzLmxhYmVsLnRvTG93ZXJDYXNlKCl9YFxuICAgICAgICApO1xuICAgICAgY2FzZSAnbWluTGVuZ3RoJzpcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICBtc2cgfHxcbiAgICAgICAgICBgJHtnZXRUcmFuc2xhdGlvbih0aGlzLmxhbmcsICdsZW5ndGhDYW5ub3RCZUxlc3MnKX0gJHt0aGlzLm1pbkxlbmd0aH1gXG4gICAgICAgICk7XG4gICAgICBjYXNlICdtYXhMZW5ndGgnOlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIG1zZyB8fFxuICAgICAgICAgIGAke2dldFRyYW5zbGF0aW9uKHRoaXMubGFuZywgJ2xlbmd0aENhbm5vdEV4Y2VlZCcpfSAke3RoaXMubWF4TGVuZ3RofWBcbiAgICAgICAgKTtcbiAgICAgIGNhc2UgJ2N1c3RvbSc6XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgdGhpcy5jb250cm9sPy5lcnJvcnNbJ2N1c3RvbSddIHx8XG4gICAgICAgICAgZ2V0VHJhbnNsYXRpb24odGhpcy5sYW5nLCAndmFsaWRhdGlvbkZhaWxlZCcpXG4gICAgICAgICk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlc1tmaXJzdEVycm9yXSB8fFxuICAgICAgICAgIGdldFRyYW5zbGF0aW9uKHRoaXMubGFuZywgJ3ZhbGlkYXRpb25GYWlsZWQnKVxuICAgICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzaG93RXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICEhdGhpcy5jb250cm9sPy5pbnZhbGlkICYmICh0aGlzLmNvbnRyb2w/LnRvdWNoZWQgfHwgdGhpcy5jb250cm9sPy5kaXJ0eSlcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZSB8fCAnJztcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25WYWxpZGF0b3JDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25CbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XG4gICAgdGhpcy50b3VjaGVkID0gdHJ1ZTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgIHRoaXMuYmx1ci5lbWl0KCk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBoYW5kbGVWYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgY2xlYW5lZFZhbHVlID0gdmFsdWUudHJpbSgpO1xuICAgIHRoaXMudmFsdWUgPSBjbGVhbmVkVmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZShjbGVhbmVkVmFsdWUpO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChjbGVhbmVkVmFsdWUpO1xuICB9XG5cbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgbnVsbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBpZiAoY29udHJvbCkge1xuICAgICAgdGhpcy5jb250cm9sID0gY29udHJvbDtcbiAgICB9XG5cbiAgICBjb25zdCBlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgPSB7fTtcbiAgICBsZXQgdmFsdWUgPSBjb250cm9sPy52YWx1ZT8udHJpbSgpO1xuXG4gICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgIXZhbHVlKSB7XG4gICAgICBlcnJvcnNbJ3JlcXVpcmVkJ10gPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAodGhpcy5taW5MZW5ndGggJiYgdmFsdWUubGVuZ3RoIDwgdGhpcy5taW5MZW5ndGgpIHtcbiAgICAgICAgZXJyb3JzWydtaW5MZW5ndGgnXSA9IHtcbiAgICAgICAgICByZXF1aXJlZExlbmd0aDogdGhpcy5taW5MZW5ndGgsXG4gICAgICAgICAgYWN0dWFsTGVuZ3RoOiB2YWx1ZS5sZW5ndGgsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5tYXhMZW5ndGggJiYgdmFsdWUubGVuZ3RoID4gdGhpcy5tYXhMZW5ndGgpIHtcbiAgICAgICAgZXJyb3JzWydtYXhMZW5ndGgnXSA9IHtcbiAgICAgICAgICByZXF1aXJlZExlbmd0aDogdGhpcy5tYXhMZW5ndGgsXG4gICAgICAgICAgYWN0dWFsTGVuZ3RoOiB2YWx1ZS5sZW5ndGgsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucGF0dGVybiAmJiB2YWx1ZSkge1xuICAgICAgY29uc3QgcGF0dGVybiA9XG4gICAgICAgIHRoaXMucGF0dGVybiBpbnN0YW5jZW9mIFJlZ0V4cFxuICAgICAgICAgID8gdGhpcy5wYXR0ZXJuXG4gICAgICAgICAgOiBuZXcgUmVnRXhwKHRoaXMucGF0dGVybik7XG4gICAgICBpZiAoIXBhdHRlcm4udGVzdCh2YWx1ZSkpIHtcbiAgICAgICAgZXJyb3JzWydwYXR0ZXJuJ10gPSB7IHJlcXVpcmVkUGF0dGVybjogcGF0dGVybiwgYWN0dWFsVmFsdWU6IHZhbHVlIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY3VzdG9tVmFsaWRhdG9yKSB7XG4gICAgICBjb25zdCBjdXN0b21FcnJvcnMgPSB0aGlzLmN1c3RvbVZhbGlkYXRvcihjb250cm9sISk7XG4gICAgICBpZiAoY3VzdG9tRXJyb3JzKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24oZXJyb3JzLCBjdXN0b21FcnJvcnMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBPYmplY3Qua2V5cyhlcnJvcnMpLmxlbmd0aCA+IDAgPyBlcnJvcnMgOiBudWxsO1xuICB9XG59XG4iLCI8ZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJyZC1mb3JtLWl0ZW0gcmQtZm9ybS10ZXh0YXJlYVwiXG4gICAgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogZGlzYWJsZWQsIGVycm9yOiBzaG93RXJyb3IgfVwiXG4gID5cbiAgICA8dGV4dGFyZWFcbiAgICAgIG56LWlucHV0XG4gICAgICBuekJvcmRlcmxlc3NcbiAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiaGFuZGxlVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICBbbnpBdXRvc2l6ZV09XCJuekF1dG9zaXplXCJcbiAgICAgIHBsYWNlaG9sZGVyPVwiIFwiXG4gICAgICBjbGFzcz1cInJkLWZvcm0taXRlbS1pbnB1dFwiXG4gICAgPjwvdGV4dGFyZWE+XG4gICAgPGRpdiBjbGFzcz1cInJkLWZvcm0taXRlbS1sYWJlbFwiPnt7IGxhYmVsIH19PC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwic2hvd0Vycm9yXCIgY2xhc3M9XCJyZC1mb3JtLWl0ZW0tZXJyb3JcIj5cbiAgICA8aW1nICpuZ0lmPVwiY3VycmVudEVycm9yTWVzc2FnZVwiIHNyYz1cIi9hc3NldHMvaW1nL2ljb24vaWNvbi1lcnJvci5zdmdcIiAvPlxuICAgIHt7IGN1cnJlbnRFcnJvck1lc3NhZ2UgfX1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export const translations = {
|
|
2
|
+
en: {
|
|
3
|
+
pleaseEnter: 'Please enter',
|
|
4
|
+
lengthCannotBeLess: 'Length cannot be less than the minimum length',
|
|
5
|
+
lengthCannotExceed: 'Length cannot exceed the maximum length',
|
|
6
|
+
validationFailed: 'Validation failed',
|
|
7
|
+
cannotBeLessThan: 'cannot be less than the minimum value',
|
|
8
|
+
cannotExceed: 'cannot exceed the maximum value',
|
|
9
|
+
maxDecimalPlaces: 'The maximum number of decimal places is',
|
|
10
|
+
clearFilter: 'Clear filter',
|
|
11
|
+
},
|
|
12
|
+
zh: {
|
|
13
|
+
pleaseEnter: '請輸入',
|
|
14
|
+
lengthCannotBeLess: '長度不得少於最小長度',
|
|
15
|
+
lengthCannotExceed: '長度不得超過最大長度',
|
|
16
|
+
validationFailed: '驗證失敗',
|
|
17
|
+
cannotBeLessThan: '不得小於最小值',
|
|
18
|
+
cannotExceed: '不得超過最大值',
|
|
19
|
+
maxDecimalPlaces: '最大小數位數為',
|
|
20
|
+
clearFilter: '清除篩選',
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
export function getTranslation(lang, key) {
|
|
24
|
+
return translations[lang]?.[key] || translations.en[key];
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YWlsZC1sYW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWxpYi9zcmMvbGliL3V0aWxzL2Zvcm0tdmFpbGQtbGFuZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQkEsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFpQjtJQUN4QyxFQUFFLEVBQUU7UUFDRixXQUFXLEVBQUUsY0FBYztRQUMzQixrQkFBa0IsRUFBRSwrQ0FBK0M7UUFDbkUsa0JBQWtCLEVBQUUseUNBQXlDO1FBQzdELGdCQUFnQixFQUFFLG1CQUFtQjtRQUNyQyxnQkFBZ0IsRUFBRSx1Q0FBdUM7UUFDekQsWUFBWSxFQUFFLGlDQUFpQztRQUMvQyxnQkFBZ0IsRUFBRSx5Q0FBeUM7UUFDM0QsV0FBVyxFQUFFLGNBQWM7S0FDNUI7SUFDRCxFQUFFLEVBQUU7UUFDRixXQUFXLEVBQUUsS0FBSztRQUNsQixrQkFBa0IsRUFBRSxZQUFZO1FBQ2hDLGtCQUFrQixFQUFFLFlBQVk7UUFDaEMsZ0JBQWdCLEVBQUUsTUFBTTtRQUN4QixnQkFBZ0IsRUFBRSxTQUFTO1FBQzNCLFlBQVksRUFBRSxTQUFTO1FBQ3ZCLGdCQUFnQixFQUFFLFNBQVM7UUFDM0IsV0FBVyxFQUFFLE1BQU07S0FDcEI7Q0FDRixDQUFDO0FBRUYsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsSUFBWSxFQUNaLEdBQTBCO0lBRTFCLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksWUFBWSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMzRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUcmFuc2xhdGlvbktleXMge1xuICBwbGVhc2VFbnRlcjogc3RyaW5nO1xuICBsZW5ndGhDYW5ub3RCZUxlc3M6IHN0cmluZztcbiAgbGVuZ3RoQ2Fubm90RXhjZWVkOiBzdHJpbmc7XG4gIHZhbGlkYXRpb25GYWlsZWQ6IHN0cmluZztcbiAgY2Fubm90QmVMZXNzVGhhbjogc3RyaW5nO1xuICBjYW5ub3RFeGNlZWQ6IHN0cmluZztcbiAgbWF4RGVjaW1hbFBsYWNlczogc3RyaW5nO1xuICBjbGVhckZpbHRlcjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zbGF0aW9ucyB7XG4gIGVuOiBUcmFuc2xhdGlvbktleXM7XG4gIHpoOiBUcmFuc2xhdGlvbktleXM7XG4gIFtrZXk6IHN0cmluZ106IFRyYW5zbGF0aW9uS2V5cztcbn1cblxuZXhwb3J0IGNvbnN0IHRyYW5zbGF0aW9uczogVHJhbnNsYXRpb25zID0ge1xuICBlbjoge1xuICAgIHBsZWFzZUVudGVyOiAnUGxlYXNlIGVudGVyJyxcbiAgICBsZW5ndGhDYW5ub3RCZUxlc3M6ICdMZW5ndGggY2Fubm90IGJlIGxlc3MgdGhhbiB0aGUgbWluaW11bSBsZW5ndGgnLFxuICAgIGxlbmd0aENhbm5vdEV4Y2VlZDogJ0xlbmd0aCBjYW5ub3QgZXhjZWVkIHRoZSBtYXhpbXVtIGxlbmd0aCcsXG4gICAgdmFsaWRhdGlvbkZhaWxlZDogJ1ZhbGlkYXRpb24gZmFpbGVkJyxcbiAgICBjYW5ub3RCZUxlc3NUaGFuOiAnY2Fubm90IGJlIGxlc3MgdGhhbiB0aGUgbWluaW11bSB2YWx1ZScsXG4gICAgY2Fubm90RXhjZWVkOiAnY2Fubm90IGV4Y2VlZCB0aGUgbWF4aW11bSB2YWx1ZScsXG4gICAgbWF4RGVjaW1hbFBsYWNlczogJ1RoZSBtYXhpbXVtIG51bWJlciBvZiBkZWNpbWFsIHBsYWNlcyBpcycsXG4gICAgY2xlYXJGaWx0ZXI6ICdDbGVhciBmaWx0ZXInLFxuICB9LFxuICB6aDoge1xuICAgIHBsZWFzZUVudGVyOiAn6KuL6Ly45YWlJyxcbiAgICBsZW5ndGhDYW5ub3RCZUxlc3M6ICfplbfluqbkuI3lvpflsJHmlrzmnIDlsI/plbfluqYnLFxuICAgIGxlbmd0aENhbm5vdEV4Y2VlZDogJ+mVt+W6puS4jeW+l+i2hemBjuacgOWkp+mVt+W6picsXG4gICAgdmFsaWRhdGlvbkZhaWxlZDogJ+mpl+itieWkseaVlycsXG4gICAgY2Fubm90QmVMZXNzVGhhbjogJ+S4jeW+l+Wwj+aWvOacgOWwj+WAvCcsXG4gICAgY2Fubm90RXhjZWVkOiAn5LiN5b6X6LaF6YGO5pyA5aSn5YC8JyxcbiAgICBtYXhEZWNpbWFsUGxhY2VzOiAn5pyA5aSn5bCP5pW45L2N5pW454K6JyxcbiAgICBjbGVhckZpbHRlcjogJ+a4hemZpOevqemBuCcsXG4gIH0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHJhbnNsYXRpb24oXG4gIGxhbmc6IHN0cmluZyxcbiAga2V5OiBrZXlvZiBUcmFuc2xhdGlvbktleXNcbik6IHN0cmluZyB7XG4gIHJldHVybiB0cmFuc2xhdGlvbnNbbGFuZ10/LltrZXldIHx8IHRyYW5zbGF0aW9ucy5lbltrZXldO1xufVxuIl19
|