@po-ui/ng-components 17.24.0 → 17.25.0
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/esm2022/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view-base.component.mjs +27 -2
- package/esm2022/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view.component.mjs +7 -3
- package/fesm2022/po-ui-ng-components.mjs +32 -3
- package/fesm2022/po-ui-ng-components.mjs.map +1 -1
- package/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view-base.component.d.ts +23 -1
- package/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view.component.d.ts +1 -0
- package/package.json +4 -4
- package/po-ui-ng-components-17.25.0.tgz +0 -0
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-update/v14/index.js +1 -1
- package/schematics/ng-update/v15/index.js +1 -1
- package/schematics/ng-update/v16/index.js +1 -1
- package/schematics/ng-update/v17/index.js +1 -1
- package/schematics/ng-update/v2/index.js +1 -1
- package/schematics/ng-update/v3/index.js +1 -1
- package/schematics/ng-update/v4/index.js +1 -1
- package/schematics/ng-update/v5/index.js +1 -1
- package/schematics/ng-update/v6/index.js +1 -1
- package/po-ui-ng-components-17.24.0.tgz +0 -0
package/esm2022/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view-base.component.mjs
CHANGED
|
@@ -108,6 +108,28 @@ export class PoDynamicViewBaseComponent extends PoDynamicSharedBase {
|
|
|
108
108
|
get showAllValue() {
|
|
109
109
|
return this._showAllValue;
|
|
110
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* @optional
|
|
113
|
+
*
|
|
114
|
+
* @description
|
|
115
|
+
*
|
|
116
|
+
* Permite a quebra de linha no texto do `p-value`, aplicando-a onde há `\n`.
|
|
117
|
+
*
|
|
118
|
+
* ```
|
|
119
|
+
* <po-dynamic-view
|
|
120
|
+
* [p-value]="{ description: 'Primeira linha\nSegunda linha' }"
|
|
121
|
+
* [p-text-wrap]="true"
|
|
122
|
+
* ></po-dynamic-view>
|
|
123
|
+
* ```
|
|
124
|
+
*
|
|
125
|
+
* Saída:
|
|
126
|
+
* ```
|
|
127
|
+
* Primeira linha
|
|
128
|
+
* Segunda linha
|
|
129
|
+
* ```
|
|
130
|
+
* @default `false`
|
|
131
|
+
*/
|
|
132
|
+
textWrap = false;
|
|
111
133
|
/**
|
|
112
134
|
* @description
|
|
113
135
|
*
|
|
@@ -365,7 +387,7 @@ export class PoDynamicViewBaseComponent extends PoDynamicSharedBase {
|
|
|
365
387
|
return formattedField;
|
|
366
388
|
}
|
|
367
389
|
static ɵfac = function PoDynamicViewBaseComponent_Factory(t) { return new (t || PoDynamicViewBaseComponent)(i0.ɵɵdirectiveInject(i1.CurrencyPipe), i0.ɵɵdirectiveInject(i1.DatePipe), i0.ɵɵdirectiveInject(i1.DecimalPipe), i0.ɵɵdirectiveInject(i2.PoTimePipe), i0.ɵɵdirectiveInject(i1.TitleCasePipe), i0.ɵɵdirectiveInject(i3.PoDynamicViewService), i0.ɵɵdirectiveInject(i4.PoComboFilterService), i0.ɵɵdirectiveInject(i5.PoMultiselectFilterService)); };
|
|
368
|
-
static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoDynamicViewBaseComponent, inputs: { load: [i0.ɵɵInputFlags.None, "p-load", "load"], fields: [i0.ɵɵInputFlags.None, "p-fields", "fields"], showAllValue: [i0.ɵɵInputFlags.None, "p-show-all-value", "showAllValue"], value: [i0.ɵɵInputFlags.None, "p-value", "value"] }, features: [i0.ɵɵInheritDefinitionFeature] });
|
|
390
|
+
static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoDynamicViewBaseComponent, inputs: { load: [i0.ɵɵInputFlags.None, "p-load", "load"], fields: [i0.ɵɵInputFlags.None, "p-fields", "fields"], showAllValue: [i0.ɵɵInputFlags.None, "p-show-all-value", "showAllValue"], textWrap: [i0.ɵɵInputFlags.None, "p-text-wrap", "textWrap"], value: [i0.ɵɵInputFlags.None, "p-value", "value"] }, features: [i0.ɵɵInheritDefinitionFeature] });
|
|
369
391
|
}
|
|
370
392
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoDynamicViewBaseComponent, [{
|
|
371
393
|
type: Directive
|
|
@@ -378,8 +400,11 @@ export class PoDynamicViewBaseComponent extends PoDynamicSharedBase {
|
|
|
378
400
|
}], showAllValue: [{
|
|
379
401
|
type: Input,
|
|
380
402
|
args: ['p-show-all-value']
|
|
403
|
+
}], textWrap: [{
|
|
404
|
+
type: Input,
|
|
405
|
+
args: ['p-text-wrap']
|
|
381
406
|
}], value: [{
|
|
382
407
|
type: Input,
|
|
383
408
|
args: ['p-value']
|
|
384
409
|
}] }); })();
|
|
385
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy12aWV3LWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWR5bmFtaWMvcG8tZHluYW1pYy12aWV3L3BvLWR5bmFtaWMtdmlldy1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTdFLE9BQU8sRUFBYyxVQUFVLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFLM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7QUFFdkU7Ozs7Ozs7O0dBUUc7QUFFSCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsbUJBQW1CO0lBMEd2RDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0U7SUFDQTtJQUNBO0lBaEhaOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWdDRztJQUNjLElBQUksQ0FBb0I7SUFFekMsT0FBTyxDQUFNO0lBRUwsT0FBTyxHQUE4QixFQUFFLENBQUM7SUFDeEMsYUFBYSxHQUFZLEtBQUssQ0FBQztJQUMvQixNQUFNLEdBQUcsRUFBRSxDQUFDO0lBRXBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FxQkc7SUFDSCxJQUF1QixNQUFNLENBQUMsTUFBaUM7UUFDN0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFD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QyxFQUFFO1lBQzdCLEtBQUssTUFBTSxRQUFRLElBQUksVUFBVSxFQUFFO2dCQUNqQyxJQUFJLGNBQWMsSUFBSSxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQzlDLElBQUksQ0FBQyxjQUFjLEVBQUU7d0JBQ25CLGNBQWMsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7cUJBQzNDO3lCQUFNO3dCQUNMLGNBQWMsSUFBSSxLQUFLLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO3FCQUNwRDtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO29GQTFYVSwwQkFBMEI7NkRBQTFCLDBCQUEwQjs7aUZBQTFCLDBCQUEwQjtjQUR0QyxTQUFTO2tRQW1DUyxJQUFJO2tCQUFwQixLQUFLO21CQUFDLFFBQVE7WUE4QlEsTUFBTTtrQkFBNUIsS0FBSzttQkFBQyxVQUFVO1lBaUJjLFlBQVk7a0JBQTFDLEtBQUs7bUJBQUMsa0JBQWtCO1lBZ0JILEtBQUs7a0JBQTFCLEtBQUs7bUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1cnJlbmN5UGlwZSwgRGF0ZVBpcGUsIERlY2ltYWxQaXBlLCBUaXRsZUNhc2VQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUG9UaW1lUGlwZSB9IGZyb20gJy4uLy4uLy4uL3BpcGVzL3BvLXRpbWUvcG8tdGltZS5waXBlJztcbmltcG9ydCB7IGNvbnZlcnRUb0Jvb2xlYW4sIGlzVHlwZW9mLCBzb3J0RmllbGRzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdXRpbCc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIGNhdGNoRXJyb3IsIG1hcCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGdldEdyaWRDb2x1bW5zQ2xhc3NlcywgaXNWaXNpYmxlRmllbGQgfSBmcm9tICcuLi9wby1keW5hbWljLnV0aWwnO1xuaW1wb3J0IHsgUG9EeW5hbWljVmlld0ZpZWxkIH0gZnJvbSAnLi9wby1keW5hbWljLXZpZXctZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvRHluYW1pY1ZpZXdTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9wby1keW5hbWljLXZpZXcuc2VydmljZSc7XG5pbXBvcnQgeyBQb0NvbWJvRmlsdGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3BvLWZpZWxkL3BvLWNvbWJvL3BvLWNvbWJvLWZpbHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFBvTXVsdGlzZWxlY3RGaWx0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcG8tZmllbGQvcG8tbXVsdGlzZWxlY3QvcG8tbXVsdGlzZWxlY3QtZmlsdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9EeW5hbWljU2hhcmVkQmFzZSB9IGZyb20gJy4uL3NoYXJlZC9wby1keW5hbWljLXNoYXJlZC1iYXNlJztcblxuLyoqXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogQ29tcG9uZW50ZSBwYXJhIGxpc3RhciBkYWRvcyBkaW5hbWljYW1lbnRlIGEgcGFydGlyIGRlIHVtYSBsaXN0YSBkZSBvYmpldG9zLlxuICpcbiAqID4gUG9yIHBhZHLDo28gZXNzZSBjb21wb25lbnRlIGNyaWEgYHBvLWluZm9gIHBhcmEgZXhpYmnDp8Ojbywgw6kgcG9zc8OtdmVsIGNyaWFyIGBwby10YWdgIHBhc3NhbmRvIGEgcHJvcHJpZWRhZGUgeyB0YWc6IHRydWUgfS5cbiAqXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFBvRHluYW1pY1ZpZXdCYXNlQ29tcG9uZW50IGV4dGVuZHMgUG9EeW5hbWljU2hhcmVkQmFzZSB7XG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIFBvc3NpYmlsaXRhIGV4ZWN1dGFyIHVtYSBmdW7Dp8OjbyBxdWFuZG8gbyBjb21wb25lbnRlIMOpIGluaWNpYWxpemFkby5cbiAgICpcbiAgICogQSBwcm9wcmllZGFkZSBhY2VpdGEgb3Mgc2VndWludGVzIHRpcG9zOlxuICAgKiAtICoqU3RyaW5nKio6IEVuZHBvaW50IHVzYWRvIHBlbG8gY29tcG9uZW50ZSBwYXJhIHJlcXVpc2nDp8OjbyB2aWEgYFBPU1RgLlxuICAgKiAtICoqRnVuY3Rpb24qKjogTcOpdG9kbyBxdWUgc2Vyw6EgZXhlY3V0YWRvIG5hIGluaWNpYWxpemHDp8OjbyBkbyBjb21wb25lbnRlLlxuICAgKlxuICAgKiBQYXJhIG9zIGRvaXMgdGlwb3MgZGUgdXRpbGl6YcOnw6NvIGRhIHByb3ByaWVkYWRlIGVzcGVyYS1zZSBvIHNlZ3VpbnRlIHJldG9ybm86XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqICAgdmFsdWU6IHtcbiAgICogICAgIGNucGo6ICcqKioqKioqKioqKioqKicsIC8vIGFsdGVyYSB2YWxvciBkbyBjYW1wb1xuICAgKiAgICAgdXBkYXRlZDogKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCkgLy8gYXRyaWJ1aSB2YWxvciBhbyBjYW1wbyBub3ZvXG4gICAqICAgfSxcbiAgICogICBmaWVsZHM6IFtcbiAgICogICAgIHsgcHJvcGVydHk6ICdjbnBqJywgdGFnOiB0cnVlLCBpbnZlcnNlOiB0cnVlIH0sIC8vIGF0cmlidWkgbm92YXMgcHJvcHJpZWRhZGVzIGFvIGZpZWxkXG4gICAqICAgICB7IHByb3BlcnR5OiAndXBkYXRlZCcsIHRhZzogdHJ1ZSB9IC8vIGluY2x1aSBjYW1wbyBub3ZvXG4gICAqICAgXVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiA+ICoqdmFsdWUqKjogYW55ID0gYXRyaWJ1aSBub3ZvIHZhbG9yIGRvIG1vZGVsLlxuICAgKlxuICAgKiA+ICoqZmllbGRzKio6IGBBcnJheTxQb0R5bmFtaWNWaWV3RmllbGQ+YCA9IExpc3RhIGRlIGNhbXBvcyBxdWUgZGVzZWphIGFsdGVyYXIgYXMgcHJvcHJpZWRhZGVzLFxuICAgKiBjYXNvIGVudmlhciB1bSBjYW1wbyBhIG1haXMgc2Vyw6EgY3JpYWRvIHVtIG5vdm8gY2FtcG8uXG4gICAqXG4gICAqIC0gUGFyYSBlc2NvbmRlci9yZW1vdmVyIGNhbXBvcyBwcmVjaXNhIGluZm9ybWFyIG5vIGZpZWxkIGEgcHJvcHJpZWRhZGUgYHZpc2libGUgPSBmYWxzZWAuXG4gICAqXG4gICAqL1xuICBASW5wdXQoJ3AtbG9hZCcpIGxvYWQ6IHN0cmluZyB8IEZ1bmN0aW9uO1xuXG4gIHNlcnZpY2U6IGFueTtcblxuICBwcml2YXRlIF9maWVsZHM6IEFycmF5PFBvRHluYW1pY1ZpZXdGaWVsZD4gPSBbXTtcbiAgcHJpdmF0ZSBfc2hvd0FsbFZhbHVlOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3ZhbHVlID0ge307XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogTGlzdGEgZGUgb2JqZXRvcyBxdWUgaW1wbGVtZW50YW0gYSBpbnRlcmZhY2UgYFBvRHluYW1pY1ZpZXdgLlxuICAgKlxuICAgKiA+IEV4OiBgWyB7IHByb3BlcnR5OiAnYWdlJyB9IF1gXG4gICAqXG4gICAqIFJlZ3JhcyBkZSB0aXBhZ2VtIGUgZm9ybWF0YcOnw6NvIGRvcyB2YWxvcmVzIGV4aWJpZG9zOlxuICAgKlxuICAgKiAtIENhc28gbyAqdHlwZSogaW5mb3JtYWRvIHNlamEgKmN1cnJlbmN5KiBlIG7Do28gc2VqYSBpbmZvcm1hZG8gbyAqZm9ybWF0KiBvIG1lc21vIHJlY2ViZSBcIidCUkwnLCAnc3ltYm9sJywgJzEuMi0yJ1wiXG4gICAqIGNvbW8gZm9ybWF0byBwYWRyw6NvLlxuICAgKiAtIENhc28gbyAqdHlwZSogaW5mb3JtYWRvIHNlamEgKmRhdGUqIGUgbsOjbyBzZWphIGluZm9ybWFkbyBvICpmb3JtYXQqIG8gbWVzbW8gcmVjZWJlICdkZC9NTS95eXl5JyBjb21vIGZvcm1hdG8gcGFkcsOjby5cbiAgICogLSBDYXNvIG8gKnR5cGUqIGluZm9ybWFkbyBzZWphICpkYXRlVGltZSogZSBuw6NvIHNlamEgaW5mb3JtYWRvIG8gKmZvcm1hdCogbyBtZXNtbyByZWNlYmUgJ2RkL01NL3l5eXkgSEg6bW06c3MnIGNvbW8gZm9ybWF0byBwYWRyw6NvLlxuICAgKiAtIENhc28gbyAqdHlwZSogaW5mb3JtYWRvIHNlamEgKm51bWJlciogZSBuw6NvIHNlamEgaW5mb3JtYWRvIG8gKmZvcm1hdCogbyBtZXNtbyBuw6NvIHNlcsOhIGZvcm1hdGFkby5cbiAgICogLSBDYXNvIG8gKnR5cGUqIGluZm9ybWFkbyBzZWphICp0aW1lKiBlIG7Do28gc2VqYSBpbmZvcm1hZG8gbyAqZm9ybWF0KiBvIG1lc21vIHJlY2ViZSAnSEg6bW06c3MuZmZmZmZmJyBjb21vIGZvcm1hdG8gcGFkcsOjby5cbiAgICpcbiAgICogPiBBcyBwcm9wcmllZGFkZXMgaW5mb3JtYWRhcyBzZXLDo28gZXhpYmlkYXMgbWVzbW8gbsOjbyBjb250ZW5kbyB2YWxvciBkZSByZWZlcsOqbmNpYSBubyBvYmpldG8gZGEgcHJvcHJpZWRhZGUgYHAtdmFsdWVgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgW11gXG4gICAqL1xuICBASW5wdXQoJ3AtZmllbGRzJykgc2V0IGZpZWxkcyhmaWVsZHM6IEFycmF5PFBvRHluYW1pY1ZpZXdGaWVsZD4pIHtcbiAgICB0aGlzLl9maWVsZHMgPSBBcnJheS5pc0FycmF5KGZpZWxkcykgPyBbLi4uZmllbGRzXSA6IFtdO1xuICB9XG5cbiAgZ2V0IGZpZWxkcygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmllbGRzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogSW5kaWNhIHNlIGV4aWJpcsOhIHRvZGFzIGFzIGluZm9ybWHDp8O1ZXMgY29udGlkYXMgZGVudHJvIGRvIG9iamV0byBpbmZvcm1hZG8gbmEgcHJvcHJpZWRhZGUgYHAtdmFsdWVgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoJ3Atc2hvdy1hbGwtdmFsdWUnKSBzZXQgc2hvd0FsbFZhbHVlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2hvd0FsbFZhbHVlID0gY29udmVydFRvQm9vbGVhbih2YWx1ZSk7XG4gIH1cblxuICBnZXQgc2hvd0FsbFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLl9zaG93QWxsVmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIE9iamV0byBxdWUgc2Vyw6EgdXRpbGl6YWRvIHBhcmEgZXhpYmlyIGFzIGluZm9ybWHDp8O1ZXMgZGluw6JtaWNhcywgbyB2YWxvciBzZXLDoSByZWN1cGVyYWRvIGF0cmF2w6lzIGRvIGF0cmlidXRvICpwcm9wZXJ0eSpcbiAgICogZG9zIG9iamV0b3MgY29udGlkb3MgbmEgcHJvcHJpZGFkZSBgcC1maWVsZHNgLlxuICAgKlxuICAgKiA+IEV4OiBgeyBhZ2U6ICczNScgfWBcbiAgICovXG4gIEBJbnB1dCgncC12YWx1ZScpIHNldCB2YWx1ZSh2YWx1ZTogb2JqZWN0KSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZSAmJiBpc1R5cGVvZih2YWx1ZSwgJ29iamVjdCcpID8gdmFsdWUgOiB7fTtcbiAgfVxuXG4gIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGN1cnJlbmN5UGlwZTogQ3VycmVuY3lQaXBlLFxuICAgIHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlLFxuICAgIHByaXZhdGUgZGVjaW1hbFBpcGU6IERlY2ltYWxQaXBlLFxuICAgIHByaXZhdGUgdGltZVBpcGU6IFBvVGltZVBpcGUsXG4gICAgcHJpdmF0ZSB0aXRsZUNhc2VQaXBlOiBUaXRsZUNhc2VQaXBlLFxuICAgIHByb3RlY3RlZCBkeW5hbWljVmlld1NlcnZpY2U6IFBvRHluYW1pY1ZpZXdTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBjb21ib0ZpbHRlclNlcnZpY2U6IFBvQ29tYm9GaWx0ZXJTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBtdWx0aXNlbGVjdEZpbHRlclNlcnZpY2U6IFBvTXVsdGlzZWxlY3RGaWx0ZXJTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RmllbGRPcmRlclJldHJvYWN0aXZlKHBvc2l0aW9uOiBudW1iZXIsIGluZGV4OiBudW1iZXIgPSAxKTogbnVtYmVyIHtcbiAgICBpZiAocG9zaXRpb24gPT09IGluZGV4KSB7XG4gICAgICByZXR1cm4gcG9zaXRpb247XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmZpZWxkcy5maW5kSW5kZXgoZmllbGQgPT4gZmllbGQub3JkZXIgPT09IGluZGV4KSA+IC0xXG4gICAgICA/IHRoaXMuZ2V0RmllbGRPcmRlclJldHJvYWN0aXZlKHBvc2l0aW9uLCBpbmRleCArIDEpXG4gICAgICA6IGluZGV4O1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEZpZWxkT3JkZXIoZmllbGQ6IFBvRHluYW1pY1ZpZXdGaWVsZCwgaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgcG9zaXRpb24gPSB0aGlzLmdldEZpZWxkT3JkZXJSZXRyb2FjdGl2ZShpbmRleCArIDEpO1xuICAgIHJldHVybiB0aGlzLmZpZWxkcy5maW5kSW5kZXgoZSA9PiBlLm9yZGVyID09PSBwb3NpdGlvbikgPiAtMSA/IHRoaXMuZ2V0RmllbGRPcmRlcihmaWVsZCwgcG9zaXRpb24pIDogcG9zaXRpb247XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0Q29uZmlndXJlZEZpZWxkcyh1c2VTZWFyY2hTZXJ2aWNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IG5ld0ZpZWxkcyA9IFtdO1xuXG4gICAgdGhpcy5maWVsZHMuZm9yRWFjaCgoZmllbGQsIGluZGV4KSA9PiB7XG4gICAgICBmaWVsZC5vcmRlciA9IGZpZWxkLm9yZGVyIHx8IHRoaXMuZ2V0RmllbGRPcmRlcihmaWVsZCwgaW5kZXgpO1xuXG4gICAgICBpZiAoIWlzVmlzaWJsZUZpZWxkKGZpZWxkKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghZmllbGQuc2VhcmNoU2VydmljZSAmJiAhZmllbGQub3B0aW9uc1NlcnZpY2UpIHtcbiAgICAgICAgbmV3RmllbGRzLnB1c2godGhpcy5jcmVhdGVGaWVsZChmaWVsZCkpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGhhc1ZhbHVlID1cbiAgICAgICAgdGhpcy52YWx1ZVtmaWVsZC5wcm9wZXJ0eV0/Lmxlbmd0aCB8fFxuICAgICAgICAoIUFycmF5LmlzQXJyYXkodGhpcy52YWx1ZVtmaWVsZC5wcm9wZXJ0eV0pICYmIHRoaXMudmFsdWVbZmllbGQucHJvcGVydHldICYmIHVzZVNlYXJjaFNlcnZpY2UpIHx8XG4gICAgICAgIGZpZWxkLmNvbnRhaW5lcjtcblxuICAgICAgaWYgKGhhc1ZhbHVlKSB7XG4gICAgICAgIGNvbnN0IF9maWVsZCA9IHRoaXMucmV0dXJuVmFsdWVzKHsgLi4uZmllbGQgfSwgJycpO1xuICAgICAgICBuZXdGaWVsZHMucHVzaChfZmllbGQpO1xuXG4gICAgICAgIGlmIChmaWVsZC5zZWFyY2hTZXJ2aWNlKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBmaWVsZC5zZWFyY2hTZXJ2aWNlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgdGhpcy5zZXJ2aWNlID0gZmllbGQuc2VhcmNoU2VydmljZSBhcyBQb0R5bmFtaWNWaWV3U2VydmljZTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBmaWVsZC5zZWFyY2hTZXJ2aWNlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdGhpcy5zZXJ2aWNlID0gdGhpcy5keW5hbWljVmlld1NlcnZpY2U7XG4gICAgICAgICAgICB0aGlzLnNlcnZpY2Uuc2V0Q29uZmlnKGZpZWxkLnNlYXJjaFNlcnZpY2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChmaWVsZC5vcHRpb25zU2VydmljZSkge1xuICAgICAgICAgIGlmIChmaWVsZC5vcHRpb25zTXVsdGkpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZmllbGQub3B0aW9uc1NlcnZpY2UgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2VydmljZSA9IGZpZWxkLm9wdGlvbnNTZXJ2aWNlIGFzIFBvTXVsdGlzZWxlY3RGaWx0ZXJTZXJ2aWNlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlID0gdGhpcy5tdWx0aXNlbGVjdEZpbHRlclNlcnZpY2U7XG4gICAgICAgICAgICAgIHRoaXMuc2VydmljZS5jb25maWdQcm9wZXJ0aWVzKGZpZWxkLm9wdGlvbnNTZXJ2aWNlLCBmaWVsZC5maWVsZExhYmVsLCBmaWVsZC5maWVsZFZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBmaWVsZC5vcHRpb25zU2VydmljZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlID0gZmllbGQub3B0aW9uc1NlcnZpY2UgYXMgUG9Db21ib0ZpbHRlclNlcnZpY2U7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLnNlcnZpY2UgPSB0aGlzLmNvbWJvRmlsdGVyU2VydmljZTtcbiAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLmNvbmZpZ1Byb3BlcnRpZXMoZmllbGQub3B0aW9uc1NlcnZpY2UsIGZpZWxkLmZpZWxkTGFiZWwsIGZpZWxkLmZpZWxkVmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY3JlYXRlRmllbGRXaXRoU2VydmljZShmaWVsZCwgbmV3RmllbGRzLCBfZmllbGQpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgX3NvcnRlZEZpZWxkID0gc29ydEZpZWxkcyhuZXdGaWVsZHMpO1xuICAgIHRoaXMuZW5zdXJlRmllbGRIYXNDb250YWluZXIoX3NvcnRlZEZpZWxkKTtcblxuICAgIHJldHVybiBfc29ydGVkRmllbGQ7XG4gIH1cblxuICAvLyByZXRvcm5hIGZpZWxkcyBsaWdhZG8gYW8gdmFsdWUgbWFpcyBvcyBhdHJpYnV0b3MgZG8gdmFsdWUgcXVlIG7Do28gcG9zc3VpYW0gZmllbGRzLlxuICBwcm90ZWN0ZWQgZ2V0TWVyZ2VkRmllbGRzKCkge1xuICAgIGNvbnN0IG1lcmdlZEZpZWxkcyA9IFsuLi50aGlzLmdldENvbmZpZ3VyZWRGaWVsZHMoKV07XG5cbiAgICB0aGlzLmdldFZhbHVlRmllbGRzKCkuZm9yRWFjaCh2YWx1ZUZpZWxkID0+IHtcbiAgICAgIGNvbnN0IGZpZWxkSW5kZXggPSBtZXJnZWRGaWVsZHMuZmluZEluZGV4KGZpZWxkID0+IGZpZWxkLnByb3BlcnR5ID09PSB2YWx1ZUZpZWxkLnByb3BlcnR5KTtcbiAgICAgIGNvbnN0IHByb3BlcnR5ID0gdmFsdWVGaWVsZC5wcm9wZXJ0eTtcblxuICAgICAgaWYgKGZpZWxkSW5kZXggPT09IC0xKSB7XG4gICAgICAgIG1lcmdlZEZpZWxkcy5wdXNoKHRoaXMuY3JlYXRlRmllbGQoeyBwcm9wZXJ0eSB9KSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbWVyZ2VkRmllbGRzO1xuICB9XG5cbiAgLy8gcmV0b3JuYSBvIG9iamV0byB2YWx1ZSBjb21vIGZpZWxkcy5cbiAgcHJvdGVjdGVkIGdldFZhbHVlRmllbGRzKCkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLnZhbHVlKS5tYXAocHJvcGVydHkgPT4gdGhpcy5jcmVhdGVGaWVsZCh7IHByb3BlcnR5IH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRmllbGQoZmllbGQ6IFBvRHluYW1pY1ZpZXdGaWVsZCkge1xuICAgIGNvbnN0IHByb3BlcnR5ID0gZmllbGQucHJvcGVydHk7XG4gICAgbGV0IHZhbHVlO1xuICAgIGlmIChmaWVsZC5pc0FycmF5T3JPYmplY3QgJiYgdGhpcy52YWx1ZVtwcm9wZXJ0eV0pIHtcbiAgICAgIHZhbHVlID0gdGhpcy50cmFuc2Zvcm1BcnJheVZhbHVlKHRoaXMudmFsdWVbcHJvcGVydHldLCBmaWVsZCk7XG4gICAgfSBlbHNlIGlmIChmaWVsZC5maWVsZExhYmVsKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMudHJhbnNmb3JtRmllbGRMYWJlbChwcm9wZXJ0eSwgZmllbGQpO1xuICAgIH1cblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHZhbHVlID0gdGhpcy50cmFuc2Zvcm1WYWx1ZShmaWVsZC50eXBlLCB0aGlzLnZhbHVlW3Byb3BlcnR5XSwgZmllbGQuZm9ybWF0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5yZXR1cm5WYWx1ZXMoZmllbGQsIHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRmllbGRXaXRoU2VydmljZShmaWVsZDogUG9EeW5hbWljVmlld0ZpZWxkLCBuZXdGaWVsZHM/LCBvbGRGaWVsZD8pIHtcbiAgICBjb25zdCBwcm9wZXJ0eSA9IGZpZWxkLnByb3BlcnR5O1xuXG4gICAgdGhpcy5zZWFyY2hCeUlkKHRoaXMudmFsdWVbcHJvcGVydHldLCBmaWVsZCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gcmVzcG9uc2U7XG4gICAgICBjb25zdCBhbGxWYWx1ZXMgPSB0aGlzLnJldHVyblZhbHVlcyhmaWVsZCwgdmFsdWUpO1xuICAgICAgY29uc3Qgb2xkRmllbGRJbmRleCA9IG5ld0ZpZWxkcy5pbmRleE9mKG5ld0ZpZWxkcy5maW5kKGZpZWxkID0+IGZpZWxkID09PSBvbGRGaWVsZCkpO1xuICAgICAgbmV3RmllbGRzLnNwbGljZShvbGRGaWVsZEluZGV4LCAxLCBhbGxWYWx1ZXMpO1xuICAgICAgc29ydEZpZWxkcyhuZXdGaWVsZHMpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXR1cm5WYWx1ZXMoZmllbGQ6IFBvRHluYW1pY1ZpZXdGaWVsZCwgdmFsdWU6IGFueSkge1xuICAgIGNvbnN0IHByb3BlcnR5ID0gZmllbGQucHJvcGVydHk7XG4gICAgY29uc3QgY2xhc3Nlc0dyaWRDb2x1bW5zID0gZ2V0R3JpZENvbHVtbnNDbGFzc2VzKFxuICAgICAgZmllbGQuZ3JpZENvbHVtbnMsXG4gICAgICBmaWVsZC5vZmZzZXRDb2x1bW5zLFxuICAgICAge1xuICAgICAgICBzbUdyaWQ6IGZpZWxkLmdyaWRTbUNvbHVtbnMsXG4gICAgICAgIG1kR3JpZDogZmllbGQuZ3JpZE1kQ29sdW1ucyxcbiAgICAgICAgbGdHcmlkOiBmaWVsZC5ncmlkTGdDb2x1bW5zLFxuICAgICAgICB4bEdyaWQ6IGZpZWxkLmdyaWRYbENvbHVtbnNcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHNtT2Zmc2V0OiBmaWVsZC5vZmZzZXRTbUNvbHVtbnMsXG4gICAgICAgIG1kT2Zmc2V0OiBmaWVsZC5vZmZzZXRNZENvbHVtbnMsXG4gICAgICAgIGxnT2Zmc2V0OiBmaWVsZC5vZmZzZXRMZ0NvbHVtbnMsXG4gICAgICAgIHhsT2Zmc2V0OiBmaWVsZC5vZmZzZXRYbENvbHVtbnNcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHNtUHVsbDogZmllbGQuZ3JpZFNtUHVsbCxcbiAgICAgICAgbWRQdWxsOiBmaWVsZC5ncmlkTWRQdWxsLFxuICAgICAgICBsZ1B1bGw6IGZpZWxkLmdyaWRMZ1B1bGwsXG4gICAgICAgIHhsUHVsbDogZmllbGQuZ3JpZFhsUHVsbFxuICAgICAgfVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcHJvcGVydHksXG4gICAgICB2YWx1ZSxcbiAgICAgIGxhYmVsOiB0aGlzLnRpdGxlQ2FzZVBpcGUudHJhbnNmb3JtKHByb3BlcnR5KSxcbiAgICAgIGNzc0NsYXNzOiBjbGFzc2VzR3JpZENvbHVtbnMsXG4gICAgICAuLi5maWVsZFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHNlYXJjaEJ5SWQodmFsdWU6IGFueSwgZmllbGQ6IFBvRHluYW1pY1ZpZXdGaWVsZCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUudHJpbSgpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSAhPT0gJycpIHtcbiAgICAgIGlmIChmaWVsZC5vcHRpb25zTXVsdGkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZVxuICAgICAgICAgIC5nZXRPYmplY3RzQnlWYWx1ZXModmFsdWUsIGZpZWxkLnBhcmFtcylcbiAgICAgICAgICAucGlwZShtYXAocmVzID0+IHRoaXMudHJhbnNmb3JtQXJyYXlWYWx1ZShyZXMsIGZpZWxkKSkpXG4gICAgICAgICAgLnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBvZihudWxsKSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZVxuICAgICAgICAgIC5nZXRPYmplY3RCeVZhbHVlKHZhbHVlLCBmaWVsZC5wYXJhbXMpXG4gICAgICAgICAgLnBpcGUobWFwKHJlcyA9PiB0aGlzLnRyYW5zZm9ybUFycmF5VmFsdWUocmVzLCBmaWVsZCkpKVxuICAgICAgICAgIC5waXBlKGNhdGNoRXJyb3IoKCkgPT4gb2YobnVsbCkpKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNmb3JtQXJyYXlWYWx1ZSh2YWx1ZVByb3BlcnR5OiBhbnksIGZpZWxkOiBQb0R5bmFtaWNWaWV3RmllbGQpIHtcbiAgICBjb25zdCB2YWx1ZUFycmF5ID0gQXJyYXkuaXNBcnJheSh2YWx1ZVByb3BlcnR5KSA/IHZhbHVlUHJvcGVydHkgOiBbdmFsdWVQcm9wZXJ0eV07XG4gICAgbGV0IGxhYmVsczogQXJyYXk8c3RyaW5nPjtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkLmZvcm1hdCkpIHtcbiAgICAgIGxhYmVscyA9IHZhbHVlQXJyYXkubWFwKG9iamVjdERhdGEgPT4gdGhpcy5mb3JtYXRGaWVsZChvYmplY3REYXRhLCBmaWVsZC5mb3JtYXQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgYXJyYXlXaXRoTGFiZWwgPSB2YWx1ZUFycmF5Lm1hcChpdGVtID0+ICh7XG4gICAgICAgIHZhbHVlOiBpdGVtW2ZpZWxkLmZpZWxkVmFsdWVdIHx8IGl0ZW0udmFsdWUsXG4gICAgICAgIGxhYmVsOiBpdGVtW2ZpZWxkLmZpZWxkTGFiZWxdIHx8IGl0ZW0ubGFiZWxcbiAgICAgIH0pKTtcblxuICAgICAgbGFiZWxzID0gYXJyYXlXaXRoTGFiZWwubWFwKG9wdGlvblZhbHVlID0+IHtcbiAgICAgICAgaWYgKG9wdGlvblZhbHVlLmxhYmVsKSB7XG4gICAgICAgICAgY29uc3QgbGFiZWxUcmFuZm9ybWVkID0gdGhpcy50cmFuc2Zvcm1WYWx1ZShmaWVsZC50eXBlLCBvcHRpb25WYWx1ZS5sYWJlbCwgZmllbGQuZm9ybWF0KTtcbiAgICAgICAgICBpZiAoZmllbGQuY29uY2F0TGFiZWxWYWx1ZSAmJiBvcHRpb25WYWx1ZS52YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIGAke2xhYmVsVHJhbmZvcm1lZH0gLSAke29wdGlvblZhbHVlLnZhbHVlfWA7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBsYWJlbFRyYW5mb3JtZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAobGFiZWxzWzBdICE9PSB1bmRlZmluZWQgJiYgbGFiZWxzLmpvaW4oKSkge1xuICAgICAgcmV0dXJuIGxhYmVscy5qb2luKCcsICcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZVByb3BlcnR5ID0gJyc7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNmb3JtRmllbGRMYWJlbChwcm9wZXJ0eTogc3RyaW5nLCBmaWVsZDogUG9EeW5hbWljVmlld0ZpZWxkKSB7XG4gICAgaWYgKGZpZWxkLmNvbmNhdExhYmVsVmFsdWUgJiYgZmllbGQuZmllbGRMYWJlbCAmJiBmaWVsZC5maWVsZFZhbHVlICYmICFmaWVsZC5pc0FycmF5T3JPYmplY3QpIHtcbiAgICAgIGNvbnN0IHRyYW5zZm9ybWVkVmFsdWUgPSB0aGlzLnRyYW5zZm9ybVZhbHVlKGZpZWxkLnR5cGUsIHRoaXMudmFsdWVbZmllbGQuZmllbGRMYWJlbF0sIGZpZWxkLmZvcm1hdCk7XG4gICAgICByZXR1cm4gYCR7dHJhbnNmb3JtZWRWYWx1ZX0gLSAke3RoaXMudmFsdWVbZmllbGQuZmllbGRWYWx1ZV19YDtcbiAgICB9XG5cbiAgICBpZiAoZmllbGQuZmllbGRMYWJlbCAmJiAhZmllbGQuY29uY2F0TGFiZWxWYWx1ZSAmJiAhZmllbGQuaXNBcnJheU9yT2JqZWN0KSB7XG4gICAgICB0aGlzLnZhbHVlW3Byb3BlcnR5XSA9IHRoaXMudmFsdWVbZmllbGQuZmllbGRMYWJlbF07XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIHRyYW5zZm9ybVZhbHVlKHR5cGU6IHN0cmluZywgdmFsdWUsIGZvcm1hdCkge1xuICAgIGxldCB0cmFuc2Zvcm1lZFZhbHVlID0gdmFsdWU7XG5cbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ2N1cnJlbmN5JzpcbiAgICAgICAgdHJhbnNmb3JtZWRWYWx1ZSA9IHRoaXMuY3VycmVuY3lQaXBlLnRyYW5zZm9ybSh2YWx1ZSwgZm9ybWF0IHx8ICdCUkwnLCAnc3ltYm9sJywgJzEuMi0yJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgIHRyYW5zZm9ybWVkVmFsdWUgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh2YWx1ZSwgZm9ybWF0IHx8ICdkZC9NTS95eXl5Jyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGF0ZVRpbWUnOlxuICAgICAgICB0cmFuc2Zvcm1lZFZhbHVlID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odmFsdWUsIGZvcm1hdCB8fCAnZGQvTU0veXl5eSBISDptbTpzcycpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICAgIHRyYW5zZm9ybWVkVmFsdWUgPSB0aGlzLmRlY2ltYWxQaXBlLnRyYW5zZm9ybSh2YWx1ZSwgZm9ybWF0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd0aW1lJzpcbiAgICAgICAgdHJhbnNmb3JtZWRWYWx1ZSA9IHRoaXMudGltZVBpcGUudHJhbnNmb3JtKHZhbHVlLCBmb3JtYXQgfHwgJ0hIOm1tOnNzLmZmZmZmZicpO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gdHJhbnNmb3JtZWRWYWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0RmllbGQob2JqZWN0U2VsZWN0ZWQsIHByb3BlcnRpZXMpIHtcbiAgICBsZXQgZm9ybWF0dGVkRmllbGQ7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkocHJvcGVydGllcykpIHtcbiAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgb2YgcHJvcGVydGllcykge1xuICAgICAgICBpZiAob2JqZWN0U2VsZWN0ZWQgJiYgb2JqZWN0U2VsZWN0ZWRbcHJvcGVydHldKSB7XG4gICAgICAgICAgaWYgKCFmb3JtYXR0ZWRGaWVsZCkge1xuICAgICAgICAgICAgZm9ybWF0dGVkRmllbGQgPSBvYmplY3RTZWxlY3RlZFtwcm9wZXJ0eV07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZvcm1hdHRlZEZpZWxkICs9ICcgLSAnICsgb2JqZWN0U2VsZWN0ZWRbcHJvcGVydHldO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZm9ybWF0dGVkRmllbGQ7XG4gIH1cbn1cbiJdfQ==
|
|
410
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy12aWV3LWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWR5bmFtaWMvcG8tZHluYW1pYy12aWV3L3BvLWR5bmFtaWMtdmlldy1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTdFLE9BQU8sRUFBYyxVQUFVLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFLM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7QUFFdkU7Ozs7Ozs7O0dBUUc7QUFFSCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsbUJBQW1CO0lBaUl2RDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0U7SUFDQTtJQUNBO0lBdklaOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWdDRztJQUNjLElBQUksQ0FBb0I7SUFFekMsT0FBTyxDQUFNO0lBRUwsT0FBTyxHQUE4QixFQUFFLENBQUM7SUFDeEMsYUFBYSxHQUFZLEtBQUssQ0FBQztJQUMvQixNQUFNLEdBQUcsRUFBRSxDQUFDO0lBRXBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FxQkc7SUFDSCxJQUF1QixNQUFNLENBQUMsTUFBaUM7UUFDN0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFD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NUMsSUFBSSxjQUFjLENBQUM7UUFDbkIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzdCLEtBQUssTUFBTSxRQUFRLElBQUksVUFBVSxFQUFFO2dCQUNqQyxJQUFJLGNBQWMsSUFBSSxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQzlDLElBQUksQ0FBQyxjQUFjLEVBQUU7d0JBQ25CLGNBQWMsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7cUJBQzNDO3lCQUFNO3dCQUNMLGNBQWMsSUFBSSxLQUFLLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO3FCQUNwRDtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO29GQWpaVSwwQkFBMEI7NkRBQTFCLDBCQUEwQjs7aUZBQTFCLDBCQUEwQjtjQUR0QyxTQUFTO2tRQW1DUyxJQUFJO2tCQUFwQixLQUFLO21CQUFDLFFBQVE7WUE4QlEsTUFBTTtrQkFBNUIsS0FBSzttQkFBQyxVQUFVO1lBaUJjLFlBQVk7a0JBQTFDLEtBQUs7bUJBQUMsa0JBQWtCO1lBNkJILFFBQVE7a0JBQTdCLEtBQUs7bUJBQUMsYUFBYTtZQVVFLEtBQUs7a0JBQTFCLEtBQUs7bUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1cnJlbmN5UGlwZSwgRGF0ZVBpcGUsIERlY2ltYWxQaXBlLCBUaXRsZUNhc2VQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUG9UaW1lUGlwZSB9IGZyb20gJy4uLy4uLy4uL3BpcGVzL3BvLXRpbWUvcG8tdGltZS5waXBlJztcbmltcG9ydCB7IGNvbnZlcnRUb0Jvb2xlYW4sIGlzVHlwZW9mLCBzb3J0RmllbGRzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdXRpbCc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIGNhdGNoRXJyb3IsIG1hcCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGdldEdyaWRDb2x1bW5zQ2xhc3NlcywgaXNWaXNpYmxlRmllbGQgfSBmcm9tICcuLi9wby1keW5hbWljLnV0aWwnO1xuaW1wb3J0IHsgUG9EeW5hbWljVmlld0ZpZWxkIH0gZnJvbSAnLi9wby1keW5hbWljLXZpZXctZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvRHluYW1pY1ZpZXdTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9wby1keW5hbWljLXZpZXcuc2VydmljZSc7XG5pbXBvcnQgeyBQb0NvbWJvRmlsdGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3BvLWZpZWxkL3BvLWNvbWJvL3BvLWNvbWJvLWZpbHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFBvTXVsdGlzZWxlY3RGaWx0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcG8tZmllbGQvcG8tbXVsdGlzZWxlY3QvcG8tbXVsdGlzZWxlY3QtZmlsdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9EeW5hbWljU2hhcmVkQmFzZSB9IGZyb20gJy4uL3NoYXJlZC9wby1keW5hbWljLXNoYXJlZC1iYXNlJztcblxuLyoqXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogQ29tcG9uZW50ZSBwYXJhIGxpc3RhciBkYWRvcyBkaW5hbWljYW1lbnRlIGEgcGFydGlyIGRlIHVtYSBsaXN0YSBkZSBvYmpldG9zLlxuICpcbiAqID4gUG9yIHBhZHLDo28gZXNzZSBjb21wb25lbnRlIGNyaWEgYHBvLWluZm9gIHBhcmEgZXhpYmnDp8Ojbywgw6kgcG9zc8OtdmVsIGNyaWFyIGBwby10YWdgIHBhc3NhbmRvIGEgcHJvcHJpZWRhZGUgeyB0YWc6IHRydWUgfS5cbiAqXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFBvRHluYW1pY1ZpZXdCYXNlQ29tcG9uZW50IGV4dGVuZHMgUG9EeW5hbWljU2hhcmVkQmFzZSB7XG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIFBvc3NpYmlsaXRhIGV4ZWN1dGFyIHVtYSBmdW7Dp8OjbyBxdWFuZG8gbyBjb21wb25lbnRlIMOpIGluaWNpYWxpemFkby5cbiAgICpcbiAgICogQSBwcm9wcmllZGFkZSBhY2VpdGEgb3Mgc2VndWludGVzIHRpcG9zOlxuICAgKiAtICoqU3RyaW5nKio6IEVuZHBvaW50IHVzYWRvIHBlbG8gY29tcG9uZW50ZSBwYXJhIHJlcXVpc2nDp8OjbyB2aWEgYFBPU1RgLlxuICAgKiAtICoqRnVuY3Rpb24qKjogTcOpdG9kbyBxdWUgc2Vyw6EgZXhlY3V0YWRvIG5hIGluaWNpYWxpemHDp8OjbyBkbyBjb21wb25lbnRlLlxuICAgKlxuICAgKiBQYXJhIG9zIGRvaXMgdGlwb3MgZGUgdXRpbGl6YcOnw6NvIGRhIHByb3ByaWVkYWRlIGVzcGVyYS1zZSBvIHNlZ3VpbnRlIHJldG9ybm86XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqICAgdmFsdWU6IHtcbiAgICogICAgIGNucGo6ICcqKioqKioqKioqKioqKicsIC8vIGFsdGVyYSB2YWxvciBkbyBjYW1wb1xuICAgKiAgICAgdXBkYXRlZDogKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCkgLy8gYXRyaWJ1aSB2YWxvciBhbyBjYW1wbyBub3ZvXG4gICAqICAgfSxcbiAgICogICBmaWVsZHM6IFtcbiAgICogICAgIHsgcHJvcGVydHk6ICdjbnBqJywgdGFnOiB0cnVlLCBpbnZlcnNlOiB0cnVlIH0sIC8vIGF0cmlidWkgbm92YXMgcHJvcHJpZWRhZGVzIGFvIGZpZWxkXG4gICAqICAgICB7IHByb3BlcnR5OiAndXBkYXRlZCcsIHRhZzogdHJ1ZSB9IC8vIGluY2x1aSBjYW1wbyBub3ZvXG4gICAqICAgXVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiA+ICoqdmFsdWUqKjogYW55ID0gYXRyaWJ1aSBub3ZvIHZhbG9yIGRvIG1vZGVsLlxuICAgKlxuICAgKiA+ICoqZmllbGRzKio6IGBBcnJheTxQb0R5bmFtaWNWaWV3RmllbGQ+YCA9IExpc3RhIGRlIGNhbXBvcyBxdWUgZGVzZWphIGFsdGVyYXIgYXMgcHJvcHJpZWRhZGVzLFxuICAgKiBjYXNvIGVudmlhciB1bSBjYW1wbyBhIG1haXMgc2Vyw6EgY3JpYWRvIHVtIG5vdm8gY2FtcG8uXG4gICAqXG4gICAqIC0gUGFyYSBlc2NvbmRlci9yZW1vdmVyIGNhbXBvcyBwcmVjaXNhIGluZm9ybWFyIG5vIGZpZWxkIGEgcHJvcHJpZWRhZGUgYHZpc2libGUgPSBmYWxzZWAuXG4gICAqXG4gICAqL1xuICBASW5wdXQoJ3AtbG9hZCcpIGxvYWQ6IHN0cmluZyB8IEZ1bmN0aW9uO1xuXG4gIHNlcnZpY2U6IGFueTtcblxuICBwcml2YXRlIF9maWVsZHM6IEFycmF5PFBvRHluYW1pY1ZpZXdGaWVsZD4gPSBbXTtcbiAgcHJpdmF0ZSBfc2hvd0FsbFZhbHVlOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3ZhbHVlID0ge307XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogTGlzdGEgZGUgb2JqZXRvcyBxdWUgaW1wbGVtZW50YW0gYSBpbnRlcmZhY2UgYFBvRHluYW1pY1ZpZXdgLlxuICAgKlxuICAgKiA+IEV4OiBgWyB7IHByb3BlcnR5OiAnYWdlJyB9IF1gXG4gICAqXG4gICAqIFJlZ3JhcyBkZSB0aXBhZ2VtIGUgZm9ybWF0YcOnw6NvIGRvcyB2YWxvcmVzIGV4aWJpZG9zOlxuICAgKlxuICAgKiAtIENhc28gbyAqdHlwZSogaW5mb3JtYWRvIHNlamEgKmN1cnJlbmN5KiBlIG7Do28gc2VqYSBpbmZvcm1hZG8gbyAqZm9ybWF0KiBvIG1lc21vIHJlY2ViZSBcIidCUkwnLCAnc3ltYm9sJywgJzEuMi0yJ1wiXG4gICAqIGNvbW8gZm9ybWF0byBwYWRyw6NvLlxuICAgKiAtIENhc28gbyAqdHlwZSogaW5mb3JtYWRvIHNlamEgKmRhdGUqIGUgbsOjbyBzZWphIGluZm9ybWFkbyBvICpmb3JtYXQqIG8gbWVzbW8gcmVjZWJlICdkZC9NTS95eXl5JyBjb21vIGZvcm1hdG8gcGFkcsOjby5cbiAgICogLSBDYXNvIG8gKnR5cGUqIGluZm9ybWFkbyBzZWphICpkYXRlVGltZSogZSBuw6NvIHNlamEgaW5mb3JtYWRvIG8gKmZvcm1hdCogbyBtZXNtbyByZWNlYmUgJ2RkL01NL3l5eXkgSEg6bW06c3MnIGNvbW8gZm9ybWF0byBwYWRyw6NvLlxuICAgKiAtIENhc28gbyAqdHlwZSogaW5mb3JtYWRvIHNlamEgKm51bWJlciogZSBuw6NvIHNlamEgaW5mb3JtYWRvIG8gKmZvcm1hdCogbyBtZXNtbyBuw6NvIHNlcsOhIGZvcm1hdGFkby5cbiAgICogLSBDYXNvIG8gKnR5cGUqIGluZm9ybWFkbyBzZWphICp0aW1lKiBlIG7Do28gc2VqYSBpbmZvcm1hZG8gbyAqZm9ybWF0KiBvIG1lc21vIHJlY2ViZSAnSEg6bW06c3MuZmZmZmZmJyBjb21vIGZvcm1hdG8gcGFkcsOjby5cbiAgICpcbiAgICogPiBBcyBwcm9wcmllZGFkZXMgaW5mb3JtYWRhcyBzZXLDo28gZXhpYmlkYXMgbWVzbW8gbsOjbyBjb250ZW5kbyB2YWxvciBkZSByZWZlcsOqbmNpYSBubyBvYmpldG8gZGEgcHJvcHJpZWRhZGUgYHAtdmFsdWVgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgW11gXG4gICAqL1xuICBASW5wdXQoJ3AtZmllbGRzJykgc2V0IGZpZWxkcyhmaWVsZHM6IEFycmF5PFBvRHluYW1pY1ZpZXdGaWVsZD4pIHtcbiAgICB0aGlzLl9maWVsZHMgPSBBcnJheS5pc0FycmF5KGZpZWxkcykgPyBbLi4uZmllbGRzXSA6IFtdO1xuICB9XG5cbiAgZ2V0IGZpZWxkcygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmllbGRzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogSW5kaWNhIHNlIGV4aWJpcsOhIHRvZGFzIGFzIGluZm9ybWHDp8O1ZXMgY29udGlkYXMgZGVudHJvIGRvIG9iamV0byBpbmZvcm1hZG8gbmEgcHJvcHJpZWRhZGUgYHAtdmFsdWVgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoJ3Atc2hvdy1hbGwtdmFsdWUnKSBzZXQgc2hvd0FsbFZhbHVlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2hvd0FsbFZhbHVlID0gY29udmVydFRvQm9vbGVhbih2YWx1ZSk7XG4gIH1cblxuICBnZXQgc2hvd0FsbFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLl9zaG93QWxsVmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBQZXJtaXRlIGEgcXVlYnJhIGRlIGxpbmhhIG5vIHRleHRvIGRvIGBwLXZhbHVlYCwgYXBsaWNhbmRvLWEgb25kZSBow6EgYFxcbmAuXG4gICAqXG4gICAqIGBgYFxuICAgKiA8cG8tZHluYW1pYy12aWV3XG4gICAqICAgW3AtdmFsdWVdPVwieyBkZXNjcmlwdGlvbjogJ1ByaW1laXJhIGxpbmhhXFxuU2VndW5kYSBsaW5oYScgfVwiXG4gICAqICAgW3AtdGV4dC13cmFwXT1cInRydWVcIlxuICAgKiA+PC9wby1keW5hbWljLXZpZXc+XG4gICAqIGBgYFxuICAgKlxuICAgKiBTYcOtZGE6XG4gICAqIGBgYFxuICAgKiBQcmltZWlyYSBsaW5oYVxuICAgKiBTZWd1bmRhIGxpbmhhXG4gICAqIGBgYFxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoJ3AtdGV4dC13cmFwJykgdGV4dFdyYXA6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIE9iamV0byBxdWUgc2Vyw6EgdXRpbGl6YWRvIHBhcmEgZXhpYmlyIGFzIGluZm9ybWHDp8O1ZXMgZGluw6JtaWNhcywgbyB2YWxvciBzZXLDoSByZWN1cGVyYWRvIGF0cmF2w6lzIGRvIGF0cmlidXRvICpwcm9wZXJ0eSpcbiAgICogZG9zIG9iamV0b3MgY29udGlkb3MgbmEgcHJvcHJpZGFkZSBgcC1maWVsZHNgLlxuICAgKlxuICAgKiA+IEV4OiBgeyBhZ2U6ICczNScgfWBcbiAgICovXG4gIEBJbnB1dCgncC12YWx1ZScpIHNldCB2YWx1ZSh2YWx1ZTogb2JqZWN0KSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZSAmJiBpc1R5cGVvZih2YWx1ZSwgJ29iamVjdCcpID8gdmFsdWUgOiB7fTtcbiAgfVxuXG4gIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGN1cnJlbmN5UGlwZTogQ3VycmVuY3lQaXBlLFxuICAgIHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlLFxuICAgIHByaXZhdGUgZGVjaW1hbFBpcGU6IERlY2ltYWxQaXBlLFxuICAgIHByaXZhdGUgdGltZVBpcGU6IFBvVGltZVBpcGUsXG4gICAgcHJpdmF0ZSB0aXRsZUNhc2VQaXBlOiBUaXRsZUNhc2VQaXBlLFxuICAgIHByb3RlY3RlZCBkeW5hbWljVmlld1NlcnZpY2U6IFBvRHluYW1pY1ZpZXdTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBjb21ib0ZpbHRlclNlcnZpY2U6IFBvQ29tYm9GaWx0ZXJTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBtdWx0aXNlbGVjdEZpbHRlclNlcnZpY2U6IFBvTXVsdGlzZWxlY3RGaWx0ZXJTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RmllbGRPcmRlclJldHJvYWN0aXZlKHBvc2l0aW9uOiBudW1iZXIsIGluZGV4OiBudW1iZXIgPSAxKTogbnVtYmVyIHtcbiAgICBpZiAocG9zaXRpb24gPT09IGluZGV4KSB7XG4gICAgICByZXR1cm4gcG9zaXRpb247XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmZpZWxkcy5maW5kSW5kZXgoZmllbGQgPT4gZmllbGQub3JkZXIgPT09IGluZGV4KSA+IC0xXG4gICAgICA/IHRoaXMuZ2V0RmllbGRPcmRlclJldHJvYWN0aXZlKHBvc2l0aW9uLCBpbmRleCArIDEpXG4gICAgICA6IGluZGV4O1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEZpZWxkT3JkZXIoZmllbGQ6IFBvRHluYW1pY1ZpZXdGaWVsZCwgaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgcG9zaXRpb24gPSB0aGlzLmdldEZpZWxkT3JkZXJSZXRyb2FjdGl2ZShpbmRleCArIDEpO1xuICAgIHJldHVybiB0aGlzLmZpZWxkcy5maW5kSW5kZXgoZSA9PiBlLm9yZGVyID09PSBwb3NpdGlvbikgPiAtMSA/IHRoaXMuZ2V0RmllbGRPcmRlcihmaWVsZCwgcG9zaXRpb24pIDogcG9zaXRpb247XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0Q29uZmlndXJlZEZpZWxkcyh1c2VTZWFyY2hTZXJ2aWNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IG5ld0ZpZWxkcyA9IFtdO1xuXG4gICAgdGhpcy5maWVsZHMuZm9yRWFjaCgoZmllbGQsIGluZGV4KSA9PiB7XG4gICAgICBmaWVsZC5vcmRlciA9IGZpZWxkLm9yZGVyIHx8IHRoaXMuZ2V0RmllbGRPcmRlcihmaWVsZCwgaW5kZXgpO1xuXG4gICAgICBpZiAoIWlzVmlzaWJsZUZpZWxkKGZpZWxkKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghZmllbGQuc2VhcmNoU2VydmljZSAmJiAhZmllbGQub3B0aW9uc1NlcnZpY2UpIHtcbiAgICAgICAgbmV3RmllbGRzLnB1c2godGhpcy5jcmVhdGVGaWVsZChmaWVsZCkpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGhhc1ZhbHVlID1cbiAgICAgICAgdGhpcy52YWx1ZVtmaWVsZC5wcm9wZXJ0eV0/Lmxlbmd0aCB8fFxuICAgICAgICAoIUFycmF5LmlzQXJyYXkodGhpcy52YWx1ZVtmaWVsZC5wcm9wZXJ0eV0pICYmIHRoaXMudmFsdWVbZmllbGQucHJvcGVydHldICYmIHVzZVNlYXJjaFNlcnZpY2UpIHx8XG4gICAgICAgIGZpZWxkLmNvbnRhaW5lcjtcblxuICAgICAgaWYgKGhhc1ZhbHVlKSB7XG4gICAgICAgIGNvbnN0IF9maWVsZCA9IHRoaXMucmV0dXJuVmFsdWVzKHsgLi4uZmllbGQgfSwgJycpO1xuICAgICAgICBuZXdGaWVsZHMucHVzaChfZmllbGQpO1xuXG4gICAgICAgIGlmIChmaWVsZC5zZWFyY2hTZXJ2aWNlKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBmaWVsZC5zZWFyY2hTZXJ2aWNlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgdGhpcy5zZXJ2aWNlID0gZmllbGQuc2VhcmNoU2VydmljZSBhcyBQb0R5bmFtaWNWaWV3U2VydmljZTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBmaWVsZC5zZWFyY2hTZXJ2aWNlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdGhpcy5zZXJ2aWNlID0gdGhpcy5keW5hbWljVmlld1NlcnZpY2U7XG4gICAgICAgICAgICB0aGlzLnNlcnZpY2Uuc2V0Q29uZmlnKGZpZWxkLnNlYXJjaFNlcnZpY2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChmaWVsZC5vcHRpb25zU2VydmljZSkge1xuICAgICAgICAgIGlmIChmaWVsZC5vcHRpb25zTXVsdGkpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZmllbGQub3B0aW9uc1NlcnZpY2UgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2VydmljZSA9IGZpZWxkLm9wdGlvbnNTZXJ2aWNlIGFzIFBvTXVsdGlzZWxlY3RGaWx0ZXJTZXJ2aWNlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlID0gdGhpcy5tdWx0aXNlbGVjdEZpbHRlclNlcnZpY2U7XG4gICAgICAgICAgICAgIHRoaXMuc2VydmljZS5jb25maWdQcm9wZXJ0aWVzKGZpZWxkLm9wdGlvbnNTZXJ2aWNlLCBmaWVsZC5maWVsZExhYmVsLCBmaWVsZC5maWVsZFZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBmaWVsZC5vcHRpb25zU2VydmljZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlID0gZmllbGQub3B0aW9uc1NlcnZpY2UgYXMgUG9Db21ib0ZpbHRlclNlcnZpY2U7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLnNlcnZpY2UgPSB0aGlzLmNvbWJvRmlsdGVyU2VydmljZTtcbiAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLmNvbmZpZ1Byb3BlcnRpZXMoZmllbGQub3B0aW9uc1NlcnZpY2UsIGZpZWxkLmZpZWxkTGFiZWwsIGZpZWxkLmZpZWxkVmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY3JlYXRlRmllbGRXaXRoU2VydmljZShmaWVsZCwgbmV3RmllbGRzLCBfZmllbGQpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgX3NvcnRlZEZpZWxkID0gc29ydEZpZWxkcyhuZXdGaWVsZHMpO1xuICAgIHRoaXMuZW5zdXJlRmllbGRIYXNDb250YWluZXIoX3NvcnRlZEZpZWxkKTtcblxuICAgIHJldHVybiBfc29ydGVkRmllbGQ7XG4gIH1cblxuICAvLyByZXRvcm5hIGZpZWxkcyBsaWdhZG8gYW8gdmFsdWUgbWFpcyBvcyBhdHJpYnV0b3MgZG8gdmFsdWUgcXVlIG7Do28gcG9zc3VpYW0gZmllbGRzLlxuICBwcm90ZWN0ZWQgZ2V0TWVyZ2VkRmllbGRzKCkge1xuICAgIGNvbnN0IG1lcmdlZEZpZWxkcyA9IFsuLi50aGlzLmdldENvbmZpZ3VyZWRGaWVsZHMoKV07XG5cbiAgICB0aGlzLmdldFZhbHVlRmllbGRzKCkuZm9yRWFjaCh2YWx1ZUZpZWxkID0+IHtcbiAgICAgIGNvbnN0IGZpZWxkSW5kZXggPSBtZXJnZWRGaWVsZHMuZmluZEluZGV4KGZpZWxkID0+IGZpZWxkLnByb3BlcnR5ID09PSB2YWx1ZUZpZWxkLnByb3BlcnR5KTtcbiAgICAgIGNvbnN0IHByb3BlcnR5ID0gdmFsdWVGaWVsZC5wcm9wZXJ0eTtcblxuICAgICAgaWYgKGZpZWxkSW5kZXggPT09IC0xKSB7XG4gICAgICAgIG1lcmdlZEZpZWxkcy5wdXNoKHRoaXMuY3JlYXRlRmllbGQoeyBwcm9wZXJ0eSB9KSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbWVyZ2VkRmllbGRzO1xuICB9XG5cbiAgLy8gcmV0b3JuYSBvIG9iamV0byB2YWx1ZSBjb21vIGZpZWxkcy5cbiAgcHJvdGVjdGVkIGdldFZhbHVlRmllbGRzKCkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLnZhbHVlKS5tYXAocHJvcGVydHkgPT4gdGhpcy5jcmVhdGVGaWVsZCh7IHByb3BlcnR5IH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRmllbGQoZmllbGQ6IFBvRHluYW1pY1ZpZXdGaWVsZCkge1xuICAgIGNvbnN0IHByb3BlcnR5ID0gZmllbGQucHJvcGVydHk7XG4gICAgbGV0IHZhbHVlO1xuICAgIGlmIChmaWVsZC5pc0FycmF5T3JPYmplY3QgJiYgdGhpcy52YWx1ZVtwcm9wZXJ0eV0pIHtcbiAgICAgIHZhbHVlID0gdGhpcy50cmFuc2Zvcm1BcnJheVZhbHVlKHRoaXMudmFsdWVbcHJvcGVydHldLCBmaWVsZCk7XG4gICAgfSBlbHNlIGlmIChmaWVsZC5maWVsZExhYmVsKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMudHJhbnNmb3JtRmllbGRMYWJlbChwcm9wZXJ0eSwgZmllbGQpO1xuICAgIH1cblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHZhbHVlID0gdGhpcy50cmFuc2Zvcm1WYWx1ZShmaWVsZC50eXBlLCB0aGlzLnZhbHVlW3Byb3BlcnR5XSwgZmllbGQuZm9ybWF0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5yZXR1cm5WYWx1ZXMoZmllbGQsIHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRmllbGRXaXRoU2VydmljZShmaWVsZDogUG9EeW5hbWljVmlld0ZpZWxkLCBuZXdGaWVsZHM/LCBvbGRGaWVsZD8pIHtcbiAgICBjb25zdCBwcm9wZXJ0eSA9IGZpZWxkLnByb3BlcnR5O1xuXG4gICAgdGhpcy5zZWFyY2hCeUlkKHRoaXMudmFsdWVbcHJvcGVydHldLCBmaWVsZCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gcmVzcG9uc2U7XG4gICAgICBjb25zdCBhbGxWYWx1ZXMgPSB0aGlzLnJldHVyblZhbHVlcyhmaWVsZCwgdmFsdWUpO1xuICAgICAgY29uc3Qgb2xkRmllbGRJbmRleCA9IG5ld0ZpZWxkcy5pbmRleE9mKG5ld0ZpZWxkcy5maW5kKGZpZWxkID0+IGZpZWxkID09PSBvbGRGaWVsZCkpO1xuICAgICAgbmV3RmllbGRzLnNwbGljZShvbGRGaWVsZEluZGV4LCAxLCBhbGxWYWx1ZXMpO1xuICAgICAgc29ydEZpZWxkcyhuZXdGaWVsZHMpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXR1cm5WYWx1ZXMoZmllbGQ6IFBvRHluYW1pY1ZpZXdGaWVsZCwgdmFsdWU6IGFueSkge1xuICAgIGNvbnN0IHByb3BlcnR5ID0gZmllbGQucHJvcGVydHk7XG4gICAgY29uc3QgY2xhc3Nlc0dyaWRDb2x1bW5zID0gZ2V0R3JpZENvbHVtbnNDbGFzc2VzKFxuICAgICAgZmllbGQuZ3JpZENvbHVtbnMsXG4gICAgICBmaWVsZC5vZmZzZXRDb2x1bW5zLFxuICAgICAge1xuICAgICAgICBzbUdyaWQ6IGZpZWxkLmdyaWRTbUNvbHVtbnMsXG4gICAgICAgIG1kR3JpZDogZmllbGQuZ3JpZE1kQ29sdW1ucyxcbiAgICAgICAgbGdHcmlkOiBmaWVsZC5ncmlkTGdDb2x1bW5zLFxuICAgICAgICB4bEdyaWQ6IGZpZWxkLmdyaWRYbENvbHVtbnNcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHNtT2Zmc2V0OiBmaWVsZC5vZmZzZXRTbUNvbHVtbnMsXG4gICAgICAgIG1kT2Zmc2V0OiBmaWVsZC5vZmZzZXRNZENvbHVtbnMsXG4gICAgICAgIGxnT2Zmc2V0OiBmaWVsZC5vZmZzZXRMZ0NvbHVtbnMsXG4gICAgICAgIHhsT2Zmc2V0OiBmaWVsZC5vZmZzZXRYbENvbHVtbnNcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHNtUHVsbDogZmllbGQuZ3JpZFNtUHVsbCxcbiAgICAgICAgbWRQdWxsOiBmaWVsZC5ncmlkTWRQdWxsLFxuICAgICAgICBsZ1B1bGw6IGZpZWxkLmdyaWRMZ1B1bGwsXG4gICAgICAgIHhsUHVsbDogZmllbGQuZ3JpZFhsUHVsbFxuICAgICAgfVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcHJvcGVydHksXG4gICAgICB2YWx1ZSxcbiAgICAgIGxhYmVsOiB0aGlzLnRpdGxlQ2FzZVBpcGUudHJhbnNmb3JtKHByb3BlcnR5KSxcbiAgICAgIGNzc0NsYXNzOiBjbGFzc2VzR3JpZENvbHVtbnMsXG4gICAgICAuLi5maWVsZFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHNlYXJjaEJ5SWQodmFsdWU6IGFueSwgZmllbGQ6IFBvRHluYW1pY1ZpZXdGaWVsZCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUudHJpbSgpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSAhPT0gJycpIHtcbiAgICAgIGlmIChmaWVsZC5vcHRpb25zTXVsdGkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZVxuICAgICAgICAgIC5nZXRPYmplY3RzQnlWYWx1ZXModmFsdWUsIGZpZWxkLnBhcmFtcylcbiAgICAgICAgICAucGlwZShtYXAocmVzID0+IHRoaXMudHJhbnNmb3JtQXJyYXlWYWx1ZShyZXMsIGZpZWxkKSkpXG4gICAgICAgICAgLnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBvZihudWxsKSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZVxuICAgICAgICAgIC5nZXRPYmplY3RCeVZhbHVlKHZhbHVlLCBmaWVsZC5wYXJhbXMpXG4gICAgICAgICAgLnBpcGUobWFwKHJlcyA9PiB0aGlzLnRyYW5zZm9ybUFycmF5VmFsdWUocmVzLCBmaWVsZCkpKVxuICAgICAgICAgIC5waXBlKGNhdGNoRXJyb3IoKCkgPT4gb2YobnVsbCkpKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNmb3JtQXJyYXlWYWx1ZSh2YWx1ZVByb3BlcnR5OiBhbnksIGZpZWxkOiBQb0R5bmFtaWNWaWV3RmllbGQpIHtcbiAgICBjb25zdCB2YWx1ZUFycmF5ID0gQXJyYXkuaXNBcnJheSh2YWx1ZVByb3BlcnR5KSA/IHZhbHVlUHJvcGVydHkgOiBbdmFsdWVQcm9wZXJ0eV07XG4gICAgbGV0IGxhYmVsczogQXJyYXk8c3RyaW5nPjtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkLmZvcm1hdCkpIHtcbiAgICAgIGxhYmVscyA9IHZhbHVlQXJyYXkubWFwKG9iamVjdERhdGEgPT4gdGhpcy5mb3JtYXRGaWVsZChvYmplY3REYXRhLCBmaWVsZC5mb3JtYXQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgYXJyYXlXaXRoTGFiZWwgPSB2YWx1ZUFycmF5Lm1hcChpdGVtID0+ICh7XG4gICAgICAgIHZhbHVlOiBpdGVtW2ZpZWxkLmZpZWxkVmFsdWVdIHx8IGl0ZW0udmFsdWUsXG4gICAgICAgIGxhYmVsOiBpdGVtW2ZpZWxkLmZpZWxkTGFiZWxdIHx8IGl0ZW0ubGFiZWxcbiAgICAgIH0pKTtcblxuICAgICAgbGFiZWxzID0gYXJyYXlXaXRoTGFiZWwubWFwKG9wdGlvblZhbHVlID0+IHtcbiAgICAgICAgaWYgKG9wdGlvblZhbHVlLmxhYmVsKSB7XG4gICAgICAgICAgY29uc3QgbGFiZWxUcmFuZm9ybWVkID0gdGhpcy50cmFuc2Zvcm1WYWx1ZShmaWVsZC50eXBlLCBvcHRpb25WYWx1ZS5sYWJlbCwgZmllbGQuZm9ybWF0KTtcbiAgICAgICAgICBpZiAoZmllbGQuY29uY2F0TGFiZWxWYWx1ZSAmJiBvcHRpb25WYWx1ZS52YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIGAke2xhYmVsVHJhbmZvcm1lZH0gLSAke29wdGlvblZhbHVlLnZhbHVlfWA7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBsYWJlbFRyYW5mb3JtZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAobGFiZWxzWzBdICE9PSB1bmRlZmluZWQgJiYgbGFiZWxzLmpvaW4oKSkge1xuICAgICAgcmV0dXJuIGxhYmVscy5qb2luKCcsICcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZVByb3BlcnR5ID0gJyc7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNmb3JtRmllbGRMYWJlbChwcm9wZXJ0eTogc3RyaW5nLCBmaWVsZDogUG9EeW5hbWljVmlld0ZpZWxkKSB7XG4gICAgaWYgKGZpZWxkLmNvbmNhdExhYmVsVmFsdWUgJiYgZmllbGQuZmllbGRMYWJlbCAmJiBmaWVsZC5maWVsZFZhbHVlICYmICFmaWVsZC5pc0FycmF5T3JPYmplY3QpIHtcbiAgICAgIGNvbnN0IHRyYW5zZm9ybWVkVmFsdWUgPSB0aGlzLnRyYW5zZm9ybVZhbHVlKGZpZWxkLnR5cGUsIHRoaXMudmFsdWVbZmllbGQuZmllbGRMYWJlbF0sIGZpZWxkLmZvcm1hdCk7XG4gICAgICByZXR1cm4gYCR7dHJhbnNmb3JtZWRWYWx1ZX0gLSAke3RoaXMudmFsdWVbZmllbGQuZmllbGRWYWx1ZV19YDtcbiAgICB9XG5cbiAgICBpZiAoZmllbGQuZmllbGRMYWJlbCAmJiAhZmllbGQuY29uY2F0TGFiZWxWYWx1ZSAmJiAhZmllbGQuaXNBcnJheU9yT2JqZWN0KSB7XG4gICAgICB0aGlzLnZhbHVlW3Byb3BlcnR5XSA9IHRoaXMudmFsdWVbZmllbGQuZmllbGRMYWJlbF07XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIHRyYW5zZm9ybVZhbHVlKHR5cGU6IHN0cmluZywgdmFsdWUsIGZvcm1hdCkge1xuICAgIGxldCB0cmFuc2Zvcm1lZFZhbHVlID0gdmFsdWU7XG5cbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ2N1cnJlbmN5JzpcbiAgICAgICAgdHJhbnNmb3JtZWRWYWx1ZSA9IHRoaXMuY3VycmVuY3lQaXBlLnRyYW5zZm9ybSh2YWx1ZSwgZm9ybWF0IHx8ICdCUkwnLCAnc3ltYm9sJywgJzEuMi0yJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgIHRyYW5zZm9ybWVkVmFsdWUgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh2YWx1ZSwgZm9ybWF0IHx8ICdkZC9NTS95eXl5Jyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGF0ZVRpbWUnOlxuICAgICAgICB0cmFuc2Zvcm1lZFZhbHVlID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odmFsdWUsIGZvcm1hdCB8fCAnZGQvTU0veXl5eSBISDptbTpzcycpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICAgIHRyYW5zZm9ybWVkVmFsdWUgPSB0aGlzLmRlY2ltYWxQaXBlLnRyYW5zZm9ybSh2YWx1ZSwgZm9ybWF0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd0aW1lJzpcbiAgICAgICAgdHJhbnNmb3JtZWRWYWx1ZSA9IHRoaXMudGltZVBpcGUudHJhbnNmb3JtKHZhbHVlLCBmb3JtYXQgfHwgJ0hIOm1tOnNzLmZmZmZmZicpO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gdHJhbnNmb3JtZWRWYWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0RmllbGQob2JqZWN0U2VsZWN0ZWQsIHByb3BlcnRpZXMpIHtcbiAgICBsZXQgZm9ybWF0dGVkRmllbGQ7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkocHJvcGVydGllcykpIHtcbiAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgb2YgcHJvcGVydGllcykge1xuICAgICAgICBpZiAob2JqZWN0U2VsZWN0ZWQgJiYgb2JqZWN0U2VsZWN0ZWRbcHJvcGVydHldKSB7XG4gICAgICAgICAgaWYgKCFmb3JtYXR0ZWRGaWVsZCkge1xuICAgICAgICAgICAgZm9ybWF0dGVkRmllbGQgPSBvYmplY3RTZWxlY3RlZFtwcm9wZXJ0eV07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZvcm1hdHRlZEZpZWxkICs9ICcgLSAnICsgb2JqZWN0U2VsZWN0ZWRbcHJvcGVydHldO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZm9ybWF0dGVkRmllbGQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -67,6 +67,7 @@ function PoDynamicViewComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
67
67
|
} if (rf & 2) {
|
|
68
68
|
const field_r19 = ctx.$implicit;
|
|
69
69
|
const ctx_r5 = i0.ɵɵnextContext();
|
|
70
|
+
i0.ɵɵclassProp("po-info-value-pre", ctx_r5.textWrap && ctx_r5.containsLineBreak(ctx_r5.setFieldValue(field_r19)));
|
|
70
71
|
i0.ɵɵproperty("ngClass", field_r19.cssClass)("p-label", field_r19.label)("p-value", ctx_r5.setFieldValue(field_r19));
|
|
71
72
|
} }
|
|
72
73
|
function PoDynamicViewComponent_ng_template_7_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -144,6 +145,9 @@ export class PoDynamicViewComponent extends PoDynamicViewBaseComponent {
|
|
|
144
145
|
return field.value;
|
|
145
146
|
}
|
|
146
147
|
}
|
|
148
|
+
containsLineBreak(value) {
|
|
149
|
+
return value && value.includes('\n');
|
|
150
|
+
}
|
|
147
151
|
async getValuesAndFieldsFromLoad() {
|
|
148
152
|
let valueAndFieldsFromLoad;
|
|
149
153
|
if (typeof this.load === 'string') {
|
|
@@ -188,14 +192,14 @@ export class PoDynamicViewComponent extends PoDynamicViewBaseComponent {
|
|
|
188
192
|
}
|
|
189
193
|
static ɵfac = function PoDynamicViewComponent_Factory(t) { return new (t || PoDynamicViewComponent)(i0.ɵɵdirectiveInject(i1.CurrencyPipe), i0.ɵɵdirectiveInject(i1.DatePipe), i0.ɵɵdirectiveInject(i1.DecimalPipe), i0.ɵɵdirectiveInject(i2.PoTimePipe), i0.ɵɵdirectiveInject(i1.TitleCasePipe), i0.ɵɵdirectiveInject(i3.PoDynamicViewService), i0.ɵɵdirectiveInject(i4.PoComboFilterService), i0.ɵɵdirectiveInject(i5.PoMultiselectFilterService)); };
|
|
190
194
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoDynamicViewComponent, selectors: [["po-dynamic-view"]], features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], decls: 11, vars: 1, consts: [["class", "po-row", 3, "po-dynamic", 4, "ngIf"], ["poContent", ""], ["poContentContainer", ""], ["poInfo", ""], ["poTag", ""], ["poImage", ""], [1, "po-row"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["ngFor", "", 3, "ngForOf"], ["class", "po-sm-12", 3, "p-label", 4, "ngIf"], [1, "po-sm-12", 3, "p-label"], [3, "p-fields", "p-content"], [3, "ngClass", "p-label", "p-value"], [3, "ngClass", "p-color", "p-icon", "p-inverse", "p-label", "p-value"], [3, "p-alt", "p-height", "p-src"]], template: function PoDynamicViewComponent_Template(rf, ctx) { if (rf & 1) {
|
|
191
|
-
i0.ɵɵtemplate(0, PoDynamicViewComponent_div_0_Template, 2, 6, "div", 0)(1, PoDynamicViewComponent_ng_template_1_Template, 1, 1, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(3, PoDynamicViewComponent_ng_template_3_Template, 1, 2, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor)(5, PoDynamicViewComponent_ng_template_5_Template, 1,
|
|
195
|
+
i0.ɵɵtemplate(0, PoDynamicViewComponent_div_0_Template, 2, 6, "div", 0)(1, PoDynamicViewComponent_ng_template_1_Template, 1, 1, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(3, PoDynamicViewComponent_ng_template_3_Template, 1, 2, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor)(5, PoDynamicViewComponent_ng_template_5_Template, 1, 5, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor)(7, PoDynamicViewComponent_ng_template_7_Template, 1, 6, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor)(9, PoDynamicViewComponent_ng_template_9_Template, 1, 3, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
|
|
192
196
|
} if (rf & 2) {
|
|
193
197
|
i0.ɵɵproperty("ngIf", ctx.visibleFields.length);
|
|
194
198
|
} }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i6.PoDividerComponent, i7.PoInfoComponent, i8.PoTagComponent, i9.PoImageComponent, i10.PoDynamicContainerComponent], encapsulation: 2 });
|
|
195
199
|
}
|
|
196
200
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoDynamicViewComponent, [{
|
|
197
201
|
type: Component,
|
|
198
|
-
args: [{ selector: 'po-dynamic-view', template: "<div class=\"po-row\" [class.po-dynamic]=\"hasContainers\" *ngIf=\"visibleFields.length\">\n <ng-container\n *ngTemplateOutlet=\"\n hasContainers ? poContentContainer : poContent;\n context: { $implicit: hasContainers ? containerFields : visibleFields }\n \"\n ></ng-container>\n</div>\n\n<ng-template #poContent let-fields>\n <ng-template ngFor let-field [ngForOf]=\"fields\">\n <po-divider *ngIf=\"field?.divider?.trim()\" class=\"po-sm-12\" [p-label]=\"field.divider\"> </po-divider>\n <ng-container\n *ngTemplateOutlet=\"\n !field.tag && !field.image ? poInfo : !field.image ? poTag : poImage;\n context: { $implicit: field }\n \"\n >\n </ng-container>\n </ng-template>\n</ng-template>\n\n<ng-template #poContentContainer let-fields>\n <po-dynamic-container [p-fields]=\"fields\" [p-content]=\"poContent\"></po-dynamic-container>\n</ng-template>\n\n<ng-template #poInfo let-field>\n <po-info
|
|
202
|
+
args: [{ selector: 'po-dynamic-view', template: "<div class=\"po-row\" [class.po-dynamic]=\"hasContainers\" *ngIf=\"visibleFields.length\">\n <ng-container\n *ngTemplateOutlet=\"\n hasContainers ? poContentContainer : poContent;\n context: { $implicit: hasContainers ? containerFields : visibleFields }\n \"\n ></ng-container>\n</div>\n\n<ng-template #poContent let-fields>\n <ng-template ngFor let-field [ngForOf]=\"fields\">\n <po-divider *ngIf=\"field?.divider?.trim()\" class=\"po-sm-12\" [p-label]=\"field.divider\"> </po-divider>\n <ng-container\n *ngTemplateOutlet=\"\n !field.tag && !field.image ? poInfo : !field.image ? poTag : poImage;\n context: { $implicit: field }\n \"\n >\n </ng-container>\n </ng-template>\n</ng-template>\n\n<ng-template #poContentContainer let-fields>\n <po-dynamic-container [p-fields]=\"fields\" [p-content]=\"poContent\"></po-dynamic-container>\n</ng-template>\n\n<ng-template #poInfo let-field>\n <po-info\n [ngClass]=\"field.cssClass\"\n [class.po-info-value-pre]=\"textWrap && containsLineBreak(setFieldValue(field))\"\n [p-label]=\"field.label\"\n [p-value]=\"setFieldValue(field)\"\n >\n </po-info\n></ng-template>\n\n<ng-template #poTag let-field>\n <po-tag\n [ngClass]=\"field.cssClass\"\n [p-color]=\"field.color\"\n [p-icon]=\"field.icon\"\n [p-inverse]=\"field.inverse\"\n [p-label]=\"field.label\"\n [p-value]=\"setFieldValue(field)\"\n >\n </po-tag>\n</ng-template>\n\n<ng-template #poImage let-field>\n <po-image [p-alt]=\"field.alt\" [p-height]=\"field.height\" [p-src]=\"field.value\"> </po-image>\n</ng-template>\n" }]
|
|
199
203
|
}], () => [{ type: i1.CurrencyPipe }, { type: i1.DatePipe }, { type: i1.DecimalPipe }, { type: i2.PoTimePipe }, { type: i1.TitleCasePipe }, { type: i3.PoDynamicViewService }, { type: i4.PoComboFilterService }, { type: i5.PoMultiselectFilterService }], null); })();
|
|
200
204
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoDynamicViewComponent, { className: "PoDynamicViewComponent", filePath: "lib/components/po-dynamic/po-dynamic-view/po-dynamic-view.component.ts", lineNumber: 42 }); })();
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1keW5hbWljL3BvLWR5bmFtaWMtdmlldy9wby1keW5hbWljLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWR5bmFtaWMvcG8tZHluYW1pYy12aWV3L3BvLWR5bmFtaWMtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUs1RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ0w1RSx3QkFLZ0I7Ozs7SUFObEIsOEJBQW9GO0lBQ2xGLCtGQUtnQjtJQUNsQixpQkFBTTs7Ozs7SUFQYyxrREFBa0M7SUFFakQsY0FFUTtJQUZSLG1FQUVRLDZIQUFBOzs7SUFPVCxpQ0FBb0c7OztJQUF4QywyQ0FBeUI7OztJQUNyRix3QkFNZTs7O0lBUGYsaUhBQW9HLHdHQUFBOzs7Ozs7O0lBQXZGLDZHQUE0QjtJQUV0QyxjQUVVO0lBRlYsMkdBRVUsa0VBQUE7OztJQUxmLHFHQVNjOzs7SUFUZSxvQ0FBa0I7OztJQWEvQywyQ0FBeUY7Ozs7O0lBQW5FLHFDQUFtQixrQkFBQTs7O0lBSXpDLDhCQUF3Rzs7OztJQUEvRiw0Q0FBMEIsNEJBQUEsNENBQUE7OztJQUluQyw2QkFRUzs7OztJQVBQLDRDQUEwQiw0QkFBQSwwQkFBQSxnQ0FBQSw0QkFBQSw0Q0FBQTs7O0lBVzVCLCtCQUEwRjs7O0lBQWhGLHFDQUFtQiw4QkFBQSwwQkFBQTs7QURoQy9COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUJHO0FBS0gsTUFBTSxPQUFPLHNCQUF1QixT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LENBQUM7SUFDMUIsQ0FBQztnRkF6R1Usc0JBQXNCOzZEQUF0QixzQkFBc0I7WUN6Q25DLHVFQU9NLDJHQUFBLDJHQUFBLDJHQUFBLDJHQUFBLDJHQUFBOztZQVBrRCwrQ0FBMEI7OztpRkR5Q3JFLHNCQUFzQjtjQUpsQyxTQUFTOzJCQUNFLGlCQUFpQjs7a0ZBR2hCLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1cnJlbmN5UGlwZSwgRGF0ZVBpcGUsIERlY2ltYWxQaXBlLCBUaXRsZUNhc2VQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUG9UaW1lUGlwZSB9IGZyb20gJy4uLy4uLy4uL3BpcGVzL3BvLXRpbWUvcG8tdGltZS5waXBlJztcblxuaW1wb3J0IHsgUG9EeW5hbWljVmlld0ZpZWxkIH0gZnJvbSAnLi8uLi9wby1keW5hbWljLXZpZXcvcG8tZHluYW1pYy12aWV3LWZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0R5bmFtaWNWaWV3QmFzZUNvbXBvbmVudCB9IGZyb20gJy4vcG8tZHluYW1pYy12aWV3LWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IFBvRHluYW1pY1ZpZXdTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9wby1keW5hbWljLXZpZXcuc2VydmljZSc7XG5pbXBvcnQgeyBQb0NvbWJvRmlsdGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3BvLWZpZWxkL3BvLWNvbWJvL3BvLWNvbWJvLWZpbHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFBvTXVsdGlzZWxlY3RGaWx0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcG8tZmllbGQvcG8tbXVsdGlzZWxlY3QvcG8tbXVsdGlzZWxlY3QtZmlsdGVyLnNlcnZpY2UnO1xuXG4vKipcbiAqIEBkb2NzRXh0ZW5kcyBQb0R5bmFtaWNWaWV3QmFzZUNvbXBvbmVudFxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWR5bmFtaWMtdmlldy1iYXNpY1wiIHRpdGxlPVwiUE8gRHluYW1pYyBWaWV3IEJhc2ljXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1keW5hbWljLXZpZXctYmFzaWMvc2FtcGxlLXBvLWR5bmFtaWMtdmlldy1iYXNpYy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1keW5hbWljLXZpZXctYmFzaWMvc2FtcGxlLXBvLWR5bmFtaWMtdmlldy1iYXNpYy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1keW5hbWljLXZpZXctZW1wbG95ZWVcIiB0aXRsZT1cIlBPIER5bmFtaWMgVmlldyAtIEVtcGxveWVlXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1keW5hbWljLXZpZXctZW1wbG95ZWUvc2FtcGxlLXBvLWR5bmFtaWMtdmlldy1lbXBsb3llZS5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1keW5hbWljLXZpZXctZW1wbG95ZWUvc2FtcGxlLXBvLWR5bmFtaWMtdmlldy1lbXBsb3llZS5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1keW5hbWljLXZpZXctZW1wbG95ZWUtb24tbG9hZFwiIHRpdGxlPVwiUE8gRHluYW1pYyBWaWV3IC0gRW1wbG95ZWUgb24gbG9hZFwiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tZHluYW1pYy12aWV3LWVtcGxveWVlLW9uLWxvYWQvc2FtcGxlLXBvLWR5bmFtaWMtdmlldy1lbXBsb3llZS1vbi1sb2FkLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWR5bmFtaWMtdmlldy1lbXBsb3llZS1vbi1sb2FkL3NhbXBsZS1wby1keW5hbWljLXZpZXctZW1wbG95ZWUtb24tbG9hZC5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tZHluYW1pYy12aWV3LWVtcGxveWVlLW9uLWxvYWQvc2FtcGxlLXBvLWR5bmFtaWMtdmlldy1lbXBsb3llZS1vbi1sb2FkLnNlcnZpY2UudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1keW5hbWljLXZpZXctY29udGFpbmVyXCIgdGl0bGU9XCJQTyBEeW5hbWljIFZpZXcgLSBFbXBsb3llZSBvbiBsb2FkXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1keW5hbWljLXZpZXctY29udGFpbmVyL3NhbXBsZS1wby1keW5hbWljLXZpZXctY29udGFpbmVyLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWR5bmFtaWMtdmlldy1jb250YWluZXIvc2FtcGxlLXBvLWR5bmFtaWMtdmlldy1jb250YWluZXIuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tZHluYW1pYy12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvLWR5bmFtaWMtdmlldy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUG9EeW5hbWljVmlld0NvbXBvbmVudCBleHRlbmRzIFBvRHluYW1pY1ZpZXdCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xuICBpbml0Q2hhbmdlcztcbiAgY29uc3RydWN0b3IoXG4gICAgY3VycmVuY3lQaXBlOiBDdXJyZW5jeVBpcGUsXG4gICAgZGF0ZVBpcGU6IERhdGVQaXBlLFxuICAgIGRlY2ltYWxQaXBlOiBEZWNpbWFsUGlwZSxcbiAgICB0aW1lUGlwZTogUG9UaW1lUGlwZSxcbiAgICB0aXRsZUNhc2VQaXBlOiBUaXRsZUNhc2VQaXBlLFxuICAgIGR5bmFtaWNWaWV3U2VydmljZTogUG9EeW5hbWljVmlld1NlcnZpY2UsXG4gICAgY29tYm9GaWx0ZXJTZXJ2aWNlOiBQb0NvbWJvRmlsdGVyU2VydmljZSxcbiAgICBtdWx0aXNlbGVjdEZpbHRlclNlcnZpY2U6IFBvTXVsdGlzZWxlY3RGaWx0ZXJTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKFxuICAgICAgY3VycmVuY3lQaXBlLFxuICAgICAgZGF0ZVBpcGUsXG4gICAgICBkZWNpbWFsUGlwZSxcbiAgICAgIHRpbWVQaXBlLFxuICAgICAgdGl0bGVDYXNlUGlwZSxcbiAgICAgIGR5bmFtaWNWaWV3U2VydmljZSxcbiAgICAgIGNvbWJvRmlsdGVyU2VydmljZSxcbiAgICAgIG11bHRpc2VsZWN0RmlsdGVyU2VydmljZVxuICAgICk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHRoaXMubG9hZCAmJiAhdGhpcy5pbml0Q2hhbmdlcykge1xuICAgICAgdGhpcy5pbml0Q2hhbmdlcyA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmluaXRDaGFuZ2VzID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKChjaGFuZ2VzLmZpZWxkcyB8fCBjaGFuZ2VzLnZhbHVlIHx8IGNoYW5nZXMuc2hvd0FsbFZhbHVlKSAmJiB0aGlzLmluaXRDaGFuZ2VzKSB7XG4gICAgICB0aGlzLnZpc2libGVGaWVsZHMgPSB0aGlzLmdldFZpc2libGVGaWVsZHMoKTtcbiAgICAgIHRoaXMuc2V0Q29udGFpbmVyRmllbGRzKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMubG9hZCkge1xuICAgICAgdGhpcy51cGRhdGVWYWx1ZXNBbmRGaWVsZHNPbkxvYWQoKS5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgdGhpcy5zZXRDb250YWluZXJGaWVsZHMoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNldEZpZWxkVmFsdWUoZmllbGQpIHtcbiAgICBpZiAoZmllbGQub3B0aW9ucykge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSBmaWVsZC5vcHRpb25zLmZpbmQob3B0aW9uID0+IG9wdGlvbi52YWx1ZSA9PT0gZmllbGQudmFsdWUpO1xuICAgICAgcmV0dXJuIHNlbGVjdGVkT3B0aW9uID8gc2VsZWN0ZWRPcHRpb24ubGFiZWwgOiBmaWVsZC52YWx1ZTtcbiAgICB9IGVsc2UgaWYgKGZpZWxkLnR5cGUgPT09ICdib29sZWFuJyAmJiAnYm9vbGVhblRydWUnIGluIGZpZWxkICYmICdib29sZWFuRmFsc2UnIGluIGZpZWxkKSB7XG4gICAgICByZXR1cm4gZmllbGQudmFsdWUgPyBmaWVsZC5ib29sZWFuVHJ1ZSA6IGZpZWxkLmJvb2xlYW5GYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZpZWxkLnZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0VmFsdWVzQW5kRmllbGRzRnJvbUxvYWQoKTogUHJvbWlzZTx7IHZhbHVlPzogYW55OyBmaWVsZHM/OiBBcnJheTxQb0R5bmFtaWNWaWV3RmllbGQ+IH0+IHtcbiAgICBsZXQgdmFsdWVBbmRGaWVsZHNGcm9tTG9hZDtcblxuICAgIGlmICh0eXBlb2YgdGhpcy5sb2FkID09PSAnc3RyaW5nJykge1xuICAgICAgdmFsdWVBbmRGaWVsZHNGcm9tTG9hZCA9IGF3YWl0IHRoaXMuZHluYW1pY1ZpZXdTZXJ2aWNlLm9uTG9hZCh0aGlzLmxvYWQsIHRoaXMudmFsdWUpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMubG9hZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFsdWVBbmRGaWVsZHNGcm9tTG9hZCA9IHRoaXMubG9hZCgpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZUFuZEZpZWxkc0Zyb21Mb2FkIHx8IHt9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWaXNpYmxlRmllbGRzKCkge1xuICAgIGlmICh0aGlzLnNob3dBbGxWYWx1ZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0TWVyZ2VkRmllbGRzKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMudmFsdWUgJiYgdGhpcy5maWVsZHMubGVuZ3RoID8gdGhpcy5nZXRDb25maWd1cmVkRmllbGRzKCkgOiB0aGlzLmdldFZhbHVlRmllbGRzKCk7XG4gIH1cblxuICBwcml2YXRlIHNldEZpZWxkT25Mb2FkKGZpZWxkT25Mb2FkOiBQb0R5bmFtaWNWaWV3RmllbGQpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZmllbGRzLmZpbmRJbmRleChmaWVsZCA9PiBmaWVsZC5wcm9wZXJ0eSA9PT0gZmllbGRPbkxvYWQucHJvcGVydHkpO1xuXG4gICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgIHRoaXMuZmllbGRzW2luZGV4XSA9IHsgLi4udGhpcy5maWVsZHNbaW5kZXhdLCAuLi5maWVsZE9uTG9hZCB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpZWxkcy5wdXNoKHsgLi4uZmllbGRPbkxvYWQgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRGaWVsZHNPbkxvYWQoZmllbGRzOiBBcnJheTxQb0R5bmFtaWNWaWV3RmllbGQ+KSB7XG4gICAgaWYgKGZpZWxkcykge1xuICAgICAgZmllbGRzLmZvckVhY2goZmllbGRPbkxvYWQgPT4ge1xuICAgICAgICB0aGlzLnNldEZpZWxkT25Mb2FkKGZpZWxkT25Mb2FkKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0VmFsdWVPbkxvYWQobmV3VmFsdWU6IGFueSkge1xuICAgIE9iamVjdC5hc3NpZ24odGhpcy52YWx1ZSwgbmV3VmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB1cGRhdGVWYWx1ZXNBbmRGaWVsZHNPbkxvYWQoKSB7XG4gICAgY29uc3QgeyB2YWx1ZSwgZmllbGRzIH0gPSBhd2FpdCB0aGlzLmdldFZhbHVlc0FuZEZpZWxkc0Zyb21Mb2FkKCk7XG5cbiAgICB0aGlzLnNldFZhbHVlT25Mb2FkKHZhbHVlKTtcbiAgICB0aGlzLnNldEZpZWxkc09uTG9hZChmaWVsZHMpO1xuXG4gICAgdGhpcy52aXNpYmxlRmllbGRzID0gdGhpcy5nZXRWaXNpYmxlRmllbGRzKCk7XG4gICAgdGhpcy5pbml0Q2hhbmdlcyA9IHRydWU7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwby1yb3dcIiBbY2xhc3MucG8tZHluYW1pY109XCJoYXNDb250YWluZXJzXCIgKm5nSWY9XCJ2aXNpYmxlRmllbGRzLmxlbmd0aFwiPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgIGhhc0NvbnRhaW5lcnMgPyBwb0NvbnRlbnRDb250YWluZXIgOiBwb0NvbnRlbnQ7XG4gICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogaGFzQ29udGFpbmVycyA/IGNvbnRhaW5lckZpZWxkcyA6IHZpc2libGVGaWVsZHMgfVxuICAgIFwiXG4gID48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3BvQ29udGVudCBsZXQtZmllbGRzPlxuICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWZpZWxkIFtuZ0Zvck9mXT1cImZpZWxkc1wiPlxuICAgIDxwby1kaXZpZGVyICpuZ0lmPVwiZmllbGQ/LmRpdmlkZXI/LnRyaW0oKVwiIGNsYXNzPVwicG8tc20tMTJcIiBbcC1sYWJlbF09XCJmaWVsZC5kaXZpZGVyXCI+IDwvcG8tZGl2aWRlcj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAhZmllbGQudGFnICYmICFmaWVsZC5pbWFnZSA/IHBvSW5mbyA6ICFmaWVsZC5pbWFnZSA/IHBvVGFnIDogcG9JbWFnZTtcbiAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGZpZWxkIH1cbiAgICAgIFwiXG4gICAgPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNwb0NvbnRlbnRDb250YWluZXIgbGV0LWZpZWxkcz5cbiAgPHBvLWR5bmFtaWMtY29udGFpbmVyIFtwLWZpZWxkc109XCJmaWVsZHNcIiBbcC1jb250ZW50XT1cInBvQ29udGVudFwiPjwvcG8tZHluYW1pYy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3BvSW5mbyBsZXQtZmllbGQ+XG4gIDxwby1pbmZvIFtuZ0NsYXNzXT1cImZpZWxkLmNzc0NsYXNzXCIgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIiBbcC12YWx1ZV09XCJzZXRGaWVsZFZhbHVlKGZpZWxkKVwiPiA8L3BvLWluZm8+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3BvVGFnIGxldC1maWVsZD5cbiAgPHBvLXRhZ1xuICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNzc0NsYXNzXCJcbiAgICBbcC1jb2xvcl09XCJmaWVsZC5jb2xvclwiXG4gICAgW3AtaWNvbl09XCJmaWVsZC5pY29uXCJcbiAgICBbcC1pbnZlcnNlXT1cImZpZWxkLmludmVyc2VcIlxuICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICBbcC12YWx1ZV09XCJzZXRGaWVsZFZhbHVlKGZpZWxkKVwiXG4gID5cbiAgPC9wby10YWc+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3BvSW1hZ2UgbGV0LWZpZWxkPlxuICA8cG8taW1hZ2UgW3AtYWx0XT1cImZpZWxkLmFsdFwiIFtwLWhlaWdodF09XCJmaWVsZC5oZWlnaHRcIiBbcC1zcmNdPVwiZmllbGQudmFsdWVcIj4gPC9wby1pbWFnZT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1keW5hbWljL3BvLWR5bmFtaWMtdmlldy9wby1keW5hbWljLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWR5bmFtaWMvcG8tZHluYW1pYy12aWV3L3BvLWR5bmFtaWMtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUs1RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ0w1RSx3QkFLZ0I7Ozs7SUFObEIsOEJBQW9GO0lBQ2xGLCtGQUtnQjtJQUNsQixpQkFBTTs7Ozs7SUFQYyxrREFBa0M7SUFFakQsY0FFUTtJQUZSLG1FQUVRLDZIQUFBOzs7SUFPVCxpQ0FBb0c7OztJQUF4QywyQ0FBeUI7OztJQUNyRix3QkFNZTs7O0lBUGYsaUhBQW9HLHdHQUFBOzs7Ozs7O0lBQXZGLDZHQUE0QjtJQUV0QyxjQUVVO0lBRlYsMkdBRVUsa0VBQUE7OztJQUxmLHFHQVNjOzs7SUFUZSxvQ0FBa0I7OztJQWEvQywyQ0FBeUY7Ozs7O0lBQW5FLHFDQUFtQixrQkFBQTs7O0lBSXpDLDhCQU9EOzs7O0lBTEcsaUhBQStFO0lBRC9FLDRDQUEwQiw0QkFBQSw0Q0FBQTs7O0lBUzVCLDZCQVFTOzs7O0lBUFAsNENBQTBCLDRCQUFBLDBCQUFBLGdDQUFBLDRCQUFBLDRDQUFBOzs7SUFXNUIsK0JBQTBGOzs7SUFBaEYscUNBQW1CLDhCQUFBLDBCQUFBOztBRHRDL0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5Qkc7QUFLSCxNQUFNLE9B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QyxNQUFNLENBQUMsQ0FBQztRQUU3QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7Z0ZBN0dVLHNCQUFzQjs2REFBdEIsc0JBQXNCO1lDekNuQyx1RUFPTSwyR0FBQSwyR0FBQSwyR0FBQSwyR0FBQSwyR0FBQTs7WUFQa0QsK0NBQTBCOzs7aUZEeUNyRSxzQkFBc0I7Y0FKbEMsU0FBUzsyQkFDRSxpQkFBaUI7O2tGQUdoQixzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXJyZW5jeVBpcGUsIERhdGVQaXBlLCBEZWNpbWFsUGlwZSwgVGl0bGVDYXNlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFBvVGltZVBpcGUgfSBmcm9tICcuLi8uLi8uLi9waXBlcy9wby10aW1lL3BvLXRpbWUucGlwZSc7XG5cbmltcG9ydCB7IFBvRHluYW1pY1ZpZXdGaWVsZCB9IGZyb20gJy4vLi4vcG8tZHluYW1pYy12aWV3L3BvLWR5bmFtaWMtdmlldy1maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9EeW5hbWljVmlld0Jhc2VDb21wb25lbnQgfSBmcm9tICcuL3BvLWR5bmFtaWMtdmlldy1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb0R5bmFtaWNWaWV3U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcG8tZHluYW1pYy12aWV3LnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9Db21ib0ZpbHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9wby1maWVsZC9wby1jb21iby9wby1jb21iby1maWx0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQb011bHRpc2VsZWN0RmlsdGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3BvLWZpZWxkL3BvLW11bHRpc2VsZWN0L3BvLW11bHRpc2VsZWN0LWZpbHRlci5zZXJ2aWNlJztcblxuLyoqXG4gKiBAZG9jc0V4dGVuZHMgUG9EeW5hbWljVmlld0Jhc2VDb21wb25lbnRcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1keW5hbWljLXZpZXctYmFzaWNcIiB0aXRsZT1cIlBPIER5bmFtaWMgVmlldyBCYXNpY1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tZHluYW1pYy12aWV3LWJhc2ljL3NhbXBsZS1wby1keW5hbWljLXZpZXctYmFzaWMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tZHluYW1pYy12aWV3LWJhc2ljL3NhbXBsZS1wby1keW5hbWljLXZpZXctYmFzaWMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tZHluYW1pYy12aWV3LWVtcGxveWVlXCIgdGl0bGU9XCJQTyBEeW5hbWljIFZpZXcgLSBFbXBsb3llZVwiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tZHluYW1pYy12aWV3LWVtcGxveWVlL3NhbXBsZS1wby1keW5hbWljLXZpZXctZW1wbG95ZWUuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tZHluYW1pYy12aWV3LWVtcGxveWVlL3NhbXBsZS1wby1keW5hbWljLXZpZXctZW1wbG95ZWUuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tZHluYW1pYy12aWV3LWVtcGxveWVlLW9uLWxvYWRcIiB0aXRsZT1cIlBPIER5bmFtaWMgVmlldyAtIEVtcGxveWVlIG9uIGxvYWRcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWR5bmFtaWMtdmlldy1lbXBsb3llZS1vbi1sb2FkL3NhbXBsZS1wby1keW5hbWljLXZpZXctZW1wbG95ZWUtb24tbG9hZC5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1keW5hbWljLXZpZXctZW1wbG95ZWUtb24tbG9hZC9zYW1wbGUtcG8tZHluYW1pYy12aWV3LWVtcGxveWVlLW9uLWxvYWQuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWR5bmFtaWMtdmlldy1lbXBsb3llZS1vbi1sb2FkL3NhbXBsZS1wby1keW5hbWljLXZpZXctZW1wbG95ZWUtb24tbG9hZC5zZXJ2aWNlLnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tZHluYW1pYy12aWV3LWNvbnRhaW5lclwiIHRpdGxlPVwiUE8gRHluYW1pYyBWaWV3IC0gRW1wbG95ZWUgb24gbG9hZFwiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tZHluYW1pYy12aWV3LWNvbnRhaW5lci9zYW1wbGUtcG8tZHluYW1pYy12aWV3LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1keW5hbWljLXZpZXctY29udGFpbmVyL3NhbXBsZS1wby1keW5hbWljLXZpZXctY29udGFpbmVyLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLWR5bmFtaWMtdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby1keW5hbWljLXZpZXcuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFBvRHluYW1pY1ZpZXdDb21wb25lbnQgZXh0ZW5kcyBQb0R5bmFtaWNWaWV3QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcbiAgaW5pdENoYW5nZXM7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGN1cnJlbmN5UGlwZTogQ3VycmVuY3lQaXBlLFxuICAgIGRhdGVQaXBlOiBEYXRlUGlwZSxcbiAgICBkZWNpbWFsUGlwZTogRGVjaW1hbFBpcGUsXG4gICAgdGltZVBpcGU6IFBvVGltZVBpcGUsXG4gICAgdGl0bGVDYXNlUGlwZTogVGl0bGVDYXNlUGlwZSxcbiAgICBkeW5hbWljVmlld1NlcnZpY2U6IFBvRHluYW1pY1ZpZXdTZXJ2aWNlLFxuICAgIGNvbWJvRmlsdGVyU2VydmljZTogUG9Db21ib0ZpbHRlclNlcnZpY2UsXG4gICAgbXVsdGlzZWxlY3RGaWx0ZXJTZXJ2aWNlOiBQb011bHRpc2VsZWN0RmlsdGVyU2VydmljZVxuICApIHtcbiAgICBzdXBlcihcbiAgICAgIGN1cnJlbmN5UGlwZSxcbiAgICAgIGRhdGVQaXBlLFxuICAgICAgZGVjaW1hbFBpcGUsXG4gICAgICB0aW1lUGlwZSxcbiAgICAgIHRpdGxlQ2FzZVBpcGUsXG4gICAgICBkeW5hbWljVmlld1NlcnZpY2UsXG4gICAgICBjb21ib0ZpbHRlclNlcnZpY2UsXG4gICAgICBtdWx0aXNlbGVjdEZpbHRlclNlcnZpY2VcbiAgICApO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICh0aGlzLmxvYWQgJiYgIXRoaXMuaW5pdENoYW5nZXMpIHtcbiAgICAgIHRoaXMuaW5pdENoYW5nZXMgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbml0Q2hhbmdlcyA9IHRydWU7XG4gICAgfVxuICAgIGlmICgoY2hhbmdlcy5maWVsZHMgfHwgY2hhbmdlcy52YWx1ZSB8fCBjaGFuZ2VzLnNob3dBbGxWYWx1ZSkgJiYgdGhpcy5pbml0Q2hhbmdlcykge1xuICAgICAgdGhpcy52aXNpYmxlRmllbGRzID0gdGhpcy5nZXRWaXNpYmxlRmllbGRzKCk7XG4gICAgICB0aGlzLnNldENvbnRhaW5lckZpZWxkcygpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmxvYWQpIHtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWVzQW5kRmllbGRzT25Mb2FkKCkuZmluYWxseSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0Q29udGFpbmVyRmllbGRzKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzZXRGaWVsZFZhbHVlKGZpZWxkKSB7XG4gICAgaWYgKGZpZWxkLm9wdGlvbnMpIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gZmllbGQub3B0aW9ucy5maW5kKG9wdGlvbiA9PiBvcHRpb24udmFsdWUgPT09IGZpZWxkLnZhbHVlKTtcbiAgICAgIHJldHVybiBzZWxlY3RlZE9wdGlvbiA/IHNlbGVjdGVkT3B0aW9uLmxhYmVsIDogZmllbGQudmFsdWU7XG4gICAgfSBlbHNlIGlmIChmaWVsZC50eXBlID09PSAnYm9vbGVhbicgJiYgJ2Jvb2xlYW5UcnVlJyBpbiBmaWVsZCAmJiAnYm9vbGVhbkZhbHNlJyBpbiBmaWVsZCkge1xuICAgICAgcmV0dXJuIGZpZWxkLnZhbHVlID8gZmllbGQuYm9vbGVhblRydWUgOiBmaWVsZC5ib29sZWFuRmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmaWVsZC52YWx1ZTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgY29udGFpbnNMaW5lQnJlYWsodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB2YWx1ZSAmJiB2YWx1ZS5pbmNsdWRlcygnXFxuJyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFZhbHVlc0FuZEZpZWxkc0Zyb21Mb2FkKCk6IFByb21pc2U8eyB2YWx1ZT86IGFueTsgZmllbGRzPzogQXJyYXk8UG9EeW5hbWljVmlld0ZpZWxkPiB9PiB7XG4gICAgbGV0IHZhbHVlQW5kRmllbGRzRnJvbUxvYWQ7XG5cbiAgICBpZiAodHlwZW9mIHRoaXMubG9hZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHZhbHVlQW5kRmllbGRzRnJvbUxvYWQgPSBhd2FpdCB0aGlzLmR5bmFtaWNWaWV3U2VydmljZS5vbkxvYWQodGhpcy5sb2FkLCB0aGlzLnZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLmxvYWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHZhbHVlQW5kRmllbGRzRnJvbUxvYWQgPSB0aGlzLmxvYWQoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWVBbmRGaWVsZHNGcm9tTG9hZCB8fCB7fTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VmlzaWJsZUZpZWxkcygpIHtcbiAgICBpZiAodGhpcy5zaG93QWxsVmFsdWUpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldE1lcmdlZEZpZWxkcygpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnZhbHVlICYmIHRoaXMuZmllbGRzLmxlbmd0aCA/IHRoaXMuZ2V0Q29uZmlndXJlZEZpZWxkcygpIDogdGhpcy5nZXRWYWx1ZUZpZWxkcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGaWVsZE9uTG9hZChmaWVsZE9uTG9hZDogUG9EeW5hbWljVmlld0ZpZWxkKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmZpZWxkcy5maW5kSW5kZXgoZmllbGQgPT4gZmllbGQucHJvcGVydHkgPT09IGZpZWxkT25Mb2FkLnByb3BlcnR5KTtcblxuICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICB0aGlzLmZpZWxkc1tpbmRleF0gPSB7IC4uLnRoaXMuZmllbGRzW2luZGV4XSwgLi4uZmllbGRPbkxvYWQgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWVsZHMucHVzaCh7IC4uLmZpZWxkT25Mb2FkIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0RmllbGRzT25Mb2FkKGZpZWxkczogQXJyYXk8UG9EeW5hbWljVmlld0ZpZWxkPikge1xuICAgIGlmIChmaWVsZHMpIHtcbiAgICAgIGZpZWxkcy5mb3JFYWNoKGZpZWxkT25Mb2FkID0+IHtcbiAgICAgICAgdGhpcy5zZXRGaWVsZE9uTG9hZChmaWVsZE9uTG9hZCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldFZhbHVlT25Mb2FkKG5ld1ZhbHVlOiBhbnkpIHtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMudmFsdWUsIG5ld1ZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdXBkYXRlVmFsdWVzQW5kRmllbGRzT25Mb2FkKCkge1xuICAgIGNvbnN0IHsgdmFsdWUsIGZpZWxkcyB9ID0gYXdhaXQgdGhpcy5nZXRWYWx1ZXNBbmRGaWVsZHNGcm9tTG9hZCgpO1xuXG4gICAgdGhpcy5zZXRWYWx1ZU9uTG9hZCh2YWx1ZSk7XG4gICAgdGhpcy5zZXRGaWVsZHNPbkxvYWQoZmllbGRzKTtcblxuICAgIHRoaXMudmlzaWJsZUZpZWxkcyA9IHRoaXMuZ2V0VmlzaWJsZUZpZWxkcygpO1xuICAgIHRoaXMuaW5pdENoYW5nZXMgPSB0cnVlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicG8tcm93XCIgW2NsYXNzLnBvLWR5bmFtaWNdPVwiaGFzQ29udGFpbmVyc1wiICpuZ0lmPVwidmlzaWJsZUZpZWxkcy5sZW5ndGhcIj5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICBoYXNDb250YWluZXJzID8gcG9Db250ZW50Q29udGFpbmVyIDogcG9Db250ZW50O1xuICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGhhc0NvbnRhaW5lcnMgPyBjb250YWluZXJGaWVsZHMgOiB2aXNpYmxlRmllbGRzIH1cbiAgICBcIlxuICA+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNwb0NvbnRlbnQgbGV0LWZpZWxkcz5cbiAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1maWVsZCBbbmdGb3JPZl09XCJmaWVsZHNcIj5cbiAgICA8cG8tZGl2aWRlciAqbmdJZj1cImZpZWxkPy5kaXZpZGVyPy50cmltKClcIiBjbGFzcz1cInBvLXNtLTEyXCIgW3AtbGFiZWxdPVwiZmllbGQuZGl2aWRlclwiPiA8L3BvLWRpdmlkZXI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgIWZpZWxkLnRhZyAmJiAhZmllbGQuaW1hZ2UgPyBwb0luZm8gOiAhZmllbGQuaW1hZ2UgPyBwb1RhZyA6IHBvSW1hZ2U7XG4gICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBmaWVsZCB9XG4gICAgICBcIlxuICAgID5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcG9Db250ZW50Q29udGFpbmVyIGxldC1maWVsZHM+XG4gIDxwby1keW5hbWljLWNvbnRhaW5lciBbcC1maWVsZHNdPVwiZmllbGRzXCIgW3AtY29udGVudF09XCJwb0NvbnRlbnRcIj48L3BvLWR5bmFtaWMtY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNwb0luZm8gbGV0LWZpZWxkPlxuICA8cG8taW5mb1xuICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNzc0NsYXNzXCJcbiAgICBbY2xhc3MucG8taW5mby12YWx1ZS1wcmVdPVwidGV4dFdyYXAgJiYgY29udGFpbnNMaW5lQnJlYWsoc2V0RmllbGRWYWx1ZShmaWVsZCkpXCJcbiAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgW3AtdmFsdWVdPVwic2V0RmllbGRWYWx1ZShmaWVsZClcIlxuICA+XG4gIDwvcG8taW5mb1xuPjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcG9UYWcgbGV0LWZpZWxkPlxuICA8cG8tdGFnXG4gICAgW25nQ2xhc3NdPVwiZmllbGQuY3NzQ2xhc3NcIlxuICAgIFtwLWNvbG9yXT1cImZpZWxkLmNvbG9yXCJcbiAgICBbcC1pY29uXT1cImZpZWxkLmljb25cIlxuICAgIFtwLWludmVyc2VdPVwiZmllbGQuaW52ZXJzZVwiXG4gICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgIFtwLXZhbHVlXT1cInNldEZpZWxkVmFsdWUoZmllbGQpXCJcbiAgPlxuICA8L3BvLXRhZz5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcG9JbWFnZSBsZXQtZmllbGQ+XG4gIDxwby1pbWFnZSBbcC1hbHRdPVwiZmllbGQuYWx0XCIgW3AtaGVpZ2h0XT1cImZpZWxkLmhlaWdodFwiIFtwLXNyY109XCJmaWVsZC52YWx1ZVwiPiA8L3BvLWltYWdlPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -43042,6 +43042,28 @@ class PoDynamicViewBaseComponent extends PoDynamicSharedBase {
|
|
|
43042
43042
|
get showAllValue() {
|
|
43043
43043
|
return this._showAllValue;
|
|
43044
43044
|
}
|
|
43045
|
+
/**
|
|
43046
|
+
* @optional
|
|
43047
|
+
*
|
|
43048
|
+
* @description
|
|
43049
|
+
*
|
|
43050
|
+
* Permite a quebra de linha no texto do `p-value`, aplicando-a onde há `\n`.
|
|
43051
|
+
*
|
|
43052
|
+
* ```
|
|
43053
|
+
* <po-dynamic-view
|
|
43054
|
+
* [p-value]="{ description: 'Primeira linha\nSegunda linha' }"
|
|
43055
|
+
* [p-text-wrap]="true"
|
|
43056
|
+
* ></po-dynamic-view>
|
|
43057
|
+
* ```
|
|
43058
|
+
*
|
|
43059
|
+
* Saída:
|
|
43060
|
+
* ```
|
|
43061
|
+
* Primeira linha
|
|
43062
|
+
* Segunda linha
|
|
43063
|
+
* ```
|
|
43064
|
+
* @default `false`
|
|
43065
|
+
*/
|
|
43066
|
+
textWrap = false;
|
|
43045
43067
|
/**
|
|
43046
43068
|
* @description
|
|
43047
43069
|
*
|
|
@@ -43299,7 +43321,7 @@ class PoDynamicViewBaseComponent extends PoDynamicSharedBase {
|
|
|
43299
43321
|
return formattedField;
|
|
43300
43322
|
}
|
|
43301
43323
|
static ɵfac = function PoDynamicViewBaseComponent_Factory(t) { return new (t || PoDynamicViewBaseComponent)(i0.ɵɵdirectiveInject(i1.CurrencyPipe), i0.ɵɵdirectiveInject(i1.DatePipe), i0.ɵɵdirectiveInject(i1.DecimalPipe), i0.ɵɵdirectiveInject(PoTimePipe), i0.ɵɵdirectiveInject(i1.TitleCasePipe), i0.ɵɵdirectiveInject(PoDynamicViewService), i0.ɵɵdirectiveInject(PoComboFilterService), i0.ɵɵdirectiveInject(PoMultiselectFilterService)); };
|
|
43302
|
-
static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoDynamicViewBaseComponent, inputs: { load: [i0.ɵɵInputFlags.None, "p-load", "load"], fields: [i0.ɵɵInputFlags.None, "p-fields", "fields"], showAllValue: [i0.ɵɵInputFlags.None, "p-show-all-value", "showAllValue"], value: [i0.ɵɵInputFlags.None, "p-value", "value"] }, features: [i0.ɵɵInheritDefinitionFeature] });
|
|
43324
|
+
static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoDynamicViewBaseComponent, inputs: { load: [i0.ɵɵInputFlags.None, "p-load", "load"], fields: [i0.ɵɵInputFlags.None, "p-fields", "fields"], showAllValue: [i0.ɵɵInputFlags.None, "p-show-all-value", "showAllValue"], textWrap: [i0.ɵɵInputFlags.None, "p-text-wrap", "textWrap"], value: [i0.ɵɵInputFlags.None, "p-value", "value"] }, features: [i0.ɵɵInheritDefinitionFeature] });
|
|
43303
43325
|
}
|
|
43304
43326
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoDynamicViewBaseComponent, [{
|
|
43305
43327
|
type: Directive
|
|
@@ -43312,6 +43334,9 @@ class PoDynamicViewBaseComponent extends PoDynamicSharedBase {
|
|
|
43312
43334
|
}], showAllValue: [{
|
|
43313
43335
|
type: Input,
|
|
43314
43336
|
args: ['p-show-all-value']
|
|
43337
|
+
}], textWrap: [{
|
|
43338
|
+
type: Input,
|
|
43339
|
+
args: ['p-text-wrap']
|
|
43315
43340
|
}], value: [{
|
|
43316
43341
|
type: Input,
|
|
43317
43342
|
args: ['p-value']
|
|
@@ -43549,6 +43574,7 @@ function PoDynamicViewComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
43549
43574
|
} if (rf & 2) {
|
|
43550
43575
|
const field_r19 = ctx.$implicit;
|
|
43551
43576
|
const ctx_r5 = i0.ɵɵnextContext();
|
|
43577
|
+
i0.ɵɵclassProp("po-info-value-pre", ctx_r5.textWrap && ctx_r5.containsLineBreak(ctx_r5.setFieldValue(field_r19)));
|
|
43552
43578
|
i0.ɵɵproperty("ngClass", field_r19.cssClass)("p-label", field_r19.label)("p-value", ctx_r5.setFieldValue(field_r19));
|
|
43553
43579
|
} }
|
|
43554
43580
|
function PoDynamicViewComponent_ng_template_7_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -43626,6 +43652,9 @@ class PoDynamicViewComponent extends PoDynamicViewBaseComponent {
|
|
|
43626
43652
|
return field.value;
|
|
43627
43653
|
}
|
|
43628
43654
|
}
|
|
43655
|
+
containsLineBreak(value) {
|
|
43656
|
+
return value && value.includes('\n');
|
|
43657
|
+
}
|
|
43629
43658
|
async getValuesAndFieldsFromLoad() {
|
|
43630
43659
|
let valueAndFieldsFromLoad;
|
|
43631
43660
|
if (typeof this.load === 'string') {
|
|
@@ -43670,14 +43699,14 @@ class PoDynamicViewComponent extends PoDynamicViewBaseComponent {
|
|
|
43670
43699
|
}
|
|
43671
43700
|
static ɵfac = function PoDynamicViewComponent_Factory(t) { return new (t || PoDynamicViewComponent)(i0.ɵɵdirectiveInject(i1.CurrencyPipe), i0.ɵɵdirectiveInject(i1.DatePipe), i0.ɵɵdirectiveInject(i1.DecimalPipe), i0.ɵɵdirectiveInject(PoTimePipe), i0.ɵɵdirectiveInject(i1.TitleCasePipe), i0.ɵɵdirectiveInject(PoDynamicViewService), i0.ɵɵdirectiveInject(PoComboFilterService), i0.ɵɵdirectiveInject(PoMultiselectFilterService)); };
|
|
43672
43701
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoDynamicViewComponent, selectors: [["po-dynamic-view"]], features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], decls: 11, vars: 1, consts: [["class", "po-row", 3, "po-dynamic", 4, "ngIf"], ["poContent", ""], ["poContentContainer", ""], ["poInfo", ""], ["poTag", ""], ["poImage", ""], [1, "po-row"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["ngFor", "", 3, "ngForOf"], ["class", "po-sm-12", 3, "p-label", 4, "ngIf"], [1, "po-sm-12", 3, "p-label"], [3, "p-fields", "p-content"], [3, "ngClass", "p-label", "p-value"], [3, "ngClass", "p-color", "p-icon", "p-inverse", "p-label", "p-value"], [3, "p-alt", "p-height", "p-src"]], template: function PoDynamicViewComponent_Template(rf, ctx) { if (rf & 1) {
|
|
43673
|
-
i0.ɵɵtemplate(0, PoDynamicViewComponent_div_0_Template, 2, 6, "div", 0)(1, PoDynamicViewComponent_ng_template_1_Template, 1, 1, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(3, PoDynamicViewComponent_ng_template_3_Template, 1, 2, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor)(5, PoDynamicViewComponent_ng_template_5_Template, 1,
|
|
43702
|
+
i0.ɵɵtemplate(0, PoDynamicViewComponent_div_0_Template, 2, 6, "div", 0)(1, PoDynamicViewComponent_ng_template_1_Template, 1, 1, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(3, PoDynamicViewComponent_ng_template_3_Template, 1, 2, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor)(5, PoDynamicViewComponent_ng_template_5_Template, 1, 5, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor)(7, PoDynamicViewComponent_ng_template_7_Template, 1, 6, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor)(9, PoDynamicViewComponent_ng_template_9_Template, 1, 3, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
|
|
43674
43703
|
} if (rf & 2) {
|
|
43675
43704
|
i0.ɵɵproperty("ngIf", ctx.visibleFields.length);
|
|
43676
43705
|
} }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, PoDividerComponent, PoInfoComponent, PoTagComponent, PoImageComponent, PoDynamicContainerComponent], encapsulation: 2 });
|
|
43677
43706
|
}
|
|
43678
43707
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoDynamicViewComponent, [{
|
|
43679
43708
|
type: Component,
|
|
43680
|
-
args: [{ selector: 'po-dynamic-view', template: "<div class=\"po-row\" [class.po-dynamic]=\"hasContainers\" *ngIf=\"visibleFields.length\">\n <ng-container\n *ngTemplateOutlet=\"\n hasContainers ? poContentContainer : poContent;\n context: { $implicit: hasContainers ? containerFields : visibleFields }\n \"\n ></ng-container>\n</div>\n\n<ng-template #poContent let-fields>\n <ng-template ngFor let-field [ngForOf]=\"fields\">\n <po-divider *ngIf=\"field?.divider?.trim()\" class=\"po-sm-12\" [p-label]=\"field.divider\"> </po-divider>\n <ng-container\n *ngTemplateOutlet=\"\n !field.tag && !field.image ? poInfo : !field.image ? poTag : poImage;\n context: { $implicit: field }\n \"\n >\n </ng-container>\n </ng-template>\n</ng-template>\n\n<ng-template #poContentContainer let-fields>\n <po-dynamic-container [p-fields]=\"fields\" [p-content]=\"poContent\"></po-dynamic-container>\n</ng-template>\n\n<ng-template #poInfo let-field>\n <po-info
|
|
43709
|
+
args: [{ selector: 'po-dynamic-view', template: "<div class=\"po-row\" [class.po-dynamic]=\"hasContainers\" *ngIf=\"visibleFields.length\">\n <ng-container\n *ngTemplateOutlet=\"\n hasContainers ? poContentContainer : poContent;\n context: { $implicit: hasContainers ? containerFields : visibleFields }\n \"\n ></ng-container>\n</div>\n\n<ng-template #poContent let-fields>\n <ng-template ngFor let-field [ngForOf]=\"fields\">\n <po-divider *ngIf=\"field?.divider?.trim()\" class=\"po-sm-12\" [p-label]=\"field.divider\"> </po-divider>\n <ng-container\n *ngTemplateOutlet=\"\n !field.tag && !field.image ? poInfo : !field.image ? poTag : poImage;\n context: { $implicit: field }\n \"\n >\n </ng-container>\n </ng-template>\n</ng-template>\n\n<ng-template #poContentContainer let-fields>\n <po-dynamic-container [p-fields]=\"fields\" [p-content]=\"poContent\"></po-dynamic-container>\n</ng-template>\n\n<ng-template #poInfo let-field>\n <po-info\n [ngClass]=\"field.cssClass\"\n [class.po-info-value-pre]=\"textWrap && containsLineBreak(setFieldValue(field))\"\n [p-label]=\"field.label\"\n [p-value]=\"setFieldValue(field)\"\n >\n </po-info\n></ng-template>\n\n<ng-template #poTag let-field>\n <po-tag\n [ngClass]=\"field.cssClass\"\n [p-color]=\"field.color\"\n [p-icon]=\"field.icon\"\n [p-inverse]=\"field.inverse\"\n [p-label]=\"field.label\"\n [p-value]=\"setFieldValue(field)\"\n >\n </po-tag>\n</ng-template>\n\n<ng-template #poImage let-field>\n <po-image [p-alt]=\"field.alt\" [p-height]=\"field.height\" [p-src]=\"field.value\"> </po-image>\n</ng-template>\n" }]
|
|
43681
43710
|
}], () => [{ type: i1.CurrencyPipe }, { type: i1.DatePipe }, { type: i1.DecimalPipe }, { type: PoTimePipe }, { type: i1.TitleCasePipe }, { type: PoDynamicViewService }, { type: PoComboFilterService }, { type: PoMultiselectFilterService }], null); })();
|
|
43682
43711
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoDynamicViewComponent, { className: "PoDynamicViewComponent", filePath: "lib/components/po-dynamic/po-dynamic-view/po-dynamic-view.component.ts", lineNumber: 42 }); })();
|
|
43683
43712
|
|