@po-ui/ng-components 17.26.2 → 17.26.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.mjs +1 -1
- package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields.component.mjs +5 -5
- package/esm2022/lib/components/po-field/po-switch/po-switch.component.mjs +18 -4
- package/esm2022/lib/components/po-table/po-table-base.component.mjs +31 -3
- package/esm2022/lib/components/po-table/po-table-detail/po-table-detail.component.mjs +43 -37
- package/esm2022/lib/components/po-table/po-table-list-manager/po-table-list-manager.component.mjs +5 -5
- package/esm2022/lib/components/po-table/po-table.component.mjs +8 -8
- package/fesm2022/po-ui-ng-components.mjs +102 -53
- package/fesm2022/po-ui-ng-components.mjs.map +1 -1
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.d.ts +2 -0
- package/lib/components/po-field/po-switch/po-switch.component.d.ts +13 -1
- package/lib/components/po-table/po-table-base.component.d.ts +2 -1
- package/lib/components/po-table/po-table-detail/po-table-detail.component.d.ts +6 -1
- package/package.json +4 -4
- package/po-ui-ng-components-17.26.4.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.26.2.tgz +0 -0
package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy1mb3JtLWZpZWxkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1keW5hbWljL3BvLWR5bmFtaWMtZm9ybS9wby1keW5hbWljLWZvcm0tZmllbGQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgUG9DaGVja2JveEdyb3VwT3B0aW9uLFxuICBQb0NvbWJvRmlsdGVyLFxuICBQb0NvbWJvTGl0ZXJhbHMsXG4gIFBvRGF0ZXBpY2tlcklzb0Zvcm1hdCxcbiAgUG9EYXRlcGlja2VyUmFuZ2VMaXRlcmFscyxcbiAgUG9Mb29rdXBGaWx0ZXIsXG4gIFBvTG9va3VwTGl0ZXJhbHMsXG4gIFBvTXVsdGlzZWxlY3RGaWx0ZXJNb2RlLFxuICBQb011bHRpc2VsZWN0TGl0ZXJhbHMsXG4gIFBvU3dpdGNoTGFiZWxQb3NpdGlvbixcbiAgUG9VcGxvYWRMaXRlcmFscyxcbiAgUG9VcGxvYWRGaWxlUmVzdHJpY3Rpb25zXG59IGZyb20gJy4uLy4uL3BvLWZpZWxkJztcbmltcG9ydCB7IFBvTG9va3VwQWR2YW5jZWRGaWx0ZXIgfSBmcm9tICcuLi8uLi9wby1maWVsZC9wby1sb29rdXAvaW50ZXJmYWNlcy9wby1sb29rdXAtYWR2YW5jZWQtZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0xvb2t1cENvbHVtbiB9IGZyb20gJy4uLy4uL3BvLWZpZWxkL3BvLWxvb2t1cC9pbnRlcmZhY2VzL3BvLWxvb2t1cC1jb2x1bW4uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvTXVsdGlzZWxlY3RPcHRpb24gfSBmcm9tICcuLi8uLi9wby1maWVsZC9wby1tdWx0aXNlbGVjdC9wby1tdWx0aXNlbGVjdC1vcHRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvU2VsZWN0T3B0aW9uIH0gZnJvbSAnLi4vLi4vcG8tZmllbGQvcG8tc2VsZWN0L3BvLXNlbGVjdC1vcHRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEZvcmNlQm9vbGVhbkNvbXBvbmVudEVudW0sIEZvcmNlT3B0aW9uQ29tcG9uZW50RW51bSB9IGZyb20gJy4uL3BvLWR5bmFtaWMtZmllbGQtZm9yY2UtY29tcG9uZW50LmVudW0nO1xuXG5pbXBvcnQgeyBQb0R5bmFtaWNGaWVsZCB9IGZyb20gJy4uL3BvLWR5bmFtaWMtZmllbGQuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBAdXNlZEJ5IFBvRHluYW1pY0Zvcm1Db21wb25lbnQsIFBvQWR2YW5jZWRGaWx0ZXJDb21wb25lbnQsIFBvUGFnZUR5bmFtaWNTZWFyY2hDb21wb25lbnRcbiAqXG4gKiBAZG9jc0V4dGVuZHMgUG9EeW5hbWljRmllbGRcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBJbnRlcmZhY2UgcGFyYSBkZWZpbmnDp8OjbyBkYXMgcHJvcHJpZWRhZGVzIGRvcyBjYW1wb3MgZGUgZW50cmFkYSBxdWUgc2Vyw6NvIGNyaWFkb3MgZGluYW1pY2FtZW50ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQb0R5bmFtaWNGb3JtRmllbGQgZXh0ZW5kcyBQb0R5bmFtaWNGaWVsZCB7XG4gIC8qKlxuICAgKiBEZWZpbmUgYXMgY29sdW5hcyBwYXJhIHV0aWxpemHDp8OjbyBkYSBidXNjYSBhdmFuw6dhZGEuIFVzYWRhIHNvbWVudGUgZW0gY29uanVudG8gY29tIGEgcHJvcHJpZWRhZGUgYHNlYXJjaFNlcnZpY2VgLFxuICAgKiBlc3NhIHByb3ByaWVkYWRlIGRldmUgcmVjZWJlciB1bSBhcnJheSBkZSBvYmpldG9zIHF1ZSBpbXBsZW1lbnRhbSBhIGludGVyZmFjZSBbYFBvTG9va3VwQ29sdW1uYF0oL2RvY3VtZW50YXRpb24vcG8tbG9va3VwKS5cbiAgICpcbiAgICogPiBDYXNvIHNlamFtIGluZm9ybWFkYXMgY29sdW5hcywgZGV2ZS1zZSBvYnJpZ2F0b3JpYW1lbnRlIGNvbnRlciBjb2x1bmFzIGRlZmluaWRhcyBjb21vICpsYWJlbCogZSAqdmFsdWUqIHBhcmEgdmFsb3Jlc1xuICAgKiBkZSB0ZWxhIGUgZG8gbW9kZWwgcmVzcGVjdGl2YW1lbnRlLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8tcmFkaW8tZ3JvdXBgLCBgcG8tbG9va3VwYCwgYHBvLWNoZWNrYm94LWdyb3VwYC5cbiAgICovXG4gIGNvbHVtbnM/OiBBcnJheTxQb0xvb2t1cENvbHVtbj4gfCBudW1iZXI7XG5cbiAgLyoqIERlZmluZSBhIG9icmlnYXRvcmllZGFkZSBkbyBjYW1wby4gKi9cbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgc2UgYSBpbmRpY2HDp8OjbyBkZSBjYW1wbyBvcGNpb25hbCBzZXLDoSBleGliaWRhLlxuICAgKlxuICAgKiA+IEEgaW5kaWNhw6fDo28gbsOjbyBzZXLDoSBleGliaWRhLCBzZTpcbiAgICogLSBPIGNhbXBvIGZvciBgcmVxdWlyZWRgLCBvdTtcbiAgICogLSBOw6NvIHBvc3N1aXIgYGhlbHBgIGUgYGxhYmVsYC5cbiAgICovXG4gIG9wdGlvbmFsPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTGlzdGEgZGUgb3DDp8O1ZXMgcXVlIHNlcsOjbyBleGliaWRvcyBlbSB1bSBjb21wb25lbnRlLCBwb2RlbmRvIHNlbGVjaW9uYXIgdW1hIG9ww6fDo28uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1zZWxlY3RgLCBgcG8tcmFkaW8tZ3JvdXBgLCBgcG8tY2hlY2tib3gtZ3JvdXBgLCBgcG8tbXVsdGlzZWxlY3RgLlxuICAgKiAqL1xuICBvcHRpb25zPzpcbiAgICB8IEFycmF5PHN0cmluZz5cbiAgICB8IEFycmF5PFBvU2VsZWN0T3B0aW9uPlxuICAgIHwgQXJyYXk8UG9NdWx0aXNlbGVjdE9wdGlvbj5cbiAgICB8IEFycmF5PFBvQ2hlY2tib3hHcm91cE9wdGlvbj5cbiAgICB8IEFycmF5PGFueT47XG5cbiAgLyoqXG4gICAqIFBlcm1pdGUgcXVlIG8gdXN1w6FyaW8gZmHDp2EgbcO6bHRpcGxhIHNlbGXDp8OjbyBkZW50cm8gZGEgbGlzdGEgZGUgb3DDp8O1ZXMuXG4gICAqL1xuICBvcHRpb25zTXVsdGk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiAgU2VydmnDp28gcXVlIHNlcsOhIHV0aWxpemFkbyBwYXJhIGJ1c2NhciBvcyBpdGVucyBlIHByZWVuY2hlciBhIGxpc3RhIGRlIG9ww6fDtWVzIGRpbmFtaWNhbWVudGUuXG4gICAqICBQb2RlIHNlciBpbmZvcm1hZGEgdW1hIFVSTCBvdSB1bWEgaW5zdGFuY2lhIGRvIHNlcnZpw6dvIGJhc2VhZG8gZW0gUG9Db21ib0ZpbHRlci5cbiAgICogICoqSW1wb3J0YW50ZSoqXG4gICAqICA+IFBhcmEgcXVlIGZ1bmNpb25lIGNvcnJldGFtZW50ZSwgw6kgaW1wb3J0YW50ZSBxdWUgbyBzZXJ2acOnbyBzaWdhIG9cbiAgICogIFtndWlhIGRlIEFQSSBkbyBQTyBVSV0oaHR0cHM6Ly9wby11aS5pby9ndWlkZXMvYXBpKS5cbiAgICovXG4gIG9wdGlvbnNTZXJ2aWNlPzogc3RyaW5nIHwgUG9Db21ib0ZpbHRlcjtcblxuICAvKipcbiAgICogU2VydmnDp28gcXVlIHNlcsOhIHV0aWxpemFkbyBwYXJhIHJlYWxpemFyIGEgYnVzY2EgYXZhbsOnYWRhLiBQb2RlIHNlciB1dGlsaXphZG8gZW0gY29uanVudG8gY29tIGEgcHJvcHJpZWRhZGUgYGNvbHVtbnNgLlxuICAgKiBQb2RlIHNlciBzZXIgaW5mb3JtYWRhIHVtYSBVUkwgb3UgdW1hIGluc3RhbmNpYSBkbyBzZXJ2acOnbyBiYXNlYWRvIGVtIFBvTG9va3VwRmlsdGVyLlxuICAgKiAqKkltcG9ydGFudGU6KipcbiAgICogPiBDYXNvIHV0aWxpemFyIGEgcHJvcHJpZWRhZGUgYG9wdGlvbnNTZXJ2aWNlYCBlc3RhIHByb3ByaWVkYWRlIHNlcsOhIGlnbm9yYWRhLlxuICAgKiA+IFBhcmEgcXVlIGZ1bmNpb25lIGNvcnJldGFtZW50ZSwgw6kgaW1wb3J0YW50ZSBxdWUgbyBzZXJ2acOnbyBzaWdhIG9cbiAgICogW2d1aWEgZGUgQVBJIGRvIFBPIFVJXShodHRwczovL3BvLXVpLmlvL2d1aWRlcy9hcGkpLlxuICAgKi9cbiAgc2VhcmNoU2VydmljZT86IHN0cmluZyB8IFBvTG9va3VwRmlsdGVyO1xuXG4gIC8qKlxuICAgKiBNw6FzY2FyYSBwYXJhIG8gY2FtcG8uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1pbnB1dGAuXG4gICAqID4gdGFtYsOpbSDDqSBhdHJpYnXDrWRvIGFvIHV0aWxpemFyIGEgcHJvcHJpZWRhZGUgYHR5cGU6IHRpbWVgLlxuICAgKi9cbiAgbWFzaz86IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lIHF1ZSBvIHZhbG9yIGRvIGNvbXBvbmVudGUgc2Vyw6EgY29uZm9ybWUgZXNwZWNpZmljYWRvIG5hIG1hc2PDoXJhLiBPIHZhbG9yIHBhZHLDo28gw6kgYGZhbHNlYC5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWlucHV0YC5cbiAgICogPiB0YW1iw6ltIMOpIGF0cmlidcOtZG8gYW8gdXRpbGl6YXIgYSBwcm9wcmllZGFkZSBgdHlwZTogdGltZWAuXG4gICAqICovXG4gIG1hc2tGb3JtYXRNb2RlbD86IGJvb2xlYW47XG5cbiAgLyoqIERlZmluZSBvIMOtY29uZSBxdWUgc2Vyw6EgZXhpYmlkbyBubyBpbsOtY2lvIGRvIGNhbXBvLlxuICAgKiA+IEVzdGEgcHJvcHJpZWRhZGUgc8OzIHBvZGUgc2VyIHV0aWxpemFkbyBub3MgY2FtcG9zOlxuICAgKiAtIElucHV0O1xuICAgKiAtIE51bWJlcjtcbiAgICogLSBEZWNpbWFsO1xuICAgKiAtIENvbWJvO1xuICAgKiAtIFBhc3N3b3JkO1xuICAgKlxuICAgKiA+IFZlamEgYSBkaXNwb25pYmlsaWRhZGUgZGUgw61jb25lcyBlbSBbYmlibGlvdGVjYSBkZSDDrWNvbmVzXShndWlkZXMvaWNvbnMpLlxuICAgKi9cbiAgaWNvbj86IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gIC8qKiAgUXVhbnRpZGFkZSBtw6F4aW1hIGRlIGNhc2FzIGRlY2ltYWlzLlxuICAgKlxuICAgKiA+IEVzdGEgcHJvcHJpZWRhZGUgc8OzIHBvZGUgc2VyIHV0aWxpemFkYSBxdWFuZG8gbyBgdHlwZWAgZm9yICpjdXJyZW5jeSogb3UgKmRlY2ltYWwqLlxuICAgKi9cbiAgZGVjaW1hbHNMZW5ndGg/OiBudW1iZXI7XG5cbiAgLyoqIFF1YW50aWRhZGUgbcOheGltYSBkZSBkw61naXRvcyBhbnRlcyBkbyBzZXBhcmFkb3IgZGVjaW1hbC4gTyB2YWxvciBtw6F4aW1vIHBlcm1pdGlkbyDDqSAxM1xuICAgKlxuICAgKiA+IEVzdGEgcHJvcHJpZWRhZGUgc8OzIHBvZGUgc2VyIHV0aWxpemFkYSBxdWFuZG8gbyBgdHlwZWAgZm9yICpjdXJyZW5jeSogb3UgKmRlY2ltYWwqLlxuICAgKi9cbiAgdGhvdXNhbmRNYXhsZW5ndGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFJlZ2V4IHBhcmEgdmFsaWRhw6fDo28gZG8gY2FtcG8uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1pbnB1dGAsIGBwby1wYXNzd29yZGAuXG4gICAqICovXG4gIHBhdHRlcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRhbWFuaG8gbcOtbmltbyBkZSBjYXJhY3RlcmVzLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8taW5wdXRgLCBgcG8tbnVtYmVyYCwgYHBvLWRlY2ltYWxgLCBgcG8tdGV4dGFyZWFgLCBgcG8tcGFzc3dvcmRgLlxuICAgKiAqL1xuICBtaW5MZW5ndGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRhbWFuaG8gbcOheGltbyBkZSBjYXJhY3RlcmVzLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8taW5wdXRgLCBgcG8tbnVtYmVyYCwgYHBvLWRlY2ltYWxgLCBgcG8tdGV4dGFyZWFgLCBgcG8tcGFzc3dvcmRgLlxuICAgKi9cbiAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuXG4gIC8qKiBEZXNhYmlsaXRhIG8gY2FtcG8gY2FzbyBpbmZvcm1hciBvIHZhbG9yICp0cnVlKi4gKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKiBUZXh0byBkZSBhanVkYS4gKi9cbiAgaGVscD86IHN0cmluZztcblxuICAvKiogVGV4dG8gZXhpYmlkbyBxdWFuZG8gbyB2YWxvciBkbyBjb21wb25lbnRlIGZvciAqdHJ1ZSouICovXG4gIGJvb2xlYW5UcnVlPzogc3RyaW5nO1xuXG4gIC8qKiBUZXh0byBleGliaWRvIHF1YW5kbyBvIHZhbG9yIGRvIGNvbXBvbmVudGUgZm9yICpmYWxzZSouICovXG4gIGJvb2xlYW5GYWxzZT86IHN0cmluZztcblxuICAvKipcbiAgICogSW5kaWNhIHNlIG8gYG1vZGVsYCByZWNlYmVyw6EgbyB2YWxvciBmb3JtYXRhZG8gcGVsYXMgcHJvcHJpZWRhZGVzIGBwLWxhYmVsLW9uYCBlIGBwLWxhYmVsLW9mZmAgb3VcbiAgICogYXBlbmFzIG8gdmFsb3IgcHVybyAoc2VtIGZvcm1hdGHDp8OjbykuXG4gICAqXG4gICAqIE8gdmFsb3IgcGFkcsOjbyDDqTogYGZhbHNlYC5cbiAgICpcbiAgICogPiBFc3RhIHByb3ByaWVkYWRlIGVzdMOhIGRpc3Bvbml2ZWwgIGFwZW5hcyBwYXJhIG8gYHN3aWN0aGAuXG4gICAqL1xuICBmb3JtYXRNb2RlbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFZhbG9yIG3DoXhpbW8gYSBzZXIgaW5mb3JtYWRvIG5vIGNvbXBvbmVudGUsIHBvZGVuZG8gc2VyIHV0aWxpemFkbyBxdWFuZG8gbyB0aXBvIGRlIGRhZG8gcG9yICpudW1iZXIqLCAqZGF0ZSogb3UgKmRhdGVUaW1lKi5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWRhdGVwaWNrZXJgLCBgcG8tZGF0ZXBpY2tlci1yYW5nZWAsIGBwby1udW1iZXJgLCBgcG8tZGVjaW1hbGBcbiAgICogKi9cbiAgbWF4VmFsdWU/OiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFZhbG9yIG3DrW5pbW8gYSBzZXIgaW5mb3JtYWRvIG5vIGNvbXBvbmVudGUsIHBvZGVuZG8gc2VyIHV0aWxpemFkbyBxdWFuZG8gbyB0aXBvIGRlIGRhZG8gcG9yICpudW1iZXIqLCAqZGF0ZSogb3UgKmRhdGVUaW1lKi5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWRhdGVwaWNrZXJgLCBgcG8tZGF0ZXBpY2tlci1yYW5nZWAsIGBwby1udW1iZXJgLCBgcG8tZGVjaW1hbGBcbiAgICovXG4gIG1pblZhbHVlPzogc3RyaW5nIHwgbnVtYmVyO1xuXG4gIC8qKiBRdWFudGlkYWRlIGRlIGxpbmhhcyBleGliaWRhcyBubyBgcG8tdGV4dGFyZWFgLiAqL1xuICByb3dzPzogbnVtYmVyO1xuXG4gIC8qKiBFc2NvbmRlIGEgaW5mb3JtYcOnw6NvIGVzdGlsbyAqcGFzc3dvcmQqLCBwb2RlIHNlciB1dGlsaXphZG8gcXVhbmRvIG8gdGlwbyBkZSBkYWRvIGZvciAqc3RyaW5nKi4gKi9cbiAgc2VjcmV0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRnVuw6fDo28gb3Ugc2VydmnDp28gcGFyYSB2YWxpZGFyIGFzICoqbXVkYW7Dp2FzIGRvIGNhbXBvKiouXG4gICAqXG4gICAqICogQSBwcm9wcmllZGFkZSBhY2VpdGEgb3Mgc2VndWludGVzIHRpcG9zOlxuICAgKiAtICoqU3RyaW5nKio6IEVuZHBvaW50IHVzYWRvIHBlbG8gY29tcG9uZW50ZSBwYXJhIHJlcXVpc2nDp8OjbyB2aWEgYFBPU1RgLlxuICAgKiAtICoqRnVuY3Rpb24qKjogTcOpdG9kbyBxdWUgc2Vyw6EgZXhlY3V0YWRvLlxuICAgKlxuICAgKiBBbyBzZXIgZXhlY3V0YWRvLCBpcsOhIHJlY2ViZXIgY29tbyBwYXLDom1ldHJvIHVtIG9iamV0byBjb20gbyBub21lIGRhIHByb3ByaWVkYWRlXG4gICAqIGFsdGVyYWRhIGUgbyBub3ZvIHZhbG9yLCBjb25mb3JtZSBhIGludGVyZmFjZSBgUG9EeW5hbWljRm9ybUZpZWxkQ2hhbmdlZGA6XG4gICAqXG4gICAqIGBgXG4gICAqIHsgcHJvcGVydHk6ICdwcm9wZXJ0eSBuYW1lJywgdmFsdWU6ICduZXcgdmFsdWUnIH1cbiAgICogYGBcbiAgICpcbiAgICogTyByZXRvcm5vIGRlc3RhIGZ1bsOnw6NvIGRldmUgc2VyIGRvIHRpcG8gW1BvRHluYW1pY0Zvcm1GaWVsZFZhbGlkYXRpb25dKGRvY3VtZW50YXRpb24vcG8tZHluYW1pYy1mb3JtI3BvLWR5bmFtaWMtZm9ybS1maWVsZC12YWxpZGF0aW9uKSxcbiAgICogb25kZSBvIHVzdcOhcmlvIHBvZGVyw6EgZGV0ZXJtaW5hciBhcyBub3ZhcyBwcm9wcmllZGFkZXMgZG8gY2FtcG8uXG4gICAqIFBvciBleGVtcGxvOlxuICAgKlxuICAgKiBgYGBcbiAgICogb25DaGFuZ2VGaWVsZChjaGFuZ2VWYWx1ZSk6IFBvRHluYW1pY0Zvcm1GaWVsZFZhbGlkYXRpb24ge1xuICAgKlxuICAgKiBpZiAoY2hhbmdlVmFsdWUucHJvcGVydHkgPT09ICdiaXJ0aGRheScgJiYgIXRoaXMudmFsaWRhdGUoJ2JpcnRoZGF5JykpIHtcbiAgICogICByZXR1cm4ge1xuICAgKiAgICAgdmFsdWU6ICcnLFxuICAgKiAgICAgZmllbGQ6IHsgcHJvcGVydHk6ICdiaXJ0aGRheScsIHJlcXVpcmVkOiB0cnVlIH0sXG4gICAqICAgICBmb2N1czogdHJ1ZVxuICAgKiAgIH07XG4gICAqIH1cbiAgICogYGBgXG4gICAqXG4gICAqIFBhcmEgcmVmZXJlbmNpYXIgYSBzdWEgZnVuw6fDo28gdXRpbGl6ZSBhIHByb3ByaWVkYWRlIGBiaW5kYCwgcG9yIGV4ZW1wbG86XG4gICAqIGBgXG4gICAqIHsgcHJvcGVydHk6ICdzdGF0ZScsIGdyaWRDb2x1bW5zOiA2LCB2YWxpZGF0ZTogdGhpcy5teUZ1bmN0aW9uLmJpbmQodGhpcykgfVxuICAgKiBgYFxuICAgKi9cbiAgdmFsaWRhdGU/OiBzdHJpbmcgfCBGdW5jdGlvbjtcblxuICAvKipcbiAgICogT2JqZXRvIHF1ZSBzZXLDoSBlbnZpYWRvIGNvbW8gcGFyw6JtZXRybyBuYXMgcmVxdWlzacOnw7VlcyBkZSBidXNjYSB1c2Fkb3MgcGVsb3MgY29tcG9uZW50ZXMgYHBvLWxvb2t1cGAgZVxuICAgKiBgcG8tY29tYm9gLlxuICAgKlxuICAgKiBQb3IgZXhlbXBsbywgcGFyYSBvIHBhcsOibWV0cm8gYHsgYWdlOiAyMyB9YCBhIFVSTCBkYSByZXF1aXNpw6fDo28gZmljYXJpYTpcbiAgICpcbiAgICogYGBcbiAgICogdXJsICsgP2FnZT0yMyZmaWx0ZXI9UGV0ZXJcbiAgICogYGBcbiAgICovXG4gIHBhcmFtcz86IGFueTtcblxuICAvKipcbiAgICogTWVuc2FnZW0gcXVlIHNlcsOhIGFwcmVzZW50YWRhIHF1YW5kbyBvIGNhbXBvIGZpY2FyIGludsOhbGlkby5cbiAgICpcbiAgICogTyBjYW1wbyBmaWNhIGludsOhbGlkbyBxdWFuZG8gYXMgc2VndWludGVzIHByb3ByaWVkYWRlcyBuw6NvIGZvcmVtIHJlc3BlaXRhZGFzOlxuICAgKiAgLSBwYXR0ZXJuO1xuICAgKiAgLSBtaW5WYWx1ZTtcbiAgICogIC0gbWF4VmFsdWU7XG4gICAqXG4gICAqID4gRXN0YSBtZW5zYWdlbSBuw6NvIMOpIGFwcmVzZW50YWRhIHF1YW5kbyBvIGNhbXBvIGVzdGl2ZXIgdmF6aW8sIG1lc21vIHF1ZSBlbGUgc2VqYSByZXF1ZXJpZG8uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1kYXRlcGlja2VyYCwgYHBvLWlucHV0YCwgYHBvLW51bWJlcmAsIGBwby1kZWNpbWFsYCwgYHBvLXBhc3N3b3JkYC5cbiAgICovXG4gIGVycm9yTWVzc2FnZT86IHN0cmluZztcblxuICAvKipcbiAgICogRm9ybWF0byBkZSBleGliacOnw6NvIG5vIGNhbXBvLlxuICAgKlxuICAgKiBBbyB1dGlsaXphciBlc3RhIHByb3ByaWVkYWRlIGNvbSBvIGB0eXBlYCAqUG9EeW5hbWljRmllbGRUeXBlLkRhdGUqIG91ICpQb0R5bmFtaWNGaWVsZFR5cGUuRGF0ZVRpbWUqLFxuICAgKiBwb2RlIHNlciB1dGlsaXphZGEgcGFyYSBmb3JtYXRhw6fDo28gZGUgZXhpYmnDp8OjbyBkYSBkYXRhOlxuICAgKlxuICAgKiBWYWxvcmVzIHbDoWxpZG9zOlxuICAgKlxuICAgKiAtIGRkL21tL3l5eXlcbiAgICogLSBtbS9kZC95eXl5XG4gICAqIC0geXl5eS9tbS9kZFxuICAgKlxuICAgKlxuICAgKiBUYW1iw6ltIHBvZGUtc2UgdXRpbGl6YXIgZW0gY29uanVudG8gY29tIGBzZWFyY2hTZXJ2aWNlYCwgaW5mb3JtYW5kbyB1bWEgbGlzdGEgZGUgcHJvcHJpZWRhZGVzIHF1ZSBzZXLDoSB1dGlsaXphZG9cbiAgICogcGFyYSBmb3JtYXRhw6fDo28gZGEgZXhpYmnDp8OjbyBubyBjYW1wbywgcG9yIGV4ZW1wbG86IFtcImlkXCIsIFwibmFtZVwiXS5cbiAgICovXG4gIGZvcm1hdD86IHN0cmluZyB8IEFycmF5PHN0cmluZz47XG5cbiAgLyoqXG4gICAqIE5vbWUgZGEgcHJvcHJpZWRhZGUgZG8gb2JqZXRvIHJldG9ybmFkbyBxdWUgc2Vyw6EgdXRpbGl6YWRvIGNvbW8gZGVzY3Jpw6fDo28gZG8gY2FtcG8uXG4gICAqXG4gICAqIE8gdmFsb3IgcGFkcsOjbyDDqTogYGxhYmVsYC5cbiAgICpcbiAgICogPiBFc3RhIHByb3ByaWVkYWRlIHBvZGUgc2VyIHV0aWxpemFkYSBlbSBjb25qdW50byBjb206IGBvcHRpb25zYCwgYG9wdGlvbnNTZXJ2aWNlYCBlIGBzZWFyY2hTZXJ2aWNlYC5cbiAgICovXG4gIGZpZWxkTGFiZWw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5vbWUgZGEgcHJvcHJpZWRhZGUgZG8gb2JqZXRvIHJldG9ybmFkbyBxdWUgc2Vyw6EgdXRpbGl6YWRvIGNvbW8gdmFsb3IgZG8gY2FtcG8uXG4gICAqXG4gICAqIE8gdmFsb3IgcGFkcsOjbyDDqTogYHZhbHVlYC5cbiAgICpcbiAgICogPiBFc3RhIHByb3ByaWVkYWRlIHBvZGUgc2VyIHV0aWxpemFkYSBlbSBjb25qdW50byBjb206IGBvcHRpb25zYCwgYG9wdGlvbnNTZXJ2aWNlYCBlIGBzZWFyY2hTZXJ2aWNlYC5cbiAgICovXG4gIGZpZWxkVmFsdWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluZm9ybWEgYSBvcmRlbSBkZSBleGliacOnw6NvIGRvIGNhbXBvLlxuICAgKlxuICAgKiBFeGVtcGxvIGRlIHV0aWxpemHDp8OjbzpcbiAgICpcbiAgICogYGBcbiAgICogW1xuICAgKiAgIHsgcHJvcGVydHk6ICd0ZXN0IDEnLCBvcmRlcjogMiB9LFxuICAgKiAgIHsgcHJvcGVydHk6ICd0ZXN0IDInLCBvcmRlcjogMSB9LFxuICAgKiAgIHsgcHJvcGVydHk6ICd0ZXN0IDMnIH0sXG4gICAqICAgeyBwcm9wZXJ0eTogJ3Rlc3QgNCcsIG9yZGVyOiAzIH1cbiAgICogXTtcbiAgICogYGBcbiAgICpcbiAgICogTmEgZXhpYmnDp8OjbyBhIG9yZGVtIGZpY2Fyw6EgZGVzc2EgZm9ybWE6XG4gICAqIGBgXG4gICAqIFtcbiAgICogICB7IHByb3BlcnR5OiAndGVzdCAyJywgb3JkZXI6IDEgfSxcbiAgICogICB7IHByb3BlcnR5OiAndGVzdCAxJywgb3JkZXI6IDIgfSxcbiAgICogICB7IHByb3BlcnR5OiAndGVzdCA0Jywgb3JkZXI6IDMgfSxcbiAgICogICB7IHByb3BlcnR5OiAndGVzdCAzJyB9XG4gICAqIF07XG4gICAqIGBgXG4gICAqXG4gICAqIFPDsyBzZXLDo28gYWNlaXRvcyB2YWxvcmVzIGNvbSBuw7ptZXJvcyBpbnRlaXJvcyBtYWlvcmVzIGRvIHF1ZSB6ZXJvLlxuICAgKlxuICAgKiBDYW1wb3Mgc2VtIGBvcmRlcmAgb3UgY29tIHZhbG9yZXMgbmVnYXRpdm9zLCB6ZXJhZG9zIG91IGludsOhbGlkb3NcbiAgICogc2Vyw6NvIG9zIMO6bHRpbW9zIGEgc2VyZW0gcmVuZGVyaXphZG9zIGUgc2VndWlyw6NvIG8gcG9zaWNpb25hbWVudG8gZGVudHJvIGRvXG4gICAqIGFycmF5LlxuICAgKi9cbiAgb3JkZXI/OiBudW1iZXI7XG5cbiAgLyoqIE1lbnNhZ2VtIHF1ZSBzZXLDoSBleGliaWRhIGVucXVhbnRvIG8gY2FtcG8gbsOjbyBlc3RpdmVyIHByZWVuY2hpZG8uICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgYSBsb2NhbGlkYWRlIGEgc2VyIHV0aWxpemFkYSBubyBjb21wb25lbnRlLlxuICAgKiBQb3IgcGFkcsOjbyBvIHZhbG9yIHNlcsOhIGNvbmZpZ3VyYWRvIHNlZ3VuZG8gYSBvIG3Ds2R1bG8gW2BJMThuYF0oZG9jdW1lbnRhdGlvbi9wby1pMThuKVxuICAgKlxuICAgKiBFeGVtcGxvIGRlIHV0aWxpemHDp8OjbzpcbiAgICogYGBcbiAgICogW1xuICAgKiAgIHsgcHJvcGVydHk6ICdiaXJ0aGRheScsIGxvY2FsZTogJ2VuJywgdHlwZTogJ2RhdGUnIH0sXG4gICAqICAgeyBwcm9wZXJ0eTogJ3dhZ2UnLCBsb2NhbGU6ICdydScsIHR5cGU6ICdjdXJyZW5jeScgfVxuICAgKiBdO1xuICAgKiBgYFxuICAgKlxuICAgKiA+IFBhcmEgdmVyIHF1YWlzIGxpbmd1YWdlbnMgc3Vwb3J0YWRhcyBhY2Vzc2UgW2BJMThuYF0oZG9jdW1lbnRhdGlvbi9wby1pMThuKVxuICAgKiA+IEEgcHJvcHJpZWRhZGUgc2Vyw6EgcmVwYXNzYWRhIHBhcmEgb3MgY29tcG9uZW50ZXMgcXVlIHN1cG9ydGFtIGEgbWVzbWEuXG4gICAqL1xuICBsb2NhbGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE8gY29udHJvbGUgcGFzc2EgYSBwZXJtaXRpciBhIGVudHJhZGEgZGUgdW0gaW50ZXJ2YWxvIGFvIGludsOpcyBkZSB1bSDDum5pY28gdmFsb3IuXG4gICAqXG4gICAqID4gQXR1YWxtZW50ZSBlc3NhIHByb3ByaWVkYWRlIGVzdMOhIGRpc3BvbsOtdmVsIGFwZW5hcyBwYXJhIG8gdGlwbyAnZGF0ZScgZSAnZGF0ZVRpbWUnLlxuICAgKi9cbiAgcmFuZ2U/OiBib29sZWFuO1xuXG4gIC8qKiBJbmRpY2EgcXVlIG8gY2FtcG8gc2Vyw6Egc29tZW50ZSBsZWl0dXJhLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8tZGF0ZXBpY2tlcmAsIGBwby1kYXRlcGlja2VyLXJhbmdlYCwgYHBvLWlucHV0YCwgYHBvLW51bWJlcmAsIGBwby1kZWNpbWFsYCwgYHBvLXNlbGVjdGAsIGBwby10ZXh0YXJlYWAsIGBwby1wYXNzd29yZGBcbiAgICovXG4gIHJlYWRvbmx5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUGVybWl0ZSBhIHNlbGXDp8OjbyBkZSBtw7psdGlwbG9zIGl0ZW5zLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWw6KiogYHBvLWxvb2t1cGAsIGBwby11cGxvYWRgXG4gICAqL1xuICBtdWx0aXBsZT86IGJvb2xlYW47XG5cbiAgLyoqIFNlIHZlcmRhZGVpcm8sIG8gY2FtcG8gcmVjZWJlcsOhIHVtIGJvdMOjbyBwYXJhIHNlciBsaW1wby5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWRhdGVwaWNrZXJgLCBgcG8tZGF0ZXBpY2tlci1yYW5nZWAsIGBwby1pbnB1dGAsIGBwby1udW1iZXJgLCBgcG8tZGVjaW1hbGAsIGBwby1jb21ib2AsIGBwby1sb29rdXBgLCBgcG8tcGFzc3dvcmRgXG4gICAqL1xuICBjbGVhbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERlZmluZSBhIHByb3ByaWVkYWRlIG5hdGl2YSBgYXV0b2NvbXBsZXRlYCBkbyBjYW1wbyBjb21vIG9mZi5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWRhdGVwaWNrZXJgLCBgcG8tZGF0ZXBpY2tlci1yYW5nZWAsIGBwby1pbnB1dGAsIGBwby1udW1iZXJgLCBgcG8tZGVjaW1hbGAsIGBwby1sb29rdXBgLCBgcG8tcGFzc3dvcmRgXG4gICAqL1xuICBub0F1dG9jb21wbGV0ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBvc2nDp8OjbyBkZSBleGliacOnw6NvIGRvIHLDs3R1bG8gZG8gUG9Td2l0Y2guXG4gICAqID4gUG9yIHBhZHLDo28gZXhpYmUgw6AgZGlyZWl0YS5cbiAgICovXG4gIGxhYmVsUG9zaXRpb24/OiBQb1N3aXRjaExhYmVsUG9zaXRpb247XG5cbiAgLyoqXG4gICAqIFBlcm1pdGUgZXNjb25kZXIgYSBmdW7Dp8OjbyBkZSBlc3BpYXIgYSBzZW5oYSBkaWdpdGFkYSBubyBgcG8tcGFzc3dvcmRgLlxuICAgKi9cbiAgaGlkZVBhc3N3b3JkUGVlaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBhZHLDo28gZGUgZm9ybWF0YcOnw6NvIHBhcmEgc2HDrWRhIGRvIG1vZGVsLCBpbmRlcGVuZGVudGVtZW50ZSBkbyBmb3JtYXRvIGRlIGVudHJhZGEuXG4gICAqXG4gICAqID4gVmVqYSBvcyB2YWxvcmVzIHbDoWxpZG9zIG5vIGBlbnVtUG9EYXRlcGlja2VySXNvRm9ybWF0YC5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsOioqIHBvLWRhdGVwaWNrZXJcbiAgICovXG4gIGlzb0Zvcm1hdD86IFBvRGF0ZXBpY2tlcklzb0Zvcm1hdDtcblxuICAvKipcbiAgICogT2JqZXRvIGNvbSBhcyBsaXRlcmFpcyB1c2FkYXMgcGFyYSBvcyBzZWd1aW50ZXMgY29tcG9uZW50ZXM6IGBwby1sb29rdXBgLCBgcG8tbXVsdGlzZWxlY3RgLCBgcG8tY29tYm9gIGUgYHBvLWRhdGVwaWNrZXItcmFuZ2VgLlxuICAgKlxuICAgKiA+IE8gb2JqZXRvIHBhZHLDo28gZGUgbGl0ZXJhaXMgc2Vyw6EgdHJhZHV6aWRvIGRlIGFjb3JkbyBjb20gbyBpZGlvbWEgZG8gUG9JMThuU2VydmljZSBvdSBkbyBicm93c2VyLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8tbG9va3VwYCwgYHBvLW11bHRpc2VsZWN0YCwgYHBvLWNvbWJvYCwgYHBvLWRhdGVwaWNrZXItcmFuZ2VgXG4gICAqL1xuICBsaXRlcmFscz86IFBvTG9va3VwTGl0ZXJhbHMgfCBQb011bHRpc2VsZWN0TGl0ZXJhbHMgfCBQb0NvbWJvTGl0ZXJhbHMgfCBQb0RhdGVwaWNrZXJSYW5nZUxpdGVyYWxzIHwgUG9VcGxvYWRMaXRlcmFscztcblxuICAvKipcbiAgICogU2UgdmVyZGFkZWlybyBhdGl2YSBhIGZ1bmNpb25hbGlkYWRlIGRlIHNjcm9sbCBpbmZpbml0byBwYXJhIG8gY29tYm8gb3UgbG9va3VwLCBhbyBjaGVnYXIgYW8gZmltIGRhIHRhYmVsYSBleGVjdXRhcsOhIG5vdmEgYnVzY2EgZG9zIGRhZG9zIGNvbmZvcm1lIHBhZ2luYcOnw6NvLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8tY29tYm9gLCBgcG8tbG9va3VwYC5cbiAgICovXG4gIGluZmluaXRlU2Nyb2xsPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGVmaW5lIG8gcGVyY2VudHVhbCBuZWNlc3PDoXJpbyBwYXJhIGRpc3BhcmFyIG8gZXZlbnRvIHNob3ctbW9yZSwgcXVlIMOpIHJlc3BvbnPDoXZlbCBwb3IgY2FycmVnYXIgbWFpcyBkYWRvcyBubyBjb21iby4gQ2FzbyBvIHZhbG9yIHNlamEgbWFpb3IgcXVlIDEwMCBvdSBtZW5vciBxdWUgMCwgbyB2YWxvciBwYWRyw6NvIHNlcsOhIDEwMCUuXG4gICAqICoqRXhlbXBsb3MqKlxuICAgKiBgeyBpbmZpbml0ZVNjcm9sbERpc3RhbmNlOiA4MCB9YDogUXVhbmRvIGF0aW5naXIgODAlIGRvIHNjcm9sbCBkbyBjb21ibywgbyBzaG93LW1vcmUgc2Vyw6EgZGlzcGFyYWRvLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWw6KiogYHBvLWNvbWJvYC5cbiAgICovXG4gIGluZmluaXRlU2Nyb2xsRGlzdGFuY2U/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIERlZmluZSBxdWUgYSBhbHR1cmEgZG8gY29tcG9uZW50ZSBzZXLDoSBhdXRvIGFqdXN0w6F2ZWwsIHBvc3N1aW5kbyB1bWEgYWx0dXJhIG1pbmltYSBwb3LDqW0gYSBhbHR1cmEgbcOheGltYSBzZXLDoSBkZSBhY29yZG8gY29tIG8gbsO6bWVybyBkZSBpdGVucyBzZWxlY2lvbmFkb3MgZSBhIGV4dGVuc8OjbyBkb3MgbWVzbW9zLCBtYW50ZW5kby1vcyBzZW1wcmUgdmlzw612ZWlzLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8tbXVsdGlzZWxlY3RgLCBgcG8tbG9va3VwYC5cbiAgICovXG4gIGF1dG9IZWlnaHQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbnRlcnZhbG8gdXRpbGl6YWRvIG5vIGBwby1udW1iZXJgLlxuICAgKi9cbiAgc3RlcD86IG51bWJlcjtcblxuICAvKipcbiAgICogRGVmaW5lIG8gbW9kbyBkZSBwZXNxdWlzYSB1dGlsaXphZG8gbm8gZmlsdHJvIGRhIGxpc3RhIGRlIHNlbGXDp8OjbzogYHN0YXJ0c1dpdGhgLCBgY29udGFpbnNgIG91IGBlbmRzV2l0aGAuXG4gICAqID4gUXVhbmRvIHV0aWxpemFyIGEgcHJvcHJpZWRhZGUgcC1maWx0ZXItc2VydmljZSBlc3RhIHByb3ByaWVkYWRlIHNlcsOhIGlnbm9yYWRhLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8tbXVsdGlzZWxlY3RgLlxuICAgKi9cbiAgZmlsdGVyTW9kZT86IFBvTXVsdGlzZWxlY3RGaWx0ZXJNb2RlO1xuXG4gIC8qKlxuICAgKiBWYWxvciBtw61uaW1vIGRlIGNhcmFjdGVyZXMgcGFyYSByZWFsaXphciBvIGZpbHRybyBubyBzZXJ2acOnbyBkbyBgcG8tY29tYm9gLlxuICAgKi9cbiAgZmlsdGVyTWlubGVuZ3RoPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZXNhYmlsaXRhIG8gZmlsdHJvIGluaWNpYWwgbm8gc2VydmnDp28gZG8gYHBvLWNvbWJvYCwgcXVlIMOpIGV4ZWN1dGFkbyBubyBwcmltZWlybyBjbGlxdWUgbm8gY2FtcG8uXG4gICAqL1xuICBkaXNhYmxlZEluaXRGaWx0ZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTZSB2ZXJkYWRlaXJvLCBkZXNhYmlsaXRhcsOhIGEgYnVzY2EgZGUgdW0gaXRlbSB2aWEgVEFCIG5vIGBwby1jb21ib2AuXG4gICAqL1xuICBkaXNhYmxlZFRhYkZpbHRlcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVzdGEgcHJvcHJpZWRhZGUgZGVmaW5lIGVtIHF1YW50byB0ZW1wbyAoZW0gbWlsaXNzZWd1bmRvcyksIGFndWFyZGEgcGFyYSBhY2lvbmFyIG8gZXZlbnRvIGRlIGZpbHRybyBhcMOzcyBjYWRhIHByZXNzaW9uYW1lbnRvIGRlIHRlY2xhLiBTZXLDoSB1dGlsaXphZGEgYXBlbmFzIHF1YW5kbyBob3V2ZXIgc2VydmnDp28gKGBwLWZpbHRlci1zZXJ2aWNlYCkuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1jb21ib2AsIGBwby1tdWx0aXNlbGVjdGAuXG4gICAqL1xuICBkZWJvdW5jZVRpbWU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEluZGljYSBxdWUgbyBldmVudG8gYHAtY2hhbmdlYCBzw7Mgc2Vyw6EgZGlzcGFyYWRvIGFvIGNsaWNhciBvdSBwcmVzc2lvbmFyIGEgdGVjbGEgXCJFbnRlclwiIHNvYnJlIHVtYSBvcMOnw6NvIHNlbGVjaW9uYWRhIG5vIGBwby1jb21ib2AuXG4gICAqL1xuICBjaGFuZ2VPbkVudGVyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5kaWNhIHF1ZSBhIGxpc3RhIGRlZmluaWRhIG5hIHByb3ByaWVkYWRlIHAtb3B0aW9ucyBzZXLDoSBvcmRlbmFkYSBwZWxhIGRlc2NyacOnw6NvLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8tY29tYm9gLCBwby1tdWx0aXNlbGVjdFxuICAgKi9cbiAgc29ydD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBsYWNlaG9sZGVyIGRvIGNhbXBvIGRlIHBlc3F1aXNhIGRvIGBwby1tdWx0aXNlbGVjdGAuXG4gICAqXG4gICAqID4gQ2FzbyBvIG1lc21vIG7Do28gc2VqYSBpbmZvcm1hZG8sIG8gdmFsb3IgcGFkcsOjbyBzZXLDoSB0cmFkdXppZG8gY29tIGJhc2Ugbm8gaWRpb21hIGRvIG5hdmVnYWRvciAocHQsIGVzIGUgZW4pLlxuICAgKi9cbiAgcGxhY2Vob2xkZXJTZWFyY2g/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVzY29uZGUgbyBjYW1wbyBkZSBwZXNxdWlzYSBleGlzdGVudGUgZGVudHJvIGRvIGRyb3Bkb3duIGRvIGBwby1tdWx0aXNlbGVjdGAuXG4gICAqL1xuICBoaWRlU2VhcmNoPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5kaWNhIHNlIG8gY2FtcG8gXCJTZWxlY2lvbmFyIHRvZG9zXCIgZG8gYHBvLW11bHRpc2VsZWN0YCBzZXLDoSBlc2NvbmRpZG8uXG4gICAqL1xuICBoaWRlU2VsZWN0QWxsPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTGlzdGEgZGUgb2JqZXRvcyBkb3MgY2FtcG9zIHF1ZSBzZXLDo28gY3JpYWRvcyBuYSBidXNjYSBhdmFuw6dhZGEuXG4gICAqXG4gICAqID4gQ2FzbyBuw6NvIHNlamEgcGFzc2FkbyB1bSBvYmpldG8gb3UgZW50w6NvIGVsZSBlc3RlamEgZW0gYnJhbmNvIG8gbGluayBkZSBidXNjYSBhdmFuw6dhZGEgZmljYXLDoSBlc2NvbmRpZG8uXG4gICAqXG4gICAqIEV4ZW1wbG8gZGUgVVJMIGNvbSBidXNjYSBhdmFuw6dhZGE6XG4gICAqXG4gICAqIGB1cmwgKyA/cGFnZT0xJnBhZ2VTaXplPTIwJm5hbWU9VG9ueSUyMFN0YXJrJm5pY2tuYW1lPUhvbWVtJTIwZGUlMjBGZXJyb2BcbiAgICpcbiAgICogQ2FzbyBhbGd1bSBwYXLDom1ldHJvIHNlamEgdW1hIGxpc3RhLCBhIGNvbmNhdGVuYcOnw6NvIMOpIGZlaXRhIHV0aWxpemFuZG8gdsOtcmd1bGEuIEV4ZW1wbG86XG4gICAqXG4gICAqIGB1cmwgKyA/cGFnZT0xJnBhZ2VTaXplPTIwJm5hbWU9VG9ueSUyMFN0YXJrLFBldGVyJTIwUGFya2VyLEdvaGFuYFxuICAgKi9cbiAgYWR2YW5jZWRGaWx0ZXJzPzogQXJyYXk8UG9Mb29rdXBBZHZhbmNlZEZpbHRlcj47XG5cbiAgLyoqXG4gICAqIFZhbG9yZXMgYWNlaXRvczpcbiAgICogLSBGb3JjZUJvb2xlYW5Db21wb25lbnRFbnVtLnN3aXRjaFxuICAgKiAtIEZvcmNlQm9vbGVhbkNvbXBvbmVudEVudW0uY2hlY2tib3hcbiAgICpcbiAgICovXG4gIGZvcmNlQm9vbGVhbkNvbXBvbmVudFR5cGU/OiBGb3JjZUJvb2xlYW5Db21wb25lbnRFbnVtO1xuXG4gIC8qKlxuICAgKiBwb2RlIHNlciB1dGlsaXphZGEgZW0gY29uanVudG8gY29tIGEgcHJvcHJpZWRhZGUgYG9wdGlvbnNgIGZvcsOnYW5kbyBvIGNvbXBvbmVudGUgYSByZW5kZXJpemFyIHVtIGBwby1zZWxlY3RgIG91IGBwby1yYWRpby1ncm91cGAuXG4gICAqXG4gICAqIFZhbG9yZXMgYWNlaXRvczpcbiAgICogLSBGb3JjZU9wdGlvbkNvbXBvbmVudEVudW0ucmFkaW9Hcm91cFxuICAgKiAtIEZvcmNlT3B0aW9uQ29tcG9uZW50RW51bS5zZWxlY3RcbiAgICpcbiAgICogPkVzc2EgcHJvcHJpZWRhZGUgc2Vyw6EgaWdub3JhZGEgY2FzbyBzZWphIHV0aWxpemFkYSBlbSBjb25qdW50byBjb20gYSBwcm9wcmllZGFkZSBgb3B0aW9uc011bHRpYCBlIGBvcHRpb25zU2VydmljZWAuXG4gICAqL1xuICBmb3JjZU9wdGlvbnNDb21wb25lbnRUeXBlPzogRm9yY2VPcHRpb25Db21wb25lbnRFbnVtO1xuXG4gIC8qKlxuICAgKiBFdmVudG8gZGlzcGFyYWRvIGFvIGZlY2hhciBvIHBvcG92ZXIgZG8gZ2VyZW5jaWFkb3IgZGUgY29sdW5hcyBhcMOzcyBhbHRlcmFyIGFzIGNvbHVuYXMgdmlzw612ZWlzLlxuICAgKlxuICAgKiBPIGNvbXBvbmVudGUgZW52aWEgY29tbyBwYXLDom1ldHJvIHVtIGFycmF5IGRlIHN0cmluZyBjb20gYXMgY29sdW5hcyB2aXPDrXZlaXMgYXR1YWxpemFkYXMuXG4gICAqIFBvciBleGVtcGxvOiBbXCJpZENhcmRcIiwgXCJuYW1lXCIsIFwiaGlyZVN0YXR1c1wiLCBcImFnZVwiXS5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXMqKjogYHBvLWxvb2t1cGBcbiAgICovXG4gIGNoYW5nZVZpc2libGVDb2x1bW5zPzogRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIEV2ZW50byBkaXNwYXJhZG8gYW8gY2xpY2FyIG5vIGJvdMOjbyBkZSByZXN0YXVyYXIgcGFkcsOjbyBubyBnZXJlbmNpYWRvciBkZSBjb2x1bmFzLlxuICAgKlxuICAgKiBPIGNvbXBvbmVudGUgZW52aWEgY29tbyBwYXLDom1ldHJvIHVtIGFycmF5IGRlIHN0cmluZyBjb20gYXMgY29sdW5hcyBjb25maWd1cmFkYXMgaW5pY2lhbG1lbnRlLlxuICAgKiBQb3IgZXhlbXBsbzogW1wiaWRDYXJkXCIsIFwibmFtZVwiLCBcImhpcmVTdGF0dXNcIiwgXCJhZ2VcIl0uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzKio6IGBwby1sb29rdXBgXG4gICAqL1xuICBjb2x1bW5SZXN0b3JlTWFuYWdlcj86IEZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBVUkwgcXVlIGRldmUgc2VyIGZlaXRhIGEgcmVxdWlzacOnw6NvIGNvbSBvcyBhcnF1aXZvcyBzZWxlY2lvbmFkb3MuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgdXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgc2UgbyBlbnZpbyBkbyBhcnF1aXZvIHNlcsOhIGF1dG9tw6F0aWNvIGFvIHNlbGVjaW9uYXIgbyBtZXNtby5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsKio6IGBwby11cGxvYWRgXG4gICAqL1xuICBhdXRvVXBsb2FkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUGVybWl0ZSBhIHNlbGXDp8OjbyBkZSBkaXJldMOzcmlvcyBjb250ZW5kbyB1bSBvdSBtYWlzIGFycXVpdm9zIHBhcmEgZW52aW8uXG4gICAqXG4gICAqID4gQSBoYWJpbGl0YcOnw6NvIGRlc3RhIHByb3ByaWVkYWRlIHNlIHJlc3RyaW5nZSBhcGVuYXMgw6Agc2VsZcOnw6NvIGRlIGRpcmV0w7NyaW9zLlxuICAgKlxuICAgKiA+IERlZmluacOnw6NvIG7Do28gc3Vwb3J0YWRhIHBlbG8gYnJvd3NlciAqKkludGVybmV0IEV4cGxvcmVyKiosIHRvZGF2aWEgc2Vyw6EgcG9zc8OtdmVsIGEgc2VsZcOnw6NvIGRlIGFycXVpdm9zIHBhZHLDo28uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgZGlyZWN0b3J5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRXhpYmUgYSDDoXJlYSBvbmRlIMOpIHBvc3PDrXZlbCBhcnJhc3RhciBlIHNlbGVjaW9uYXIgb3MgYXJxdWl2b3MuIFF1YW5kbyBlc3RpdmVyIGRlZmluaWRhLCBvbWl0ZSBvIGJvdMOjbyBwYXJhIHNlbGXDp8OjbyBkZSBhcnF1aXZvc1xuICAgKiBhdXRvbWF0aWNhbWVudGUuXG4gICAqXG4gICAqID4gUmVjb21lbmRhbW9zIHV0aWxpemFyIGFwZW5hcyB1bSBgcG8tdXBsb2FkYCBjb20gZXN0YSBmdW5jaW9uYWxpZGFkZSBwb3IgdGVsYS5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsKio6IGBwby11cGxvYWRgXG4gICAqL1xuICBkcmFnRHJvcD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERlZmluZSBlbSAqcGl4ZWxzKiBhIGFsdHVyYSBkYSDDoXJlYSBvbmRlIHBvZGVtIHNlciBhcnJhc3RhZG9zIG9zIGFycXVpdm9zLiBBIGFsdHVyYSBtw61uaW1hIGFjZWl0YSDDqSBgMTYwcHhgLlxuICAgKlxuICAgKiA+IEVzdGEgcHJvcHJpZWRhZGUgZnVuY2lvbmEgc29tZW50ZSBzZSBhIHByb3ByaWVkYWRlIGBwLWRyYWctZHJvcGAgZXN0aXZlciBoYWJpbGl0YWRhLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIGRyYWdEcm9wSGVpZ2h0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBPYmpldG8gcXVlIHNlZ3VlIGEgZGVmaW5pw6fDo28gZGEgaW50ZXJmYWNlIGBQb1VwbG9hZEZpbGVSZXN0cmljdGlvbnNgLFxuICAgKiBxdWUgcG9zc2liaWxpdGEgZGVmaW5pciB0YW1hbmhvIG3DoXhpbW8vbcOtbmltbyBlIGV4dGVuc8OjbyBkb3MgYXJxdWl2b3MgcGVybWl0aWRvcy5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsKio6IGBwby11cGxvYWRgXG4gICAqL1xuICByZXN0cmljdGlvbnM/OiBQb1VwbG9hZEZpbGVSZXN0cmljdGlvbnM7XG5cbiAgLyoqXG4gICAqIE5vbWUgZG8gY2FtcG8gZGUgZm9ybXVsw6FyaW8gcXVlIHNlcsOhIGVudmlhZG8gcGFyYSBvIHNlcnZpw6dvIGluZm9ybWFkbyBuYSBwcm9wcmllZGFkZSBgdXJsYC5cbiAgICpcbiAgICogPiBPIHZhbG9yIGRlZmF1bHQgw6kgYGZpbGVzYFxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIGZvcm1GaWVsZD86IHN0cmluZztcblxuICAvKipcbiAgICogT2JqZXRvIHF1ZSBjb250w6ltIG9zIGNhYmXDp2FsaG9zIHF1ZSBzZXLDoSBlbnZpYWRvIG5hIHJlcXVpc2nDp8OjbyBkb3MgYXJxdWl2b3MuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgaGVhZGVycz86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB8IEFycmF5PHN0cmluZz4gfTtcblxuICAvKipcbiAgICogT2N1bHRhIHZpc3VhbG1lbnRlIGFzIGluZm9ybWHDp8O1ZXMgZGUgcmVzdHJpw6fDtWVzIHBhcmEgbyB1cGxvYWQuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgaGlkZVJlc3RyaWN0aW9uc0luZm8/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBPbWl0ZSBvIGJvdMOjbyBkZSBzZWxlw6fDo28gZGUgYXJxdWl2b3MuXG4gICAqXG4gICAqID4gQ2FzbyBvIHZhbG9yIGRlZmluaWRvIHNlamEgYHRydWVgLCBjYWJlcsOhIGFvIGRlc2Vudm9sdmVkb3IgYSByZXNwb25zYWJpbGlkYWRlXG4gICAqIHBlbGEgY2hhbWFkYSBkbyBtw6l0b2RvIGBzZWxlY3RGaWxlcygpYCBwYXJhIHNlbGXDp8OjbyBkZSBhcnF1aXZvcy5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsKio6IGBwby11cGxvYWRgXG4gICAqL1xuICBoaWRlU2VsZWN0QnV0dG9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogT21pdGUgbyBib3TDo28gZGUgZW52aW8gZGUgYXJxdWl2b3MuXG4gICAqXG4gICAqID4gQ2FzbyBvIHZhbG9yIGRlZmluaWRvIHNlamEgYHRydWVgLCBjYWJlcsOhIGFvIGRlc2Vudm9sdmVkb3IgYSByZXNwb25zYWJpbGlkYWRlXG4gICAqIHBlbGEgY2hhbWFkYSBkbyBtw6l0b2RvIGBzZW5kRmlsZXMoKWAgcGFyYSBlbnZpbyBkbyhzKSBhcnF1aXZvKHMpIHNlbGVjaW9uYWRvKHMpLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIGhpZGVTZW5kQnV0dG9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGVmaW5lIHNlIGEgaW5kaWNhw6fDo28gZGUgY2FtcG8gb2JyaWdhdMOzcmlvIHNlcsOhIGV4aWJpZGEuXG4gICAqXG4gICAqID4gTsOjbyBzZXLDoSBleGliaWRhIGEgaW5kaWNhw6fDo28gc2U6XG4gICAqIC0gTsOjbyBwb3NzdWlyIGBwLWhlbHBgIGUvb3UgYHAtbGFiZWxgLlxuICAgKi9cbiAgc2hvd1JlcXVpcmVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRXZlbnRvIHNlcsOhIGRpc3BhcmFkbyBxdWFuZG8gb2NvcnJlciBhbGd1bSBlcnJvIG5vIGVudmlvIGRvIGFycXVpdm8uXG4gICAqID4gUG9yIHBhcsOibWV0cm8gc2Vyw6EgcGFzc2FkbyBvIG9iamV0byBkbyByZXRvcm5vIHF1ZSDDqSBkbyB0aXBvIGBIdHRwRXJyb3JSZXNwb25zZWAuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgb25FcnJvcj86IEZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBFdmVudG8gc2Vyw6EgZGlzcGFyYWRvIHF1YW5kbyBvIGVudmlvIGRvIGFycXVpdm8gZm9yIHJlYWxpemFkbyBjb20gc3VjZXNzby5cbiAgICogPiBQb3IgcGFyw6JtZXRybyBzZXLDoSBwYXNzYWRvIG8gb2JqZXRvIGRvIHJldG9ybm8gcXVlIMOpIGRvIHRpcG8gYEh0dHBSZXNwb25zZWAuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgb25TdWNjZXNzPzogRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIEZ1bsOnw6NvIHF1ZSBzZXLDoSBleGVjdXRhZGEgbm8gbW9tZW50byBkZSByZWFsaXphciBvIGVudmlvIGRvIGFycXVpdm8sXG4gICAqIG9uZGUgc2Vyw6EgcG9zc8OtdmVsIGFkaWNpb25hciBpbmZvcm1hw6fDtWVzIGFvIHBhcsOibWV0cm8gcXVlIHNlcsOhIGVudmlhZG8gbmEgcmVxdWlzacOnw6NvLlxuICAgKiDDiSBwYXNzYWRvIHBvciBwYXLDom1ldHJvIHVtIG9iamV0byBjb20gbyBhcnF1aXZvIGUgYSBwcm9wcmllZGFkZSBkYXRhIG5lc3RhIHByb3ByaWVkYWRlIHBvZGUgc2VyIGluZm9ybWFkbyBhbGd1bSBkYWRvLFxuICAgKiBxdWUgc2Vyw6EgZW52aWFkbyBlbSBjb25qdW50byBjb20gbyBhcnF1aXZvIG5hIHJlcXVpc2nDp8OjbywgcG9yIGV4ZW1wbG86XG4gICAqXG4gICAqIGBgYFxuICAgKiAgIGV2ZW50LmRhdGEgPSB7aWQ6ICdpZCBkbyB1c3XDoXJpbyd9O1xuICAgKiBgYGBcbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsKio6IGBwby11cGxvYWRgXG4gICAqL1xuICBvblVwbG9hZD86IEZ1bmN0aW9uO1xufVxuIl19
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy1mb3JtLWZpZWxkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1keW5hbWljL3BvLWR5bmFtaWMtZm9ybS9wby1keW5hbWljLWZvcm0tZmllbGQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgUG9DaGVja2JveEdyb3VwT3B0aW9uLFxuICBQb0NvbWJvRmlsdGVyLFxuICBQb0NvbWJvTGl0ZXJhbHMsXG4gIFBvRGF0ZXBpY2tlcklzb0Zvcm1hdCxcbiAgUG9EYXRlcGlja2VyUmFuZ2VMaXRlcmFscyxcbiAgUG9Mb29rdXBGaWx0ZXIsXG4gIFBvTG9va3VwTGl0ZXJhbHMsXG4gIFBvTXVsdGlzZWxlY3RGaWx0ZXJNb2RlLFxuICBQb011bHRpc2VsZWN0TGl0ZXJhbHMsXG4gIFBvU3dpdGNoTGFiZWxQb3NpdGlvbixcbiAgUG9VcGxvYWRMaXRlcmFscyxcbiAgUG9VcGxvYWRGaWxlUmVzdHJpY3Rpb25zXG59IGZyb20gJy4uLy4uL3BvLWZpZWxkJztcbmltcG9ydCB7IFBvTG9va3VwQWR2YW5jZWRGaWx0ZXIgfSBmcm9tICcuLi8uLi9wby1maWVsZC9wby1sb29rdXAvaW50ZXJmYWNlcy9wby1sb29rdXAtYWR2YW5jZWQtZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0xvb2t1cENvbHVtbiB9IGZyb20gJy4uLy4uL3BvLWZpZWxkL3BvLWxvb2t1cC9pbnRlcmZhY2VzL3BvLWxvb2t1cC1jb2x1bW4uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvTXVsdGlzZWxlY3RPcHRpb24gfSBmcm9tICcuLi8uLi9wby1maWVsZC9wby1tdWx0aXNlbGVjdC9wby1tdWx0aXNlbGVjdC1vcHRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvU2VsZWN0T3B0aW9uIH0gZnJvbSAnLi4vLi4vcG8tZmllbGQvcG8tc2VsZWN0L3BvLXNlbGVjdC1vcHRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEZvcmNlQm9vbGVhbkNvbXBvbmVudEVudW0sIEZvcmNlT3B0aW9uQ29tcG9uZW50RW51bSB9IGZyb20gJy4uL3BvLWR5bmFtaWMtZmllbGQtZm9yY2UtY29tcG9uZW50LmVudW0nO1xuXG5pbXBvcnQgeyBQb0R5bmFtaWNGaWVsZCB9IGZyb20gJy4uL3BvLWR5bmFtaWMtZmllbGQuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBAdXNlZEJ5IFBvRHluYW1pY0Zvcm1Db21wb25lbnQsIFBvQWR2YW5jZWRGaWx0ZXJDb21wb25lbnQsIFBvUGFnZUR5bmFtaWNTZWFyY2hDb21wb25lbnRcbiAqXG4gKiBAZG9jc0V4dGVuZHMgUG9EeW5hbWljRmllbGRcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBJbnRlcmZhY2UgcGFyYSBkZWZpbmnDp8OjbyBkYXMgcHJvcHJpZWRhZGVzIGRvcyBjYW1wb3MgZGUgZW50cmFkYSBxdWUgc2Vyw6NvIGNyaWFkb3MgZGluYW1pY2FtZW50ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQb0R5bmFtaWNGb3JtRmllbGQgZXh0ZW5kcyBQb0R5bmFtaWNGaWVsZCB7XG4gIC8qKlxuICAgKiBEZWZpbmUgYXMgY29sdW5hcyBwYXJhIHV0aWxpemHDp8OjbyBkYSBidXNjYSBhdmFuw6dhZGEuIFVzYWRhIHNvbWVudGUgZW0gY29uanVudG8gY29tIGEgcHJvcHJpZWRhZGUgYHNlYXJjaFNlcnZpY2VgLFxuICAgKiBlc3NhIHByb3ByaWVkYWRlIGRldmUgcmVjZWJlciB1bSBhcnJheSBkZSBvYmpldG9zIHF1ZSBpbXBsZW1lbnRhbSBhIGludGVyZmFjZSBbYFBvTG9va3VwQ29sdW1uYF0oL2RvY3VtZW50YXRpb24vcG8tbG9va3VwKS5cbiAgICpcbiAgICogPiBDYXNvIHNlamFtIGluZm9ybWFkYXMgY29sdW5hcywgZGV2ZS1zZSBvYnJpZ2F0b3JpYW1lbnRlIGNvbnRlciBjb2x1bmFzIGRlZmluaWRhcyBjb21vICpsYWJlbCogZSAqdmFsdWUqIHBhcmEgdmFsb3Jlc1xuICAgKiBkZSB0ZWxhIGUgZG8gbW9kZWwgcmVzcGVjdGl2YW1lbnRlLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8tcmFkaW8tZ3JvdXBgLCBgcG8tbG9va3VwYCwgYHBvLWNoZWNrYm94LWdyb3VwYC5cbiAgICovXG4gIGNvbHVtbnM/OiBBcnJheTxQb0xvb2t1cENvbHVtbj4gfCBudW1iZXI7XG5cbiAgLyoqIERlZmluZSBhIG9icmlnYXRvcmllZGFkZSBkbyBjYW1wby4gKi9cbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgc2UgYSBpbmRpY2HDp8OjbyBkZSBjYW1wbyBvcGNpb25hbCBzZXLDoSBleGliaWRhLlxuICAgKlxuICAgKiA+IEEgaW5kaWNhw6fDo28gbsOjbyBzZXLDoSBleGliaWRhLCBzZTpcbiAgICogLSBPIGNhbXBvIGZvciBgcmVxdWlyZWRgLCBvdTtcbiAgICogLSBOw6NvIHBvc3N1aXIgYGhlbHBgIGUgYGxhYmVsYC5cbiAgICovXG4gIG9wdGlvbmFsPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTGlzdGEgZGUgb3DDp8O1ZXMgcXVlIHNlcsOjbyBleGliaWRvcyBlbSB1bSBjb21wb25lbnRlLCBwb2RlbmRvIHNlbGVjaW9uYXIgdW1hIG9ww6fDo28uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1zZWxlY3RgLCBgcG8tcmFkaW8tZ3JvdXBgLCBgcG8tY2hlY2tib3gtZ3JvdXBgLCBgcG8tbXVsdGlzZWxlY3RgLlxuICAgKiAqL1xuICBvcHRpb25zPzpcbiAgICB8IEFycmF5PHN0cmluZz5cbiAgICB8IEFycmF5PFBvU2VsZWN0T3B0aW9uPlxuICAgIHwgQXJyYXk8UG9NdWx0aXNlbGVjdE9wdGlvbj5cbiAgICB8IEFycmF5PFBvQ2hlY2tib3hHcm91cE9wdGlvbj5cbiAgICB8IEFycmF5PGFueT47XG5cbiAgLyoqXG4gICAqIFBlcm1pdGUgcXVlIG8gdXN1w6FyaW8gZmHDp2EgbcO6bHRpcGxhIHNlbGXDp8OjbyBkZW50cm8gZGEgbGlzdGEgZGUgb3DDp8O1ZXMuXG4gICAqL1xuICBvcHRpb25zTXVsdGk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiAgU2VydmnDp28gcXVlIHNlcsOhIHV0aWxpemFkbyBwYXJhIGJ1c2NhciBvcyBpdGVucyBlIHByZWVuY2hlciBhIGxpc3RhIGRlIG9ww6fDtWVzIGRpbmFtaWNhbWVudGUuXG4gICAqICBQb2RlIHNlciBpbmZvcm1hZGEgdW1hIFVSTCBvdSB1bWEgaW5zdGFuY2lhIGRvIHNlcnZpw6dvIGJhc2VhZG8gZW0gUG9Db21ib0ZpbHRlci5cbiAgICogICoqSW1wb3J0YW50ZSoqXG4gICAqICA+IFBhcmEgcXVlIGZ1bmNpb25lIGNvcnJldGFtZW50ZSwgw6kgaW1wb3J0YW50ZSBxdWUgbyBzZXJ2acOnbyBzaWdhIG9cbiAgICogIFtndWlhIGRlIEFQSSBkbyBQTyBVSV0oaHR0cHM6Ly9wby11aS5pby9ndWlkZXMvYXBpKS5cbiAgICovXG4gIG9wdGlvbnNTZXJ2aWNlPzogc3RyaW5nIHwgUG9Db21ib0ZpbHRlcjtcblxuICAvKipcbiAgICogU2VydmnDp28gcXVlIHNlcsOhIHV0aWxpemFkbyBwYXJhIHJlYWxpemFyIGEgYnVzY2EgYXZhbsOnYWRhLiBQb2RlIHNlciB1dGlsaXphZG8gZW0gY29uanVudG8gY29tIGEgcHJvcHJpZWRhZGUgYGNvbHVtbnNgLlxuICAgKiBQb2RlIHNlciBzZXIgaW5mb3JtYWRhIHVtYSBVUkwgb3UgdW1hIGluc3RhbmNpYSBkbyBzZXJ2acOnbyBiYXNlYWRvIGVtIFBvTG9va3VwRmlsdGVyLlxuICAgKiAqKkltcG9ydGFudGU6KipcbiAgICogPiBDYXNvIHV0aWxpemFyIGEgcHJvcHJpZWRhZGUgYG9wdGlvbnNTZXJ2aWNlYCBlc3RhIHByb3ByaWVkYWRlIHNlcsOhIGlnbm9yYWRhLlxuICAgKiA+IFBhcmEgcXVlIGZ1bmNpb25lIGNvcnJldGFtZW50ZSwgw6kgaW1wb3J0YW50ZSBxdWUgbyBzZXJ2acOnbyBzaWdhIG9cbiAgICogW2d1aWEgZGUgQVBJIGRvIFBPIFVJXShodHRwczovL3BvLXVpLmlvL2d1aWRlcy9hcGkpLlxuICAgKi9cbiAgc2VhcmNoU2VydmljZT86IHN0cmluZyB8IFBvTG9va3VwRmlsdGVyO1xuXG4gIC8qKlxuICAgKiBNw6FzY2FyYSBwYXJhIG8gY2FtcG8uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1pbnB1dGAuXG4gICAqID4gdGFtYsOpbSDDqSBhdHJpYnXDrWRvIGFvIHV0aWxpemFyIGEgcHJvcHJpZWRhZGUgYHR5cGU6IHRpbWVgLlxuICAgKi9cbiAgbWFzaz86IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lIHF1ZSBvIHZhbG9yIGRvIGNvbXBvbmVudGUgc2Vyw6EgY29uZm9ybWUgZXNwZWNpZmljYWRvIG5hIG1hc2PDoXJhLiBPIHZhbG9yIHBhZHLDo28gw6kgYGZhbHNlYC5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWlucHV0YC5cbiAgICogPiB0YW1iw6ltIMOpIGF0cmlidcOtZG8gYW8gdXRpbGl6YXIgYSBwcm9wcmllZGFkZSBgdHlwZTogdGltZWAuXG4gICAqICovXG4gIG1hc2tGb3JtYXRNb2RlbD86IGJvb2xlYW47XG5cbiAgLyoqIERlZmluZSBvIMOtY29uZSBxdWUgc2Vyw6EgZXhpYmlkbyBubyBpbsOtY2lvIGRvIGNhbXBvLlxuICAgKiA+IEVzdGEgcHJvcHJpZWRhZGUgc8OzIHBvZGUgc2VyIHV0aWxpemFkbyBub3MgY2FtcG9zOlxuICAgKiAtIElucHV0O1xuICAgKiAtIE51bWJlcjtcbiAgICogLSBEZWNpbWFsO1xuICAgKiAtIENvbWJvO1xuICAgKiAtIFBhc3N3b3JkO1xuICAgKlxuICAgKiA+IFZlamEgYSBkaXNwb25pYmlsaWRhZGUgZGUgw61jb25lcyBlbSBbYmlibGlvdGVjYSBkZSDDrWNvbmVzXShndWlkZXMvaWNvbnMpLlxuICAgKi9cbiAgaWNvbj86IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gIC8qKiAgUXVhbnRpZGFkZSBtw6F4aW1hIGRlIGNhc2FzIGRlY2ltYWlzLlxuICAgKlxuICAgKiA+IEVzdGEgcHJvcHJpZWRhZGUgc8OzIHBvZGUgc2VyIHV0aWxpemFkYSBxdWFuZG8gbyBgdHlwZWAgZm9yICpjdXJyZW5jeSogb3UgKmRlY2ltYWwqLlxuICAgKi9cbiAgZGVjaW1hbHNMZW5ndGg/OiBudW1iZXI7XG5cbiAgLyoqIFF1YW50aWRhZGUgbcOheGltYSBkZSBkw61naXRvcyBhbnRlcyBkbyBzZXBhcmFkb3IgZGVjaW1hbC4gTyB2YWxvciBtw6F4aW1vIHBlcm1pdGlkbyDDqSAxM1xuICAgKlxuICAgKiA+IEVzdGEgcHJvcHJpZWRhZGUgc8OzIHBvZGUgc2VyIHV0aWxpemFkYSBxdWFuZG8gbyBgdHlwZWAgZm9yICpjdXJyZW5jeSogb3UgKmRlY2ltYWwqLlxuICAgKi9cbiAgdGhvdXNhbmRNYXhsZW5ndGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFJlZ2V4IHBhcmEgdmFsaWRhw6fDo28gZG8gY2FtcG8uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1pbnB1dGAsIGBwby1wYXNzd29yZGAuXG4gICAqICovXG4gIHBhdHRlcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRhbWFuaG8gbcOtbmltbyBkZSBjYXJhY3RlcmVzLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8taW5wdXRgLCBgcG8tbnVtYmVyYCwgYHBvLWRlY2ltYWxgLCBgcG8tdGV4dGFyZWFgLCBgcG8tcGFzc3dvcmRgLlxuICAgKiAqL1xuICBtaW5MZW5ndGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRhbWFuaG8gbcOheGltbyBkZSBjYXJhY3RlcmVzLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8taW5wdXRgLCBgcG8tbnVtYmVyYCwgYHBvLWRlY2ltYWxgLCBgcG8tdGV4dGFyZWFgLCBgcG8tcGFzc3dvcmRgLlxuICAgKi9cbiAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuXG4gIC8qKiBEZXNhYmlsaXRhIG8gY2FtcG8gY2FzbyBpbmZvcm1hciBvIHZhbG9yICp0cnVlKi4gKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKiBUZXh0byBkZSBhanVkYS4gKi9cbiAgaGVscD86IHN0cmluZztcblxuICAvKiogVGV4dG8gZXhpYmlkbyBxdWFuZG8gbyB2YWxvciBkbyBjb21wb25lbnRlIGZvciAqdHJ1ZSouICovXG4gIGJvb2xlYW5UcnVlPzogc3RyaW5nO1xuXG4gIC8qKiBUZXh0byBleGliaWRvIHF1YW5kbyBvIHZhbG9yIGRvIGNvbXBvbmVudGUgZm9yICpmYWxzZSouICovXG4gIGJvb2xlYW5GYWxzZT86IHN0cmluZztcblxuICAvKiogSW5kaWNhIHNlIG8gc3RhdHVzIGRvIGBtb2RlbGAgc2Vyw6EgZXNjb25kaWRvIHZpc3VhbG1lbnRlIGFvIGxhZG8gZG8gc3dpdGNoICovXG4gIGhpZGVMYWJlbFN0YXR1cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYSBzZSBvIGBtb2RlbGAgcmVjZWJlcsOhIG8gdmFsb3IgZm9ybWF0YWRvIHBlbGFzIHByb3ByaWVkYWRlcyBgcC1sYWJlbC1vbmAgZSBgcC1sYWJlbC1vZmZgIG91XG4gICAqIGFwZW5hcyBvIHZhbG9yIHB1cm8gKHNlbSBmb3JtYXRhw6fDo28pLlxuICAgKlxuICAgKiBPIHZhbG9yIHBhZHLDo28gw6k6IGBmYWxzZWAuXG4gICAqXG4gICAqID4gRXN0YSBwcm9wcmllZGFkZSBlc3TDoSBkaXNwb25pdmVsICBhcGVuYXMgcGFyYSBvIGBzd2ljdGhgLlxuICAgKi9cbiAgZm9ybWF0TW9kZWw/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBWYWxvciBtw6F4aW1vIGEgc2VyIGluZm9ybWFkbyBubyBjb21wb25lbnRlLCBwb2RlbmRvIHNlciB1dGlsaXphZG8gcXVhbmRvIG8gdGlwbyBkZSBkYWRvIHBvciAqbnVtYmVyKiwgKmRhdGUqIG91ICpkYXRlVGltZSouXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1kYXRlcGlja2VyYCwgYHBvLWRhdGVwaWNrZXItcmFuZ2VgLCBgcG8tbnVtYmVyYCwgYHBvLWRlY2ltYWxgXG4gICAqICovXG4gIG1heFZhbHVlPzogc3RyaW5nIHwgbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBWYWxvciBtw61uaW1vIGEgc2VyIGluZm9ybWFkbyBubyBjb21wb25lbnRlLCBwb2RlbmRvIHNlciB1dGlsaXphZG8gcXVhbmRvIG8gdGlwbyBkZSBkYWRvIHBvciAqbnVtYmVyKiwgKmRhdGUqIG91ICpkYXRlVGltZSouXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1kYXRlcGlja2VyYCwgYHBvLWRhdGVwaWNrZXItcmFuZ2VgLCBgcG8tbnVtYmVyYCwgYHBvLWRlY2ltYWxgXG4gICAqL1xuICBtaW5WYWx1ZT86IHN0cmluZyB8IG51bWJlcjtcblxuICAvKiogUXVhbnRpZGFkZSBkZSBsaW5oYXMgZXhpYmlkYXMgbm8gYHBvLXRleHRhcmVhYC4gKi9cbiAgcm93cz86IG51bWJlcjtcblxuICAvKiogRXNjb25kZSBhIGluZm9ybWHDp8OjbyBlc3RpbG8gKnBhc3N3b3JkKiwgcG9kZSBzZXIgdXRpbGl6YWRvIHF1YW5kbyBvIHRpcG8gZGUgZGFkbyBmb3IgKnN0cmluZyouICovXG4gIHNlY3JldD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEZ1bsOnw6NvIG91IHNlcnZpw6dvIHBhcmEgdmFsaWRhciBhcyAqKm11ZGFuw6dhcyBkbyBjYW1wbyoqLlxuICAgKlxuICAgKiAqIEEgcHJvcHJpZWRhZGUgYWNlaXRhIG9zIHNlZ3VpbnRlcyB0aXBvczpcbiAgICogLSAqKlN0cmluZyoqOiBFbmRwb2ludCB1c2FkbyBwZWxvIGNvbXBvbmVudGUgcGFyYSByZXF1aXNpw6fDo28gdmlhIGBQT1NUYC5cbiAgICogLSAqKkZ1bmN0aW9uKio6IE3DqXRvZG8gcXVlIHNlcsOhIGV4ZWN1dGFkby5cbiAgICpcbiAgICogQW8gc2VyIGV4ZWN1dGFkbywgaXLDoSByZWNlYmVyIGNvbW8gcGFyw6JtZXRybyB1bSBvYmpldG8gY29tIG8gbm9tZSBkYSBwcm9wcmllZGFkZVxuICAgKiBhbHRlcmFkYSBlIG8gbm92byB2YWxvciwgY29uZm9ybWUgYSBpbnRlcmZhY2UgYFBvRHluYW1pY0Zvcm1GaWVsZENoYW5nZWRgOlxuICAgKlxuICAgKiBgYFxuICAgKiB7IHByb3BlcnR5OiAncHJvcGVydHkgbmFtZScsIHZhbHVlOiAnbmV3IHZhbHVlJyB9XG4gICAqIGBgXG4gICAqXG4gICAqIE8gcmV0b3JubyBkZXN0YSBmdW7Dp8OjbyBkZXZlIHNlciBkbyB0aXBvIFtQb0R5bmFtaWNGb3JtRmllbGRWYWxpZGF0aW9uXShkb2N1bWVudGF0aW9uL3BvLWR5bmFtaWMtZm9ybSNwby1keW5hbWljLWZvcm0tZmllbGQtdmFsaWRhdGlvbiksXG4gICAqIG9uZGUgbyB1c3XDoXJpbyBwb2RlcsOhIGRldGVybWluYXIgYXMgbm92YXMgcHJvcHJpZWRhZGVzIGRvIGNhbXBvLlxuICAgKiBQb3IgZXhlbXBsbzpcbiAgICpcbiAgICogYGBgXG4gICAqIG9uQ2hhbmdlRmllbGQoY2hhbmdlVmFsdWUpOiBQb0R5bmFtaWNGb3JtRmllbGRWYWxpZGF0aW9uIHtcbiAgICpcbiAgICogaWYgKGNoYW5nZVZhbHVlLnByb3BlcnR5ID09PSAnYmlydGhkYXknICYmICF0aGlzLnZhbGlkYXRlKCdiaXJ0aGRheScpKSB7XG4gICAqICAgcmV0dXJuIHtcbiAgICogICAgIHZhbHVlOiAnJyxcbiAgICogICAgIGZpZWxkOiB7IHByb3BlcnR5OiAnYmlydGhkYXknLCByZXF1aXJlZDogdHJ1ZSB9LFxuICAgKiAgICAgZm9jdXM6IHRydWVcbiAgICogICB9O1xuICAgKiB9XG4gICAqIGBgYFxuICAgKlxuICAgKiBQYXJhIHJlZmVyZW5jaWFyIGEgc3VhIGZ1bsOnw6NvIHV0aWxpemUgYSBwcm9wcmllZGFkZSBgYmluZGAsIHBvciBleGVtcGxvOlxuICAgKiBgYFxuICAgKiB7IHByb3BlcnR5OiAnc3RhdGUnLCBncmlkQ29sdW1uczogNiwgdmFsaWRhdGU6IHRoaXMubXlGdW5jdGlvbi5iaW5kKHRoaXMpIH1cbiAgICogYGBcbiAgICovXG4gIHZhbGlkYXRlPzogc3RyaW5nIHwgRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIE9iamV0byBxdWUgc2Vyw6EgZW52aWFkbyBjb21vIHBhcsOibWV0cm8gbmFzIHJlcXVpc2nDp8O1ZXMgZGUgYnVzY2EgdXNhZG9zIHBlbG9zIGNvbXBvbmVudGVzIGBwby1sb29rdXBgIGVcbiAgICogYHBvLWNvbWJvYC5cbiAgICpcbiAgICogUG9yIGV4ZW1wbG8sIHBhcmEgbyBwYXLDom1ldHJvIGB7IGFnZTogMjMgfWAgYSBVUkwgZGEgcmVxdWlzacOnw6NvIGZpY2FyaWE6XG4gICAqXG4gICAqIGBgXG4gICAqIHVybCArID9hZ2U9MjMmZmlsdGVyPVBldGVyXG4gICAqIGBgXG4gICAqL1xuICBwYXJhbXM/OiBhbnk7XG5cbiAgLyoqXG4gICAqIE1lbnNhZ2VtIHF1ZSBzZXLDoSBhcHJlc2VudGFkYSBxdWFuZG8gbyBjYW1wbyBmaWNhciBpbnbDoWxpZG8uXG4gICAqXG4gICAqIE8gY2FtcG8gZmljYSBpbnbDoWxpZG8gcXVhbmRvIGFzIHNlZ3VpbnRlcyBwcm9wcmllZGFkZXMgbsOjbyBmb3JlbSByZXNwZWl0YWRhczpcbiAgICogIC0gcGF0dGVybjtcbiAgICogIC0gbWluVmFsdWU7XG4gICAqICAtIG1heFZhbHVlO1xuICAgKlxuICAgKiA+IEVzdGEgbWVuc2FnZW0gbsOjbyDDqSBhcHJlc2VudGFkYSBxdWFuZG8gbyBjYW1wbyBlc3RpdmVyIHZhemlvLCBtZXNtbyBxdWUgZWxlIHNlamEgcmVxdWVyaWRvLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8tZGF0ZXBpY2tlcmAsIGBwby1pbnB1dGAsIGBwby1udW1iZXJgLCBgcG8tZGVjaW1hbGAsIGBwby1wYXNzd29yZGAuXG4gICAqL1xuICBlcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZvcm1hdG8gZGUgZXhpYmnDp8OjbyBubyBjYW1wby5cbiAgICpcbiAgICogQW8gdXRpbGl6YXIgZXN0YSBwcm9wcmllZGFkZSBjb20gbyBgdHlwZWAgKlBvRHluYW1pY0ZpZWxkVHlwZS5EYXRlKiBvdSAqUG9EeW5hbWljRmllbGRUeXBlLkRhdGVUaW1lKixcbiAgICogcG9kZSBzZXIgdXRpbGl6YWRhIHBhcmEgZm9ybWF0YcOnw6NvIGRlIGV4aWJpw6fDo28gZGEgZGF0YTpcbiAgICpcbiAgICogVmFsb3JlcyB2w6FsaWRvczpcbiAgICpcbiAgICogLSBkZC9tbS95eXl5XG4gICAqIC0gbW0vZGQveXl5eVxuICAgKiAtIHl5eXkvbW0vZGRcbiAgICpcbiAgICpcbiAgICogVGFtYsOpbSBwb2RlLXNlIHV0aWxpemFyIGVtIGNvbmp1bnRvIGNvbSBgc2VhcmNoU2VydmljZWAsIGluZm9ybWFuZG8gdW1hIGxpc3RhIGRlIHByb3ByaWVkYWRlcyBxdWUgc2Vyw6EgdXRpbGl6YWRvXG4gICAqIHBhcmEgZm9ybWF0YcOnw6NvIGRhIGV4aWJpw6fDo28gbm8gY2FtcG8sIHBvciBleGVtcGxvOiBbXCJpZFwiLCBcIm5hbWVcIl0uXG4gICAqL1xuICBmb3JtYXQ/OiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBOb21lIGRhIHByb3ByaWVkYWRlIGRvIG9iamV0byByZXRvcm5hZG8gcXVlIHNlcsOhIHV0aWxpemFkbyBjb21vIGRlc2NyacOnw6NvIGRvIGNhbXBvLlxuICAgKlxuICAgKiBPIHZhbG9yIHBhZHLDo28gw6k6IGBsYWJlbGAuXG4gICAqXG4gICAqID4gRXN0YSBwcm9wcmllZGFkZSBwb2RlIHNlciB1dGlsaXphZGEgZW0gY29uanVudG8gY29tOiBgb3B0aW9uc2AsIGBvcHRpb25zU2VydmljZWAgZSBgc2VhcmNoU2VydmljZWAuXG4gICAqL1xuICBmaWVsZExhYmVsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOb21lIGRhIHByb3ByaWVkYWRlIGRvIG9iamV0byByZXRvcm5hZG8gcXVlIHNlcsOhIHV0aWxpemFkbyBjb21vIHZhbG9yIGRvIGNhbXBvLlxuICAgKlxuICAgKiBPIHZhbG9yIHBhZHLDo28gw6k6IGB2YWx1ZWAuXG4gICAqXG4gICAqID4gRXN0YSBwcm9wcmllZGFkZSBwb2RlIHNlciB1dGlsaXphZGEgZW0gY29uanVudG8gY29tOiBgb3B0aW9uc2AsIGBvcHRpb25zU2VydmljZWAgZSBgc2VhcmNoU2VydmljZWAuXG4gICAqL1xuICBmaWVsZFZhbHVlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmZvcm1hIGEgb3JkZW0gZGUgZXhpYmnDp8OjbyBkbyBjYW1wby5cbiAgICpcbiAgICogRXhlbXBsbyBkZSB1dGlsaXphw6fDo286XG4gICAqXG4gICAqIGBgXG4gICAqIFtcbiAgICogICB7IHByb3BlcnR5OiAndGVzdCAxJywgb3JkZXI6IDIgfSxcbiAgICogICB7IHByb3BlcnR5OiAndGVzdCAyJywgb3JkZXI6IDEgfSxcbiAgICogICB7IHByb3BlcnR5OiAndGVzdCAzJyB9LFxuICAgKiAgIHsgcHJvcGVydHk6ICd0ZXN0IDQnLCBvcmRlcjogMyB9XG4gICAqIF07XG4gICAqIGBgXG4gICAqXG4gICAqIE5hIGV4aWJpw6fDo28gYSBvcmRlbSBmaWNhcsOhIGRlc3NhIGZvcm1hOlxuICAgKiBgYFxuICAgKiBbXG4gICAqICAgeyBwcm9wZXJ0eTogJ3Rlc3QgMicsIG9yZGVyOiAxIH0sXG4gICAqICAgeyBwcm9wZXJ0eTogJ3Rlc3QgMScsIG9yZGVyOiAyIH0sXG4gICAqICAgeyBwcm9wZXJ0eTogJ3Rlc3QgNCcsIG9yZGVyOiAzIH0sXG4gICAqICAgeyBwcm9wZXJ0eTogJ3Rlc3QgMycgfVxuICAgKiBdO1xuICAgKiBgYFxuICAgKlxuICAgKiBTw7Mgc2Vyw6NvIGFjZWl0b3MgdmFsb3JlcyBjb20gbsO6bWVyb3MgaW50ZWlyb3MgbWFpb3JlcyBkbyBxdWUgemVyby5cbiAgICpcbiAgICogQ2FtcG9zIHNlbSBgb3JkZXJgIG91IGNvbSB2YWxvcmVzIG5lZ2F0aXZvcywgemVyYWRvcyBvdSBpbnbDoWxpZG9zXG4gICAqIHNlcsOjbyBvcyDDumx0aW1vcyBhIHNlcmVtIHJlbmRlcml6YWRvcyBlIHNlZ3VpcsOjbyBvIHBvc2ljaW9uYW1lbnRvIGRlbnRybyBkb1xuICAgKiBhcnJheS5cbiAgICovXG4gIG9yZGVyPzogbnVtYmVyO1xuXG4gIC8qKiBNZW5zYWdlbSBxdWUgc2Vyw6EgZXhpYmlkYSBlbnF1YW50byBvIGNhbXBvIG7Do28gZXN0aXZlciBwcmVlbmNoaWRvLiAqL1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lIGEgbG9jYWxpZGFkZSBhIHNlciB1dGlsaXphZGEgbm8gY29tcG9uZW50ZS5cbiAgICogUG9yIHBhZHLDo28gbyB2YWxvciBzZXLDoSBjb25maWd1cmFkbyBzZWd1bmRvIGEgbyBtw7NkdWxvIFtgSTE4bmBdKGRvY3VtZW50YXRpb24vcG8taTE4bilcbiAgICpcbiAgICogRXhlbXBsbyBkZSB1dGlsaXphw6fDo286XG4gICAqIGBgXG4gICAqIFtcbiAgICogICB7IHByb3BlcnR5OiAnYmlydGhkYXknLCBsb2NhbGU6ICdlbicsIHR5cGU6ICdkYXRlJyB9LFxuICAgKiAgIHsgcHJvcGVydHk6ICd3YWdlJywgbG9jYWxlOiAncnUnLCB0eXBlOiAnY3VycmVuY3knIH1cbiAgICogXTtcbiAgICogYGBcbiAgICpcbiAgICogPiBQYXJhIHZlciBxdWFpcyBsaW5ndWFnZW5zIHN1cG9ydGFkYXMgYWNlc3NlIFtgSTE4bmBdKGRvY3VtZW50YXRpb24vcG8taTE4bilcbiAgICogPiBBIHByb3ByaWVkYWRlIHNlcsOhIHJlcGFzc2FkYSBwYXJhIG9zIGNvbXBvbmVudGVzIHF1ZSBzdXBvcnRhbSBhIG1lc21hLlxuICAgKi9cbiAgbG9jYWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPIGNvbnRyb2xlIHBhc3NhIGEgcGVybWl0aXIgYSBlbnRyYWRhIGRlIHVtIGludGVydmFsbyBhbyBpbnbDqXMgZGUgdW0gw7puaWNvIHZhbG9yLlxuICAgKlxuICAgKiA+IEF0dWFsbWVudGUgZXNzYSBwcm9wcmllZGFkZSBlc3TDoSBkaXNwb27DrXZlbCBhcGVuYXMgcGFyYSBvIHRpcG8gJ2RhdGUnIGUgJ2RhdGVUaW1lJy5cbiAgICovXG4gIHJhbmdlPzogYm9vbGVhbjtcblxuICAvKiogSW5kaWNhIHF1ZSBvIGNhbXBvIHNlcsOhIHNvbWVudGUgbGVpdHVyYS5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWRhdGVwaWNrZXJgLCBgcG8tZGF0ZXBpY2tlci1yYW5nZWAsIGBwby1pbnB1dGAsIGBwby1udW1iZXJgLCBgcG8tZGVjaW1hbGAsIGBwby1zZWxlY3RgLCBgcG8tdGV4dGFyZWFgLCBgcG8tcGFzc3dvcmRgXG4gICAqL1xuICByZWFkb25seT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBlcm1pdGUgYSBzZWxlw6fDo28gZGUgbcO6bHRpcGxvcyBpdGVucy5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsOioqIGBwby1sb29rdXBgLCBgcG8tdXBsb2FkYFxuICAgKi9cbiAgbXVsdGlwbGU/OiBib29sZWFuO1xuXG4gIC8qKiBTZSB2ZXJkYWRlaXJvLCBvIGNhbXBvIHJlY2ViZXLDoSB1bSBib3TDo28gcGFyYSBzZXIgbGltcG8uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1kYXRlcGlja2VyYCwgYHBvLWRhdGVwaWNrZXItcmFuZ2VgLCBgcG8taW5wdXRgLCBgcG8tbnVtYmVyYCwgYHBvLWRlY2ltYWxgLCBgcG8tY29tYm9gLCBgcG8tbG9va3VwYCwgYHBvLXBhc3N3b3JkYFxuICAgKi9cbiAgY2xlYW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgYSBwcm9wcmllZGFkZSBuYXRpdmEgYGF1dG9jb21wbGV0ZWAgZG8gY2FtcG8gY29tbyBvZmYuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1kYXRlcGlja2VyYCwgYHBvLWRhdGVwaWNrZXItcmFuZ2VgLCBgcG8taW5wdXRgLCBgcG8tbnVtYmVyYCwgYHBvLWRlY2ltYWxgLCBgcG8tbG9va3VwYCwgYHBvLXBhc3N3b3JkYFxuICAgKi9cbiAgbm9BdXRvY29tcGxldGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQb3Npw6fDo28gZGUgZXhpYmnDp8OjbyBkbyByw7N0dWxvIGRvIFBvU3dpdGNoLlxuICAgKiA+IFBvciBwYWRyw6NvIGV4aWJlIMOgIGRpcmVpdGEuXG4gICAqL1xuICBsYWJlbFBvc2l0aW9uPzogUG9Td2l0Y2hMYWJlbFBvc2l0aW9uO1xuXG4gIC8qKlxuICAgKiBQZXJtaXRlIGVzY29uZGVyIGEgZnVuw6fDo28gZGUgZXNwaWFyIGEgc2VuaGEgZGlnaXRhZGEgbm8gYHBvLXBhc3N3b3JkYC5cbiAgICovXG4gIGhpZGVQYXNzd29yZFBlZWs/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQYWRyw6NvIGRlIGZvcm1hdGHDp8OjbyBwYXJhIHNhw61kYSBkbyBtb2RlbCwgaW5kZXBlbmRlbnRlbWVudGUgZG8gZm9ybWF0byBkZSBlbnRyYWRhLlxuICAgKlxuICAgKiA+IFZlamEgb3MgdmFsb3JlcyB2w6FsaWRvcyBubyBgZW51bVBvRGF0ZXBpY2tlcklzb0Zvcm1hdGAuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbDoqKiBwby1kYXRlcGlja2VyXG4gICAqL1xuICBpc29Gb3JtYXQ/OiBQb0RhdGVwaWNrZXJJc29Gb3JtYXQ7XG5cbiAgLyoqXG4gICAqIE9iamV0byBjb20gYXMgbGl0ZXJhaXMgdXNhZGFzIHBhcmEgb3Mgc2VndWludGVzIGNvbXBvbmVudGVzOiBgcG8tbG9va3VwYCwgYHBvLW11bHRpc2VsZWN0YCwgYHBvLWNvbWJvYCBlIGBwby1kYXRlcGlja2VyLXJhbmdlYC5cbiAgICpcbiAgICogPiBPIG9iamV0byBwYWRyw6NvIGRlIGxpdGVyYWlzIHNlcsOhIHRyYWR1emlkbyBkZSBhY29yZG8gY29tIG8gaWRpb21hIGRvIFBvSTE4blNlcnZpY2Ugb3UgZG8gYnJvd3Nlci5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWxvb2t1cGAsIGBwby1tdWx0aXNlbGVjdGAsIGBwby1jb21ib2AsIGBwby1kYXRlcGlja2VyLXJhbmdlYFxuICAgKi9cbiAgbGl0ZXJhbHM/OiBQb0xvb2t1cExpdGVyYWxzIHwgUG9NdWx0aXNlbGVjdExpdGVyYWxzIHwgUG9Db21ib0xpdGVyYWxzIHwgUG9EYXRlcGlja2VyUmFuZ2VMaXRlcmFscyB8IFBvVXBsb2FkTGl0ZXJhbHM7XG5cbiAgLyoqXG4gICAqIFNlIHZlcmRhZGVpcm8gYXRpdmEgYSBmdW5jaW9uYWxpZGFkZSBkZSBzY3JvbGwgaW5maW5pdG8gcGFyYSBvIGNvbWJvIG91IGxvb2t1cCwgYW8gY2hlZ2FyIGFvIGZpbSBkYSB0YWJlbGEgZXhlY3V0YXLDoSBub3ZhIGJ1c2NhIGRvcyBkYWRvcyBjb25mb3JtZSBwYWdpbmHDp8Ojby5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWNvbWJvYCwgYHBvLWxvb2t1cGAuXG4gICAqL1xuICBpbmZpbml0ZVNjcm9sbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERlZmluZSBvIHBlcmNlbnR1YWwgbmVjZXNzw6FyaW8gcGFyYSBkaXNwYXJhciBvIGV2ZW50byBzaG93LW1vcmUsIHF1ZSDDqSByZXNwb25zw6F2ZWwgcG9yIGNhcnJlZ2FyIG1haXMgZGFkb3Mgbm8gY29tYm8uIENhc28gbyB2YWxvciBzZWphIG1haW9yIHF1ZSAxMDAgb3UgbWVub3IgcXVlIDAsIG8gdmFsb3IgcGFkcsOjbyBzZXLDoSAxMDAlLlxuICAgKiAqKkV4ZW1wbG9zKipcbiAgICogYHsgaW5maW5pdGVTY3JvbGxEaXN0YW5jZTogODAgfWA6IFF1YW5kbyBhdGluZ2lyIDgwJSBkbyBzY3JvbGwgZG8gY29tYm8sIG8gc2hvdy1tb3JlIHNlcsOhIGRpc3BhcmFkby5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsOioqIGBwby1jb21ib2AuXG4gICAqL1xuICBpbmZpbml0ZVNjcm9sbERpc3RhbmNlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgcXVlIGEgYWx0dXJhIGRvIGNvbXBvbmVudGUgc2Vyw6EgYXV0byBhanVzdMOhdmVsLCBwb3NzdWluZG8gdW1hIGFsdHVyYSBtaW5pbWEgcG9yw6ltIGEgYWx0dXJhIG3DoXhpbWEgc2Vyw6EgZGUgYWNvcmRvIGNvbSBvIG7Dum1lcm8gZGUgaXRlbnMgc2VsZWNpb25hZG9zIGUgYSBleHRlbnPDo28gZG9zIG1lc21vcywgbWFudGVuZG8tb3Mgc2VtcHJlIHZpc8OtdmVpcy5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLW11bHRpc2VsZWN0YCwgYHBvLWxvb2t1cGAuXG4gICAqL1xuICBhdXRvSGVpZ2h0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW50ZXJ2YWxvIHV0aWxpemFkbyBubyBgcG8tbnVtYmVyYC5cbiAgICovXG4gIHN0ZXA/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIERlZmluZSBvIG1vZG8gZGUgcGVzcXVpc2EgdXRpbGl6YWRvIG5vIGZpbHRybyBkYSBsaXN0YSBkZSBzZWxlw6fDo286IGBzdGFydHNXaXRoYCwgYGNvbnRhaW5zYCBvdSBgZW5kc1dpdGhgLlxuICAgKiA+IFF1YW5kbyB1dGlsaXphciBhIHByb3ByaWVkYWRlIHAtZmlsdGVyLXNlcnZpY2UgZXN0YSBwcm9wcmllZGFkZSBzZXLDoSBpZ25vcmFkYS5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLW11bHRpc2VsZWN0YC5cbiAgICovXG4gIGZpbHRlck1vZGU/OiBQb011bHRpc2VsZWN0RmlsdGVyTW9kZTtcblxuICAvKipcbiAgICogVmFsb3IgbcOtbmltbyBkZSBjYXJhY3RlcmVzIHBhcmEgcmVhbGl6YXIgbyBmaWx0cm8gbm8gc2VydmnDp28gZG8gYHBvLWNvbWJvYC5cbiAgICovXG4gIGZpbHRlck1pbmxlbmd0aD86IG51bWJlcjtcblxuICAvKipcbiAgICogRGVzYWJpbGl0YSBvIGZpbHRybyBpbmljaWFsIG5vIHNlcnZpw6dvIGRvIGBwby1jb21ib2AsIHF1ZSDDqSBleGVjdXRhZG8gbm8gcHJpbWVpcm8gY2xpcXVlIG5vIGNhbXBvLlxuICAgKi9cbiAgZGlzYWJsZWRJbml0RmlsdGVyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2UgdmVyZGFkZWlybywgZGVzYWJpbGl0YXLDoSBhIGJ1c2NhIGRlIHVtIGl0ZW0gdmlhIFRBQiBubyBgcG8tY29tYm9gLlxuICAgKi9cbiAgZGlzYWJsZWRUYWJGaWx0ZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFc3RhIHByb3ByaWVkYWRlIGRlZmluZSBlbSBxdWFudG8gdGVtcG8gKGVtIG1pbGlzc2VndW5kb3MpLCBhZ3VhcmRhIHBhcmEgYWNpb25hciBvIGV2ZW50byBkZSBmaWx0cm8gYXDDs3MgY2FkYSBwcmVzc2lvbmFtZW50byBkZSB0ZWNsYS4gU2Vyw6EgdXRpbGl6YWRhIGFwZW5hcyBxdWFuZG8gaG91dmVyIHNlcnZpw6dvIChgcC1maWx0ZXItc2VydmljZWApLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8tY29tYm9gLCBgcG8tbXVsdGlzZWxlY3RgLlxuICAgKi9cbiAgZGVib3VuY2VUaW1lPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJbmRpY2EgcXVlIG8gZXZlbnRvIGBwLWNoYW5nZWAgc8OzIHNlcsOhIGRpc3BhcmFkbyBhbyBjbGljYXIgb3UgcHJlc3Npb25hciBhIHRlY2xhIFwiRW50ZXJcIiBzb2JyZSB1bWEgb3DDp8OjbyBzZWxlY2lvbmFkYSBubyBgcG8tY29tYm9gLlxuICAgKi9cbiAgY2hhbmdlT25FbnRlcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYSBxdWUgYSBsaXN0YSBkZWZpbmlkYSBuYSBwcm9wcmllZGFkZSBwLW9wdGlvbnMgc2Vyw6Egb3JkZW5hZGEgcGVsYSBkZXNjcmnDp8Ojby5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWNvbWJvYCwgcG8tbXVsdGlzZWxlY3RcbiAgICovXG4gIHNvcnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciBkbyBjYW1wbyBkZSBwZXNxdWlzYSBkbyBgcG8tbXVsdGlzZWxlY3RgLlxuICAgKlxuICAgKiA+IENhc28gbyBtZXNtbyBuw6NvIHNlamEgaW5mb3JtYWRvLCBvIHZhbG9yIHBhZHLDo28gc2Vyw6EgdHJhZHV6aWRvIGNvbSBiYXNlIG5vIGlkaW9tYSBkbyBuYXZlZ2Fkb3IgKHB0LCBlcyBlIGVuKS5cbiAgICovXG4gIHBsYWNlaG9sZGVyU2VhcmNoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFc2NvbmRlIG8gY2FtcG8gZGUgcGVzcXVpc2EgZXhpc3RlbnRlIGRlbnRybyBkbyBkcm9wZG93biBkbyBgcG8tbXVsdGlzZWxlY3RgLlxuICAgKi9cbiAgaGlkZVNlYXJjaD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYSBzZSBvIGNhbXBvIFwiU2VsZWNpb25hciB0b2Rvc1wiIGRvIGBwby1tdWx0aXNlbGVjdGAgc2Vyw6EgZXNjb25kaWRvLlxuICAgKi9cbiAgaGlkZVNlbGVjdEFsbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExpc3RhIGRlIG9iamV0b3MgZG9zIGNhbXBvcyBxdWUgc2Vyw6NvIGNyaWFkb3MgbmEgYnVzY2EgYXZhbsOnYWRhLlxuICAgKlxuICAgKiA+IENhc28gbsOjbyBzZWphIHBhc3NhZG8gdW0gb2JqZXRvIG91IGVudMOjbyBlbGUgZXN0ZWphIGVtIGJyYW5jbyBvIGxpbmsgZGUgYnVzY2EgYXZhbsOnYWRhIGZpY2Fyw6EgZXNjb25kaWRvLlxuICAgKlxuICAgKiBFeGVtcGxvIGRlIFVSTCBjb20gYnVzY2EgYXZhbsOnYWRhOlxuICAgKlxuICAgKiBgdXJsICsgP3BhZ2U9MSZwYWdlU2l6ZT0yMCZuYW1lPVRvbnklMjBTdGFyayZuaWNrbmFtZT1Ib21lbSUyMGRlJTIwRmVycm9gXG4gICAqXG4gICAqIENhc28gYWxndW0gcGFyw6JtZXRybyBzZWphIHVtYSBsaXN0YSwgYSBjb25jYXRlbmHDp8OjbyDDqSBmZWl0YSB1dGlsaXphbmRvIHbDrXJndWxhLiBFeGVtcGxvOlxuICAgKlxuICAgKiBgdXJsICsgP3BhZ2U9MSZwYWdlU2l6ZT0yMCZuYW1lPVRvbnklMjBTdGFyayxQZXRlciUyMFBhcmtlcixHb2hhbmBcbiAgICovXG4gIGFkdmFuY2VkRmlsdGVycz86IEFycmF5PFBvTG9va3VwQWR2YW5jZWRGaWx0ZXI+O1xuXG4gIC8qKlxuICAgKiBWYWxvcmVzIGFjZWl0b3M6XG4gICAqIC0gRm9yY2VCb29sZWFuQ29tcG9uZW50RW51bS5zd2l0Y2hcbiAgICogLSBGb3JjZUJvb2xlYW5Db21wb25lbnRFbnVtLmNoZWNrYm94XG4gICAqXG4gICAqL1xuICBmb3JjZUJvb2xlYW5Db21wb25lbnRUeXBlPzogRm9yY2VCb29sZWFuQ29tcG9uZW50RW51bTtcblxuICAvKipcbiAgICogcG9kZSBzZXIgdXRpbGl6YWRhIGVtIGNvbmp1bnRvIGNvbSBhIHByb3ByaWVkYWRlIGBvcHRpb25zYCBmb3LDp2FuZG8gbyBjb21wb25lbnRlIGEgcmVuZGVyaXphciB1bSBgcG8tc2VsZWN0YCBvdSBgcG8tcmFkaW8tZ3JvdXBgLlxuICAgKlxuICAgKiBWYWxvcmVzIGFjZWl0b3M6XG4gICAqIC0gRm9yY2VPcHRpb25Db21wb25lbnRFbnVtLnJhZGlvR3JvdXBcbiAgICogLSBGb3JjZU9wdGlvbkNvbXBvbmVudEVudW0uc2VsZWN0XG4gICAqXG4gICAqID5Fc3NhIHByb3ByaWVkYWRlIHNlcsOhIGlnbm9yYWRhIGNhc28gc2VqYSB1dGlsaXphZGEgZW0gY29uanVudG8gY29tIGEgcHJvcHJpZWRhZGUgYG9wdGlvbnNNdWx0aWAgZSBgb3B0aW9uc1NlcnZpY2VgLlxuICAgKi9cbiAgZm9yY2VPcHRpb25zQ29tcG9uZW50VHlwZT86IEZvcmNlT3B0aW9uQ29tcG9uZW50RW51bTtcblxuICAvKipcbiAgICogRXZlbnRvIGRpc3BhcmFkbyBhbyBmZWNoYXIgbyBwb3BvdmVyIGRvIGdlcmVuY2lhZG9yIGRlIGNvbHVuYXMgYXDDs3MgYWx0ZXJhciBhcyBjb2x1bmFzIHZpc8OtdmVpcy5cbiAgICpcbiAgICogTyBjb21wb25lbnRlIGVudmlhIGNvbW8gcGFyw6JtZXRybyB1bSBhcnJheSBkZSBzdHJpbmcgY29tIGFzIGNvbHVuYXMgdmlzw612ZWlzIGF0dWFsaXphZGFzLlxuICAgKiBQb3IgZXhlbXBsbzogW1wiaWRDYXJkXCIsIFwibmFtZVwiLCBcImhpcmVTdGF0dXNcIiwgXCJhZ2VcIl0uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzKio6IGBwby1sb29rdXBgXG4gICAqL1xuICBjaGFuZ2VWaXNpYmxlQ29sdW1ucz86IEZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBFdmVudG8gZGlzcGFyYWRvIGFvIGNsaWNhciBubyBib3TDo28gZGUgcmVzdGF1cmFyIHBhZHLDo28gbm8gZ2VyZW5jaWFkb3IgZGUgY29sdW5hcy5cbiAgICpcbiAgICogTyBjb21wb25lbnRlIGVudmlhIGNvbW8gcGFyw6JtZXRybyB1bSBhcnJheSBkZSBzdHJpbmcgY29tIGFzIGNvbHVuYXMgY29uZmlndXJhZGFzIGluaWNpYWxtZW50ZS5cbiAgICogUG9yIGV4ZW1wbG86IFtcImlkQ2FyZFwiLCBcIm5hbWVcIiwgXCJoaXJlU3RhdHVzXCIsIFwiYWdlXCJdLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpcyoqOiBgcG8tbG9va3VwYFxuICAgKi9cbiAgY29sdW1uUmVzdG9yZU1hbmFnZXI/OiBGdW5jdGlvbjtcblxuICAvKipcbiAgICogVVJMIHF1ZSBkZXZlIHNlciBmZWl0YSBhIHJlcXVpc2nDp8OjbyBjb20gb3MgYXJxdWl2b3Mgc2VsZWNpb25hZG9zLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIHVybD86IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lIHNlIG8gZW52aW8gZG8gYXJxdWl2byBzZXLDoSBhdXRvbcOhdGljbyBhbyBzZWxlY2lvbmFyIG8gbWVzbW8uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgYXV0b1VwbG9hZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBlcm1pdGUgYSBzZWxlw6fDo28gZGUgZGlyZXTDs3Jpb3MgY29udGVuZG8gdW0gb3UgbWFpcyBhcnF1aXZvcyBwYXJhIGVudmlvLlxuICAgKlxuICAgKiA+IEEgaGFiaWxpdGHDp8OjbyBkZXN0YSBwcm9wcmllZGFkZSBzZSByZXN0cmluZ2UgYXBlbmFzIMOgIHNlbGXDp8OjbyBkZSBkaXJldMOzcmlvcy5cbiAgICpcbiAgICogPiBEZWZpbmnDp8OjbyBuw6NvIHN1cG9ydGFkYSBwZWxvIGJyb3dzZXIgKipJbnRlcm5ldCBFeHBsb3JlcioqLCB0b2RhdmlhIHNlcsOhIHBvc3PDrXZlbCBhIHNlbGXDp8OjbyBkZSBhcnF1aXZvcyBwYWRyw6NvLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIGRpcmVjdG9yeT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEV4aWJlIGEgw6FyZWEgb25kZSDDqSBwb3Nzw612ZWwgYXJyYXN0YXIgZSBzZWxlY2lvbmFyIG9zIGFycXVpdm9zLiBRdWFuZG8gZXN0aXZlciBkZWZpbmlkYSwgb21pdGUgbyBib3TDo28gcGFyYSBzZWxlw6fDo28gZGUgYXJxdWl2b3NcbiAgICogYXV0b21hdGljYW1lbnRlLlxuICAgKlxuICAgKiA+IFJlY29tZW5kYW1vcyB1dGlsaXphciBhcGVuYXMgdW0gYHBvLXVwbG9hZGAgY29tIGVzdGEgZnVuY2lvbmFsaWRhZGUgcG9yIHRlbGEuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgZHJhZ0Ryb3A/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgZW0gKnBpeGVscyogYSBhbHR1cmEgZGEgw6FyZWEgb25kZSBwb2RlbSBzZXIgYXJyYXN0YWRvcyBvcyBhcnF1aXZvcy4gQSBhbHR1cmEgbcOtbmltYSBhY2VpdGEgw6kgYDE2MHB4YC5cbiAgICpcbiAgICogPiBFc3RhIHByb3ByaWVkYWRlIGZ1bmNpb25hIHNvbWVudGUgc2UgYSBwcm9wcmllZGFkZSBgcC1kcmFnLWRyb3BgIGVzdGl2ZXIgaGFiaWxpdGFkYS5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsKio6IGBwby11cGxvYWRgXG4gICAqL1xuICBkcmFnRHJvcEhlaWdodD86IG51bWJlcjtcblxuICAvKipcbiAgICogT2JqZXRvIHF1ZSBzZWd1ZSBhIGRlZmluacOnw6NvIGRhIGludGVyZmFjZSBgUG9VcGxvYWRGaWxlUmVzdHJpY3Rpb25zYCxcbiAgICogcXVlIHBvc3NpYmlsaXRhIGRlZmluaXIgdGFtYW5obyBtw6F4aW1vL23DrW5pbW8gZSBleHRlbnPDo28gZG9zIGFycXVpdm9zIHBlcm1pdGlkb3MuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgcmVzdHJpY3Rpb25zPzogUG9VcGxvYWRGaWxlUmVzdHJpY3Rpb25zO1xuXG4gIC8qKlxuICAgKiBOb21lIGRvIGNhbXBvIGRlIGZvcm11bMOhcmlvIHF1ZSBzZXLDoSBlbnZpYWRvIHBhcmEgbyBzZXJ2acOnbyBpbmZvcm1hZG8gbmEgcHJvcHJpZWRhZGUgYHVybGAuXG4gICAqXG4gICAqID4gTyB2YWxvciBkZWZhdWx0IMOpIGBmaWxlc2BcbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsKio6IGBwby11cGxvYWRgXG4gICAqL1xuICBmb3JtRmllbGQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9iamV0byBxdWUgY29udMOpbSBvcyBjYWJlw6dhbGhvcyBxdWUgc2Vyw6EgZW52aWFkbyBuYSByZXF1aXNpw6fDo28gZG9zIGFycXVpdm9zLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIGhlYWRlcnM/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+IH07XG5cbiAgLyoqXG4gICAqIE9jdWx0YSB2aXN1YWxtZW50ZSBhcyBpbmZvcm1hw6fDtWVzIGRlIHJlc3RyacOnw7VlcyBwYXJhIG8gdXBsb2FkLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIGhpZGVSZXN0cmljdGlvbnNJbmZvPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogT21pdGUgbyBib3TDo28gZGUgc2VsZcOnw6NvIGRlIGFycXVpdm9zLlxuICAgKlxuICAgKiA+IENhc28gbyB2YWxvciBkZWZpbmlkbyBzZWphIGB0cnVlYCwgY2FiZXLDoSBhbyBkZXNlbnZvbHZlZG9yIGEgcmVzcG9uc2FiaWxpZGFkZVxuICAgKiBwZWxhIGNoYW1hZGEgZG8gbcOpdG9kbyBgc2VsZWN0RmlsZXMoKWAgcGFyYSBzZWxlw6fDo28gZGUgYXJxdWl2b3MuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgaGlkZVNlbGVjdEJ1dHRvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE9taXRlIG8gYm90w6NvIGRlIGVudmlvIGRlIGFycXVpdm9zLlxuICAgKlxuICAgKiA+IENhc28gbyB2YWxvciBkZWZpbmlkbyBzZWphIGB0cnVlYCwgY2FiZXLDoSBhbyBkZXNlbnZvbHZlZG9yIGEgcmVzcG9uc2FiaWxpZGFkZVxuICAgKiBwZWxhIGNoYW1hZGEgZG8gbcOpdG9kbyBgc2VuZEZpbGVzKClgIHBhcmEgZW52aW8gZG8ocykgYXJxdWl2byhzKSBzZWxlY2lvbmFkbyhzKS5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsKio6IGBwby11cGxvYWRgXG4gICAqL1xuICBoaWRlU2VuZEJ1dHRvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERlZmluZSBzZSBhIGluZGljYcOnw6NvIGRlIGNhbXBvIG9icmlnYXTDs3JpbyBzZXLDoSBleGliaWRhLlxuICAgKlxuICAgKiA+IE7Do28gc2Vyw6EgZXhpYmlkYSBhIGluZGljYcOnw6NvIHNlOlxuICAgKiAtIE7Do28gcG9zc3VpciBgcC1oZWxwYCBlL291IGBwLWxhYmVsYC5cbiAgICovXG4gIHNob3dSZXF1aXJlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEV2ZW50byBzZXLDoSBkaXNwYXJhZG8gcXVhbmRvIG9jb3JyZXIgYWxndW0gZXJybyBubyBlbnZpbyBkbyBhcnF1aXZvLlxuICAgKiA+IFBvciBwYXLDom1ldHJvIHNlcsOhIHBhc3NhZG8gbyBvYmpldG8gZG8gcmV0b3JubyBxdWUgw6kgZG8gdGlwbyBgSHR0cEVycm9yUmVzcG9uc2VgLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIG9uRXJyb3I/OiBGdW5jdGlvbjtcblxuICAvKipcbiAgICogRXZlbnRvIHNlcsOhIGRpc3BhcmFkbyBxdWFuZG8gbyBlbnZpbyBkbyBhcnF1aXZvIGZvciByZWFsaXphZG8gY29tIHN1Y2Vzc28uXG4gICAqID4gUG9yIHBhcsOibWV0cm8gc2Vyw6EgcGFzc2FkbyBvIG9iamV0byBkbyByZXRvcm5vIHF1ZSDDqSBkbyB0aXBvIGBIdHRwUmVzcG9uc2VgLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIG9uU3VjY2Vzcz86IEZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBGdW7Dp8OjbyBxdWUgc2Vyw6EgZXhlY3V0YWRhIG5vIG1vbWVudG8gZGUgcmVhbGl6YXIgbyBlbnZpbyBkbyBhcnF1aXZvLFxuICAgKiBvbmRlIHNlcsOhIHBvc3PDrXZlbCBhZGljaW9uYXIgaW5mb3JtYcOnw7VlcyBhbyBwYXLDom1ldHJvIHF1ZSBzZXLDoSBlbnZpYWRvIG5hIHJlcXVpc2nDp8Ojby5cbiAgICogw4kgcGFzc2FkbyBwb3IgcGFyw6JtZXRybyB1bSBvYmpldG8gY29tIG8gYXJxdWl2byBlIGEgcHJvcHJpZWRhZGUgZGF0YSBuZXN0YSBwcm9wcmllZGFkZSBwb2RlIHNlciBpbmZvcm1hZG8gYWxndW0gZGFkbyxcbiAgICogcXVlIHNlcsOhIGVudmlhZG8gZW0gY29uanVudG8gY29tIG8gYXJxdWl2byBuYSByZXF1aXNpw6fDo28sIHBvciBleGVtcGxvOlxuICAgKlxuICAgKiBgYGBcbiAgICogICBldmVudC5kYXRhID0ge2lkOiAnaWQgZG8gdXN1w6FyaW8nfTtcbiAgICogYGBgXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgb25VcGxvYWQ/OiBGdW5jdGlvbjtcbn1cbiJdfQ==
|
|
@@ -149,7 +149,7 @@ function PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_switch_9_T
|
|
|
149
149
|
const ctx_r17 = i0.ɵɵnextContext(2);
|
|
150
150
|
i0.ɵɵproperty("name", field_r8.property);
|
|
151
151
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r17.value[field_r8.property]);
|
|
152
|
-
i0.ɵɵproperty("ngClass", field_r8.componentClass)("p-disabled", ctx_r17.isDisabled(field_r8))("p-format-model", field_r8.formatModel)("p-help", field_r8.help)("p-label", field_r8.label)("p-label-off", field_r8.booleanFalse)("p-label-on", field_r8.booleanTrue)("p-label-position", field_r8.labelPosition);
|
|
152
|
+
i0.ɵɵproperty("ngClass", field_r8.componentClass)("p-disabled", ctx_r17.isDisabled(field_r8))("p-format-model", field_r8.formatModel)("p-help", field_r8.help)("p-label", field_r8.label)("p-label-off", field_r8.booleanFalse)("p-label-on", field_r8.booleanTrue)("p-label-position", field_r8.labelPosition)("p-hide-label-status", field_r8.hideLabelStatus);
|
|
153
153
|
} }
|
|
154
154
|
function PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_checkbox_10_Template(rf, ctx) { if (rf & 1) {
|
|
155
155
|
const _r91 = i0.ɵɵgetCurrentView();
|
|
@@ -256,7 +256,7 @@ function PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_upload_17_
|
|
|
256
256
|
} }
|
|
257
257
|
function PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
258
258
|
i0.ɵɵelementContainerStart(0);
|
|
259
|
-
i0.ɵɵtemplate(1, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_divider_1_Template, 1, 1, "po-divider", 6)(2, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_datepicker_2_Template, 2, 20, "po-datepicker", 7)(3, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_datepicker_range_3_Template, 2, 16, "po-datepicker-range", 8)(4, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_input_4_Template, 2, 21, "po-input", 9)(5, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_number_5_Template, 2, 21, "po-number", 10)(6, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_decimal_6_Template, 2, 23, "po-decimal", 11)(7, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_select_7_Template, 2, 14, "po-select", 12)(8, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_radio_group_8_Template, 2, 12, "po-radio-group", 13)(9, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_switch_9_Template, 2,
|
|
259
|
+
i0.ɵɵtemplate(1, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_divider_1_Template, 1, 1, "po-divider", 6)(2, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_datepicker_2_Template, 2, 20, "po-datepicker", 7)(3, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_datepicker_range_3_Template, 2, 16, "po-datepicker-range", 8)(4, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_input_4_Template, 2, 21, "po-input", 9)(5, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_number_5_Template, 2, 21, "po-number", 10)(6, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_decimal_6_Template, 2, 23, "po-decimal", 11)(7, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_select_7_Template, 2, 14, "po-select", 12)(8, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_radio_group_8_Template, 2, 12, "po-radio-group", 13)(9, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_switch_9_Template, 2, 11, "po-switch", 14)(10, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_checkbox_10_Template, 2, 7, "po-checkbox", 15)(11, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_combo_11_Template, 2, 28, "po-combo", 16)(12, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_lookup_12_Template, 2, 24, "po-lookup", 17)(13, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_checkbox_group_13_Template, 2, 12, "po-checkbox-group", 13)(14, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_multiselect_14_Template, 2, 23, "po-multiselect", 18)(15, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_textarea_15_Template, 2, 15, "po-textarea", 19)(16, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_password_16_Template, 2, 20, "po-password", 20)(17, PoDynamicFormFieldsComponent_ng_template_1_ng_container_0_po_upload_17_Template, 2, 22, "po-upload", 21);
|
|
260
260
|
i0.ɵɵelementContainerEnd();
|
|
261
261
|
} if (rf & 2) {
|
|
262
262
|
const field_r8 = ctx.$implicit;
|
|
@@ -430,7 +430,7 @@ export class PoDynamicFormFieldsComponent extends PoDynamicFormFieldsBaseCompone
|
|
|
430
430
|
} if (rf & 2) {
|
|
431
431
|
let _t;
|
|
432
432
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.components = _t);
|
|
433
|
-
} }, features: [i0.ɵɵProvidersFeature([PoDynamicFormValidationService], [{ provide: ControlContainer, useExisting: NgForm }]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], decls: 5, vars: 1, consts: [["class", "po-row", 3, "po-dynamic", 4, "ngIf"], ["poContent", ""], ["poContentContainer", ""], [1, "po-row"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [4, "ngFor", "ngForOf", "ngForTrackBy"], ["class", "po-sm-12", 3, "p-label", 4, "ngIf"], [3, "name", "ngModel", "ngClass", "p-clean", "p-disabled", "p-error-pattern", "p-auto-focus", "p-format", "p-help", "p-iso-format", "p-label", "p-locale", "p-max-date", "p-min-date", "p-no-autocomplete", "p-optional", "p-readonly", "p-required", "p-show-required", "p-placeholder", "ngModelChange", "p-change", 4, "ngIf"], [3, "name", "ngModel", "ngClass", "p-clean", "p-disabled", "p-auto-focus", "p-help", "p-label", "p-literals", "p-max-date", "p-min-date", "p-no-autocomplete", "p-optional", "p-readonly", "p-required", "p-show-required", "ngModelChange", "p-change", 4, "ngIf"], [3, "name", "ngModel", "ngClass", "p-clean", "p-disabled", "p-error-pattern", "p-auto-focus", "p-help", "p-label", "p-mask-format-model", "p-mask", "p-maxlength", "p-minlength", "p-no-autocomplete", "p-optional", "p-pattern", "p-required", "p-show-required", "p-icon", "p-placeholder", "p-readonly", "ngModelChange", "p-change", "p-change-model", 4, "ngIf"], [3, "name", "ngModel", "ngClass", "p-clean", "p-disabled", "p-error-pattern", "p-auto-focus", "p-help", "p-label", "p-min", "p-max", "p-maxlength", "p-minlength", "p-no-autocomplete", "p-optional", "p-step", "p-readonly", "p-required", "p-show-required", "p-icon", "p-placeholder", "ngModelChange", "p-change", "p-change-model", 4, "ngIf"], [3, "name", "ngModel", "ngClass", "p-clean", "p-error-pattern", "p-disabled", "p-decimals-length", "p-thousand-maxlength", "p-icon", "p-auto-focus", "p-help", "p-label", "p-locale", "p-min", "p-max", "p-maxlength", "p-minlength", "p-no-autocomplete", "p-optional", "p-readonly", "p-required", "p-show-required", "p-placeholder", "ngModelChange", "p-change", "p-change-model", 4, "ngIf"], [3, "name", "ngModel", "ngClass", "p-field-label", "p-field-value", "p-disabled", "p-help", "p-label", "p-optional", "p-options", "p-required", "p-show-required", "p-placeholder", "p-readonly", "ngModelChange", "p-change", 4, "ngIf"], [3, "name", "ngModel", "ngClass", "p-columns", "p-auto-focus", "p-disabled", "p-help", "p-label", "p-optional", "p-options", "p-required", "p-show-required", "ngModelChange", "p-change", 4, "ngIf"], [3, "name", "ngModel", "ngClass", "p-disabled", "p-format-model", "p-help", "p-label", "p-label-off", "p-label-on", "p-label-position", "ngModelChange", "p-change", 4, "ngIf"], [3, "name", "ngModel", "ngClass", "p-auto-focus", "p-disabled", "p-label", "p-size", "ngModelChange", "p-change", 4, "ngIf"], ["p-emit-object-value", "", 3, "name", "ngModel", "ngClass", "p-auto-focus", "p-clean", "p-disabled", "p-field-label", "p-field-value", "p-filter-params", "p-filter-service", "p-help", "p-infinite-scroll", "p-infinite-scroll-distance", "p-label", "p-literals", "p-options", "p-optional", "p-sort", "p-required", "p-show-required", "p-icon", "p-placeholder", "p-filter-minlength", "p-filter-mode", "p-disabled-init-filter", "p-disabled-tab-filter", "p-debounce-time", "p-change-on-enter", "ngModelChange", "p-change", 4, "ngIf"], ["p-field-label", "label", "p-field-value", "value", 3, "name", "ngModel", "ngClass", "p-clean", "p-columns", "p-disabled", "p-field-label", "p-field-value", "p-filter-params", "p-filter-service", "p-auto-focus", "p-auto-height", "p-help", "p-field-format", "p-infinite-scroll", "p-label", "p-literals", "p-multiple", "p-no-autocomplete", "p-optional", "p-required", "p-show-required", "p-placeholder", "p-advanced-filters", "ngModelChange", "p-change", "p-change-visible-columns", "p-restore-column-manager", 4, "ngIf"], [3, "name", "ngModel", "ngClass", "p-disabled", "p-auto-focus", "p-auto-height", "p-help", "p-label", "p-literals", "p-optional", "p-options", "p-required", "p-show-required", "p-placeholder", "p-field-label", "p-field-value", "p-filter-service", "p-filter-mode", "p-debounce-time", "p-sort", "p-placeholder-search", "p-hide-search", "p-hide-select-all", "ngModelChange", "p-change", 4, "ngIf"], [3, "name", "ngModel", "ngClass", "p-disabled", "p-auto-focus", "p-help", "p-label", "p-maxlength", "p-minlength", "p-optional", "p-readonly", "p-required", "p-show-required", "p-rows", "p-placeholder", "ngModelChange", "p-change", "p-change-model", 4, "ngIf"], [3, "name", "ngModel", "ngClass", "p-clean", "p-disabled", "p-error-pattern", "p-auto-focus", "p-help", "p-hide-password-peek", "p-icon", "p-label", "p-maxlength", "p-minlength", "p-no-autocomplete", "p-optional", "p-pattern", "p-readonly", "p-required", "p-show-required", "p-placeholder", "ngModelChange", "p-change", "p-change-model", 4, "ngIf"], [3, "ngModel", "ngClass", "p-auto-upload", "p-directory", "p-disabled", "p-drag-drop", "p-drag-drop-height", "p-restrictions", "p-form-field", "p-headers", "p-help", "p-hide-restrictions-info", "p-hide-select-button", "p-hide-send-button", "p-multiple", "p-label", "p-literals", "name", "p-optional", "p-required", "p-show-required", "p-url", "ngModelChange", "p-error", "p-success", "p-upload", "p-change", "p-change-model", 4, "ngIf"], [1, "po-sm-12", 3, "p-label"], [3, "name", "ngModel", "ngClass", "p-clean", "p-disabled", "p-error-pattern", "p-auto-focus", "p-format", "p-help", "p-iso-format", "p-label", "p-locale", "p-max-date", "p-min-date", "p-no-autocomplete", "p-optional", "p-readonly", "p-required", "p-show-required", "p-placeholder", "ngModelChange", "p-change"], ["component", ""], [3, "name", "ngModel", "ngClass", "p-clean", "p-disabled", "p-auto-focus", "p-help", "p-label", "p-literals", "p-max-date", "p-min-date", "p-no-autocomplete", "p-optional", "p-readonly", "p-required", "p-show-required", "ngModelChange", "p-change"], [3, "name", "ngModel", "ngClass", "p-clean", "p-disabled", "p-error-pattern", "p-auto-focus", "p-help", "p-label", "p-mask-format-model", "p-mask", "p-maxlength", "p-minlength", "p-no-autocomplete", "p-optional", "p-pattern", "p-required", "p-show-required", "p-icon", "p-placeholder", "p-readonly", "ngModelChange", "p-change", "p-change-model"], [3, "name", "ngModel", "ngClass", "p-clean", "p-disabled", "p-error-pattern", "p-auto-focus", "p-help", "p-label", "p-min", "p-max", "p-maxlength", "p-minlength", "p-no-autocomplete", "p-optional", "p-step", "p-readonly", "p-required", "p-show-required", "p-icon", "p-placeholder", "ngModelChange", "p-change", "p-change-model"], [3, "name", "ngModel", "ngClass", "p-clean", "p-error-pattern", "p-disabled", "p-decimals-length", "p-thousand-maxlength", "p-icon", "p-auto-focus", "p-help", "p-label", "p-locale", "p-min", "p-max", "p-maxlength", "p-minlength", "p-no-autocomplete", "p-optional", "p-readonly", "p-required", "p-show-required", "p-placeholder", "ngModelChange", "p-change", "p-change-model"], [3, "name", "ngModel", "ngClass", "p-field-label", "p-field-value", "p-disabled", "p-help", "p-label", "p-optional", "p-options", "p-required", "p-show-required", "p-placeholder", "p-readonly", "ngModelChange", "p-change"], [3, "name", "ngModel", "ngClass", "p-columns", "p-auto-focus", "p-disabled", "p-help", "p-label", "p-optional", "p-options", "p-required", "p-show-required", "ngModelChange", "p-change"], [3, "name", "ngModel", "ngClass", "p-disabled", "p-format-model", "p-help", "p-label", "p-label-off", "p-label-on", "p-label-position", "ngModelChange", "p-change"], [3, "name", "ngModel", "ngClass", "p-auto-focus", "p-disabled", "p-label", "p-size", "ngModelChange", "p-change"], ["p-emit-object-value", "", 3, "name", "ngModel", "ngClass", "p-auto-focus", "p-clean", "p-disabled", "p-field-label", "p-field-value", "p-filter-params", "p-filter-service", "p-help", "p-infinite-scroll", "p-infinite-scroll-distance", "p-label", "p-literals", "p-options", "p-optional", "p-sort", "p-required", "p-show-required", "p-icon", "p-placeholder", "p-filter-minlength", "p-filter-mode", "p-disabled-init-filter", "p-disabled-tab-filter", "p-debounce-time", "p-change-on-enter", "ngModelChange", "p-change"], ["p-field-label", "label", "p-field-value", "value", 3, "name", "ngModel", "ngClass", "p-clean", "p-columns", "p-disabled", "p-field-label", "p-field-value", "p-filter-params", "p-filter-service", "p-auto-focus", "p-auto-height", "p-help", "p-field-format", "p-infinite-scroll", "p-label", "p-literals", "p-multiple", "p-no-autocomplete", "p-optional", "p-required", "p-show-required", "p-placeholder", "p-advanced-filters", "ngModelChange", "p-change", "p-change-visible-columns", "p-restore-column-manager"], [3, "name", "ngModel", "ngClass", "p-disabled", "p-auto-focus", "p-auto-height", "p-help", "p-label", "p-literals", "p-optional", "p-options", "p-required", "p-show-required", "p-placeholder", "p-field-label", "p-field-value", "p-filter-service", "p-filter-mode", "p-debounce-time", "p-sort", "p-placeholder-search", "p-hide-search", "p-hide-select-all", "ngModelChange", "p-change"], [3, "name", "ngModel", "ngClass", "p-disabled", "p-auto-focus", "p-help", "p-label", "p-maxlength", "p-minlength", "p-optional", "p-readonly", "p-required", "p-show-required", "p-rows", "p-placeholder", "ngModelChange", "p-change", "p-change-model"], [3, "name", "ngModel", "ngClass", "p-clean", "p-disabled", "p-error-pattern", "p-auto-focus", "p-help", "p-hide-password-peek", "p-icon", "p-label", "p-maxlength", "p-minlength", "p-no-autocomplete", "p-optional", "p-pattern", "p-readonly", "p-required", "p-show-required", "p-placeholder", "ngModelChange", "p-change", "p-change-model"], [3, "ngModel", "ngClass", "p-auto-upload", "p-directory", "p-disabled", "p-drag-drop", "p-drag-drop-height", "p-restrictions", "p-form-field", "p-headers", "p-help", "p-hide-restrictions-info", "p-hide-select-button", "p-hide-send-button", "p-multiple", "p-label", "p-literals", "name", "p-optional", "p-required", "p-show-required", "p-url", "ngModelChange", "p-error", "p-success", "p-upload", "p-change", "p-change-model"], [3, "p-fields", "p-content"]], template: function PoDynamicFormFieldsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
433
|
+
} }, features: [i0.ɵɵProvidersFeature([PoDynamicFormValidationService], [{ provide: ControlContainer, useExisting: NgForm }]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], decls: 5, vars: 1, consts: [["class", "po-row", 3, "po-dynamic", 4, "ngIf"], ["poContent", ""], ["poContentContainer", ""], [1, "po-row"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [4, "ngFor", "ngForOf", "ngForTrackBy"], ["class", "po-sm-12", 3, "p-label", 4, "ngIf"], [3, "name", "ngModel", "ngClass", "p-clean", "p-disabled", "p-error-pattern", "p-auto-focus", "p-format", "p-help", "p-iso-format", "p-label", "p-locale", "p-max-date", "p-min-date", "p-no-autocomplete", "p-optional", "p-readonly", "p-required", "p-show-required", "p-placeholder", "ngModelChange", "p-change", 4, "ngIf"], [3, "name", "ngModel", "ngClass", "p-clean", "p-disabled", "p-auto-focus", "p-help", "p-label", "p-literals", "p-max-date", "p-min-date", "p-no-autocomplete", "p-optional", "p-readonly", "p-required", "p-show-required", "ngModelChange", "p-change", 4, "ngIf"], [3, "name", "ngModel", "ngClass", "p-clean", "p-disabled", "p-error-pattern", "p-auto-focus", "p-help", "p-label", "p-mask-format-model", "p-mask", "p-maxlength", "p-minlength", "p-no-autocomplete", "p-optional", "p-pattern", "p-required", "p-show-required", "p-icon", "p-placeholder", "p-readonly", "ngModelChange", "p-change", "p-change-model", 4, "ngIf"], [3, "name", "ngModel", "ngClass", "p-clean", "p-disabled", "p-error-pattern", "p-auto-focus", "p-help", "p-label", "p-min", "p-max", "p-maxlength", "p-minlength", "p-no-autocomplete", "p-optional", "p-step", "p-readonly", "p-required", "p-show-required", "p-icon", "p-placeholder", "ngModelChange", "p-change", "p-change-model", 4, "ngIf"], [3, "name", "ngModel", "ngClass", "p-clean", "p-error-pattern", "p-disabled", "p-decimals-length", "p-thousand-maxlength", "p-icon", "p-auto-focus", "p-help", "p-label", "p-locale", "p-min", "p-max", "p-maxlength", "p-minlength", "p-no-autocomplete", "p-optional", "p-readonly", "p-required", "p-show-required", "p-placeholder", "ngModelChange", "p-change", "p-change-model", 4, "ngIf"], [3, "name", "ngModel", "ngClass", "p-field-label", "p-field-value", "p-disabled", "p-help", "p-label", "p-optional", "p-options", "p-required", "p-show-required", "p-placeholder", "p-readonly", "ngModelChange", "p-change", 4, "ngIf"], [3, "name", "ngModel", "ngClass", "p-columns", "p-auto-focus", "p-disabled", "p-help", "p-label", "p-optional", "p-options", "p-required", "p-show-required", "ngModelChange", "p-change", 4, "ngIf"], [3, "name", "ngModel", "ngClass", "p-disabled", "p-format-model", "p-help", "p-label", "p-label-off", "p-label-on", "p-label-position", "p-hide-label-status", "ngModelChange", "p-change", 4, "ngIf"], [3, "name", "ngModel", "ngClass", "p-auto-focus", "p-disabled", "p-label", "p-size", "ngModelChange", "p-change", 4, "ngIf"], ["p-emit-object-value", "", 3, "name", "ngModel", "ngClass", "p-auto-focus", "p-clean", "p-disabled", "p-field-label", "p-field-value", "p-filter-params", "p-filter-service", "p-help", "p-infinite-scroll", "p-infinite-scroll-distance", "p-label", "p-literals", "p-options", "p-optional", "p-sort", "p-required", "p-show-required", "p-icon", "p-placeholder", "p-filter-minlength", "p-filter-mode", "p-disabled-init-filter", "p-disabled-tab-filter", "p-debounce-time", "p-change-on-enter", "ngModelChange", "p-change", 4, "ngIf"], ["p-field-label", "label", "p-field-value", "value", 3, "name", "ngModel", "ngClass", "p-clean", "p-columns", "p-disabled", "p-field-label", "p-field-value", "p-filter-params", "p-filter-service", "p-auto-focus", "p-auto-height", "p-help", "p-field-format", "p-infinite-scroll", "p-label", "p-literals", "p-multiple", "p-no-autocomplete", "p-optional", "p-required", "p-show-required", "p-placeholder", "p-advanced-filters", "ngModelChange", "p-change", "p-change-visible-columns", "p-restore-column-manager", 4, "ngIf"], [3, "name", "ngModel", "ngClass", "p-disabled", "p-auto-focus", "p-auto-height", "p-help", "p-label", "p-literals", "p-optional", "p-options", "p-required", "p-show-required", "p-placeholder", "p-field-label", "p-field-value", "p-filter-service", "p-filter-mode", "p-debounce-time", "p-sort", "p-placeholder-search", "p-hide-search", "p-hide-select-all", "ngModelChange", "p-change", 4, "ngIf"], [3, "name", "ngModel", "ngClass", "p-disabled", "p-auto-focus", "p-help", "p-label", "p-maxlength", "p-minlength", "p-optional", "p-readonly", "p-required", "p-show-required", "p-rows", "p-placeholder", "ngModelChange", "p-change", "p-change-model", 4, "ngIf"], [3, "name", "ngModel", "ngClass", "p-clean", "p-disabled", "p-error-pattern", "p-auto-focus", "p-help", "p-hide-password-peek", "p-icon", "p-label", "p-maxlength", "p-minlength", "p-no-autocomplete", "p-optional", "p-pattern", "p-readonly", "p-required", "p-show-required", "p-placeholder", "ngModelChange", "p-change", "p-change-model", 4, "ngIf"], [3, "ngModel", "ngClass", "p-auto-upload", "p-directory", "p-disabled", "p-drag-drop", "p-drag-drop-height", "p-restrictions", "p-form-field", "p-headers", "p-help", "p-hide-restrictions-info", "p-hide-select-button", "p-hide-send-button", "p-multiple", "p-label", "p-literals", "name", "p-optional", "p-required", "p-show-required", "p-url", "ngModelChange", "p-error", "p-success", "p-upload", "p-change", "p-change-model", 4, "ngIf"], [1, "po-sm-12", 3, "p-label"], [3, "name", "ngModel", "ngClass", "p-clean", "p-disabled", "p-error-pattern", "p-auto-focus", "p-format", "p-help", "p-iso-format", "p-label", "p-locale", "p-max-date", "p-min-date", "p-no-autocomplete", "p-optional", "p-readonly", "p-required", "p-show-required", "p-placeholder", "ngModelChange", "p-change"], ["component", ""], [3, "name", "ngModel", "ngClass", "p-clean", "p-disabled", "p-auto-focus", "p-help", "p-label", "p-literals", "p-max-date", "p-min-date", "p-no-autocomplete", "p-optional", "p-readonly", "p-required", "p-show-required", "ngModelChange", "p-change"], [3, "name", "ngModel", "ngClass", "p-clean", "p-disabled", "p-error-pattern", "p-auto-focus", "p-help", "p-label", "p-mask-format-model", "p-mask", "p-maxlength", "p-minlength", "p-no-autocomplete", "p-optional", "p-pattern", "p-required", "p-show-required", "p-icon", "p-placeholder", "p-readonly", "ngModelChange", "p-change", "p-change-model"], [3, "name", "ngModel", "ngClass", "p-clean", "p-disabled", "p-error-pattern", "p-auto-focus", "p-help", "p-label", "p-min", "p-max", "p-maxlength", "p-minlength", "p-no-autocomplete", "p-optional", "p-step", "p-readonly", "p-required", "p-show-required", "p-icon", "p-placeholder", "ngModelChange", "p-change", "p-change-model"], [3, "name", "ngModel", "ngClass", "p-clean", "p-error-pattern", "p-disabled", "p-decimals-length", "p-thousand-maxlength", "p-icon", "p-auto-focus", "p-help", "p-label", "p-locale", "p-min", "p-max", "p-maxlength", "p-minlength", "p-no-autocomplete", "p-optional", "p-readonly", "p-required", "p-show-required", "p-placeholder", "ngModelChange", "p-change", "p-change-model"], [3, "name", "ngModel", "ngClass", "p-field-label", "p-field-value", "p-disabled", "p-help", "p-label", "p-optional", "p-options", "p-required", "p-show-required", "p-placeholder", "p-readonly", "ngModelChange", "p-change"], [3, "name", "ngModel", "ngClass", "p-columns", "p-auto-focus", "p-disabled", "p-help", "p-label", "p-optional", "p-options", "p-required", "p-show-required", "ngModelChange", "p-change"], [3, "name", "ngModel", "ngClass", "p-disabled", "p-format-model", "p-help", "p-label", "p-label-off", "p-label-on", "p-label-position", "p-hide-label-status", "ngModelChange", "p-change"], [3, "name", "ngModel", "ngClass", "p-auto-focus", "p-disabled", "p-label", "p-size", "ngModelChange", "p-change"], ["p-emit-object-value", "", 3, "name", "ngModel", "ngClass", "p-auto-focus", "p-clean", "p-disabled", "p-field-label", "p-field-value", "p-filter-params", "p-filter-service", "p-help", "p-infinite-scroll", "p-infinite-scroll-distance", "p-label", "p-literals", "p-options", "p-optional", "p-sort", "p-required", "p-show-required", "p-icon", "p-placeholder", "p-filter-minlength", "p-filter-mode", "p-disabled-init-filter", "p-disabled-tab-filter", "p-debounce-time", "p-change-on-enter", "ngModelChange", "p-change"], ["p-field-label", "label", "p-field-value", "value", 3, "name", "ngModel", "ngClass", "p-clean", "p-columns", "p-disabled", "p-field-label", "p-field-value", "p-filter-params", "p-filter-service", "p-auto-focus", "p-auto-height", "p-help", "p-field-format", "p-infinite-scroll", "p-label", "p-literals", "p-multiple", "p-no-autocomplete", "p-optional", "p-required", "p-show-required", "p-placeholder", "p-advanced-filters", "ngModelChange", "p-change", "p-change-visible-columns", "p-restore-column-manager"], [3, "name", "ngModel", "ngClass", "p-disabled", "p-auto-focus", "p-auto-height", "p-help", "p-label", "p-literals", "p-optional", "p-options", "p-required", "p-show-required", "p-placeholder", "p-field-label", "p-field-value", "p-filter-service", "p-filter-mode", "p-debounce-time", "p-sort", "p-placeholder-search", "p-hide-search", "p-hide-select-all", "ngModelChange", "p-change"], [3, "name", "ngModel", "ngClass", "p-disabled", "p-auto-focus", "p-help", "p-label", "p-maxlength", "p-minlength", "p-optional", "p-readonly", "p-required", "p-show-required", "p-rows", "p-placeholder", "ngModelChange", "p-change", "p-change-model"], [3, "name", "ngModel", "ngClass", "p-clean", "p-disabled", "p-error-pattern", "p-auto-focus", "p-help", "p-hide-password-peek", "p-icon", "p-label", "p-maxlength", "p-minlength", "p-no-autocomplete", "p-optional", "p-pattern", "p-readonly", "p-required", "p-show-required", "p-placeholder", "ngModelChange", "p-change", "p-change-model"], [3, "ngModel", "ngClass", "p-auto-upload", "p-directory", "p-disabled", "p-drag-drop", "p-drag-drop-height", "p-restrictions", "p-form-field", "p-headers", "p-help", "p-hide-restrictions-info", "p-hide-select-button", "p-hide-send-button", "p-multiple", "p-label", "p-literals", "name", "p-optional", "p-required", "p-show-required", "p-url", "ngModelChange", "p-error", "p-success", "p-upload", "p-change", "p-change-model"], [3, "p-fields", "p-content"]], template: function PoDynamicFormFieldsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
434
434
|
i0.ɵɵtemplate(0, PoDynamicFormFieldsComponent_div_0_Template, 2, 6, "div", 0)(1, PoDynamicFormFieldsComponent_ng_template_1_Template, 1, 2, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(3, PoDynamicFormFieldsComponent_ng_template_3_Template, 1, 2, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor);
|
|
435
435
|
} if (rf & 2) {
|
|
436
436
|
i0.ɵɵproperty("ngIf", ctx.visibleFields && ctx.visibleFields.length > 0);
|
|
@@ -438,10 +438,10 @@ export class PoDynamicFormFieldsComponent extends PoDynamicFormFieldsBaseCompone
|
|
|
438
438
|
}
|
|
439
439
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoDynamicFormFieldsComponent, [{
|
|
440
440
|
type: Component,
|
|
441
|
-
args: [{ selector: 'po-dynamic-form-fields', viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], providers: [PoDynamicFormValidationService], template: "<div class=\"po-row\" [class.po-dynamic]=\"hasContainers\" *ngIf=\"visibleFields && visibleFields.length > 0\">\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-container *ngFor=\"let field of fields; trackBy: trackBy\">\n <po-divider *ngIf=\"field?.divider?.trim()\" class=\"po-sm-12\" [p-label]=\"field.divider\"> </po-divider>\n\n <po-datepicker\n #component\n *ngIf=\"compareTo(field.control, 'datepicker')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-auto-focus]=\"field.focus\"\n [p-format]=\"field.format\"\n [p-help]=\"field.help\"\n [p-iso-format]=\"field.isoFormat\"\n [p-label]=\"field.label\"\n [p-locale]=\"field.locale\"\n [p-max-date]=\"field.maxValue\"\n [p-min-date]=\"field.minValue\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-datepicker>\n\n <po-datepicker-range\n #component\n *ngIf=\"compareTo(field.control, 'datepickerrange')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [p-max-date]=\"field.maxValue\"\n [p-min-date]=\"field.minValue\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n >\n </po-datepicker-range>\n\n <po-input\n #component\n *ngIf=\"compareTo(field.control, 'input')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-mask-format-model]=\"field.maskFormatModel\"\n [p-mask]=\"field.mask\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-pattern]=\"field.pattern\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n [p-icon]=\"field.icon\"\n [p-placeholder]=\"field.placeholder\"\n [p-readonly]=\"field.readonly\"\n >\n </po-input>\n\n <po-number\n #component\n *ngIf=\"compareTo(field.control, 'number')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-min]=\"field.minValue\"\n [p-max]=\"field.maxValue\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-step]=\"field.step\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n [p-icon]=\"field.icon\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-number>\n\n <po-decimal\n #component\n *ngIf=\"compareTo(field.control, 'decimal')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-clean]=\"field.clean\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-disabled]=\"isDisabled(field)\"\n [p-decimals-length]=\"field.decimalsLength\"\n [p-thousand-maxlength]=\"field.thousandMaxlength\"\n [p-icon]=\"field.icon\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-locale]=\"field.locale\"\n [p-min]=\"field.minValue\"\n [p-max]=\"field.maxValue\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-decimal>\n\n <po-select\n #component\n *ngIf=\"compareTo(field.control, 'select')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-field-label]=\"field.fieldLabel\"\n [p-field-value]=\"field.fieldValue\"\n [p-disabled]=\"isDisabled(field)\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-optional]=\"field.optional\"\n [p-options]=\"field.options\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n [p-placeholder]=\"field.placeholder\"\n [p-readonly]=\"field.readonly\"\n >\n </po-select>\n\n <po-radio-group\n #component\n *ngIf=\"compareTo(field.control, 'radioGroup')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-columns]=\"field.columns || 3\"\n [p-auto-focus]=\"field.focus\"\n [p-disabled]=\"isDisabled(field)\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-optional]=\"field.optional\"\n [p-options]=\"field.options\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n >\n </po-radio-group>\n\n <po-switch\n #component\n *ngIf=\"compareTo(field.control, 'switch')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-disabled]=\"isDisabled(field)\"\n [p-format-model]=\"field.formatModel\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-label-off]=\"field.booleanFalse\"\n [p-label-on]=\"field.booleanTrue\"\n [p-label-position]=\"field.labelPosition\"\n (p-change)=\"onChangeField(field)\"\n >\n </po-switch>\n\n <po-checkbox\n #component\n *ngIf=\"compareTo(field.control, 'checkbox')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-auto-focus]=\"field.focus\"\n [p-disabled]=\"isDisabled(field)\"\n [p-label]=\"field.label\"\n [p-size]=\"field.size\"\n (p-change)=\"onChangeField(field)\"\n >\n </po-checkbox>\n\n <po-combo\n #component\n *ngIf=\"compareTo(field.control, 'combo')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n p-emit-object-value\n [p-auto-focus]=\"field.focus\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-field-label]=\"field.fieldLabel\"\n [p-field-value]=\"field.fieldValue\"\n [p-filter-params]=\"field.params\"\n [p-filter-service]=\"field.optionsService\"\n [p-help]=\"field.help\"\n [p-infinite-scroll]=\"field.infiniteScroll\"\n [p-infinite-scroll-distance]=\"field.infiniteScrollDistance || 100\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [p-options]=\"field.options\"\n [p-optional]=\"field.optional\"\n [p-sort]=\"field.sort\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field, $event)\"\n [p-icon]=\"field.icon\"\n [p-placeholder]=\"field.placeholder\"\n [p-filter-minlength]=\"field.filterMinlength\"\n [p-filter-mode]=\"field.filterMode\"\n [p-disabled-init-filter]=\"field.disabledInitFilter\"\n [p-disabled-tab-filter]=\"field.disabledTabFilter\"\n [p-debounce-time]=\"field.debounceTime\"\n [p-change-on-enter]=\"field.changeOnEnter\"\n >\n </po-combo>\n\n <po-lookup\n #component\n *ngIf=\"compareTo(field.control, 'lookup')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n p-field-label=\"label\"\n p-field-value=\"value\"\n [ngClass]=\"field.componentClass\"\n [p-clean]=\"field.clean\"\n [p-columns]=\"field.columns\"\n [p-disabled]=\"isDisabled(field)\"\n [p-field-label]=\"field.fieldLabel || 'label'\"\n [p-field-value]=\"field.fieldValue || 'value'\"\n [p-filter-params]=\"field.params\"\n [p-filter-service]=\"field.searchService\"\n [p-auto-focus]=\"field.focus\"\n [p-auto-height]=\"field.autoHeight\"\n [p-help]=\"field.help\"\n [p-field-format]=\"field.format\"\n [p-infinite-scroll]=\"field.infiniteScroll\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [p-multiple]=\"field.multiple\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n [p-placeholder]=\"field.placeholder\"\n [p-advanced-filters]=\"field.advancedFilters\"\n (p-change-visible-columns)=\"field.changeVisibleColumns?.($event)\"\n (p-restore-column-manager)=\"field.columnRestoreManager?.($event)\"\n >\n </po-lookup>\n\n <po-checkbox-group\n #component\n *ngIf=\"compareTo(field.control, 'checkboxGroup')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-columns]=\"field.columns || 3\"\n [p-auto-focus]=\"field.focus\"\n [p-disabled]=\"isDisabled(field)\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-optional]=\"field.optional\"\n [p-options]=\"field.options\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n >\n </po-checkbox-group>\n\n <po-multiselect\n #component\n *ngIf=\"compareTo(field.control, 'multiselect')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-disabled]=\"isDisabled(field)\"\n [p-auto-focus]=\"field.focus\"\n [p-auto-height]=\"field.autoHeight\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [p-optional]=\"field.optional\"\n [p-options]=\"field.options\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n [p-placeholder]=\"field.placeholder\"\n [p-field-label]=\"field.fieldLabel\"\n [p-field-value]=\"field.fieldValue\"\n [p-filter-service]=\"field.optionsService\"\n [p-filter-mode]=\"field.filterMode\"\n [p-debounce-time]=\"field.debounceTime\"\n [p-sort]=\"field.sort\"\n [p-placeholder-search]=\"field.placeholderSearch\"\n [p-hide-search]=\"field.hideSearch\"\n [p-hide-select-all]=\"field.hideSelectAll\"\n >\n </po-multiselect>\n\n <po-textarea\n #component\n *ngIf=\"compareTo(field.control, 'textarea')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-disabled]=\"isDisabled(field)\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-optional]=\"field.optional\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n [p-rows]=\"field.rows\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-textarea>\n\n <po-password\n #component\n *ngIf=\"compareTo(field.control, 'password')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-hide-password-peek]=\"field.hidePasswordPeek\"\n [p-icon]=\"field.icon\"\n [p-label]=\"field.label\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-pattern]=\"field.pattern\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-password>\n\n <po-upload\n #component\n *ngIf=\"compareTo(field.control, 'upload')\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-auto-upload]=\"field.autoUpload\"\n [p-directory]=\"field.directory\"\n [p-disabled]=\"isDisabled(field)\"\n [p-drag-drop]=\"field.dragDrop\"\n [p-drag-drop-height]=\"field.dragDropHeight\"\n [p-restrictions]=\"field.restrictions\"\n [p-form-field]=\"field.formField\"\n [p-headers]=\"field.headers\"\n [p-help]=\"field.help\"\n [p-hide-restrictions-info]=\"field.hideRestrictionsInfo\"\n [p-hide-select-button]=\"field.hideSelectButton\"\n [p-hide-send-button]=\"field.hideSendButton\"\n [p-multiple]=\"field.multiple\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [name]=\"field.property\"\n (p-error)=\"field.onError($event)\"\n (p-success)=\"field.onSuccess($event)\"\n (p-upload)=\"field.onUpload($event)\"\n [p-optional]=\"field.optional\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n [p-url]=\"field.url\"\n >\n </po-upload>\n </ng-container>\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" }]
|
|
441
|
+
args: [{ selector: 'po-dynamic-form-fields', viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], providers: [PoDynamicFormValidationService], template: "<div class=\"po-row\" [class.po-dynamic]=\"hasContainers\" *ngIf=\"visibleFields && visibleFields.length > 0\">\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-container *ngFor=\"let field of fields; trackBy: trackBy\">\n <po-divider *ngIf=\"field?.divider?.trim()\" class=\"po-sm-12\" [p-label]=\"field.divider\"> </po-divider>\n\n <po-datepicker\n #component\n *ngIf=\"compareTo(field.control, 'datepicker')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-auto-focus]=\"field.focus\"\n [p-format]=\"field.format\"\n [p-help]=\"field.help\"\n [p-iso-format]=\"field.isoFormat\"\n [p-label]=\"field.label\"\n [p-locale]=\"field.locale\"\n [p-max-date]=\"field.maxValue\"\n [p-min-date]=\"field.minValue\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-datepicker>\n\n <po-datepicker-range\n #component\n *ngIf=\"compareTo(field.control, 'datepickerrange')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [p-max-date]=\"field.maxValue\"\n [p-min-date]=\"field.minValue\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n >\n </po-datepicker-range>\n\n <po-input\n #component\n *ngIf=\"compareTo(field.control, 'input')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-mask-format-model]=\"field.maskFormatModel\"\n [p-mask]=\"field.mask\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-pattern]=\"field.pattern\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n [p-icon]=\"field.icon\"\n [p-placeholder]=\"field.placeholder\"\n [p-readonly]=\"field.readonly\"\n >\n </po-input>\n\n <po-number\n #component\n *ngIf=\"compareTo(field.control, 'number')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-min]=\"field.minValue\"\n [p-max]=\"field.maxValue\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-step]=\"field.step\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n [p-icon]=\"field.icon\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-number>\n\n <po-decimal\n #component\n *ngIf=\"compareTo(field.control, 'decimal')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-clean]=\"field.clean\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-disabled]=\"isDisabled(field)\"\n [p-decimals-length]=\"field.decimalsLength\"\n [p-thousand-maxlength]=\"field.thousandMaxlength\"\n [p-icon]=\"field.icon\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-locale]=\"field.locale\"\n [p-min]=\"field.minValue\"\n [p-max]=\"field.maxValue\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-decimal>\n\n <po-select\n #component\n *ngIf=\"compareTo(field.control, 'select')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-field-label]=\"field.fieldLabel\"\n [p-field-value]=\"field.fieldValue\"\n [p-disabled]=\"isDisabled(field)\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-optional]=\"field.optional\"\n [p-options]=\"field.options\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n [p-placeholder]=\"field.placeholder\"\n [p-readonly]=\"field.readonly\"\n >\n </po-select>\n\n <po-radio-group\n #component\n *ngIf=\"compareTo(field.control, 'radioGroup')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-columns]=\"field.columns || 3\"\n [p-auto-focus]=\"field.focus\"\n [p-disabled]=\"isDisabled(field)\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-optional]=\"field.optional\"\n [p-options]=\"field.options\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n >\n </po-radio-group>\n\n <po-switch\n #component\n *ngIf=\"compareTo(field.control, 'switch')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-disabled]=\"isDisabled(field)\"\n [p-format-model]=\"field.formatModel\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-label-off]=\"field.booleanFalse\"\n [p-label-on]=\"field.booleanTrue\"\n [p-label-position]=\"field.labelPosition\"\n [p-hide-label-status]=\"field.hideLabelStatus\"\n (p-change)=\"onChangeField(field)\"\n >\n </po-switch>\n\n <po-checkbox\n #component\n *ngIf=\"compareTo(field.control, 'checkbox')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-auto-focus]=\"field.focus\"\n [p-disabled]=\"isDisabled(field)\"\n [p-label]=\"field.label\"\n [p-size]=\"field.size\"\n (p-change)=\"onChangeField(field)\"\n >\n </po-checkbox>\n\n <po-combo\n #component\n *ngIf=\"compareTo(field.control, 'combo')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n p-emit-object-value\n [p-auto-focus]=\"field.focus\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-field-label]=\"field.fieldLabel\"\n [p-field-value]=\"field.fieldValue\"\n [p-filter-params]=\"field.params\"\n [p-filter-service]=\"field.optionsService\"\n [p-help]=\"field.help\"\n [p-infinite-scroll]=\"field.infiniteScroll\"\n [p-infinite-scroll-distance]=\"field.infiniteScrollDistance || 100\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [p-options]=\"field.options\"\n [p-optional]=\"field.optional\"\n [p-sort]=\"field.sort\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field, $event)\"\n [p-icon]=\"field.icon\"\n [p-placeholder]=\"field.placeholder\"\n [p-filter-minlength]=\"field.filterMinlength\"\n [p-filter-mode]=\"field.filterMode\"\n [p-disabled-init-filter]=\"field.disabledInitFilter\"\n [p-disabled-tab-filter]=\"field.disabledTabFilter\"\n [p-debounce-time]=\"field.debounceTime\"\n [p-change-on-enter]=\"field.changeOnEnter\"\n >\n </po-combo>\n\n <po-lookup\n #component\n *ngIf=\"compareTo(field.control, 'lookup')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n p-field-label=\"label\"\n p-field-value=\"value\"\n [ngClass]=\"field.componentClass\"\n [p-clean]=\"field.clean\"\n [p-columns]=\"field.columns\"\n [p-disabled]=\"isDisabled(field)\"\n [p-field-label]=\"field.fieldLabel || 'label'\"\n [p-field-value]=\"field.fieldValue || 'value'\"\n [p-filter-params]=\"field.params\"\n [p-filter-service]=\"field.searchService\"\n [p-auto-focus]=\"field.focus\"\n [p-auto-height]=\"field.autoHeight\"\n [p-help]=\"field.help\"\n [p-field-format]=\"field.format\"\n [p-infinite-scroll]=\"field.infiniteScroll\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [p-multiple]=\"field.multiple\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n [p-placeholder]=\"field.placeholder\"\n [p-advanced-filters]=\"field.advancedFilters\"\n (p-change-visible-columns)=\"field.changeVisibleColumns?.($event)\"\n (p-restore-column-manager)=\"field.columnRestoreManager?.($event)\"\n >\n </po-lookup>\n\n <po-checkbox-group\n #component\n *ngIf=\"compareTo(field.control, 'checkboxGroup')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-columns]=\"field.columns || 3\"\n [p-auto-focus]=\"field.focus\"\n [p-disabled]=\"isDisabled(field)\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-optional]=\"field.optional\"\n [p-options]=\"field.options\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n >\n </po-checkbox-group>\n\n <po-multiselect\n #component\n *ngIf=\"compareTo(field.control, 'multiselect')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-disabled]=\"isDisabled(field)\"\n [p-auto-focus]=\"field.focus\"\n [p-auto-height]=\"field.autoHeight\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [p-optional]=\"field.optional\"\n [p-options]=\"field.options\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n [p-placeholder]=\"field.placeholder\"\n [p-field-label]=\"field.fieldLabel\"\n [p-field-value]=\"field.fieldValue\"\n [p-filter-service]=\"field.optionsService\"\n [p-filter-mode]=\"field.filterMode\"\n [p-debounce-time]=\"field.debounceTime\"\n [p-sort]=\"field.sort\"\n [p-placeholder-search]=\"field.placeholderSearch\"\n [p-hide-search]=\"field.hideSearch\"\n [p-hide-select-all]=\"field.hideSelectAll\"\n >\n </po-multiselect>\n\n <po-textarea\n #component\n *ngIf=\"compareTo(field.control, 'textarea')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-disabled]=\"isDisabled(field)\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-label]=\"field.label\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-optional]=\"field.optional\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n [p-rows]=\"field.rows\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-textarea>\n\n <po-password\n #component\n *ngIf=\"compareTo(field.control, 'password')\"\n [name]=\"field.property\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-clean]=\"field.clean\"\n [p-disabled]=\"isDisabled(field)\"\n [p-error-pattern]=\"field.errorMessage\"\n [p-auto-focus]=\"field.focus\"\n [p-help]=\"field.help\"\n [p-hide-password-peek]=\"field.hidePasswordPeek\"\n [p-icon]=\"field.icon\"\n [p-label]=\"field.label\"\n [p-maxlength]=\"field.maxLength\"\n [p-minlength]=\"field.minLength\"\n [p-no-autocomplete]=\"field.noAutocomplete\"\n [p-optional]=\"field.optional\"\n [p-pattern]=\"field.pattern\"\n [p-readonly]=\"field.readonly\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n [p-placeholder]=\"field.placeholder\"\n >\n </po-password>\n\n <po-upload\n #component\n *ngIf=\"compareTo(field.control, 'upload')\"\n [(ngModel)]=\"value[field.property]\"\n [ngClass]=\"field.componentClass\"\n [p-auto-upload]=\"field.autoUpload\"\n [p-directory]=\"field.directory\"\n [p-disabled]=\"isDisabled(field)\"\n [p-drag-drop]=\"field.dragDrop\"\n [p-drag-drop-height]=\"field.dragDropHeight\"\n [p-restrictions]=\"field.restrictions\"\n [p-form-field]=\"field.formField\"\n [p-headers]=\"field.headers\"\n [p-help]=\"field.help\"\n [p-hide-restrictions-info]=\"field.hideRestrictionsInfo\"\n [p-hide-select-button]=\"field.hideSelectButton\"\n [p-hide-send-button]=\"field.hideSendButton\"\n [p-multiple]=\"field.multiple\"\n [p-label]=\"field.label\"\n [p-literals]=\"field.literals\"\n [name]=\"field.property\"\n (p-error)=\"field.onError($event)\"\n (p-success)=\"field.onSuccess($event)\"\n (p-upload)=\"field.onUpload($event)\"\n [p-optional]=\"field.optional\"\n [p-required]=\"field.required\"\n [p-show-required]=\"field.showRequired\"\n (p-change)=\"onChangeField(field)\"\n (p-change-model)=\"onChangeFieldModel(field)\"\n [p-url]=\"field.url\"\n >\n </po-upload>\n </ng-container>\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" }]
|
|
442
442
|
}], () => [{ type: i1.TitleCasePipe }, { type: i2.PoDynamicFormValidationService }, { type: i0.ChangeDetectorRef }, { type: i3.NgForm }], { components: [{
|
|
443
443
|
type: ViewChildren,
|
|
444
444
|
args: ['component']
|
|
445
445
|
}] }); })();
|
|
446
446
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoDynamicFormFieldsComponent, { className: "PoDynamicFormFieldsComponent", filePath: "lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields.component.ts", lineNumber: 23 }); })();
|
|
447
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy1mb3JtLWZpZWxkcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tZHluYW1pYy9wby1keW5hbWljLWZvcm0vcG8tZHluYW1pYy1mb3JtLWZpZWxkcy9wby1keW5hbWljLWZvcm0tZmllbGRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1keW5hbWljL3BvLWR5bmFtaWMtZm9ybS9wby1keW5hbWljLWZvcm0tZmllbGRzL3BvLWR5bmFtaWMtZm9ybS1maWVsZHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBMEQsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUkxRCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUUzRixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ05oSCx3QkFLZ0I7Ozs7SUFObEIsOEJBQXlHO0lBQ3ZHLHFHQUtnQjtJQUNsQixpQkFBTTs7Ozs7SUFQYyxrREFBa0M7SUFFakQsY0FFUTtJQUZSLG1FQUVRLDZIQUFBOzs7SUFPVCxpQ0FBb0c7OztJQUF4QywwQ0FBeUI7Ozs7SUFFckYsNkNBd0JDO0lBcEJDLCthQUFtQztJQWtCbkMsK1FBQVksZUFBQSwrQkFBb0IsQ0FBQSxJQUFDO0lBR25DLGlCQUFnQjs7OztJQXRCZCx3Q0FBdUI7SUFDdkIsZ0VBQW1DO0lBQ25DLGlEQUFnQywyQkFBQSw0Q0FBQSwwQ0FBQSxnQ0FBQSw2QkFBQSx5QkFBQSxv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QyxhQUN4RCxDQUFDLDhCQUE4QixDQUFDO2dKQUdoQixVQUFVO2tCQUFwQyxZQUFZO21CQUFDLFdBQVc7O2tGQURkLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uQ2hhbmdlcywgUXVlcnlMaXN0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRpdGxlQ2FzZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBQb0R5bmFtaWNGb3JtRmllbGQgfSBmcm9tICcuLi9wby1keW5hbWljLWZvcm0tZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvRHluYW1pY0Zvcm1GaWVsZHNCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1keW5hbWljLWZvcm0tZmllbGRzLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IFBvRHluYW1pY0Zvcm1GaWVsZFZhbGlkYXRpb24gfSBmcm9tICcuLi9wby1keW5hbWljLWZvcm0tdmFsaWRhdGlvbi9wby1keW5hbWljLWZvcm0tZmllbGQtdmFsaWRhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9EeW5hbWljRm9ybVZhbGlkYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vcG8tZHluYW1pYy1mb3JtLXZhbGlkYXRpb24vcG8tZHluYW1pYy1mb3JtLXZhbGlkYXRpb24uc2VydmljZSc7XG5cbi8qKlxuICogQGRvY3NQcml2YXRlXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogQ29tcG9uZW50ZSBkZSBjcmlhw6fDo28gZG9zIGNhbXBvcyBkaW7Dom1pY29zLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1keW5hbWljLWZvcm0tZmllbGRzJyxcbiAgdGVtcGxhdGVVcmw6ICdwby1keW5hbWljLWZvcm0tZmllbGRzLmNvbXBvbmVudC5odG1sJyxcbiAgdmlld1Byb3ZpZGVyczogW3sgcHJvdmlkZTogQ29udHJvbENvbnRhaW5lciwgdXNlRXhpc3Rpbmc6IE5nRm9ybSB9XSxcbiAgcHJvdmlkZXJzOiBbUG9EeW5hbWljRm9ybVZhbGlkYXRpb25TZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBQb0R5bmFtaWNGb3JtRmllbGRzQ29tcG9uZW50IGV4dGVuZHMgUG9EeW5hbWljRm9ybUZpZWxkc0Jhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBAVmlld0NoaWxkcmVuKCdjb21wb25lbnQnKSBjb21wb25lbnRzOiBRdWVyeUxpc3Q8eyBuYW1lOiBzdHJpbmc7IGZvY3VzOiAoKSA9PiB2b2lkIH0+O1xuXG4gIHByaXZhdGUgcHJldmlvdXNWYWx1ZSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHRpdGxlQ2FzZVBpcGU6IFRpdGxlQ2FzZVBpcGUsXG4gICAgcHJpdmF0ZSB2YWxpZGF0aW9uU2VydmljZTogUG9EeW5hbWljRm9ybVZhbGlkYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlczogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBmb3JtOiBOZ0Zvcm1cbiAgKSB7XG4gICAgc3VwZXIodGl0bGVDYXNlUGlwZSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMuZmllbGRzKSB7XG4gICAgICB0aGlzLnZpc2libGVGaWVsZHMgPSB0aGlzLmdldFZpc2libGVGaWVsZHMoKTtcbiAgICAgIHRoaXMuc2V0Q29udGFpbmVyRmllbGRzKCk7XG4gICAgfVxuICB9XG5cbiAgZm9jdXMocHJvcGVydHk6IHN0cmluZykge1xuICAgIGNvbnN0IGZvdW5kQ29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRzLmZpbmQoY29tcG9uZW50ID0+IGNvbXBvbmVudC5uYW1lID09PSBwcm9wZXJ0eSk7XG4gICAgaWYgKGZvdW5kQ29tcG9uZW50KSB7XG4gICAgICBmb3VuZENvbXBvbmVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIGlzRGlzYWJsZWQoZmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmaWVsZC5kaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkRm9ybTtcbiAgfVxuXG4gIGFzeW5jIG9uQ2hhbmdlRmllbGQodmlzaWJsZUZpZWxkOiBQb0R5bmFtaWNGb3JtRmllbGQsIG9iamVjdFZhbHVlPzogYW55KSB7XG4gICAgY29uc3QgeyBwcm9wZXJ0eSB9ID0gdmlzaWJsZUZpZWxkO1xuICAgIGNvbnN0IGlzQm9vbGVhblR5cGUgPSB2aXNpYmxlRmllbGQudHlwZSA9PT0gJ2Jvb2xlYW4nO1xuICAgIGNvbnN0IGlzQ2hhbmdlZFZhbHVlRmllbGQgPSB0aGlzLnByZXZpb3VzVmFsdWVbcHJvcGVydHldICE9PSB0aGlzLnZhbHVlW3Byb3BlcnR5XTtcblxuICAgIGlmICh2aXNpYmxlRmllbGQub3B0aW9uc1NlcnZpY2UpIHtcbiAgICAgIHRoaXMub2JqZWN0VmFsdWUuZW1pdChvYmplY3RWYWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gdmVyaWZpY2Egc2UgbyBmb3JtdWxhcmlvIGVzdGEgdG91Y2hlZCBwYXJhIG7Do28gZGlzcGFyYXIgbyB2YWxpZGF0ZSBhbyBjYXJyZWdhciBhIHRlbGEuXG4gICAgaWYgKCh0aGlzLmZvcm0udG91Y2hlZCB8fCBpc0Jvb2xlYW5UeXBlKSAmJiBpc0NoYW5nZWRWYWx1ZUZpZWxkKSB7XG4gICAgICBjb25zdCB7IGNoYW5nZWRGaWVsZCwgY2hhbmdlZEZpZWxkSW5kZXggfSA9IHRoaXMuZ2V0RmllbGQocHJvcGVydHkpO1xuXG4gICAgICBpZiAoY2hhbmdlZEZpZWxkLnZhbGlkYXRlKSB7XG4gICAgICAgIGF3YWl0IHRoaXMudmFsaWRhdGVGaWVsZChjaGFuZ2VkRmllbGQsIGNoYW5nZWRGaWVsZEluZGV4LCB2aXNpYmxlRmllbGQpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnRyaWdnZXJWYWxpZGF0aW9uT25Gb3JtKGNoYW5nZWRGaWVsZEluZGV4KTtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZVByZXZpb3VzVmFsdWUoKTtcbiAgfVxuXG4gIC8vZW1pdGUgbyB2YWxvciBhIGNhZGEgY2FyYWN0ZXJlIGRpZ2l0YWRvIG5vIGlucHV0XG4gIG9uQ2hhbmdlRmllbGRNb2RlbCh2aXNpYmxlRmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCkge1xuICAgIGlmICh0aGlzLnZhbGlkYXRlT25JbnB1dCkge1xuICAgICAgY29uc3QgeyBwcm9wZXJ0eSB9ID0gdmlzaWJsZUZpZWxkO1xuICAgICAgY29uc3QgeyBjaGFuZ2VkRmllbGRJbmRleCB9ID0gdGhpcy5nZXRGaWVsZChwcm9wZXJ0eSk7XG4gICAgICB0aGlzLnRyaWdnZXJWYWxpZGF0aW9uT25Gb3JtKGNoYW5nZWRGaWVsZEluZGV4KTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVQcmV2aW91c1ZhbHVlKCkge1xuICAgIHRoaXMucHJldmlvdXNWYWx1ZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy52YWx1ZSkpO1xuICB9XG5cbiAgdHJhY2tCeShpbmRleCkge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlGaWVsZFZhbGlkYXRpb24oaW5kZXg6IG51bWJlciwgdmFsaWRhdGVkRmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZFZhbGlkYXRpb24pIHtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuZmllbGRzW2luZGV4XTtcblxuICAgIHRoaXMuZmllbGRzW2luZGV4XSA9IHsgLi4uZmllbGQsIC4uLnZhbGlkYXRlZEZpZWxkLmZpZWxkIH07XG4gICAgdGhpcy51cGRhdGVGaWVsZHMoKTtcblxuICAgIGlmICh2YWxpZGF0ZWRGaWVsZC5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSkge1xuICAgICAgdGhpcy52YWx1ZVtmaWVsZC5wcm9wZXJ0eV0gPSB2YWxpZGF0ZWRGaWVsZC52YWx1ZTtcbiAgICB9XG5cbiAgICB0aGlzLmNoYW5nZXMuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgaWYgKHZhbGlkYXRlZEZpZWxkLmZvY3VzKSB7XG4gICAgICB0aGlzLmZvY3VzKGZpZWxkLnByb3BlcnR5KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEZpZWxkKHByb3BlcnR5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBjaGFuZ2VkRmllbGRJbmRleCA9IHRoaXMuZmllbGRzLmZpbmRJbmRleChmaWVsZCA9PiBmaWVsZC5wcm9wZXJ0eSA9PT0gcHJvcGVydHkpO1xuICAgIGNvbnN0IGNoYW5nZWRGaWVsZCA9IHRoaXMuZmllbGRzW2NoYW5nZWRGaWVsZEluZGV4XTtcblxuICAgIHJldHVybiB7IGNoYW5nZWRGaWVsZCwgY2hhbmdlZEZpZWxkSW5kZXggfTtcbiAgfVxuXG4gIHByaXZhdGUgdHJpZ2dlclZhbGlkYXRpb25PbkZvcm0oY2hhbmdlZEZpZWxkSW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IGlzVmFsaWRhdGFibGVGaWVsZCA9IHRoaXMudmFsaWRhdGVGaWVsZHM/Lmxlbmd0aFxuICAgICAgPyB0aGlzLnZhbGlkYXRlRmllbGRzQ2hlY2tlcih0aGlzLnZhbGlkYXRlRmllbGRzLCB0aGlzLmZpZWxkc1tjaGFuZ2VkRmllbGRJbmRleF0ucHJvcGVydHkpXG4gICAgICA6IHRydWU7XG4gICAgY29uc3QgaGFzVmFsaWRhdGlvbkZvcm0gPSB0aGlzLnZhbGlkYXRlICYmIGlzVmFsaWRhdGFibGVGaWVsZCAmJiB0aGlzLmZvcm1WYWxpZGF0ZS5vYnNlcnZlcnMubGVuZ3RoO1xuXG4gICAgaWYgKGhhc1ZhbGlkYXRpb25Gb3JtKSB7XG4gICAgICBjb25zdCB1cGRhdGVkRmllbGQgPSB0aGlzLmZpZWxkc1tjaGFuZ2VkRmllbGRJbmRleF07XG4gICAgICB0aGlzLmZvcm1WYWxpZGF0ZS5lbWl0KHVwZGF0ZWRGaWVsZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVGaWVsZHMoKSB7XG4gICAgdGhpcy5maWVsZHNDaGFuZ2UuZW1pdCh0aGlzLmZpZWxkcyk7XG4gICAgdGhpcy52aXNpYmxlRmllbGRzID0gdGhpcy5nZXRWaXNpYmxlRmllbGRzKCk7XG4gICAgdGhpcy5zZXRDb250YWluZXJGaWVsZHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVGaWVsZHNDaGVja2VyKHZhbGlkYXRlRmllbGRzOiBBcnJheTxzdHJpbmc+LCBwcm9wZXJ0eUZpZWxkOiBQb0R5bmFtaWNGb3JtRmllbGRbJ3Byb3BlcnR5J10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdmFsaWRhdGVGaWVsZHMuc29tZSh2YWxpZGF0ZUZpZWxkSXRlbSA9PiB2YWxpZGF0ZUZpZWxkSXRlbSA9PT0gcHJvcGVydHlGaWVsZCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHZhbGlkYXRlRmllbGQoZmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCwgZmllbGRJbmRleDogbnVtYmVyLCB2aXNpYmxlRmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZVtmaWVsZC5wcm9wZXJ0eV07XG5cbiAgICBjb25zdCBwcmV2aW91c0Rpc2FibGVkID0gdmlzaWJsZUZpZWxkLmRpc2FibGVkO1xuICAgIHZpc2libGVGaWVsZC5kaXNhYmxlZCA9IHRydWU7XG4gICAgdGhpcy5jaGFuZ2VzLmRldGVjdENoYW5nZXMoKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB2YWxpZGF0ZWRGaWVsZCA9IGF3YWl0IHRoaXMudmFsaWRhdGlvblNlcnZpY2Uuc2VuZEZpZWxkQ2hhbmdlKGZpZWxkLCB2YWx1ZSkudG9Qcm9taXNlKCk7XG4gICAgICB0aGlzLmFwcGx5RmllbGRWYWxpZGF0aW9uKGZpZWxkSW5kZXgsIHZhbGlkYXRlZEZpZWxkKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHZpc2libGVGaWVsZC5kaXNhYmxlZCA9IHByZXZpb3VzRGlzYWJsZWQ7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicG8tcm93XCIgW2NsYXNzLnBvLWR5bmFtaWNdPVwiaGFzQ29udGFpbmVyc1wiICpuZ0lmPVwidmlzaWJsZUZpZWxkcyAmJiB2aXNpYmxlRmllbGRzLmxlbmd0aCA+IDBcIj5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICBoYXNDb250YWluZXJzID8gcG9Db250ZW50Q29udGFpbmVyIDogcG9Db250ZW50O1xuICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGhhc0NvbnRhaW5lcnMgPyBjb250YWluZXJGaWVsZHMgOiB2aXNpYmxlRmllbGRzIH1cbiAgICBcIlxuICA+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNwb0NvbnRlbnQgbGV0LWZpZWxkcz5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZmllbGRzOyB0cmFja0J5OiB0cmFja0J5XCI+XG4gICAgPHBvLWRpdmlkZXIgKm5nSWY9XCJmaWVsZD8uZGl2aWRlcj8udHJpbSgpXCIgY2xhc3M9XCJwby1zbS0xMlwiIFtwLWxhYmVsXT1cImZpZWxkLmRpdmlkZXJcIj4gPC9wby1kaXZpZGVyPlxuXG4gICAgPHBvLWRhdGVwaWNrZXJcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdkYXRlcGlja2VyJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtY2xlYW5dPVwiZmllbGQuY2xlYW5cIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZXJyb3ItcGF0dGVybl09XCJmaWVsZC5lcnJvck1lc3NhZ2VcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1mb3JtYXRdPVwiZmllbGQuZm9ybWF0XCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1pc28tZm9ybWF0XT1cImZpZWxkLmlzb0Zvcm1hdFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1sb2NhbGVdPVwiZmllbGQubG9jYWxlXCJcbiAgICAgIFtwLW1heC1kYXRlXT1cImZpZWxkLm1heFZhbHVlXCJcbiAgICAgIFtwLW1pbi1kYXRlXT1cImZpZWxkLm1pblZhbHVlXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgID5cbiAgICA8L3BvLWRhdGVwaWNrZXI+XG5cbiAgICA8cG8tZGF0ZXBpY2tlci1yYW5nZVxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ2RhdGVwaWNrZXJyYW5nZScpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLWxpdGVyYWxzXT1cImZpZWxkLmxpdGVyYWxzXCJcbiAgICAgIFtwLW1heC1kYXRlXT1cImZpZWxkLm1heFZhbHVlXCJcbiAgICAgIFtwLW1pbi1kYXRlXT1cImZpZWxkLm1pblZhbHVlXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgID5cbiAgICA8L3BvLWRhdGVwaWNrZXItcmFuZ2U+XG5cbiAgICA8cG8taW5wdXRcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdpbnB1dCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWVycm9yLXBhdHRlcm5dPVwiZmllbGQuZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLW1hc2stZm9ybWF0LW1vZGVsXT1cImZpZWxkLm1hc2tGb3JtYXRNb2RlbFwiXG4gICAgICBbcC1tYXNrXT1cImZpZWxkLm1hc2tcIlxuICAgICAgW3AtbWF4bGVuZ3RoXT1cImZpZWxkLm1heExlbmd0aFwiXG4gICAgICBbcC1taW5sZW5ndGhdPVwiZmllbGQubWluTGVuZ3RoXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1wYXR0ZXJuXT1cImZpZWxkLnBhdHRlcm5cIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIChwLWNoYW5nZS1tb2RlbCk9XCJvbkNoYW5nZUZpZWxkTW9kZWwoZmllbGQpXCJcbiAgICAgIFtwLWljb25dPVwiZmllbGQuaWNvblwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgPlxuICAgIDwvcG8taW5wdXQ+XG5cbiAgICA8cG8tbnVtYmVyXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnbnVtYmVyJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtY2xlYW5dPVwiZmllbGQuY2xlYW5cIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZXJyb3ItcGF0dGVybl09XCJmaWVsZC5lcnJvck1lc3NhZ2VcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbWluXT1cImZpZWxkLm1pblZhbHVlXCJcbiAgICAgIFtwLW1heF09XCJmaWVsZC5tYXhWYWx1ZVwiXG4gICAgICBbcC1tYXhsZW5ndGhdPVwiZmllbGQubWF4TGVuZ3RoXCJcbiAgICAgIFtwLW1pbmxlbmd0aF09XCJmaWVsZC5taW5MZW5ndGhcIlxuICAgICAgW3Atbm8tYXV0b2NvbXBsZXRlXT1cImZpZWxkLm5vQXV0b2NvbXBsZXRlXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLXN0ZXBdPVwiZmllbGQuc3RlcFwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cIm9uQ2hhbmdlRmllbGRNb2RlbChmaWVsZClcIlxuICAgICAgW3AtaWNvbl09XCJmaWVsZC5pY29uXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICA+XG4gICAgPC9wby1udW1iZXI+XG5cbiAgICA8cG8tZGVjaW1hbFxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ2RlY2ltYWwnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1jbGVhbl09XCJmaWVsZC5jbGVhblwiXG4gICAgICBbcC1lcnJvci1wYXR0ZXJuXT1cImZpZWxkLmVycm9yTWVzc2FnZVwiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1kZWNpbWFscy1sZW5ndGhdPVwiZmllbGQuZGVjaW1hbHNMZW5ndGhcIlxuICAgICAgW3AtdGhvdXNhbmQtbWF4bGVuZ3RoXT1cImZpZWxkLnRob3VzYW5kTWF4bGVuZ3RoXCJcbiAgICAgIFtwLWljb25dPVwiZmllbGQuaWNvblwiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1sb2NhbGVdPVwiZmllbGQubG9jYWxlXCJcbiAgICAgIFtwLW1pbl09XCJmaWVsZC5taW5WYWx1ZVwiXG4gICAgICBbcC1tYXhdPVwiZmllbGQubWF4VmFsdWVcIlxuICAgICAgW3AtbWF4bGVuZ3RoXT1cImZpZWxkLm1heExlbmd0aFwiXG4gICAgICBbcC1taW5sZW5ndGhdPVwiZmllbGQubWluTGVuZ3RoXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cIm9uQ2hhbmdlRmllbGRNb2RlbChmaWVsZClcIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgID5cbiAgICA8L3BvLWRlY2ltYWw+XG5cbiAgICA8cG8tc2VsZWN0XG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnc2VsZWN0JylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtZmllbGQtbGFiZWxdPVwiZmllbGQuZmllbGRMYWJlbFwiXG4gICAgICBbcC1maWVsZC12YWx1ZV09XCJmaWVsZC5maWVsZFZhbHVlXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1vcHRpb25zXT1cImZpZWxkLm9wdGlvbnNcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICAgIFtwLXJlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCJcbiAgICA+XG4gICAgPC9wby1zZWxlY3Q+XG5cbiAgICA8cG8tcmFkaW8tZ3JvdXBcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdyYWRpb0dyb3VwJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtY29sdW1uc109XCJmaWVsZC5jb2x1bW5zIHx8IDNcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3Atb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgPlxuICAgIDwvcG8tcmFkaW8tZ3JvdXA+XG5cbiAgICA8cG8tc3dpdGNoXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnc3dpdGNoJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZm9ybWF0LW1vZGVsXT1cImZpZWxkLmZvcm1hdE1vZGVsXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1sYWJlbC1vZmZdPVwiZmllbGQuYm9vbGVhbkZhbHNlXCJcbiAgICAgIFtwLWxhYmVsLW9uXT1cImZpZWxkLmJvb2xlYW5UcnVlXCJcbiAgICAgIFtwLWxhYmVsLXBvc2l0aW9uXT1cImZpZWxkLmxhYmVsUG9zaXRpb25cIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICA+XG4gICAgPC9wby1zd2l0Y2g+XG5cbiAgICA8cG8tY2hlY2tib3hcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdjaGVja2JveCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3Atc2l6ZV09XCJmaWVsZC5zaXplXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgPlxuICAgIDwvcG8tY2hlY2tib3g+XG5cbiAgICA8cG8tY29tYm9cbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdjb21ibycpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIHAtZW1pdC1vYmplY3QtdmFsdWVcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtY2xlYW5dPVwiZmllbGQuY2xlYW5cIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZmllbGQtbGFiZWxdPVwiZmllbGQuZmllbGRMYWJlbFwiXG4gICAgICBbcC1maWVsZC12YWx1ZV09XCJmaWVsZC5maWVsZFZhbHVlXCJcbiAgICAgIFtwLWZpbHRlci1wYXJhbXNdPVwiZmllbGQucGFyYW1zXCJcbiAgICAgIFtwLWZpbHRlci1zZXJ2aWNlXT1cImZpZWxkLm9wdGlvbnNTZXJ2aWNlXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1pbmZpbml0ZS1zY3JvbGxdPVwiZmllbGQuaW5maW5pdGVTY3JvbGxcIlxuICAgICAgW3AtaW5maW5pdGUtc2Nyb2xsLWRpc3RhbmNlXT1cImZpZWxkLmluZmluaXRlU2Nyb2xsRGlzdGFuY2UgfHwgMTAwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLWxpdGVyYWxzXT1cImZpZWxkLmxpdGVyYWxzXCJcbiAgICAgIFtwLW9wdGlvbnNdPVwiZmllbGQub3B0aW9uc1wiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1zb3J0XT1cImZpZWxkLnNvcnRcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQsICRldmVudClcIlxuICAgICAgW3AtaWNvbl09XCJmaWVsZC5pY29uXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICAgIFtwLWZpbHRlci1taW5sZW5ndGhdPVwiZmllbGQuZmlsdGVyTWlubGVuZ3RoXCJcbiAgICAgIFtwLWZpbHRlci1tb2RlXT1cImZpZWxkLmZpbHRlck1vZGVcIlxuICAgICAgW3AtZGlzYWJsZWQtaW5pdC1maWx0ZXJdPVwiZmllbGQuZGlzYWJsZWRJbml0RmlsdGVyXCJcbiAgICAgIFtwLWRpc2FibGVkLXRhYi1maWx0ZXJdPVwiZmllbGQuZGlzYWJsZWRUYWJGaWx0ZXJcIlxuICAgICAgW3AtZGVib3VuY2UtdGltZV09XCJmaWVsZC5kZWJvdW5jZVRpbWVcIlxuICAgICAgW3AtY2hhbmdlLW9uLWVudGVyXT1cImZpZWxkLmNoYW5nZU9uRW50ZXJcIlxuICAgID5cbiAgICA8L3BvLWNvbWJvPlxuXG4gICAgPHBvLWxvb2t1cFxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ2xvb2t1cCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIHAtZmllbGQtbGFiZWw9XCJsYWJlbFwiXG4gICAgICBwLWZpZWxkLXZhbHVlPVwidmFsdWVcIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtY2xlYW5dPVwiZmllbGQuY2xlYW5cIlxuICAgICAgW3AtY29sdW1uc109XCJmaWVsZC5jb2x1bW5zXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWZpZWxkLWxhYmVsXT1cImZpZWxkLmZpZWxkTGFiZWwgfHwgJ2xhYmVsJ1wiXG4gICAgICBbcC1maWVsZC12YWx1ZV09XCJmaWVsZC5maWVsZFZhbHVlIHx8ICd2YWx1ZSdcIlxuICAgICAgW3AtZmlsdGVyLXBhcmFtc109XCJmaWVsZC5wYXJhbXNcIlxuICAgICAgW3AtZmlsdGVyLXNlcnZpY2VdPVwiZmllbGQuc2VhcmNoU2VydmljZVwiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWF1dG8taGVpZ2h0XT1cImZpZWxkLmF1dG9IZWlnaHRcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWZpZWxkLWZvcm1hdF09XCJmaWVsZC5mb3JtYXRcIlxuICAgICAgW3AtaW5maW5pdGUtc2Nyb2xsXT1cImZpZWxkLmluZmluaXRlU2Nyb2xsXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLWxpdGVyYWxzXT1cImZpZWxkLmxpdGVyYWxzXCJcbiAgICAgIFtwLW11bHRpcGxlXT1cImZpZWxkLm11bHRpcGxlXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgW3AtYWR2YW5jZWQtZmlsdGVyc109XCJmaWVsZC5hZHZhbmNlZEZpbHRlcnNcIlxuICAgICAgKHAtY2hhbmdlLXZpc2libGUtY29sdW1ucyk9XCJmaWVsZC5jaGFuZ2VWaXNpYmxlQ29sdW1ucz8uKCRldmVudClcIlxuICAgICAgKHAtcmVzdG9yZS1jb2x1bW4tbWFuYWdlcik9XCJmaWVsZC5jb2x1bW5SZXN0b3JlTWFuYWdlcj8uKCRldmVudClcIlxuICAgID5cbiAgICA8L3BvLWxvb2t1cD5cblxuICAgIDxwby1jaGVja2JveC1ncm91cFxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ2NoZWNrYm94R3JvdXAnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1jb2x1bW5zXT1cImZpZWxkLmNvbHVtbnMgfHwgM1wiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1vcHRpb25zXT1cImZpZWxkLm9wdGlvbnNcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICA+XG4gICAgPC9wby1jaGVja2JveC1ncm91cD5cblxuICAgIDxwby1tdWx0aXNlbGVjdFxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ211bHRpc2VsZWN0JylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1hdXRvLWhlaWdodF09XCJmaWVsZC5hdXRvSGVpZ2h0XCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1saXRlcmFsc109XCJmaWVsZC5saXRlcmFsc1wiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1vcHRpb25zXT1cImZpZWxkLm9wdGlvbnNcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICAgIFtwLWZpZWxkLWxhYmVsXT1cImZpZWxkLmZpZWxkTGFiZWxcIlxuICAgICAgW3AtZmllbGQtdmFsdWVdPVwiZmllbGQuZmllbGRWYWx1ZVwiXG4gICAgICBbcC1maWx0ZXItc2VydmljZV09XCJmaWVsZC5vcHRpb25zU2VydmljZVwiXG4gICAgICBbcC1maWx0ZXItbW9kZV09XCJmaWVsZC5maWx0ZXJNb2RlXCJcbiAgICAgIFtwLWRlYm91bmNlLXRpbWVdPVwiZmllbGQuZGVib3VuY2VUaW1lXCJcbiAgICAgIFtwLXNvcnRdPVwiZmllbGQuc29ydFwiXG4gICAgICBbcC1wbGFjZWhvbGRlci1zZWFyY2hdPVwiZmllbGQucGxhY2Vob2xkZXJTZWFyY2hcIlxuICAgICAgW3AtaGlkZS1zZWFyY2hdPVwiZmllbGQuaGlkZVNlYXJjaFwiXG4gICAgICBbcC1oaWRlLXNlbGVjdC1hbGxdPVwiZmllbGQuaGlkZVNlbGVjdEFsbFwiXG4gICAgPlxuICAgIDwvcG8tbXVsdGlzZWxlY3Q+XG5cbiAgICA8cG8tdGV4dGFyZWFcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICd0ZXh0YXJlYScpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLW1heGxlbmd0aF09XCJmaWVsZC5tYXhMZW5ndGhcIlxuICAgICAgW3AtbWlubGVuZ3RoXT1cImZpZWxkLm1pbkxlbmd0aFwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICBbcC1yb3dzXT1cImZpZWxkLnJvd3NcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIChwLWNoYW5nZS1tb2RlbCk9XCJvbkNoYW5nZUZpZWxkTW9kZWwoZmllbGQpXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICA+XG4gICAgPC9wby10ZXh0YXJlYT5cblxuICAgIDxwby1wYXNzd29yZFxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ3Bhc3N3b3JkJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtY2xlYW5dPVwiZmllbGQuY2xlYW5cIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZXJyb3ItcGF0dGVybl09XCJmaWVsZC5lcnJvck1lc3NhZ2VcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtaGlkZS1wYXNzd29yZC1wZWVrXT1cImZpZWxkLmhpZGVQYXNzd29yZFBlZWtcIlxuICAgICAgW3AtaWNvbl09XCJmaWVsZC5pY29uXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLW1heGxlbmd0aF09XCJmaWVsZC5tYXhMZW5ndGhcIlxuICAgICAgW3AtbWlubGVuZ3RoXT1cImZpZWxkLm1pbkxlbmd0aFwiXG4gICAgICBbcC1uby1hdXRvY29tcGxldGVdPVwiZmllbGQubm9BdXRvY29tcGxldGVcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3AtcGF0dGVybl09XCJmaWVsZC5wYXR0ZXJuXCJcbiAgICAgIFtwLXJlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgICAocC1jaGFuZ2UtbW9kZWwpPVwib25DaGFuZ2VGaWVsZE1vZGVsKGZpZWxkKVwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgPlxuICAgIDwvcG8tcGFzc3dvcmQ+XG5cbiAgICA8cG8tdXBsb2FkXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAndXBsb2FkJylcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtYXV0by11cGxvYWRdPVwiZmllbGQuYXV0b1VwbG9hZFwiXG4gICAgICBbcC1kaXJlY3RvcnldPVwiZmllbGQuZGlyZWN0b3J5XCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWRyYWctZHJvcF09XCJmaWVsZC5kcmFnRHJvcFwiXG4gICAgICBbcC1kcmFnLWRyb3AtaGVpZ2h0XT1cImZpZWxkLmRyYWdEcm9wSGVpZ2h0XCJcbiAgICAgIFtwLXJlc3RyaWN0aW9uc109XCJmaWVsZC5yZXN0cmljdGlvbnNcIlxuICAgICAgW3AtZm9ybS1maWVsZF09XCJmaWVsZC5mb3JtRmllbGRcIlxuICAgICAgW3AtaGVhZGVyc109XCJmaWVsZC5oZWFkZXJzXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1oaWRlLXJlc3RyaWN0aW9ucy1pbmZvXT1cImZpZWxkLmhpZGVSZXN0cmljdGlvbnNJbmZvXCJcbiAgICAgIFtwLWhpZGUtc2VsZWN0LWJ1dHRvbl09XCJmaWVsZC5oaWRlU2VsZWN0QnV0dG9uXCJcbiAgICAgIFtwLWhpZGUtc2VuZC1idXR0b25dPVwiZmllbGQuaGlkZVNlbmRCdXR0b25cIlxuICAgICAgW3AtbXVsdGlwbGVdPVwiZmllbGQubXVsdGlwbGVcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbGl0ZXJhbHNdPVwiZmllbGQubGl0ZXJhbHNcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgKHAtZXJyb3IpPVwiZmllbGQub25FcnJvcigkZXZlbnQpXCJcbiAgICAgIChwLXN1Y2Nlc3MpPVwiZmllbGQub25TdWNjZXNzKCRldmVudClcIlxuICAgICAgKHAtdXBsb2FkKT1cImZpZWxkLm9uVXBsb2FkKCRldmVudClcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIChwLWNoYW5nZS1tb2RlbCk9XCJvbkNoYW5nZUZpZWxkTW9kZWwoZmllbGQpXCJcbiAgICAgIFtwLXVybF09XCJmaWVsZC51cmxcIlxuICAgID5cbiAgICA8L3BvLXVwbG9hZD5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3BvQ29udGVudENvbnRhaW5lciBsZXQtZmllbGRzPlxuICA8cG8tZHluYW1pYy1jb250YWluZXIgW3AtZmllbGRzXT1cImZpZWxkc1wiIFtwLWNvbnRlbnRdPVwicG9Db250ZW50XCI+PC9wby1keW5hbWljLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
447
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy1mb3JtLWZpZWxkcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tZHluYW1pYy9wby1keW5hbWljLWZvcm0vcG8tZHluYW1pYy1mb3JtLWZpZWxkcy9wby1keW5hbWljLWZvcm0tZmllbGRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1keW5hbWljL3BvLWR5bmFtaWMtZm9ybS9wby1keW5hbWljLWZvcm0tZmllbGRzL3BvLWR5bmFtaWMtZm9ybS1maWVsZHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBMEQsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUkxRCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUUzRixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ05oSCx3QkFLZ0I7Ozs7SUFObEIsOEJBQXlHO0lBQ3ZHLHFHQUtnQjtJQUNsQixpQkFBTTs7Ozs7SUFQYyxrREFBa0M7SUFFakQsY0FFUTtJQUZSLG1FQUVRLDZIQUFBOzs7SUFPVCxpQ0FBb0c7OztJQUF4QywwQ0FBeUI7Ozs7SUFFckYsNkNBd0JDO0lBcEJDLCthQUFtQztJQWtCbkMsK1FBQVksZUFBQSwrQkFBb0IsQ0FBQSxJQUFDO0lBR25DLGlCQUFnQjs7OztJQXRCZCx3Q0FBdUI7SUFDdkIsZ0VBQW1DO0lBQ25DLGlEQUFnQywyQkFBQSw0Q0FBQSwwQ0FBQSxnQ0FBQSw2QkFBQSx5QkFBQSxv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QUUsQ0FBQyxhQUN4RCxDQUFDLDhCQUE4QixDQUFDO2dKQUdoQixVQUFVO2tCQUFwQyxZQUFZO21CQUFDLFdBQVc7O2tGQURkLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uQ2hhbmdlcywgUXVlcnlMaXN0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRpdGxlQ2FzZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBQb0R5bmFtaWNGb3JtRmllbGQgfSBmcm9tICcuLi9wby1keW5hbWljLWZvcm0tZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvRHluYW1pY0Zvcm1GaWVsZHNCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1keW5hbWljLWZvcm0tZmllbGRzLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IFBvRHluYW1pY0Zvcm1GaWVsZFZhbGlkYXRpb24gfSBmcm9tICcuLi9wby1keW5hbWljLWZvcm0tdmFsaWRhdGlvbi9wby1keW5hbWljLWZvcm0tZmllbGQtdmFsaWRhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9EeW5hbWljRm9ybVZhbGlkYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vcG8tZHluYW1pYy1mb3JtLXZhbGlkYXRpb24vcG8tZHluYW1pYy1mb3JtLXZhbGlkYXRpb24uc2VydmljZSc7XG5cbi8qKlxuICogQGRvY3NQcml2YXRlXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogQ29tcG9uZW50ZSBkZSBjcmlhw6fDo28gZG9zIGNhbXBvcyBkaW7Dom1pY29zLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1keW5hbWljLWZvcm0tZmllbGRzJyxcbiAgdGVtcGxhdGVVcmw6ICdwby1keW5hbWljLWZvcm0tZmllbGRzLmNvbXBvbmVudC5odG1sJyxcbiAgdmlld1Byb3ZpZGVyczogW3sgcHJvdmlkZTogQ29udHJvbENvbnRhaW5lciwgdXNlRXhpc3Rpbmc6IE5nRm9ybSB9XSxcbiAgcHJvdmlkZXJzOiBbUG9EeW5hbWljRm9ybVZhbGlkYXRpb25TZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBQb0R5bmFtaWNGb3JtRmllbGRzQ29tcG9uZW50IGV4dGVuZHMgUG9EeW5hbWljRm9ybUZpZWxkc0Jhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBAVmlld0NoaWxkcmVuKCdjb21wb25lbnQnKSBjb21wb25lbnRzOiBRdWVyeUxpc3Q8eyBuYW1lOiBzdHJpbmc7IGZvY3VzOiAoKSA9PiB2b2lkIH0+O1xuXG4gIHByaXZhdGUgcHJldmlvdXNWYWx1ZSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHRpdGxlQ2FzZVBpcGU6IFRpdGxlQ2FzZVBpcGUsXG4gICAgcHJpdmF0ZSB2YWxpZGF0aW9uU2VydmljZTogUG9EeW5hbWljRm9ybVZhbGlkYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlczogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBmb3JtOiBOZ0Zvcm1cbiAgKSB7XG4gICAgc3VwZXIodGl0bGVDYXNlUGlwZSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMuZmllbGRzKSB7XG4gICAgICB0aGlzLnZpc2libGVGaWVsZHMgPSB0aGlzLmdldFZpc2libGVGaWVsZHMoKTtcbiAgICAgIHRoaXMuc2V0Q29udGFpbmVyRmllbGRzKCk7XG4gICAgfVxuICB9XG5cbiAgZm9jdXMocHJvcGVydHk6IHN0cmluZykge1xuICAgIGNvbnN0IGZvdW5kQ29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRzLmZpbmQoY29tcG9uZW50ID0+IGNvbXBvbmVudC5uYW1lID09PSBwcm9wZXJ0eSk7XG4gICAgaWYgKGZvdW5kQ29tcG9uZW50KSB7XG4gICAgICBmb3VuZENvbXBvbmVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIGlzRGlzYWJsZWQoZmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmaWVsZC5kaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkRm9ybTtcbiAgfVxuXG4gIGFzeW5jIG9uQ2hhbmdlRmllbGQodmlzaWJsZUZpZWxkOiBQb0R5bmFtaWNGb3JtRmllbGQsIG9iamVjdFZhbHVlPzogYW55KSB7XG4gICAgY29uc3QgeyBwcm9wZXJ0eSB9ID0gdmlzaWJsZUZpZWxkO1xuICAgIGNvbnN0IGlzQm9vbGVhblR5cGUgPSB2aXNpYmxlRmllbGQudHlwZSA9PT0gJ2Jvb2xlYW4nO1xuICAgIGNvbnN0IGlzQ2hhbmdlZFZhbHVlRmllbGQgPSB0aGlzLnByZXZpb3VzVmFsdWVbcHJvcGVydHldICE9PSB0aGlzLnZhbHVlW3Byb3BlcnR5XTtcblxuICAgIGlmICh2aXNpYmxlRmllbGQub3B0aW9uc1NlcnZpY2UpIHtcbiAgICAgIHRoaXMub2JqZWN0VmFsdWUuZW1pdChvYmplY3RWYWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gdmVyaWZpY2Egc2UgbyBmb3JtdWxhcmlvIGVzdGEgdG91Y2hlZCBwYXJhIG7Do28gZGlzcGFyYXIgbyB2YWxpZGF0ZSBhbyBjYXJyZWdhciBhIHRlbGEuXG4gICAgaWYgKCh0aGlzLmZvcm0udG91Y2hlZCB8fCBpc0Jvb2xlYW5UeXBlKSAmJiBpc0NoYW5nZWRWYWx1ZUZpZWxkKSB7XG4gICAgICBjb25zdCB7IGNoYW5nZWRGaWVsZCwgY2hhbmdlZEZpZWxkSW5kZXggfSA9IHRoaXMuZ2V0RmllbGQocHJvcGVydHkpO1xuXG4gICAgICBpZiAoY2hhbmdlZEZpZWxkLnZhbGlkYXRlKSB7XG4gICAgICAgIGF3YWl0IHRoaXMudmFsaWRhdGVGaWVsZChjaGFuZ2VkRmllbGQsIGNoYW5nZWRGaWVsZEluZGV4LCB2aXNpYmxlRmllbGQpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnRyaWdnZXJWYWxpZGF0aW9uT25Gb3JtKGNoYW5nZWRGaWVsZEluZGV4KTtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZVByZXZpb3VzVmFsdWUoKTtcbiAgfVxuXG4gIC8vZW1pdGUgbyB2YWxvciBhIGNhZGEgY2FyYWN0ZXJlIGRpZ2l0YWRvIG5vIGlucHV0XG4gIG9uQ2hhbmdlRmllbGRNb2RlbCh2aXNpYmxlRmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCkge1xuICAgIGlmICh0aGlzLnZhbGlkYXRlT25JbnB1dCkge1xuICAgICAgY29uc3QgeyBwcm9wZXJ0eSB9ID0gdmlzaWJsZUZpZWxkO1xuICAgICAgY29uc3QgeyBjaGFuZ2VkRmllbGRJbmRleCB9ID0gdGhpcy5nZXRGaWVsZChwcm9wZXJ0eSk7XG4gICAgICB0aGlzLnRyaWdnZXJWYWxpZGF0aW9uT25Gb3JtKGNoYW5nZWRGaWVsZEluZGV4KTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVQcmV2aW91c1ZhbHVlKCkge1xuICAgIHRoaXMucHJldmlvdXNWYWx1ZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy52YWx1ZSkpO1xuICB9XG5cbiAgdHJhY2tCeShpbmRleCkge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlGaWVsZFZhbGlkYXRpb24oaW5kZXg6IG51bWJlciwgdmFsaWRhdGVkRmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZFZhbGlkYXRpb24pIHtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuZmllbGRzW2luZGV4XTtcblxuICAgIHRoaXMuZmllbGRzW2luZGV4XSA9IHsgLi4uZmllbGQsIC4uLnZhbGlkYXRlZEZpZWxkLmZpZWxkIH07XG4gICAgdGhpcy51cGRhdGVGaWVsZHMoKTtcblxuICAgIGlmICh2YWxpZGF0ZWRGaWVsZC5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSkge1xuICAgICAgdGhpcy52YWx1ZVtmaWVsZC5wcm9wZXJ0eV0gPSB2YWxpZGF0ZWRGaWVsZC52YWx1ZTtcbiAgICB9XG5cbiAgICB0aGlzLmNoYW5nZXMuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgaWYgKHZhbGlkYXRlZEZpZWxkLmZvY3VzKSB7XG4gICAgICB0aGlzLmZvY3VzKGZpZWxkLnByb3BlcnR5KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEZpZWxkKHByb3BlcnR5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBjaGFuZ2VkRmllbGRJbmRleCA9IHRoaXMuZmllbGRzLmZpbmRJbmRleChmaWVsZCA9PiBmaWVsZC5wcm9wZXJ0eSA9PT0gcHJvcGVydHkpO1xuICAgIGNvbnN0IGNoYW5nZWRGaWVsZCA9IHRoaXMuZmllbGRzW2NoYW5nZWRGaWVsZEluZGV4XTtcblxuICAgIHJldHVybiB7IGNoYW5nZWRGaWVsZCwgY2hhbmdlZEZpZWxkSW5kZXggfTtcbiAgfVxuXG4gIHByaXZhdGUgdHJpZ2dlclZhbGlkYXRpb25PbkZvcm0oY2hhbmdlZEZpZWxkSW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IGlzVmFsaWRhdGFibGVGaWVsZCA9IHRoaXMudmFsaWRhdGVGaWVsZHM/Lmxlbmd0aFxuICAgICAgPyB0aGlzLnZhbGlkYXRlRmllbGRzQ2hlY2tlcih0aGlzLnZhbGlkYXRlRmllbGRzLCB0aGlzLmZpZWxkc1tjaGFuZ2VkRmllbGRJbmRleF0ucHJvcGVydHkpXG4gICAgICA6IHRydWU7XG4gICAgY29uc3QgaGFzVmFsaWRhdGlvbkZvcm0gPSB0aGlzLnZhbGlkYXRlICYmIGlzVmFsaWRhdGFibGVGaWVsZCAmJiB0aGlzLmZvcm1WYWxpZGF0ZS5vYnNlcnZlcnMubGVuZ3RoO1xuXG4gICAgaWYgKGhhc1ZhbGlkYXRpb25Gb3JtKSB7XG4gICAgICBjb25zdCB1cGRhdGVkRmllbGQgPSB0aGlzLmZpZWxkc1tjaGFuZ2VkRmllbGRJbmRleF07XG4gICAgICB0aGlzLmZvcm1WYWxpZGF0ZS5lbWl0KHVwZGF0ZWRGaWVsZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVGaWVsZHMoKSB7XG4gICAgdGhpcy5maWVsZHNDaGFuZ2UuZW1pdCh0aGlzLmZpZWxkcyk7XG4gICAgdGhpcy52aXNpYmxlRmllbGRzID0gdGhpcy5nZXRWaXNpYmxlRmllbGRzKCk7XG4gICAgdGhpcy5zZXRDb250YWluZXJGaWVsZHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVGaWVsZHNDaGVja2VyKHZhbGlkYXRlRmllbGRzOiBBcnJheTxzdHJpbmc+LCBwcm9wZXJ0eUZpZWxkOiBQb0R5bmFtaWNGb3JtRmllbGRbJ3Byb3BlcnR5J10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdmFsaWRhdGVGaWVsZHMuc29tZSh2YWxpZGF0ZUZpZWxkSXRlbSA9PiB2YWxpZGF0ZUZpZWxkSXRlbSA9PT0gcHJvcGVydHlGaWVsZCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHZhbGlkYXRlRmllbGQoZmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCwgZmllbGRJbmRleDogbnVtYmVyLCB2aXNpYmxlRmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZVtmaWVsZC5wcm9wZXJ0eV07XG5cbiAgICBjb25zdCBwcmV2aW91c0Rpc2FibGVkID0gdmlzaWJsZUZpZWxkLmRpc2FibGVkO1xuICAgIHZpc2libGVGaWVsZC5kaXNhYmxlZCA9IHRydWU7XG4gICAgdGhpcy5jaGFuZ2VzLmRldGVjdENoYW5nZXMoKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB2YWxpZGF0ZWRGaWVsZCA9IGF3YWl0IHRoaXMudmFsaWRhdGlvblNlcnZpY2Uuc2VuZEZpZWxkQ2hhbmdlKGZpZWxkLCB2YWx1ZSkudG9Qcm9taXNlKCk7XG4gICAgICB0aGlzLmFwcGx5RmllbGRWYWxpZGF0aW9uKGZpZWxkSW5kZXgsIHZhbGlkYXRlZEZpZWxkKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHZpc2libGVGaWVsZC5kaXNhYmxlZCA9IHByZXZpb3VzRGlzYWJsZWQ7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicG8tcm93XCIgW2NsYXNzLnBvLWR5bmFtaWNdPVwiaGFzQ29udGFpbmVyc1wiICpuZ0lmPVwidmlzaWJsZUZpZWxkcyAmJiB2aXNpYmxlRmllbGRzLmxlbmd0aCA+IDBcIj5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICBoYXNDb250YWluZXJzID8gcG9Db250ZW50Q29udGFpbmVyIDogcG9Db250ZW50O1xuICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGhhc0NvbnRhaW5lcnMgPyBjb250YWluZXJGaWVsZHMgOiB2aXNpYmxlRmllbGRzIH1cbiAgICBcIlxuICA+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNwb0NvbnRlbnQgbGV0LWZpZWxkcz5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZmllbGRzOyB0cmFja0J5OiB0cmFja0J5XCI+XG4gICAgPHBvLWRpdmlkZXIgKm5nSWY9XCJmaWVsZD8uZGl2aWRlcj8udHJpbSgpXCIgY2xhc3M9XCJwby1zbS0xMlwiIFtwLWxhYmVsXT1cImZpZWxkLmRpdmlkZXJcIj4gPC9wby1kaXZpZGVyPlxuXG4gICAgPHBvLWRhdGVwaWNrZXJcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdkYXRlcGlja2VyJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtY2xlYW5dPVwiZmllbGQuY2xlYW5cIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZXJyb3ItcGF0dGVybl09XCJmaWVsZC5lcnJvck1lc3NhZ2VcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1mb3JtYXRdPVwiZmllbGQuZm9ybWF0XCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1pc28tZm9ybWF0XT1cImZpZWxkLmlzb0Zvcm1hdFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1sb2NhbGVdPVwiZmllbGQubG9jYWxlXCJcbiAgICAgIFtwLW1heC1kYXRlXT1cImZpZWxkLm1heFZhbHVlXCJcbiAgICAgIFtwLW1pbi1kYXRlXT1cImZpZWxkLm1pblZhbHVlXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgID5cbiAgICA8L3BvLWRhdGVwaWNrZXI+XG5cbiAgICA8cG8tZGF0ZXBpY2tlci1yYW5nZVxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ2RhdGVwaWNrZXJyYW5nZScpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLWxpdGVyYWxzXT1cImZpZWxkLmxpdGVyYWxzXCJcbiAgICAgIFtwLW1heC1kYXRlXT1cImZpZWxkLm1heFZhbHVlXCJcbiAgICAgIFtwLW1pbi1kYXRlXT1cImZpZWxkLm1pblZhbHVlXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgID5cbiAgICA8L3BvLWRhdGVwaWNrZXItcmFuZ2U+XG5cbiAgICA8cG8taW5wdXRcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdpbnB1dCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWVycm9yLXBhdHRlcm5dPVwiZmllbGQuZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLW1hc2stZm9ybWF0LW1vZGVsXT1cImZpZWxkLm1hc2tGb3JtYXRNb2RlbFwiXG4gICAgICBbcC1tYXNrXT1cImZpZWxkLm1hc2tcIlxuICAgICAgW3AtbWF4bGVuZ3RoXT1cImZpZWxkLm1heExlbmd0aFwiXG4gICAgICBbcC1taW5sZW5ndGhdPVwiZmllbGQubWluTGVuZ3RoXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1wYXR0ZXJuXT1cImZpZWxkLnBhdHRlcm5cIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIChwLWNoYW5nZS1tb2RlbCk9XCJvbkNoYW5nZUZpZWxkTW9kZWwoZmllbGQpXCJcbiAgICAgIFtwLWljb25dPVwiZmllbGQuaWNvblwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgPlxuICAgIDwvcG8taW5wdXQ+XG5cbiAgICA8cG8tbnVtYmVyXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnbnVtYmVyJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtY2xlYW5dPVwiZmllbGQuY2xlYW5cIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZXJyb3ItcGF0dGVybl09XCJmaWVsZC5lcnJvck1lc3NhZ2VcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbWluXT1cImZpZWxkLm1pblZhbHVlXCJcbiAgICAgIFtwLW1heF09XCJmaWVsZC5tYXhWYWx1ZVwiXG4gICAgICBbcC1tYXhsZW5ndGhdPVwiZmllbGQubWF4TGVuZ3RoXCJcbiAgICAgIFtwLW1pbmxlbmd0aF09XCJmaWVsZC5taW5MZW5ndGhcIlxuICAgICAgW3Atbm8tYXV0b2NvbXBsZXRlXT1cImZpZWxkLm5vQXV0b2NvbXBsZXRlXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLXN0ZXBdPVwiZmllbGQuc3RlcFwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cIm9uQ2hhbmdlRmllbGRNb2RlbChmaWVsZClcIlxuICAgICAgW3AtaWNvbl09XCJmaWVsZC5pY29uXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICA+XG4gICAgPC9wby1udW1iZXI+XG5cbiAgICA8cG8tZGVjaW1hbFxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ2RlY2ltYWwnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1jbGVhbl09XCJmaWVsZC5jbGVhblwiXG4gICAgICBbcC1lcnJvci1wYXR0ZXJuXT1cImZpZWxkLmVycm9yTWVzc2FnZVwiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1kZWNpbWFscy1sZW5ndGhdPVwiZmllbGQuZGVjaW1hbHNMZW5ndGhcIlxuICAgICAgW3AtdGhvdXNhbmQtbWF4bGVuZ3RoXT1cImZpZWxkLnRob3VzYW5kTWF4bGVuZ3RoXCJcbiAgICAgIFtwLWljb25dPVwiZmllbGQuaWNvblwiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1sb2NhbGVdPVwiZmllbGQubG9jYWxlXCJcbiAgICAgIFtwLW1pbl09XCJmaWVsZC5taW5WYWx1ZVwiXG4gICAgICBbcC1tYXhdPVwiZmllbGQubWF4VmFsdWVcIlxuICAgICAgW3AtbWF4bGVuZ3RoXT1cImZpZWxkLm1heExlbmd0aFwiXG4gICAgICBbcC1taW5sZW5ndGhdPVwiZmllbGQubWluTGVuZ3RoXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cIm9uQ2hhbmdlRmllbGRNb2RlbChmaWVsZClcIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgID5cbiAgICA8L3BvLWRlY2ltYWw+XG5cbiAgICA8cG8tc2VsZWN0XG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnc2VsZWN0JylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtZmllbGQtbGFiZWxdPVwiZmllbGQuZmllbGRMYWJlbFwiXG4gICAgICBbcC1maWVsZC12YWx1ZV09XCJmaWVsZC5maWVsZFZhbHVlXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1vcHRpb25zXT1cImZpZWxkLm9wdGlvbnNcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICAgIFtwLXJlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCJcbiAgICA+XG4gICAgPC9wby1zZWxlY3Q+XG5cbiAgICA8cG8tcmFkaW8tZ3JvdXBcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdyYWRpb0dyb3VwJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtY29sdW1uc109XCJmaWVsZC5jb2x1bW5zIHx8IDNcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3Atb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgPlxuICAgIDwvcG8tcmFkaW8tZ3JvdXA+XG5cbiAgICA8cG8tc3dpdGNoXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnc3dpdGNoJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZm9ybWF0LW1vZGVsXT1cImZpZWxkLmZvcm1hdE1vZGVsXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1sYWJlbC1vZmZdPVwiZmllbGQuYm9vbGVhbkZhbHNlXCJcbiAgICAgIFtwLWxhYmVsLW9uXT1cImZpZWxkLmJvb2xlYW5UcnVlXCJcbiAgICAgIFtwLWxhYmVsLXBvc2l0aW9uXT1cImZpZWxkLmxhYmVsUG9zaXRpb25cIlxuICAgICAgW3AtaGlkZS1sYWJlbC1zdGF0dXNdPVwiZmllbGQuaGlkZUxhYmVsU3RhdHVzXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgPlxuICAgIDwvcG8tc3dpdGNoPlxuXG4gICAgPHBvLWNoZWNrYm94XG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnY2hlY2tib3gnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLXNpemVdPVwiZmllbGQuc2l6ZVwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgID5cbiAgICA8L3BvLWNoZWNrYm94PlxuXG4gICAgPHBvLWNvbWJvXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnY29tYm8nKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBwLWVtaXQtb2JqZWN0LXZhbHVlXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWZpZWxkLWxhYmVsXT1cImZpZWxkLmZpZWxkTGFiZWxcIlxuICAgICAgW3AtZmllbGQtdmFsdWVdPVwiZmllbGQuZmllbGRWYWx1ZVwiXG4gICAgICBbcC1maWx0ZXItcGFyYW1zXT1cImZpZWxkLnBhcmFtc1wiXG4gICAgICBbcC1maWx0ZXItc2VydmljZV09XCJmaWVsZC5vcHRpb25zU2VydmljZVwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtaW5maW5pdGUtc2Nyb2xsXT1cImZpZWxkLmluZmluaXRlU2Nyb2xsXCJcbiAgICAgIFtwLWluZmluaXRlLXNjcm9sbC1kaXN0YW5jZV09XCJmaWVsZC5pbmZpbml0ZVNjcm9sbERpc3RhbmNlIHx8IDEwMFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1saXRlcmFsc109XCJmaWVsZC5saXRlcmFsc1wiXG4gICAgICBbcC1vcHRpb25zXT1cImZpZWxkLm9wdGlvbnNcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3Atc29ydF09XCJmaWVsZC5zb3J0XCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkLCAkZXZlbnQpXCJcbiAgICAgIFtwLWljb25dPVwiZmllbGQuaWNvblwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgICBbcC1maWx0ZXItbWlubGVuZ3RoXT1cImZpZWxkLmZpbHRlck1pbmxlbmd0aFwiXG4gICAgICBbcC1maWx0ZXItbW9kZV09XCJmaWVsZC5maWx0ZXJNb2RlXCJcbiAgICAgIFtwLWRpc2FibGVkLWluaXQtZmlsdGVyXT1cImZpZWxkLmRpc2FibGVkSW5pdEZpbHRlclwiXG4gICAgICBbcC1kaXNhYmxlZC10YWItZmlsdGVyXT1cImZpZWxkLmRpc2FibGVkVGFiRmlsdGVyXCJcbiAgICAgIFtwLWRlYm91bmNlLXRpbWVdPVwiZmllbGQuZGVib3VuY2VUaW1lXCJcbiAgICAgIFtwLWNoYW5nZS1vbi1lbnRlcl09XCJmaWVsZC5jaGFuZ2VPbkVudGVyXCJcbiAgICA+XG4gICAgPC9wby1jb21ibz5cblxuICAgIDxwby1sb29rdXBcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdsb29rdXAnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBwLWZpZWxkLWxhYmVsPVwibGFiZWxcIlxuICAgICAgcC1maWVsZC12YWx1ZT1cInZhbHVlXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWNvbHVtbnNdPVwiZmllbGQuY29sdW1uc1wiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1maWVsZC1sYWJlbF09XCJmaWVsZC5maWVsZExhYmVsIHx8ICdsYWJlbCdcIlxuICAgICAgW3AtZmllbGQtdmFsdWVdPVwiZmllbGQuZmllbGRWYWx1ZSB8fCAndmFsdWUnXCJcbiAgICAgIFtwLWZpbHRlci1wYXJhbXNdPVwiZmllbGQucGFyYW1zXCJcbiAgICAgIFtwLWZpbHRlci1zZXJ2aWNlXT1cImZpZWxkLnNlYXJjaFNlcnZpY2VcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1hdXRvLWhlaWdodF09XCJmaWVsZC5hdXRvSGVpZ2h0XCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1maWVsZC1mb3JtYXRdPVwiZmllbGQuZm9ybWF0XCJcbiAgICAgIFtwLWluZmluaXRlLXNjcm9sbF09XCJmaWVsZC5pbmZpbml0ZVNjcm9sbFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1saXRlcmFsc109XCJmaWVsZC5saXRlcmFsc1wiXG4gICAgICBbcC1tdWx0aXBsZV09XCJmaWVsZC5tdWx0aXBsZVwiXG4gICAgICBbcC1uby1hdXRvY29tcGxldGVdPVwiZmllbGQubm9BdXRvY29tcGxldGVcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICAgIFtwLWFkdmFuY2VkLWZpbHRlcnNdPVwiZmllbGQuYWR2YW5jZWRGaWx0ZXJzXCJcbiAgICAgIChwLWNoYW5nZS12aXNpYmxlLWNvbHVtbnMpPVwiZmllbGQuY2hhbmdlVmlzaWJsZUNvbHVtbnM/LigkZXZlbnQpXCJcbiAgICAgIChwLXJlc3RvcmUtY29sdW1uLW1hbmFnZXIpPVwiZmllbGQuY29sdW1uUmVzdG9yZU1hbmFnZXI/LigkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9wby1sb29rdXA+XG5cbiAgICA8cG8tY2hlY2tib3gtZ3JvdXBcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdjaGVja2JveEdyb3VwJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtY29sdW1uc109XCJmaWVsZC5jb2x1bW5zIHx8IDNcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3Atb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgPlxuICAgIDwvcG8tY2hlY2tib3gtZ3JvdXA+XG5cbiAgICA8cG8tbXVsdGlzZWxlY3RcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdtdWx0aXNlbGVjdCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtYXV0by1oZWlnaHRdPVwiZmllbGQuYXV0b0hlaWdodFwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbGl0ZXJhbHNdPVwiZmllbGQubGl0ZXJhbHNcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3Atb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgICBbcC1maWVsZC1sYWJlbF09XCJmaWVsZC5maWVsZExhYmVsXCJcbiAgICAgIFtwLWZpZWxkLXZhbHVlXT1cImZpZWxkLmZpZWxkVmFsdWVcIlxuICAgICAgW3AtZmlsdGVyLXNlcnZpY2VdPVwiZmllbGQub3B0aW9uc1NlcnZpY2VcIlxuICAgICAgW3AtZmlsdGVyLW1vZGVdPVwiZmllbGQuZmlsdGVyTW9kZVwiXG4gICAgICBbcC1kZWJvdW5jZS10aW1lXT1cImZpZWxkLmRlYm91bmNlVGltZVwiXG4gICAgICBbcC1zb3J0XT1cImZpZWxkLnNvcnRcIlxuICAgICAgW3AtcGxhY2Vob2xkZXItc2VhcmNoXT1cImZpZWxkLnBsYWNlaG9sZGVyU2VhcmNoXCJcbiAgICAgIFtwLWhpZGUtc2VhcmNoXT1cImZpZWxkLmhpZGVTZWFyY2hcIlxuICAgICAgW3AtaGlkZS1zZWxlY3QtYWxsXT1cImZpZWxkLmhpZGVTZWxlY3RBbGxcIlxuICAgID5cbiAgICA8L3BvLW11bHRpc2VsZWN0PlxuXG4gICAgPHBvLXRleHRhcmVhXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAndGV4dGFyZWEnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1tYXhsZW5ndGhdPVwiZmllbGQubWF4TGVuZ3RoXCJcbiAgICAgIFtwLW1pbmxlbmd0aF09XCJmaWVsZC5taW5MZW5ndGhcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3AtcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgW3Atcm93c109XCJmaWVsZC5yb3dzXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgICAocC1jaGFuZ2UtbW9kZWwpPVwib25DaGFuZ2VGaWVsZE1vZGVsKGZpZWxkKVwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgPlxuICAgIDwvcG8tdGV4dGFyZWE+XG5cbiAgICA8cG8tcGFzc3dvcmRcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdwYXNzd29yZCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWVycm9yLXBhdHRlcm5dPVwiZmllbGQuZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWhpZGUtcGFzc3dvcmQtcGVla109XCJmaWVsZC5oaWRlUGFzc3dvcmRQZWVrXCJcbiAgICAgIFtwLWljb25dPVwiZmllbGQuaWNvblwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1tYXhsZW5ndGhdPVwiZmllbGQubWF4TGVuZ3RoXCJcbiAgICAgIFtwLW1pbmxlbmd0aF09XCJmaWVsZC5taW5MZW5ndGhcIlxuICAgICAgW3Atbm8tYXV0b2NvbXBsZXRlXT1cImZpZWxkLm5vQXV0b2NvbXBsZXRlXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLXBhdHRlcm5dPVwiZmllbGQucGF0dGVyblwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cIm9uQ2hhbmdlRmllbGRNb2RlbChmaWVsZClcIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgID5cbiAgICA8L3BvLXBhc3N3b3JkPlxuXG4gICAgPHBvLXVwbG9hZFxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ3VwbG9hZCcpXCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWF1dG8tdXBsb2FkXT1cImZpZWxkLmF1dG9VcGxvYWRcIlxuICAgICAgW3AtZGlyZWN0b3J5XT1cImZpZWxkLmRpcmVjdG9yeVwiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1kcmFnLWRyb3BdPVwiZmllbGQuZHJhZ0Ryb3BcIlxuICAgICAgW3AtZHJhZy1kcm9wLWhlaWdodF09XCJmaWVsZC5kcmFnRHJvcEhlaWdodFwiXG4gICAgICBbcC1yZXN0cmljdGlvbnNdPVwiZmllbGQucmVzdHJpY3Rpb25zXCJcbiAgICAgIFtwLWZvcm0tZmllbGRdPVwiZmllbGQuZm9ybUZpZWxkXCJcbiAgICAgIFtwLWhlYWRlcnNdPVwiZmllbGQuaGVhZGVyc1wiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtaGlkZS1yZXN0cmljdGlvbnMtaW5mb109XCJmaWVsZC5oaWRlUmVzdHJpY3Rpb25zSW5mb1wiXG4gICAgICBbcC1oaWRlLXNlbGVjdC1idXR0b25dPVwiZmllbGQuaGlkZVNlbGVjdEJ1dHRvblwiXG4gICAgICBbcC1oaWRlLXNlbmQtYnV0dG9uXT1cImZpZWxkLmhpZGVTZW5kQnV0dG9uXCJcbiAgICAgIFtwLW11bHRpcGxlXT1cImZpZWxkLm11bHRpcGxlXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLWxpdGVyYWxzXT1cImZpZWxkLmxpdGVyYWxzXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIChwLWVycm9yKT1cImZpZWxkLm9uRXJyb3IoJGV2ZW50KVwiXG4gICAgICAocC1zdWNjZXNzKT1cImZpZWxkLm9uU3VjY2VzcygkZXZlbnQpXCJcbiAgICAgIChwLXVwbG9hZCk9XCJmaWVsZC5vblVwbG9hZCgkZXZlbnQpXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgICAocC1jaGFuZ2UtbW9kZWwpPVwib25DaGFuZ2VGaWVsZE1vZGVsKGZpZWxkKVwiXG4gICAgICBbcC11cmxdPVwiZmllbGQudXJsXCJcbiAgICA+XG4gICAgPC9wby11cGxvYWQ+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNwb0NvbnRlbnRDb250YWluZXIgbGV0LWZpZWxkcz5cbiAgPHBvLWR5bmFtaWMtY29udGFpbmVyIFtwLWZpZWxkc109XCJmaWVsZHNcIiBbcC1jb250ZW50XT1cInBvQ29udGVudFwiPjwvcG8tZHluYW1pYy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|