@po-ui/ng-components 18.2.0 → 18.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,6 +13,15 @@ import * as i0 from "@angular/core";
13
13
  *
14
14
  * > Obs.: Não está documentado aqui e não indicamos a customização das cores de 'feedback' por motivos de acessibilidade e usabilidade.
15
15
  */
16
+ /**
17
+ * @example
18
+ *
19
+ * <example name="po-theme-labs" title="PO Theme Labs">
20
+ * <file name="sample-po-theme-labs/sample-po-theme-labs.component.html"> </file>
21
+ * <file name="sample-po-theme-labs/sample-po-theme-labs.component.ts"> </file>
22
+ * </example>
23
+ *
24
+ */
16
25
  export class PoThemeService {
17
26
  window;
18
27
  document;
@@ -289,4 +298,4 @@ export class PoThemeService {
289
298
  type: Inject,
290
299
  args: [ICONS_DICTIONARY]
291
300
  }] }], null); })();
292
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2VydmljZXMvcG8tdGhlbWUvcG8tdGhlbWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUErQixNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQUtsRTs7Ozs7Ozs7R0FRRztBQUlILE1BQU0sT0FBTyxjQUFjO0lBVUc7SUFDQTtJQVZwQixRQUFRLENBQVk7SUFDcEIsS0FBSyxHQUFZLGNBQWMsQ0FBQztJQUNoQyxVQUFVLENBQTRCO0lBRTlDLElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7SUFDbEMsQ0FBQztJQUVELFlBQzRCLE1BQWMsRUFDZCxRQUFrQixFQUM1QyxlQUFpQyxFQUNLLEtBQWdDO1FBSDVDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBSTVDLElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFM0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLElBQUksc0JBQXNCLENBQUM7SUFDcEQsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsUUFBUSxDQUFDLEtBQWMsRUFBRSxZQUE2QixlQUFlLENBQUMsS0FBSztRQUN6RSxvRkFBb0Y7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Q0FBQztRQUNGLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFFaEQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO3dFQTFTVSxjQUFjLGNBVWYsUUFBUSxlQUNSLFFBQVEsaURBRUksZ0JBQWdCO2dFQWIzQixjQUFjLFdBQWQsY0FBYyxtQkFGYixNQUFNOztpRkFFUCxjQUFjO2NBSDFCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7c0JBV0ksTUFBTTt1QkFBQyxRQUFROztzQkFDZixNQUFNO3VCQUFDLFFBQVE7O3NCQUVmLFFBQVE7O3NCQUFJLE1BQU07dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCwgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJQ09OU19ESUNUSU9OQVJZLCBQaG9zcGhvckljb25EaWN0aW9uYXJ5IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9wby1pY29uL2luZGV4JztcbmltcG9ydCB7IFBvVGhlbWVUeXBlRW51bSB9IGZyb20gJy4vZW51bS9wby10aGVtZS10eXBlLmVudW0nO1xuaW1wb3J0IHsgcG9UaGVtZURlZmF1bHQgfSBmcm9tICcuL2hlbHBlcnMvcG8tdGhlbWUtcG91aS5jb25zdGFudCc7XG5pbXBvcnQgeyBQb1RoZW1lQ29sb3IgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tdGhlbWUtY29sb3IuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvVGhlbWVUb2tlbnMgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tdGhlbWUtdG9rZW5zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1RoZW1lIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXRoZW1lLmludGVyZmFjZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogTyBgUG9UaGVtZVNlcnZpY2VgIHBvc3NpYmlsaXRhIGEgcGVyc29uYWxpemHDp8OjbyBkYXMgY29yZXMgZG8gdGVtYSBwYWRyw6NvIGRvIGBQTy1VSWAsIHBlcm1pdGluZG8gYSBhbHRlcmHDp8OjbyBkb3MgdmFsb3JlcyBkYXMgdmFyacOhdmVpcyBkZSBlc3RpbG8gdXNhZGFzIG5vIENTUyBwYWRyw6NvLlxuICpcbiAqID4gUGFyYSBzYWJlciBtYWlzIHNvYnJlIGNvbW8gY3VzdG9taXphciBhcyBjb3JlcyBkbyB0ZW1hIHBhZHLDo28gdmVyaWZpcXVlIG8gaXRlbSBbQ3VzdG9taXphbmRvIGNvcmVzIGRvIHRlbWEgcGFkcsOjb10oaHR0cHM6Ly9wby11aS5pby9ndWlkZXMvY29sb3JzLWN1c3RvbWl6YXRpb24pIG5hIGFiYSBgR3VpYXNgLlxuICpcbiAqID4gT2JzLjogTsOjbyBlc3TDoSBkb2N1bWVudGFkbyBhcXVpIGUgbsOjbyBpbmRpY2Ftb3MgYSBjdXN0b21pemHDp8OjbyBkYXMgY29yZXMgZGUgJ2ZlZWRiYWNrJyBwb3IgbW90aXZvcyBkZSBhY2Vzc2liaWxpZGFkZSBlIHVzYWJpbGlkYWRlLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQb1RoZW1lU2VydmljZSB7XG4gIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcbiAgcHJpdmF0ZSB0aGVtZTogUG9UaGVtZSA9IHBvVGhlbWVEZWZhdWx0O1xuICBwcml2YXRlIF9pY29uVG9rZW46IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgZ2V0IGljb25OYW1lTGliKCkge1xuICAgIHJldHVybiB0aGlzLl9pY29uVG9rZW4uTkFNRV9MSUI7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdXaW5kb3cnKSBwcml2YXRlIHdpbmRvdzogV2luZG93LFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5MixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KElDT05TX0RJQ1RJT05BUlkpIHZhbHVlOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9XG4gICkge1xuICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XG5cbiAgICB0aGlzLl9pY29uVG9rZW4gPSB2YWx1ZSA/PyBQaG9zcGhvckljb25EaWN0aW9uYXJ5O1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSBvIHRlbWEgYSBzZXIgYXBsaWNhZG8gbm8gY29tcG9uZW50ZSwgZGUgYWNvcmRvIGNvbSBvIHRpcG8gZGUgdGVtYSBlc3BlY2lmaWNhZG8uXG4gICAqXG4gICAqIEVzdGUgbcOpdG9kbyBkZWZpbmUgbyB0ZW1hIGEgc2VyIGFwbGljYWRvIG5vIGNvbXBvbmVudGUgY29tIGJhc2Ugbm8gb2JqZXRvIGB0aGVtZWAgZm9ybmVjaWRvIGUgbm8gdGlwbyBkZSB0ZW1hIGVzcGVjaWZpY2Fkby5cbiAgICogRWxlIGF0dWFsaXphIGFzIHByb3ByaWVkYWRlcyBkbyBjb21wb25lbnRlIHBhcmEgcmVmbGV0aXIgbyB0ZW1hIHNlbGVjaW9uYWRvLCBjb21vIGNvcmVzLCBlc3RpbG9zIGUgY29tcG9ydGFtZW50b3MuXG4gICAqXG4gICAqIEBwYXJhbSB7UG9UaGVtZX0gdGhlbWUgLSBPYmpldG8gY29udGVuZG8gYXMgZGVmaW5pw6fDtWVzIGRlIHRlbWEgYSBzZXJlbSBhcGxpY2FkYXMgbm8gY29tcG9uZW50ZS5cbiAgICogQHBhcmFtIHtQb1RoZW1lVHlwZUVudW19IFt0aGVtZVR5cGU9UG9UaGVtZVR5cGVFbnVtLmxpZ2h0XSAtIChPcGNpb25hbCkgVGlwbyBkZSB0ZW1hIGEgc2VyIGFwbGljYWRvLCBwb2RlbmRvIHNlciAnbGlnaHQnIChjbGFybykgb3UgJ2RhcmsnIChlc2N1cm8pLiBQb3IgcGFkcsOjbywgbyB0ZW1hIGNsYXJvIMOpIGFwbGljYWRvLlxuICAgKi9cbiAgc2V0VGhlbWUodGhlbWU6IFBvVGhlbWUsIHRoZW1lVHlwZTogUG9UaGVtZVR5cGVFbnVtID0gUG9UaGVtZVR5cGVFbnVtLmxpZ2h0KTogdm9pZCB7XG4gICAgLy8gQ2hhbmdlIHRoZW1lIG5hbWUsIHJlbW92ZSBzcGVjaWFsIGNoYXJhY3RlcmVzIGFuZCBudW1iZXIsIHJlcGxhY2Ugc3BhY2Ugd2l0aCBkYXNoXG4gICAgdGhlbWUubmFtZSA9IHRoZW1lLm5hbWVcbiAgICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgICAucmVwbGFjZSgvW15hLXpBLVogXS9nLCAnJylcbiAgICAgIC5yZXBsYWNlKC9cXHMrL2csICctJyk7XG4gICAgdGhlbWUuYWN0aXZlID0gdGhlbWVUeXBlO1xuXG4gICAgY29uc3QgX3RoZW1lVHlwZSA9IHRoZW1lLnR5cGVbUG9UaGVtZVR5cGVFbnVtW3RoZW1lVHlwZV1dO1xuICAgIGlmICghX3RoZW1lVHlwZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbG9yU3R5bGVzID0gX3RoZW1lVHlwZS5jb2xvciA/IHRoaXMuZ2VuZXJhdGVUaGVtZVN0eWxlcyhfdGhlbWVUeXBlLmNvbG9yKSA6ICcnO1xuICAgIGNvbnN0IHBlckNvbXBvbmVudFN0eWxlcyA9IF90aGVtZVR5cGUucGVyQ29tcG9uZW50ID8gdGhpcy5nZW5lcmF0ZVBlckNvbXBvbmVudFN0eWxlcyhfdGhlbWVUeXBlLnBlckNvbXBvbmVudCkgOiAnJztcbiAgICBjb25zdCBvblJvb3RTdHlsZXMgPSBfdGhlbWVUeXBlLm9uUm9vdCA/IHRoaXMuZ2VuZXJhdGVBZGRpdGlvbmFsU3R5bGVzKF90aGVtZVR5cGUub25Sb290KSA6ICcnO1xuICAgIGNvbnN0IGFkZGl0aW9uYWxTdHlsZXMgPSB0aGlzLmdlbmVyYXRlQWRkaXRpb25hbFN0eWxlcyhfdGhlbWVUeXBlKTtcblxuICAgIGNvbnN0IGNvbWJpbmVkU3R5bGVzID0gYFxuICAgICAgLiR7dGhlbWUubmFtZX0tJHtQb1RoZW1lVHlwZUVudW1bdGhlbWVUeXBlXX06cm9vdCB7XG4gICAgICAgICR7Y29sb3JTdHlsZXN9XG4gICAgICAgICR7cGVyQ29tcG9uZW50U3R5bGVzfVxuICAgICAgICAke29uUm9vdFN0eWxlc31cbiAgICAgICAgJHthZGRpdGlvbmFsU3R5bGVzfVxuICAgICAgfWA7XG5cbiAgICB0aGlzLmFwcGx5VGhlbWVTdHlsZXMoY29tYmluZWRTdHlsZXMpO1xuICAgIHRoaXMuY2hhbmdlVGhlbWVUeXBlKHRoZW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZG9jc1ByaXZhdGVcbiAgICpcbiAgICogR2VyYSBlc3RpbG9zIGFkaWNpb25haXMgY29tIGJhc2Ugbm9zIHRva2VucyBkZSB0ZW1hIGZvcm5lY2lkb3MsIGV4Y2x1aW5kbyBvcyB0b2tlbnMgZGUgY29yLlxuICAgKiBAcGFyYW0gdGhlbWUgT3MgdG9rZW5zIGRlIHRlbWEgY29udGVuZG8gb3MgZXN0aWxvcyBhZGljaW9uYWlzIGEgc2VyZW0gZ2VyYWRvcy5cbiAgICogQHJldHVybnMgVW1hIHN0cmluZyBjb250ZW5kbyBvcyBlc3RpbG9zIGFkaWNpb25haXMgZm9ybWF0YWRvcy5cbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVBZGRpdGlvbmFsU3R5bGVzKHRoZW1lOiBQb1RoZW1lVG9rZW5zKTogc3RyaW5nIHtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXModGhlbWUpXG4gICAgICAuZmlsdGVyKChba2V5XSkgPT4gIVsnY29sb3InLCAncGVyQ29tcG9uZW50JywgJ29uUm9vdCddLmluY2x1ZGVzKGtleSkpXG4gICAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IGAke2tleX06ICR7dmFsdWV9O2ApXG4gICAgICAuam9pbignICcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkb2NzUHJpdmF0ZVxuICAgKlxuICAgKiBBcGxpY2Egb3MgZXN0aWxvcyBkZSB0ZW1hIGFvIGRvY3VtZW50by5cbiAgICogQHBhcmFtIHN0eWxlQ3NzIE9zIGVzdGlsb3MgQ1NTIGEgc2VyZW0gYXBsaWNhZG9zLlxuICAgKi9cbiAgcHJpdmF0ZSBhcHBseVRoZW1lU3R5bGVzKHN0eWxlQ3NzOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBzdHlsZUVsZW1lbnQgPSB0aGlzLmNyZWF0ZVN0eWxlRWxlbWVudChzdHlsZUNzcyk7XG4gICAgY29uc3QgZXhpc3RpbmdTdHlsZUVsZW1lbnQgPSBkb2N1bWVudC5oZWFkLnF1ZXJ5U2VsZWN0b3IoJyNwb3VpVGhlbWUnKTtcblxuICAgIGlmIChleGlzdGluZ1N0eWxlRWxlbWVudCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZChkb2N1bWVudC5oZWFkLCBleGlzdGluZ1N0eWxlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5oZWFkLCBzdHlsZUVsZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGFuZ2VUaGVtZVR5cGUodGhlbWU6IFBvVGhlbWUpIHtcbiAgICB0aGlzLmNsZWFuVGhlbWVBY3RpdmUoKTtcbiAgICB0aGlzLnNldFRoZW1lQWN0aXZlKHRoZW1lKTtcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaHRtbCcpWzBdLmNsYXNzTGlzdC5hZGQoLi4uW2Ake3RoZW1lLm5hbWV9LSR7UG9UaGVtZVR5cGVFbnVtW3RoZW1lLmFjdGl2ZV19YF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcnNpc3RlIGUgZGVmaW5lIG8gdGVtYSBkbyBhcGxpY2F0aXZvIGNvbSBiYXNlIG5vcyBkYWRvcyBhcm1hemVuYWRvcy5cbiAgICpcbiAgICogRXN0ZSBtw6l0b2RvIHJlY3VwZXJhIG9zIGRhZG9zIGRvIHRlbWEgYXJtYXplbmFkb3MgZSBvcyBhcGxpY2EgYW8gYXBsaWNhdGl2by5cbiAgICpcbiAgICogQHJldHVybnMge1BvVGhlbWV9IFJlY3VwZXJhIG8gdGVtYSBhcm1hemVuYWRvLlxuICAgKi9cbiAgcGVyc2lzdFRoZW1lQWN0aXZlKCkge1xuICAgIGNvbnN0IF90aGVtZSA9IHRoaXMuZ2V0VGhlbWVBY3RpdmUoKTtcbiAgICB0aGlzLnNldFRoZW1lKF90aGVtZSwgX3RoZW1lLmFjdGl2ZSk7XG4gICAgcmV0dXJuIF90aGVtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbHRlcmEgbyB0aXBvIGRvIHRlbWEgYXJtYXplbmFkbyBlIGFwbGljYSBvcyBub3ZvcyBlc3RpbG9zIGFvIGRvY3VtZW50by5cbiAgICpcbiAgICogRXN0ZSBtw6l0b2RvIGFsdGVyYSBvIHRpcG8gZG8gdGVtYSBhcm1hemVuYWRvIGF0aXZvIChsaWdodC9kYXJrKVxuICAgKlxuICAgKiBAcGFyYW0ge1BvVGhlbWVUeXBlRW51bX0gdGhlbWVUeXBlIE8gdGlwbyBkZSB0ZW1hIGEgc2VyIGFwbGljYWRvLCBsaWdodCBvdSBkYXJrLlxuICAgKi9cbiAgY2hhbmdlQ3VycmVudFRoZW1lVHlwZSh0eXBlOiBQb1RoZW1lVHlwZUVudW0pOiB2b2lkIHtcbiAgICBjb25zdCBfdGhlbWUgPSB0aGlzLmdldFRoZW1lQWN0aXZlKCk7XG4gICAgX3RoZW1lLmFjdGl2ZSA9IHR5cGU7XG4gICAgdGhpcy5jaGFuZ2VUaGVtZVR5cGUoX3RoZW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNw6l0b2RvIHJlbW92ZSBvIHRlbWEgYXJtYXplbmFkbyBlIGxpbXBhIHRvZG9zIG9zIGVzdGlsb3MgZGUgdGVtYVxuICAgKiBhcGxpY2Fkb3MgYW8gZG9jdW1lbnRvLlxuICAgKi9cbiAgY2xlYW5UaGVtZUFjdGl2ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBfdGhlbWUgPSB0aGlzLmdldFRoZW1lQWN0aXZlKCk7XG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2h0bWwnKVswXS5jbGFzc0xpc3QucmVtb3ZlKGAke190aGVtZS5uYW1lfS0ke1BvVGhlbWVUeXBlRW51bVtfdGhlbWUuYWN0aXZlXX1gKTtcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgndG90dnMtdGhlbWUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZG9jc1ByaXZhdGVcbiAgICpcbiAgICogRXN0ZSBtw6l0b2RvIGRlZmluZSB1bSBkYWRvcyBkbyB0ZW1hIGUgbyBhcm1hemVuYS5cbiAgICogQHBhcmFtIHRoZW1lIE9zIHRva2VucyBkZSB0ZW1hIGNvbnRlbmRvIG9zIGVzdGlsb3MgYWRpY2lvbmFpcyBhIHNlcmVtIGdlcmFkb3MuXG4gICAqL1xuICBwcml2YXRlIHNldFRoZW1lQWN0aXZlKHRoZW1lOiBQb1RoZW1lKTogdm9pZCB7XG4gICAgaWYgKHRoZW1lKSB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndG90dnMtdGhlbWUnLCBKU09OLnN0cmluZ2lmeSh0aGVtZSkpO1xuICAgICAgdGhpcy50aGVtZSA9IHRoZW1lO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRvcm5hIG8gdGVtYSBhdGl2byBjb21vIHVtIG9ic2VydmFibGUuXG4gICAqIEByZXR1cm5zIHtQb1RoZW1lfSBUZW1hIGF0aXZvLlxuICAgKi9cbiAgZ2V0VGhlbWVBY3RpdmUoKTogUG9UaGVtZSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHRoZW1lRGF0YSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3RvdHZzLXRoZW1lJykpO1xuICAgICAgaWYgKHRoZW1lRGF0YSAmJiBKU09OLnN0cmluZ2lmeSh0aGVtZURhdGEpICE9PSBKU09OLnN0cmluZ2lmeSh0aGlzLnRoZW1lKSkge1xuICAgICAgICB0aGlzLnRoZW1lID0gdGhlbWVEYXRhO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvIGFvIG9idGVyIG8gdGVtYSBkbyBhcm1hemVuYW1lbnRvIGxvY2FsOicsIGVycm9yKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudGhlbWU7XG4gIH1cblxuICAvKipcbiAgICogQGRvY3NQcml2YXRlXG4gICAqXG4gICAqIEdlcmEgZXN0aWxvcyBDU1MgY29tIGJhc2Ugbm9zIHRva2VucyBkZSBjb3JlcyBmb3JuZWNpZG9zLlxuICAgKiBAcGFyYW0gdGhlbWVDb2xvciBPcyB0b2tlbnMgZGUgY29yIGEgc2VyZW0gdXNhZG9zIHBhcmEgZ2VyYXIgb3MgZXN0aWxvcy5cbiAgICogQHJldHVybnMgVW1hIHN0cmluZyBjb250ZW5kbyBvcyBlc3RpbG9zIENTUyBnZXJhZG9zLlxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVTdHlsZUVsZW1lbnQoY3NzOiBzdHJpbmcpOiBIVE1MU3R5bGVFbGVtZW50IHtcbiAgICBjb25zdCBzdHlsZUVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gICAgc3R5bGVFbGVtZW50LmlkID0gJ3BvdWlUaGVtZSc7XG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChzdHlsZUVsZW1lbnQsIHRoaXMucmVuZGVyZXIuY3JlYXRlVGV4dChjc3MpKTtcbiAgICByZXR1cm4gc3R5bGVFbGVtZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkb2NzUHJpdmF0ZVxuICAgKlxuICAgKiBHZXJhIGVzdGlsb3MgQ1NTIGNvbSBiYXNlIG5vcyB0b2tlbnMgZGUgY29yZXMgZm9ybmVjaWRvcy5cbiAgICogQHBhcmFtIHRoZW1lQ29sb3IgT3MgdG9rZW5zIGRlIGNvciBhIHNlcmVtIHVzYWRvcyBwYXJhIGdlcmFyIG9zIGVzdGlsb3MuXG4gICAqIEByZXR1cm5zIFVtYSBzdHJpbmcgY29udGVuZG8gb3MgZXN0aWxvcyBDU1MgZ2VyYWRvcy5cbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVUaGVtZVN0eWxlcyh0aGVtZUNvbG9yOiBQb1RoZW1lQ29sb3IpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNlbGVjdEJnSWNvblN0eWxlID0gdGhpcy5nZXRTZWxlY3RCZ0ljb25zU3R5bGUodGhlbWVDb2xvcik7XG5cbiAgICByZXR1cm4gW1xuICAgICAgT2JqZWN0LmVudHJpZXModGhlbWVDb2xvcilcbiAgICAgICAgLmZsYXRNYXAoKFt0eXBlLCB2YWx1ZXNdKSA9PlxuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHZhbHVlcykuZmxhdE1hcCgoW3RvbmFsaXR5LCB0b25hbGl0eVZhbHVlc10pID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlID09PSAnYWN0aW9uJykge1xuICAgICAgICAgICAgICByZXR1cm4gW2AtLWNvbG9yLSR7dHlwZX0tJHt0b25hbGl0eX06ICR7dG9uYWxpdHlWYWx1ZXN9O2BdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHRvbmFsaXR5VmFsdWVzKS5tYXAoXG4gICAgICAgICAgICAgICAgKFtsZXZlbCwgY29sb3JWYWx1ZV0pID0+IGAtLWNvbG9yLSR7dHlwZX0tJHt0b25hbGl0eX0tJHtsZXZlbH06ICR7Y29sb3JWYWx1ZX07YFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLmpvaW4oJycpLFxuICAgICAgc2VsZWN0QmdJY29uU3R5bGVcbiAgICBdLmpvaW4oJycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkb2NzUHJpdmF0ZVxuICAgKlxuICAgKiBHZXJhIGVzdGlsb3MgQ1NTIGNvbSBiYXNlIG5vcyB0b2tlbnMgcGVyIENvbXBvbmVudCBmb3JuZWNpZG9zLlxuICAgKiBAcGFyYW0gdGhlbWVQZXJDb21wb25lbnQgT3MgdG9rZW5zIGRlIGNvciBhIHNlcmVtIHVzYWRvcyBwYXJhIGdlcmFyIG9zIGVzdGlsb3MuXG4gICAqIEByZXR1cm5zIFVtYSBzdHJpbmcgY29udGVuZG8gb3MgZXN0aWxvcyBDU1MgZ2VyYWRvcy5cbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVQZXJDb21wb25lbnRTdHlsZXModGhlbWVQZXJDb21wb25lbnQ6IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHRoZW1lUGVyQ29tcG9uZW50KVxuICAgICAgLmZsYXRNYXAoKFt0eXBlLCB2YWx1ZXNdKSA9PlxuICAgICAgICBPYmplY3QuZW50cmllcyh2YWx1ZXMpLmZsYXRNYXAoKFtsZXZlbCwgY29sb3JWYWx1ZV0pID0+IFtgJHt0eXBlfSB7JHtsZXZlbH06ICR7Y29sb3JWYWx1ZX07fTtgXSlcbiAgICAgIClcbiAgICAgIC5qb2luKCcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgbyB0ZW1hIGF0dWFsIGNvbW8gbyB0ZW1hIFwiUG9VSSBQYWRyw6NvXCIuXG4gICAqXG4gICAqIEBwYXJhbSB7UG9UaGVtZVR5cGVFbnVtfSB0eXBlIE8gdGlwbyBkZSBUZW1hIGEgc2VyIGFwbGljYWRvLCBsaWdodCAvIGRhcmsuXG4gICAqL1xuICBzZXREZWZhdWx0VGhlbWUodHlwZTogUG9UaGVtZVR5cGVFbnVtKTogdm9pZCB7XG4gICAgdGhpcy5zZXRUaGVtZShwb1RoZW1lRGVmYXVsdCwgdHlwZSk7XG4gIH1cblxuICAvKipcbiAgICogQGRvY3NQcml2YXRlXG4gICAqXG4gICAqIFJldG9ybmEgbyBlc3RpbG8gQ1NTIHBhcmEgbyBmdW5kbyBkb3Mgw61jb25lcyBkbyBjb21wb25lbnRlIHBvLXNlbGVjdCwgY29tIGJhc2UgbmFzIGNvcmVzIGRvIHRlbWEuXG4gICAqXG4gICAqIEBwYXJhbSB7UG9UaGVtZUNvbG9yfSB0aGVtZUNvbG9yIC0gT2JqZXRvIGNvbnRlbmRvIGFzIGNvcmVzIGRvIHRlbWEuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gRXN0aWxvIENTUyBwYXJhIG8gZnVuZG8gZG9zIMOtY29uZXMgZG8gcG8tc2VsZWN0LlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRTZWxlY3RCZ0ljb25zU3R5bGUodGhlbWVDb2xvcjogUG9UaGVtZUNvbG9yKTogc3RyaW5nIHtcbiAgICBsZXQgc2VsZWN0QmdJY29uID0gJyc7XG5cbiAgICBpZiAodGhlbWVDb2xvcj8uYnJhbmQ/LlsnMDEnXT8uZGFyaykge1xuICAgICAgY29uc3Qgc2VsZWN0b3IgPSB0aGlzLmljb25OYW1lTGliID09PSAnUGhvc3Bob3JJY29uJyA/ICdwby1zZWxlY3QgLnBvLXNlbGVjdC1waG9zcGhvcicgOiAncG8tc2VsZWN0JztcbiAgICAgIHNlbGVjdEJnSWNvbiArPSBgJHtzZWxlY3Rvcn0geyAtLWJhY2tncm91bmQtaW1hZ2U6IHVybCgke3RoaXMuZ2V0U2VsZWN0QmdJY29uKHRoZW1lQ29sb3IuYnJhbmRbJzAxJ10uZGFyayl9KTsgfTtgO1xuICAgIH1cblxuICAgIGlmICh0aGVtZUNvbG9yPy5mZWVkYmFjaz8ubmVnYXRpdmU/LmJhc2UpIHtcbiAgICAgIGlmICh0aGlzLmljb25OYW1lTGliID09PSAnUG9JY29uJykge1xuICAgICAgICBzZWxlY3RCZ0ljb24gKz0gYHBvLXNlbGVjdC5uZy1kaXJ0eS5uZy1pbnZhbGlkIHNlbGVjdCB7IC0tYmFja2dyb3VuZC1pbWFnZTogdXJsKCR7dGhpcy5nZXRTZWxlY3RCZ0ljb24odGhlbWVDb2xvci5mZWVkYmFjay5uZWdhdGl2ZS5iYXNlKX0pOyB9O2A7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmljb25OYW1lTGliID09PSAnUGhvc3Bob3JJY29uJykge1xuICAgICAgICBzZWxlY3RCZ0ljb24gKz0gYHBvLXNlbGVjdC5uZy1kaXJ0eS5uZy1pbnZhbGlkIHNlbGVjdC5wby1zZWxlY3QtcGhvc3Bob3IgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHt0aGlzLmdldFNlbGVjdEJnSWNvbih0aGVtZUNvbG9yLmZlZWRiYWNrLm5lZ2F0aXZlLmJhc2UpfSk7IH07YDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhlbWVDb2xvcj8ubmV1dHJhbD8ubGlnaHQ/LlsnMzAnXSkge1xuICAgICAgaWYgKHRoaXMuaWNvbk5hbWVMaWIgPT09ICdQb0ljb24nKSB7XG4gICAgICAgIHNlbGVjdEJnSWNvbiArPSBgc2VsZWN0OmRpc2FibGVkIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCR7dGhpcy5nZXRTZWxlY3RCZ0ljb24odGhlbWVDb2xvci5uZXV0cmFsLmxpZ2h0WyczMCddKX0pOyB9O2A7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmljb25OYW1lTGliID09PSAnUGhvc3Bob3JJY29uJykge1xuICAgICAgICBzZWxlY3RCZ0ljb24gKz0gYHBvLXNlbGVjdCBzZWxlY3QucG8tc2VsZWN0LXBob3NwaG9yOmRpc2FibGVkIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCR7dGhpcy5nZXRTZWxlY3RCZ0ljb24odGhlbWVDb2xvci5uZXV0cmFsLmxpZ2h0WyczMCddKX0pOyB9O2A7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlbGVjdEJnSWNvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZG9jc1ByaXZhdGVcbiAgICpcbiAgICogUmV0b3JuYSBhIGltYWdlbSBTVkcgdXRpbGl6YWRhIGNvbW8gZnVuZG8gZG8gcG8tc2VsZWN0LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29sb3IgQ29yIGRhIEltYWdlbSAtIFV0aWxpemFkYSBubyBhdHJpYnV0byAnZmlsbCcuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IEltYWdlbSBTVkcgdXRpbGl6YWRhIG5vIHBvLXNlbGVjdC5cbiAgICovXG4gIHByaXZhdGUgZ2V0U2VsZWN0QmdJY29uKGNvbG9yOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCBzdmc6IHN0cmluZztcblxuICAgIGlmICh0aGlzLmljb25OYW1lTGliID09PSAnUG9JY29uJykge1xuICAgICAgc3ZnID0gYFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgYDtcblxuICAgICAgc3ZnID0gc3ZnLmNvbmNhdChgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnIGApO1xuICAgICAgc3ZnID0gc3ZnLmNvbmNhdChgZD0nTTE4LjcwNyA4LjI5MzAxQzE4LjMxNiA3LjkwMjAxIDE3LjY4NCA3LjkwMjAxIDE3LjI5MyA4LjI5MzAxTDEyIDEzLjU4Nkw2LjcwNzAxIGApO1xuICAgICAgc3ZnID0gc3ZnLmNvbmNhdChgOC4yOTMwMUM2LjMxNjAxIDcuOTAyMDEgNS42ODQwMSA3LjkwMjAxIDUuMjkzMDEgOC4yOTMwMUM0LjkwMjAxIDguNjg0MDEgNC45MDIwMSBgKTtcbiAgICAgIHN2ZyA9IHN2Zy5jb25jYXQoYDkuMzE2MDEgNS4yOTMwMSA5LjcwNzAxTDExLjI5MyAxNS43MDdDMTEuNDg4IDE1LjkwMiAxMS43NDQgMTYgMTIgMTZDMTIuMjU2IDE2IDEyLjUxMiBgKTtcbiAgICAgIHN2ZyA9IHN2Zy5jb25jYXQoYDE1LjkwMiAxMi43MDcgMTUuNzA3TDE4LjcwNyA5LjcwNzAxQzE5LjA5OCA5LjMxNjAxIDE5LjA5OCA4LjY4NDAxIDE4LjcwNyA4LjI5MzAxWicgYCk7XG4gICAgICBzdmcgPSBzdmcuY29uY2F0KGBmaWxsPScke2NvbG9yLnJlcGxhY2UoJyMnLCAnJTIzJyl9Jy8lM0UlM0Mvc3ZnJTNFJTBBXCIpO2ApO1xuXG4gICAgICByZXR1cm4gc3ZnO1xuICAgIH1cblxuICAgIHN2ZyA9IGBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjU2IDI1NicgZmlsbD0nJHtjb2xvci5yZXBsYWNlKCcjJywgJyUyMycpfScgYDtcbiAgICBzdmcgPSBzdmcuY29uY2F0KGB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBgKTtcbiAgICBzdmcgPSBzdmcuY29uY2F0KFxuICAgICAgYGQ9J00yMTMuNjYsMTAxLjY2bC04MCw4MGE4LDgsMCwwLDEtMTEuMzIsMGwtODAtODBBOCw4LDAsMCwxLDUzLjY2LDkwLjM0TDEyOCwxNjQuNjlsNzQuMzQtNzQuMzVhOCw4LDAsMCwxLDExLjMyLDExLjMyWidgXG4gICAgKTtcbiAgICBzdmcgPSBzdmcuY29uY2F0KGAlM0UlM0MvcGF0aCUzRSUzQy9zdmclM0VcIik7YCk7XG5cbiAgICByZXR1cm4gc3ZnO1xuICB9XG59XG4iXX0=
301
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2VydmljZXMvcG8tdGhlbWUvcG8tdGhlbWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUErQixNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQUtsRTs7Ozs7Ozs7R0FRRztBQUVIOzs7Ozs7OztHQVFHO0FBSUgsTUFBTSxPQUFPLGNBQWM7SUFVRztJQUNBO0lBVnBCLFFBQVEsQ0FBWTtJQUNwQixLQUFLLEdBQVksY0FBYyxDQUFDO0lBQ2hDLFVBQVUsQ0FBNEI7SUFFOUMsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztJQUNsQyxDQUFDO0lBRUQsWUFDNEIsTUFBYyxFQUNkLFFBQWtCLEVBQzVDLGVBQWlDLEVBQ0ssS0FBZ0M7UUFINUMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVU7UUFJNUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUUzRCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssSUFBSSxzQkFBc0IsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxRQUFRLENBQUMsS0FBYyxFQUFFLFlBQTZCLGVBQWUsQ0FBQyxL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QUNkLHdIQUF3SCxDQUN6SCxDQUFDO1FBQ0YsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUVoRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7d0VBMVNVLGNBQWMsY0FVZixRQUFRLGVBQ1IsUUFBUSxpREFFSSxnQkFBZ0I7Z0VBYjNCLGNBQWMsV0FBZCxjQUFjLG1CQUZiLE1BQU07O2lGQUVQLGNBQWM7Y0FIMUIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COztzQkFXSSxNQUFNO3VCQUFDLFFBQVE7O3NCQUNmLE1BQU07dUJBQUMsUUFBUTs7c0JBRWYsUUFBUTs7c0JBQUksTUFBTTt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsLCBSZW5kZXJlcjIsIFJlbmRlcmVyRmFjdG9yeTIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElDT05TX0RJQ1RJT05BUlksIFBob3NwaG9ySWNvbkRpY3Rpb25hcnkgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3BvLWljb24vaW5kZXgnO1xuaW1wb3J0IHsgUG9UaGVtZVR5cGVFbnVtIH0gZnJvbSAnLi9lbnVtL3BvLXRoZW1lLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBwb1RoZW1lRGVmYXVsdCB9IGZyb20gJy4vaGVscGVycy9wby10aGVtZS1wb3VpLmNvbnN0YW50JztcbmltcG9ydCB7IFBvVGhlbWVDb2xvciB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby10aGVtZS1jb2xvci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9UaGVtZVRva2VucyB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby10aGVtZS10b2tlbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvVGhlbWUgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tdGhlbWUuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBPIGBQb1RoZW1lU2VydmljZWAgcG9zc2liaWxpdGEgYSBwZXJzb25hbGl6YcOnw6NvIGRhcyBjb3JlcyBkbyB0ZW1hIHBhZHLDo28gZG8gYFBPLVVJYCwgcGVybWl0aW5kbyBhIGFsdGVyYcOnw6NvIGRvcyB2YWxvcmVzIGRhcyB2YXJpw6F2ZWlzIGRlIGVzdGlsbyB1c2FkYXMgbm8gQ1NTIHBhZHLDo28uXG4gKlxuICogPiBQYXJhIHNhYmVyIG1haXMgc29icmUgY29tbyBjdXN0b21pemFyIGFzIGNvcmVzIGRvIHRlbWEgcGFkcsOjbyB2ZXJpZmlxdWUgbyBpdGVtIFtDdXN0b21pemFuZG8gY29yZXMgZG8gdGVtYSBwYWRyw6NvXShodHRwczovL3BvLXVpLmlvL2d1aWRlcy9jb2xvcnMtY3VzdG9taXphdGlvbikgbmEgYWJhIGBHdWlhc2AuXG4gKlxuICogPiBPYnMuOiBOw6NvIGVzdMOhIGRvY3VtZW50YWRvIGFxdWkgZSBuw6NvIGluZGljYW1vcyBhIGN1c3RvbWl6YcOnw6NvIGRhcyBjb3JlcyBkZSAnZmVlZGJhY2snIHBvciBtb3Rpdm9zIGRlIGFjZXNzaWJpbGlkYWRlIGUgdXNhYmlsaWRhZGUuXG4gKi9cblxuLyoqXG4gKiBAZXhhbXBsZVxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby10aGVtZS1sYWJzXCIgdGl0bGU9XCJQTyBUaGVtZSBMYWJzXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby10aGVtZS1sYWJzL3NhbXBsZS1wby10aGVtZS1sYWJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRoZW1lLWxhYnMvc2FtcGxlLXBvLXRoZW1lLWxhYnMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBvVGhlbWVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyO1xuICBwcml2YXRlIHRoZW1lOiBQb1RoZW1lID0gcG9UaGVtZURlZmF1bHQ7XG4gIHByaXZhdGUgX2ljb25Ub2tlbjogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICBnZXQgaWNvbk5hbWVMaWIoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ljb25Ub2tlbi5OQU1FX0xJQjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoJ1dpbmRvdycpIHByaXZhdGUgd2luZG93OiBXaW5kb3csXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoSUNPTlNfRElDVElPTkFSWSkgdmFsdWU6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH1cbiAgKSB7XG4gICAgdGhpcy5yZW5kZXJlciA9IHJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcblxuICAgIHRoaXMuX2ljb25Ub2tlbiA9IHZhbHVlID8/IFBob3NwaG9ySWNvbkRpY3Rpb25hcnk7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIG8gdGVtYSBhIHNlciBhcGxpY2FkbyBubyBjb21wb25lbnRlLCBkZSBhY29yZG8gY29tIG8gdGlwbyBkZSB0ZW1hIGVzcGVjaWZpY2Fkby5cbiAgICpcbiAgICogRXN0ZSBtw6l0b2RvIGRlZmluZSBvIHRlbWEgYSBzZXIgYXBsaWNhZG8gbm8gY29tcG9uZW50ZSBjb20gYmFzZSBubyBvYmpldG8gYHRoZW1lYCBmb3JuZWNpZG8gZSBubyB0aXBvIGRlIHRlbWEgZXNwZWNpZmljYWRvLlxuICAgKiBFbGUgYXR1YWxpemEgYXMgcHJvcHJpZWRhZGVzIGRvIGNvbXBvbmVudGUgcGFyYSByZWZsZXRpciBvIHRlbWEgc2VsZWNpb25hZG8sIGNvbW8gY29yZXMsIGVzdGlsb3MgZSBjb21wb3J0YW1lbnRvcy5cbiAgICpcbiAgICogQHBhcmFtIHtQb1RoZW1lfSB0aGVtZSAtIE9iamV0byBjb250ZW5kbyBhcyBkZWZpbmnDp8O1ZXMgZGUgdGVtYSBhIHNlcmVtIGFwbGljYWRhcyBubyBjb21wb25lbnRlLlxuICAgKiBAcGFyYW0ge1BvVGhlbWVUeXBlRW51bX0gW3RoZW1lVHlwZT1Qb1RoZW1lVHlwZUVudW0ubGlnaHRdIC0gKE9wY2lvbmFsKSBUaXBvIGRlIHRlbWEgYSBzZXIgYXBsaWNhZG8sIHBvZGVuZG8gc2VyICdsaWdodCcgKGNsYXJvKSBvdSAnZGFyaycgKGVzY3VybykuIFBvciBwYWRyw6NvLCBvIHRlbWEgY2xhcm8gw6kgYXBsaWNhZG8uXG4gICAqL1xuICBzZXRUaGVtZSh0aGVtZTogUG9UaGVtZSwgdGhlbWVUeXBlOiBQb1RoZW1lVHlwZUVudW0gPSBQb1RoZW1lVHlwZUVudW0ubGlnaHQpOiB2b2lkIHtcbiAgICAvLyBDaGFuZ2UgdGhlbWUgbmFtZSwgcmVtb3ZlIHNwZWNpYWwgY2hhcmFjdGVyZXMgYW5kIG51bWJlciwgcmVwbGFjZSBzcGFjZSB3aXRoIGRhc2hcbiAgICB0aGVtZS5uYW1lID0gdGhlbWUubmFtZVxuICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgIC5yZXBsYWNlKC9bXmEtekEtWiBdL2csICcnKVxuICAgICAgLnJlcGxhY2UoL1xccysvZywgJy0nKTtcbiAgICB0aGVtZS5hY3RpdmUgPSB0aGVtZVR5cGU7XG5cbiAgICBjb25zdCBfdGhlbWVUeXBlID0gdGhlbWUudHlwZVtQb1RoZW1lVHlwZUVudW1bdGhlbWVUeXBlXV07XG4gICAgaWYgKCFfdGhlbWVUeXBlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY29sb3JTdHlsZXMgPSBfdGhlbWVUeXBlLmNvbG9yID8gdGhpcy5nZW5lcmF0ZVRoZW1lU3R5bGVzKF90aGVtZVR5cGUuY29sb3IpIDogJyc7XG4gICAgY29uc3QgcGVyQ29tcG9uZW50U3R5bGVzID0gX3RoZW1lVHlwZS5wZXJDb21wb25lbnQgPyB0aGlzLmdlbmVyYXRlUGVyQ29tcG9uZW50U3R5bGVzKF90aGVtZVR5cGUucGVyQ29tcG9uZW50KSA6ICcnO1xuICAgIGNvbnN0IG9uUm9vdFN0eWxlcyA9IF90aGVtZVR5cGUub25Sb290ID8gdGhpcy5nZW5lcmF0ZUFkZGl0aW9uYWxTdHlsZXMoX3RoZW1lVHlwZS5vblJvb3QpIDogJyc7XG4gICAgY29uc3QgYWRkaXRpb25hbFN0eWxlcyA9IHRoaXMuZ2VuZXJhdGVBZGRpdGlvbmFsU3R5bGVzKF90aGVtZVR5cGUpO1xuXG4gICAgY29uc3QgY29tYmluZWRTdHlsZXMgPSBgXG4gICAgICAuJHt0aGVtZS5uYW1lfS0ke1BvVGhlbWVUeXBlRW51bVt0aGVtZVR5cGVdfTpyb290IHtcbiAgICAgICAgJHtjb2xvclN0eWxlc31cbiAgICAgICAgJHtwZXJDb21wb25lbnRTdHlsZXN9XG4gICAgICAgICR7b25Sb290U3R5bGVzfVxuICAgICAgICAke2FkZGl0aW9uYWxTdHlsZXN9XG4gICAgICB9YDtcblxuICAgIHRoaXMuYXBwbHlUaGVtZVN0eWxlcyhjb21iaW5lZFN0eWxlcyk7XG4gICAgdGhpcy5jaGFuZ2VUaGVtZVR5cGUodGhlbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkb2NzUHJpdmF0ZVxuICAgKlxuICAgKiBHZXJhIGVzdGlsb3MgYWRpY2lvbmFpcyBjb20gYmFzZSBub3MgdG9rZW5zIGRlIHRlbWEgZm9ybmVjaWRvcywgZXhjbHVpbmRvIG9zIHRva2VucyBkZSBjb3IuXG4gICAqIEBwYXJhbSB0aGVtZSBPcyB0b2tlbnMgZGUgdGVtYSBjb250ZW5kbyBvcyBlc3RpbG9zIGFkaWNpb25haXMgYSBzZXJlbSBnZXJhZG9zLlxuICAgKiBAcmV0dXJucyBVbWEgc3RyaW5nIGNvbnRlbmRvIG9zIGVzdGlsb3MgYWRpY2lvbmFpcyBmb3JtYXRhZG9zLlxuICAgKi9cbiAgcHJpdmF0ZSBnZW5lcmF0ZUFkZGl0aW9uYWxTdHlsZXModGhlbWU6IFBvVGhlbWVUb2tlbnMpOiBzdHJpbmcge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyh0aGVtZSlcbiAgICAgIC5maWx0ZXIoKFtrZXldKSA9PiAhWydjb2xvcicsICdwZXJDb21wb25lbnQnLCAnb25Sb290J10uaW5jbHVkZXMoa2V5KSlcbiAgICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4gYCR7a2V5fTogJHt2YWx1ZX07YClcbiAgICAgIC5qb2luKCcgJyk7XG4gIH1cblxuICAvKipcbiAgICogQGRvY3NQcml2YXRlXG4gICAqXG4gICAqIEFwbGljYSBvcyBlc3RpbG9zIGRlIHRlbWEgYW8gZG9jdW1lbnRvLlxuICAgKiBAcGFyYW0gc3R5bGVDc3MgT3MgZXN0aWxvcyBDU1MgYSBzZXJlbSBhcGxpY2Fkb3MuXG4gICAqL1xuICBwcml2YXRlIGFwcGx5VGhlbWVTdHlsZXMoc3R5bGVDc3M6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHN0eWxlRWxlbWVudCA9IHRoaXMuY3JlYXRlU3R5bGVFbGVtZW50KHN0eWxlQ3NzKTtcbiAgICBjb25zdCBleGlzdGluZ1N0eWxlRWxlbWVudCA9IGRvY3VtZW50LmhlYWQucXVlcnlTZWxlY3RvcignI3BvdWlUaGVtZScpO1xuXG4gICAgaWYgKGV4aXN0aW5nU3R5bGVFbGVtZW50KSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKGRvY3VtZW50LmhlYWQsIGV4aXN0aW5nU3R5bGVFbGVtZW50KTtcbiAgICB9XG5cbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmhlYWQsIHN0eWxlRWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZVRoZW1lVHlwZSh0aGVtZTogUG9UaGVtZSkge1xuICAgIHRoaXMuY2xlYW5UaGVtZUFjdGl2ZSgpO1xuICAgIHRoaXMuc2V0VGhlbWVBY3RpdmUodGhlbWUpO1xuICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdodG1sJylbMF0uY2xhc3NMaXN0LmFkZCguLi5bYCR7dGhlbWUubmFtZX0tJHtQb1RoZW1lVHlwZUVudW1bdGhlbWUuYWN0aXZlXX1gXSk7XG4gIH1cblxuICAvKipcbiAgICogUGVyc2lzdGUgZSBkZWZpbmUgbyB0ZW1hIGRvIGFwbGljYXRpdm8gY29tIGJhc2Ugbm9zIGRhZG9zIGFybWF6ZW5hZG9zLlxuICAgKlxuICAgKiBFc3RlIG3DqXRvZG8gcmVjdXBlcmEgb3MgZGFkb3MgZG8gdGVtYSBhcm1hemVuYWRvcyBlIG9zIGFwbGljYSBhbyBhcGxpY2F0aXZvLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UG9UaGVtZX0gUmVjdXBlcmEgbyB0ZW1hIGFybWF6ZW5hZG8uXG4gICAqL1xuICBwZXJzaXN0VGhlbWVBY3RpdmUoKSB7XG4gICAgY29uc3QgX3RoZW1lID0gdGhpcy5nZXRUaGVtZUFjdGl2ZSgpO1xuICAgIHRoaXMuc2V0VGhlbWUoX3RoZW1lLCBfdGhlbWUuYWN0aXZlKTtcbiAgICByZXR1cm4gX3RoZW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsdGVyYSBvIHRpcG8gZG8gdGVtYSBhcm1hemVuYWRvIGUgYXBsaWNhIG9zIG5vdm9zIGVzdGlsb3MgYW8gZG9jdW1lbnRvLlxuICAgKlxuICAgKiBFc3RlIG3DqXRvZG8gYWx0ZXJhIG8gdGlwbyBkbyB0ZW1hIGFybWF6ZW5hZG8gYXRpdm8gKGxpZ2h0L2RhcmspXG4gICAqXG4gICAqIEBwYXJhbSB7UG9UaGVtZVR5cGVFbnVtfSB0aGVtZVR5cGUgTyB0aXBvIGRlIHRlbWEgYSBzZXIgYXBsaWNhZG8sIGxpZ2h0IG91IGRhcmsuXG4gICAqL1xuICBjaGFuZ2VDdXJyZW50VGhlbWVUeXBlKHR5cGU6IFBvVGhlbWVUeXBlRW51bSk6IHZvaWQge1xuICAgIGNvbnN0IF90aGVtZSA9IHRoaXMuZ2V0VGhlbWVBY3RpdmUoKTtcbiAgICBfdGhlbWUuYWN0aXZlID0gdHlwZTtcbiAgICB0aGlzLmNoYW5nZVRoZW1lVHlwZShfdGhlbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIE3DqXRvZG8gcmVtb3ZlIG8gdGVtYSBhcm1hemVuYWRvIGUgbGltcGEgdG9kb3Mgb3MgZXN0aWxvcyBkZSB0ZW1hXG4gICAqIGFwbGljYWRvcyBhbyBkb2N1bWVudG8uXG4gICAqL1xuICBjbGVhblRoZW1lQWN0aXZlKCk6IHZvaWQge1xuICAgIGNvbnN0IF90aGVtZSA9IHRoaXMuZ2V0VGhlbWVBY3RpdmUoKTtcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaHRtbCcpWzBdLmNsYXNzTGlzdC5yZW1vdmUoYCR7X3RoZW1lLm5hbWV9LSR7UG9UaGVtZVR5cGVFbnVtW190aGVtZS5hY3RpdmVdfWApO1xuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCd0b3R2cy10aGVtZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkb2NzUHJpdmF0ZVxuICAgKlxuICAgKiBFc3RlIG3DqXRvZG8gZGVmaW5lIHVtIGRhZG9zIGRvIHRlbWEgZSBvIGFybWF6ZW5hLlxuICAgKiBAcGFyYW0gdGhlbWUgT3MgdG9rZW5zIGRlIHRlbWEgY29udGVuZG8gb3MgZXN0aWxvcyBhZGljaW9uYWlzIGEgc2VyZW0gZ2VyYWRvcy5cbiAgICovXG4gIHByaXZhdGUgc2V0VGhlbWVBY3RpdmUodGhlbWU6IFBvVGhlbWUpOiB2b2lkIHtcbiAgICBpZiAodGhlbWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd0b3R2cy10aGVtZScsIEpTT04uc3RyaW5naWZ5KHRoZW1lKSk7XG4gICAgICB0aGlzLnRoZW1lID0gdGhlbWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldG9ybmEgbyB0ZW1hIGF0aXZvIGNvbW8gdW0gb2JzZXJ2YWJsZS5cbiAgICogQHJldHVybnMge1BvVGhlbWV9IFRlbWEgYXRpdm8uXG4gICAqL1xuICBnZXRUaGVtZUFjdGl2ZSgpOiBQb1RoZW1lIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdGhlbWVEYXRhID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndG90dnMtdGhlbWUnKSk7XG4gICAgICBpZiAodGhlbWVEYXRhICYmIEpTT04uc3RyaW5naWZ5KHRoZW1lRGF0YSkgIT09IEpTT04uc3RyaW5naWZ5KHRoaXMudGhlbWUpKSB7XG4gICAgICAgIHRoaXMudGhlbWUgPSB0aGVtZURhdGE7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm8gYW8gb2J0ZXIgbyB0ZW1hIGRvIGFybWF6ZW5hbWVudG8gbG9jYWw6JywgZXJyb3IpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy50aGVtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZG9jc1ByaXZhdGVcbiAgICpcbiAgICogR2VyYSBlc3RpbG9zIENTUyBjb20gYmFzZSBub3MgdG9rZW5zIGRlIGNvcmVzIGZvcm5lY2lkb3MuXG4gICAqIEBwYXJhbSB0aGVtZUNvbG9yIE9zIHRva2VucyBkZSBjb3IgYSBzZXJlbSB1c2Fkb3MgcGFyYSBnZXJhciBvcyBlc3RpbG9zLlxuICAgKiBAcmV0dXJucyBVbWEgc3RyaW5nIGNvbnRlbmRvIG9zIGVzdGlsb3MgQ1NTIGdlcmFkb3MuXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZVN0eWxlRWxlbWVudChjc3M6IHN0cmluZyk6IEhUTUxTdHlsZUVsZW1lbnQge1xuICAgIGNvbnN0IHN0eWxlRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICBzdHlsZUVsZW1lbnQuaWQgPSAncG91aVRoZW1lJztcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHN0eWxlRWxlbWVudCwgdGhpcy5yZW5kZXJlci5jcmVhdGVUZXh0KGNzcykpO1xuICAgIHJldHVybiBzdHlsZUVsZW1lbnQ7XG4gIH1cblxuICAvKipcbiAgICogQGRvY3NQcml2YXRlXG4gICAqXG4gICAqIEdlcmEgZXN0aWxvcyBDU1MgY29tIGJhc2Ugbm9zIHRva2VucyBkZSBjb3JlcyBmb3JuZWNpZG9zLlxuICAgKiBAcGFyYW0gdGhlbWVDb2xvciBPcyB0b2tlbnMgZGUgY29yIGEgc2VyZW0gdXNhZG9zIHBhcmEgZ2VyYXIgb3MgZXN0aWxvcy5cbiAgICogQHJldHVybnMgVW1hIHN0cmluZyBjb250ZW5kbyBvcyBlc3RpbG9zIENTUyBnZXJhZG9zLlxuICAgKi9cbiAgcHJpdmF0ZSBnZW5lcmF0ZVRoZW1lU3R5bGVzKHRoZW1lQ29sb3I6IFBvVGhlbWVDb2xvcik6IHN0cmluZyB7XG4gICAgY29uc3Qgc2VsZWN0QmdJY29uU3R5bGUgPSB0aGlzLmdldFNlbGVjdEJnSWNvbnNTdHlsZSh0aGVtZUNvbG9yKTtcblxuICAgIHJldHVybiBbXG4gICAgICBPYmplY3QuZW50cmllcyh0aGVtZUNvbG9yKVxuICAgICAgICAuZmxhdE1hcCgoW3R5cGUsIHZhbHVlc10pID0+XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXModmFsdWVzKS5mbGF0TWFwKChbdG9uYWxpdHksIHRvbmFsaXR5VmFsdWVzXSkgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdhY3Rpb24nKSB7XG4gICAgICAgICAgICAgIHJldHVybiBbYC0tY29sb3ItJHt0eXBlfS0ke3RvbmFsaXR5fTogJHt0b25hbGl0eVZhbHVlc307YF07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0LmVudHJpZXModG9uYWxpdHlWYWx1ZXMpLm1hcChcbiAgICAgICAgICAgICAgICAoW2xldmVsLCBjb2xvclZhbHVlXSkgPT4gYC0tY29sb3ItJHt0eXBlfS0ke3RvbmFsaXR5fS0ke2xldmVsfTogJHtjb2xvclZhbHVlfTtgXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgICAuam9pbignJyksXG4gICAgICBzZWxlY3RCZ0ljb25TdHlsZVxuICAgIF0uam9pbignJyk7XG4gIH1cblxuICAvKipcbiAgICogQGRvY3NQcml2YXRlXG4gICAqXG4gICAqIEdlcmEgZXN0aWxvcyBDU1MgY29tIGJhc2Ugbm9zIHRva2VucyBwZXIgQ29tcG9uZW50IGZvcm5lY2lkb3MuXG4gICAqIEBwYXJhbSB0aGVtZVBlckNvbXBvbmVudCBPcyB0b2tlbnMgZGUgY29yIGEgc2VyZW0gdXNhZG9zIHBhcmEgZ2VyYXIgb3MgZXN0aWxvcy5cbiAgICogQHJldHVybnMgVW1hIHN0cmluZyBjb250ZW5kbyBvcyBlc3RpbG9zIENTUyBnZXJhZG9zLlxuICAgKi9cbiAgcHJpdmF0ZSBnZW5lcmF0ZVBlckNvbXBvbmVudFN0eWxlcyh0aGVtZVBlckNvbXBvbmVudDogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXModGhlbWVQZXJDb21wb25lbnQpXG4gICAgICAuZmxhdE1hcCgoW3R5cGUsIHZhbHVlc10pID0+XG4gICAgICAgIE9iamVjdC5lbnRyaWVzKHZhbHVlcykuZmxhdE1hcCgoW2xldmVsLCBjb2xvclZhbHVlXSkgPT4gW2Ake3R5cGV9IHske2xldmVsfTogJHtjb2xvclZhbHVlfTt9O2BdKVxuICAgICAgKVxuICAgICAgLmpvaW4oJycpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSBvIHRlbWEgYXR1YWwgY29tbyBvIHRlbWEgXCJQb1VJIFBhZHLDo29cIi5cbiAgICpcbiAgICogQHBhcmFtIHtQb1RoZW1lVHlwZUVudW19IHR5cGUgTyB0aXBvIGRlIFRlbWEgYSBzZXIgYXBsaWNhZG8sIGxpZ2h0IC8gZGFyay5cbiAgICovXG4gIHNldERlZmF1bHRUaGVtZSh0eXBlOiBQb1RoZW1lVHlwZUVudW0pOiB2b2lkIHtcbiAgICB0aGlzLnNldFRoZW1lKHBvVGhlbWVEZWZhdWx0LCB0eXBlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZG9jc1ByaXZhdGVcbiAgICpcbiAgICogUmV0b3JuYSBvIGVzdGlsbyBDU1MgcGFyYSBvIGZ1bmRvIGRvcyDDrWNvbmVzIGRvIGNvbXBvbmVudGUgcG8tc2VsZWN0LCBjb20gYmFzZSBuYXMgY29yZXMgZG8gdGVtYS5cbiAgICpcbiAgICogQHBhcmFtIHtQb1RoZW1lQ29sb3J9IHRoZW1lQ29sb3IgLSBPYmpldG8gY29udGVuZG8gYXMgY29yZXMgZG8gdGVtYS5cbiAgICogQHJldHVybnMge3N0cmluZ30gLSBFc3RpbG8gQ1NTIHBhcmEgbyBmdW5kbyBkb3Mgw61jb25lcyBkbyBwby1zZWxlY3QuXG4gICAqL1xuICBwcml2YXRlIGdldFNlbGVjdEJnSWNvbnNTdHlsZSh0aGVtZUNvbG9yOiBQb1RoZW1lQ29sb3IpOiBzdHJpbmcge1xuICAgIGxldCBzZWxlY3RCZ0ljb24gPSAnJztcblxuICAgIGlmICh0aGVtZUNvbG9yPy5icmFuZD8uWycwMSddPy5kYXJrKSB7XG4gICAgICBjb25zdCBzZWxlY3RvciA9IHRoaXMuaWNvbk5hbWVMaWIgPT09ICdQaG9zcGhvckljb24nID8gJ3BvLXNlbGVjdCAucG8tc2VsZWN0LXBob3NwaG9yJyA6ICdwby1zZWxlY3QnO1xuICAgICAgc2VsZWN0QmdJY29uICs9IGAke3NlbGVjdG9yfSB7IC0tYmFja2dyb3VuZC1pbWFnZTogdXJsKCR7dGhpcy5nZXRTZWxlY3RCZ0ljb24odGhlbWVDb2xvci5icmFuZFsnMDEnXS5kYXJrKX0pOyB9O2A7XG4gICAgfVxuXG4gICAgaWYgKHRoZW1lQ29sb3I/LmZlZWRiYWNrPy5uZWdhdGl2ZT8uYmFzZSkge1xuICAgICAgaWYgKHRoaXMuaWNvbk5hbWVMaWIgPT09ICdQb0ljb24nKSB7XG4gICAgICAgIHNlbGVjdEJnSWNvbiArPSBgcG8tc2VsZWN0Lm5nLWRpcnR5Lm5nLWludmFsaWQgc2VsZWN0IHsgLS1iYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHt0aGlzLmdldFNlbGVjdEJnSWNvbih0aGVtZUNvbG9yLmZlZWRiYWNrLm5lZ2F0aXZlLmJhc2UpfSk7IH07YDtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuaWNvbk5hbWVMaWIgPT09ICdQaG9zcGhvckljb24nKSB7XG4gICAgICAgIHNlbGVjdEJnSWNvbiArPSBgcG8tc2VsZWN0Lm5nLWRpcnR5Lm5nLWludmFsaWQgc2VsZWN0LnBvLXNlbGVjdC1waG9zcGhvciB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgke3RoaXMuZ2V0U2VsZWN0QmdJY29uKHRoZW1lQ29sb3IuZmVlZGJhY2submVnYXRpdmUuYmFzZSl9KTsgfTtgO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGVtZUNvbG9yPy5uZXV0cmFsPy5saWdodD8uWyczMCddKSB7XG4gICAgICBpZiAodGhpcy5pY29uTmFtZUxpYiA9PT0gJ1BvSWNvbicpIHtcbiAgICAgICAgc2VsZWN0QmdJY29uICs9IGBzZWxlY3Q6ZGlzYWJsZWQgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHt0aGlzLmdldFNlbGVjdEJnSWNvbih0aGVtZUNvbG9yLm5ldXRyYWwubGlnaHRbJzMwJ10pfSk7IH07YDtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuaWNvbk5hbWVMaWIgPT09ICdQaG9zcGhvckljb24nKSB7XG4gICAgICAgIHNlbGVjdEJnSWNvbiArPSBgcG8tc2VsZWN0IHNlbGVjdC5wby1zZWxlY3QtcGhvc3Bob3I6ZGlzYWJsZWQgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHt0aGlzLmdldFNlbGVjdEJnSWNvbih0aGVtZUNvbG9yLm5ldXRyYWwubGlnaHRbJzMwJ10pfSk7IH07YDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc2VsZWN0QmdJY29uO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkb2NzUHJpdmF0ZVxuICAgKlxuICAgKiBSZXRvcm5hIGEgaW1hZ2VtIFNWRyB1dGlsaXphZGEgY29tbyBmdW5kbyBkbyBwby1zZWxlY3QuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjb2xvciBDb3IgZGEgSW1hZ2VtIC0gVXRpbGl6YWRhIG5vIGF0cmlidXRvICdmaWxsJy5cbiAgICogQHJldHVybnMge3N0cmluZ30gSW1hZ2VtIFNWRyB1dGlsaXphZGEgbm8gcG8tc2VsZWN0LlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRTZWxlY3RCZ0ljb24oY29sb3I6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgbGV0IHN2Zzogc3RyaW5nO1xuXG4gICAgaWYgKHRoaXMuaWNvbk5hbWVMaWIgPT09ICdQb0ljb24nKSB7XG4gICAgICBzdmcgPSBgXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBgO1xuXG4gICAgICBzdmcgPSBzdmcuY29uY2F0KGB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGNsaXAtcnVsZT0nZXZlbm9kZCcgYCk7XG4gICAgICBzdmcgPSBzdmcuY29uY2F0KGBkPSdNMTguNzA3IDguMjkzMDFDMTguMzE2IDcuOTAyMDEgMTcuNjg0IDcuOTAyMDEgMTcuMjkzIDguMjkzMDFMMTIgMTMuNTg2TDYuNzA3MDEgYCk7XG4gICAgICBzdmcgPSBzdmcuY29uY2F0KGA4LjI5MzAxQzYuMzE2MDEgNy45MDIwMSA1LjY4NDAxIDcuOTAyMDEgNS4yOTMwMSA4LjI5MzAxQzQuOTAyMDEgOC42ODQwMSA0LjkwMjAxIGApO1xuICAgICAgc3ZnID0gc3ZnLmNvbmNhdChgOS4zMTYwMSA1LjI5MzAxIDkuNzA3MDFMMTEuMjkzIDE1LjcwN0MxMS40ODggMTUuOTAyIDExLjc0NCAxNiAxMiAxNkMxMi4yNTYgMTYgMTIuNTEyIGApO1xuICAgICAgc3ZnID0gc3ZnLmNvbmNhdChgMTUuOTAyIDEyLjcwNyAxNS43MDdMMTguNzA3IDkuNzA3MDFDMTkuMDk4IDkuMzE2MDEgMTkuMDk4IDguNjg0MDEgMTguNzA3IDguMjkzMDFaJyBgKTtcbiAgICAgIHN2ZyA9IHN2Zy5jb25jYXQoYGZpbGw9JyR7Y29sb3IucmVwbGFjZSgnIycsICclMjMnKX0nLyUzRSUzQy9zdmclM0UlMEFcIik7YCk7XG5cbiAgICAgIHJldHVybiBzdmc7XG4gICAgfVxuXG4gICAgc3ZnID0gYFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNTYgMjU2JyBmaWxsPScke2NvbG9yLnJlcGxhY2UoJyMnLCAnJTIzJyl9JyBgO1xuICAgIHN2ZyA9IHN2Zy5jb25jYXQoYHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGApO1xuICAgIHN2ZyA9IHN2Zy5jb25jYXQoXG4gICAgICBgZD0nTTIxMy42NiwxMDEuNjZsLTgwLDgwYTgsOCwwLDAsMS0xMS4zMiwwbC04MC04MEE4LDgsMCwwLDEsNTMuNjYsOTAuMzRMMTI4LDE2NC42OWw3NC4zNC03NC4zNWE4LDgsMCwwLDEsMTEuMzIsMTEuMzJaJ2BcbiAgICApO1xuICAgIHN2ZyA9IHN2Zy5jb25jYXQoYCUzRSUzQy9wYXRoJTNFJTNDL3N2ZyUzRVwiKTtgKTtcblxuICAgIHJldHVybiBzdmc7XG4gIH1cbn1cbiJdfQ==
@@ -19094,6 +19094,15 @@ const poThemeDefault = {
19094
19094
  *
19095
19095
  * > Obs.: Não está documentado aqui e não indicamos a customização das cores de 'feedback' por motivos de acessibilidade e usabilidade.
19096
19096
  */
19097
+ /**
19098
+ * @example
19099
+ *
19100
+ * <example name="po-theme-labs" title="PO Theme Labs">
19101
+ * <file name="sample-po-theme-labs/sample-po-theme-labs.component.html"> </file>
19102
+ * <file name="sample-po-theme-labs/sample-po-theme-labs.component.ts"> </file>
19103
+ * </example>
19104
+ *
19105
+ */
19097
19106
  class PoThemeService {
19098
19107
  window;
19099
19108
  document;