ng-miam 4.1.2 → 4.2.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.
Files changed (34) hide show
  1. package/bundles/ng-miam.umd.js +324 -97
  2. package/bundles/ng-miam.umd.js.map +1 -1
  3. package/bundles/ng-miam.umd.min.js +1 -1
  4. package/bundles/ng-miam.umd.min.js.map +1 -1
  5. package/esm2015/lib/_components/abstracts/abstract-recipe-card.component.js +4 -3
  6. package/esm2015/lib/_services/context.service.js +12 -2
  7. package/esm2015/lib/_services/groceries-lists.service.js +25 -3
  8. package/esm2015/lib/_services/recipes.service.js +3 -3
  9. package/esm2015/lib/_utils/synchro-basket/basket-handler.js +4 -1
  10. package/esm2015/lib/_utils/synchro-basket/basket-handling/baskets-comparator.js +4 -1
  11. package/esm2015/lib/_utils/synchro-basket/basket-handling/comparison-map.js +7 -1
  12. package/esm2015/lib/_web-components/basket-preview/basket-preview-block/basket-preview-block.component.js +14 -5
  13. package/esm2015/lib/_web-components/catalog-category/catalog-category.component.js +1 -1
  14. package/esm2015/lib/_web-components/catalog-header/catalog-header.component.js +20 -20
  15. package/esm2015/lib/_web-components/list-scan/files-inputs/files-inputs.component.js +2 -2
  16. package/esm2015/lib/_web-components/modal/modal.component.js +57 -16
  17. package/esm2015/lib/_web-components/modal/modal.module.js +6 -2
  18. package/esm2015/lib/_web-components/recipe-details/recipe-details.component.js +2 -2
  19. package/esm2015/lib/_web-components/recipe-modal/recipe-modal.component.js +51 -18
  20. package/esm2015/lib/_web-components/recipe-tags/recipe-tags.component.js +108 -36
  21. package/fesm2015/ng-miam.js +299 -98
  22. package/fesm2015/ng-miam.js.map +1 -1
  23. package/lib/_services/context.service.d.ts +3 -0
  24. package/lib/_services/groceries-lists.service.d.ts +11 -0
  25. package/lib/_services/recipes.service.d.ts +3 -1
  26. package/lib/_utils/synchro-basket/basket-handler.d.ts +1 -0
  27. package/lib/_utils/synchro-basket/basket-handling/baskets-comparator.d.ts +1 -0
  28. package/lib/_utils/synchro-basket/basket-handling/comparison-map.d.ts +1 -0
  29. package/lib/_web-components/basket-preview/basket-preview-block/basket-preview-block.component.d.ts +3 -2
  30. package/lib/_web-components/modal/modal.component.d.ts +5 -1
  31. package/lib/_web-components/modal/modal.module.d.ts +2 -1
  32. package/lib/_web-components/recipe-modal/recipe-modal.component.d.ts +14 -4
  33. package/lib/_web-components/recipe-tags/recipe-tags.component.d.ts +5 -1
  34. package/package.json +1 -1
@@ -110,7 +110,7 @@ export class ListScanFilesInputsComponent {
110
110
  this.loading = true;
111
111
  this.cdr.detectChanges();
112
112
  // takeFirstList to make sure the list is initialised before checking its value
113
- this.listsService.takeFirstList().subscribe(currentList => {
113
+ this.listsService.takeFirstList().subscribe((currentList) => {
114
114
  const precedentEntries = currentList.entries.data;
115
115
  this.listsService.addEntriesFromPicture(file, ['groceries-entries'], this.disableIngredientsMatching).subscribe(list => {
116
116
  const addedEntries = list.entries.data
@@ -157,4 +157,4 @@ ListScanFilesInputsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ListScanFile
157
157
  }], entriesAdded: [{
158
158
  type: Output
159
159
  }] }); })();
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMtaW5wdXRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvYnVpbGRzL21pYW0vbmctbWlhbS1zZGsvcHJvamVjdHMvbmctbWlhbS9zcmMvIiwic291cmNlcyI6WyJsaWIvX3dlYi1jb21wb25lbnRzL2xpc3Qtc2Nhbi9maWxlcy1pbnB1dHMvZmlsZXMtaW5wdXRzLmNvbXBvbmVudC50cyIsImxpYi9fd2ViLWNvbXBvbmVudHMvbGlzdC1zY2FuL2ZpbGVzLWlucHV0cy9maWxlcy1pbnB1dHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEksT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7OztJQ0MzQyxrQ0FBbUc7OztJQUFwRSxrREFBNkI7OztJQUM1RCw4QkFBMkM7SUFBQSxZQUFjO0lBQUEsaUJBQU07OztJQUFwQixlQUFjO0lBQWQsdUNBQWM7OztJQUV6RCxpQ0FBaUQ7Ozs7SUFQckQsMkJBQ0U7SUFBQSxnQ0FFQTtJQUZvRywyTUFBMkI7SUFBL0gsaUJBRUE7SUFBQSxnQ0FDRTtJQUFBLHFHQUFvRjtJQUNwRixtRkFBMkM7SUFFM0MseUdBQWdDO0lBQ2xDLGlCQUFRO0lBQ1YsaUJBQU07OztJQVI0SCxlQUFvQjtJQUFwQix5Q0FBb0I7SUFHcEksZUFBZ0I7SUFBaEIsc0NBQWdCO0lBQ3pCLGVBQWdCO0lBQWhCLHNDQUFnQjtJQUVMLGVBQWU7SUFBZixxQ0FBZTs7O0lBUS9CLGtDQUE4Rjs7O0lBQS9ELDZDQUF3Qjs7O0lBQ3ZELDhCQUEyQztJQUFBLFlBQWU7SUFBQSxpQkFBTTs7O0lBQXJCLGVBQWU7SUFBZix3Q0FBZTs7O0lBRTFELGlDQUFpRDs7OztJQU5uRCxpQ0FFQTtJQUY0RixzTkFBMkI7SUFBdkgsaUJBRUE7SUFBQSxpQ0FDRTtJQUFBLDZHQUErRTtJQUMvRSwyRkFBMkM7SUFFM0MsaUhBQWdDO0lBQ2xDLGlCQUFROzs7SUFQZ0gseUNBQW9CO0lBRzVILGVBQWdCO0lBQWhCLHNDQUFnQjtJQUN6QixlQUFnQjtJQUFoQixzQ0FBZ0I7SUFFTCxlQUFlO0lBQWYscUNBQWU7OztBRE5yQyxNQUFNLE9BQU8sNEJBQTRCO0lBVXZDLFlBQ1UsR0FBc0IsRUFDdEIsWUFBMEIsRUFDMUIsWUFBbUM7UUFGbkMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsaUJBQVksR0FBWixZQUFZLENBQXVCO1FBWHBDLCtCQUEwQixHQUFHLEtBQUssQ0FBQztRQUdsQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBQzlELFNBQUksR0FBRyxJQUFJLENBQUM7UUFDWixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFPZixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLENBQUMsT0FBTyxDQUFDO0lBQzlFLENBQUM7SUFFRCwyQ0FBMkM7SUFDM0MseUZBQXlGO0lBQ3pGLFFBQVEsQ0FBQyxLQUFLO1FBQ1osTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFFdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUV6QiwrRUFBK0U7UUFDL0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDeEQsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNsRCxJQUFJLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUMsU0FBUyxDQUM3RyxJQUFJLENBQUMsRUFBRTtnQkFDTCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7b0JBQ3BDLHlFQUF5RTtxQkFDeEUsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDOUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUNyQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzNCLENBQUMsQ0FDRixDQUFDO1lBQ0YsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzt3R0EzQ1UsNEJBQTRCO2lFQUE1Qiw0QkFBNEI7UUNiekMsOEJBQ0U7UUFBQSw2RUFDRTtRQVVGLDhIQUNFO1FBU0osaUJBQU07OztRQXRCb0MsaUVBQWdDO1FBQ25FLGVBQXFDO1FBQXJDLDJDQUFxQyxpQkFBQTs7a0REWS9CLDRCQUE0QjtjQVB4QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdDQUFnQztnQkFDMUMsV0FBVyxFQUFFLCtCQUErQjtnQkFDNUMsU0FBUyxFQUFFLENBQUMsK0JBQStCLENBQUM7Z0JBQzVDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDttSUFFVSxPQUFPO2tCQUFmLEtBQUs7WUFDRywwQkFBMEI7a0JBQWxDLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQUNJLFlBQVk7a0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZWRpYU1hdGNoZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHcm9jZXJpZXNFbnRyeSB9IGZyb20gJy4uLy4uLy4uL19tb2RlbHMvZ3JvY2VyaWVzLWVudHJ5JztcbmltcG9ydCB7IEdyb2Nlcmllc0xpc3RzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19zZXJ2aWNlcyc7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSAnLi4vLi4vLi4vX3R5cGVzL2ljb24uZW51bSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tbGlzdC1zY2FuLWZpbGVzLWlucHV0cycsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlcy1pbnB1dHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlcy1pbnB1dHMuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTGlzdFNjYW5GaWxlc0lucHV0c0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG92ZXJsYXk6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRpc2FibGVJbmdyZWRpZW50c01hdGNoaW5nID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRlc2t0b3BUZXh0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1vYmlsZVRleHQ6IHN0cmluZztcbiAgQE91dHB1dCgpIGVudHJpZXNBZGRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8R3JvY2VyaWVzRW50cnlbXT4oKTtcbiAgaWNvbiA9IEljb247XG4gIGxvYWRpbmcgPSBmYWxzZTtcbiAgaXNNb2JpbGUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBtZWRpYU1hdGNoZXI6IE1lZGlhTWF0Y2hlcixcbiAgICBwcml2YXRlIGxpc3RzU2VydmljZTogR3JvY2VyaWVzTGlzdHNTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuaXNNb2JpbGUgPSB0aGlzLm1lZGlhTWF0Y2hlci5tYXRjaE1lZGlhKCcobWF4LXdpZHRoOiAxMDIzcHgpJykubWF0Y2hlcztcbiAgfVxuXG4gIC8vIFB1c2hlcyBhIHBpY3R1cmUgZmlsZSBhbmQgcmVmcmVzaGVzIGxpc3RcbiAgLy8gRmluYWxseSwgdHJpZ2dlcnMgZW50cmllcyBhZGRlZCBldmVudCwgcmV0dXJuaW5nIGFsbCBlbnRyaWVzIG5vdCByZWxhdGVkIHRvIGFueSByZWNpcGVcbiAgc2VuZEZpbGUoZXZlbnQpIHtcbiAgICBjb25zdCBmaWxlID0gZXZlbnQudGFyZ2V0LmZpbGVzLml0ZW0oMCk7XG4gICAgaWYgKCFmaWxlKSB7IHJldHVybjsgfVxuXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAvLyB0YWtlRmlyc3RMaXN0IHRvIG1ha2Ugc3VyZSB0aGUgbGlzdCBpcyBpbml0aWFsaXNlZCBiZWZvcmUgY2hlY2tpbmcgaXRzIHZhbHVlXG4gICAgdGhpcy5saXN0c1NlcnZpY2UudGFrZUZpcnN0TGlzdCgpLnN1YnNjcmliZShjdXJyZW50TGlzdCA9PiB7XG4gICAgICBjb25zdCBwcmVjZWRlbnRFbnRyaWVzID0gY3VycmVudExpc3QuZW50cmllcy5kYXRhO1xuICAgICAgdGhpcy5saXN0c1NlcnZpY2UuYWRkRW50cmllc0Zyb21QaWN0dXJlKGZpbGUsIFsnZ3JvY2VyaWVzLWVudHJpZXMnXSwgdGhpcy5kaXNhYmxlSW5ncmVkaWVudHNNYXRjaGluZykuc3Vic2NyaWJlKFxuICAgICAgICBsaXN0ID0+IHtcbiAgICAgICAgICBjb25zdCBhZGRlZEVudHJpZXMgPSBsaXN0LmVudHJpZXMuZGF0YVxuICAgICAgICAgICAgLy8gUmVtb3ZlIGVudHJpZXMgdGhhdCB3ZXJlIGFscmVhZHkgcHJlc2VudCBpbiB0aGUgc2FtZSBxdWFudGl0aWVzIGJlZm9yZVxuICAgICAgICAgICAgLmZpbHRlcihlbnRyeSA9PiAtMSA9PT0gcHJlY2VkZW50RW50cmllcy5maW5kSW5kZXgoZSA9PiBlLmlkID09PSBlbnRyeS5pZCkpO1xuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuZW50cmllc0FkZGVkLmVtaXQoYWRkZWRFbnRyaWVzKTtcbiAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgICBldmVudC50YXJnZXQudmFsdWUgPSBudWxsO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWlhbS1saXN0LXNjYW5fX2ZpbGVzLWlucHV0c1wiIFtuZ0NsYXNzXT1cInsgb3ZlcmxheTogb3ZlcmxheSB9XCI+XG4gIDxkaXYgKm5nSWY9XCJpc01vYmlsZSA9PSB0cnVlIGVsc2UgZGVza3RvcFwiPlxuICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiIG5hbWU9XCJwaG90b1wiIGlkPVwicGhvdG9cIiBjbGFzcz1cImlucHV0ZmlsZVwiIGFjY2VwdD1cImltYWdlLypcIiBjYXB0dXJlPVwiZW52aXJvbm1lbnRcIiAoY2hhbmdlKT1cInNlbmRGaWxlKCRldmVudClcIiBbZGlzYWJsZWRdPVwibG9hZGluZ1wiIC8+XG4gIFxuICAgIDxsYWJlbCBmb3I9XCJwaG90b1wiIGNsYXNzPVwibS1idXR0b24gbS1idXR0b24tcHJpbWFyeSBtaWFtLWxpc3Qtc2Nhbl9fZmlsZXMtaW5wdXRzX19sYWJlbF9fcGhvdG9cIj5cbiAgICAgIDxuZy1taWFtLWljb24gKm5nSWY9XCIhbG9hZGluZ1wiIFtpY29uTmFtZV09XCJpY29uLkxpc3RTY2FubmVyXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PC9uZy1taWFtLWljb24+XG4gICAgICA8ZGl2ICpuZ0lmPVwiIWxvYWRpbmdcIiBjbGFzcz1cImJ1dHRvbi1sYWJlbFwiPnt7bW9iaWxlVGV4dH19PC9kaXY+XG4gIFxuICAgICAgPG5nLW1pYW0tbG9hZGVyICpuZ0lmPVwibG9hZGluZ1wiPjwvbmctbWlhbS1sb2FkZXI+XG4gICAgPC9sYWJlbD5cbiAgPC9kaXY+XG5cbiAgPG5nLXRlbXBsYXRlICNkZXNrdG9wPlxuICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiIG5hbWU9XCJmaWxlXCIgaWQ9XCJmaWxlXCIgY2xhc3M9XCJpbnB1dGZpbGVcIiBhY2NlcHQ9XCJpbWFnZS8qLGFwcGxpY2F0aW9uL3BkZlwiIChjaGFuZ2UpPVwic2VuZEZpbGUoJGV2ZW50KVwiIFtkaXNhYmxlZF09XCJsb2FkaW5nXCIgLz5cbiAgXG4gICAgPGxhYmVsIGZvcj1cImZpbGVcIiBjbGFzcz1cIm0tYnV0dG9uIG0tYnV0dG9uLXNlY29uZGFyeSBtaWFtLWxpc3Qtc2Nhbl9fZmlsZXMtaW5wdXRzX19sYWJlbF9fZmlsZVwiPlxuICAgICAgPG5nLW1pYW0taWNvbiAqbmdJZj1cIiFsb2FkaW5nXCIgW2ljb25OYW1lXT1cImljb24uVXBsb2FkXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PC9uZy1taWFtLWljb24+XG4gICAgICA8ZGl2ICpuZ0lmPVwiIWxvYWRpbmdcIiBjbGFzcz1cImJ1dHRvbi1sYWJlbFwiPnt7ZGVza3RvcFRleHR9fTwvZGl2PlxuICBcbiAgICAgIDxuZy1taWFtLWxvYWRlciAqbmdJZj1cImxvYWRpbmdcIj48L25nLW1pYW0tbG9hZGVyPlxuICAgIDwvbGFiZWw+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj4iXX0=
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMtaW5wdXRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvYnVpbGRzL21pYW0vbmctbWlhbS1zZGsvcHJvamVjdHMvbmctbWlhbS9zcmMvIiwic291cmNlcyI6WyJsaWIvX3dlYi1jb21wb25lbnRzL2xpc3Qtc2Nhbi9maWxlcy1pbnB1dHMvZmlsZXMtaW5wdXRzLmNvbXBvbmVudC50cyIsImxpYi9fd2ViLWNvbXBvbmVudHMvbGlzdC1zY2FuL2ZpbGVzLWlucHV0cy9maWxlcy1pbnB1dHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdEksT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7OztJQ0EzQyxrQ0FBbUc7OztJQUFwRSxrREFBNkI7OztJQUM1RCw4QkFBMkM7SUFBQSxZQUFjO0lBQUEsaUJBQU07OztJQUFwQixlQUFjO0lBQWQsdUNBQWM7OztJQUV6RCxpQ0FBaUQ7Ozs7SUFQckQsMkJBQ0U7SUFBQSxnQ0FFQTtJQUZvRywyTUFBMkI7SUFBL0gsaUJBRUE7SUFBQSxnQ0FDRTtJQUFBLHFHQUFvRjtJQUNwRixtRkFBMkM7SUFFM0MseUdBQWdDO0lBQ2xDLGlCQUFRO0lBQ1YsaUJBQU07OztJQVI0SCxlQUFvQjtJQUFwQix5Q0FBb0I7SUFHcEksZUFBZ0I7SUFBaEIsc0NBQWdCO0lBQ3pCLGVBQWdCO0lBQWhCLHNDQUFnQjtJQUVMLGVBQWU7SUFBZixxQ0FBZTs7O0lBUS9CLGtDQUE4Rjs7O0lBQS9ELDZDQUF3Qjs7O0lBQ3ZELDhCQUEy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QUErQjtnQkFDNUMsU0FBUyxFQUFFLENBQUMsK0JBQStCLENBQUM7Z0JBQzVDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDttSUFFVSxPQUFPO2tCQUFmLEtBQUs7WUFDRywwQkFBMEI7a0JBQWxDLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQUNJLFlBQVk7a0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZWRpYU1hdGNoZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHcm9jZXJpZXNFbnRyeSB9IGZyb20gJy4uLy4uLy4uL19tb2RlbHMvZ3JvY2VyaWVzLWVudHJ5JztcbmltcG9ydCB7IEdyb2Nlcmllc0xpc3QgfSBmcm9tICcuLi8uLi8uLi9fbW9kZWxzL2dyb2Nlcmllcy1saXN0JztcbmltcG9ydCB7IEdyb2Nlcmllc0xpc3RzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19zZXJ2aWNlcyc7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSAnLi4vLi4vLi4vX3R5cGVzL2ljb24uZW51bSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tbGlzdC1zY2FuLWZpbGVzLWlucHV0cycsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlcy1pbnB1dHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlcy1pbnB1dHMuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTGlzdFNjYW5GaWxlc0lucHV0c0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG92ZXJsYXk6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRpc2FibGVJbmdyZWRpZW50c01hdGNoaW5nID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRlc2t0b3BUZXh0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1vYmlsZVRleHQ6IHN0cmluZztcbiAgQE91dHB1dCgpIGVudHJpZXNBZGRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8R3JvY2VyaWVzRW50cnlbXT4oKTtcbiAgaWNvbiA9IEljb247XG4gIGxvYWRpbmcgPSBmYWxzZTtcbiAgaXNNb2JpbGUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBtZWRpYU1hdGNoZXI6IE1lZGlhTWF0Y2hlcixcbiAgICBwcml2YXRlIGxpc3RzU2VydmljZTogR3JvY2VyaWVzTGlzdHNTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuaXNNb2JpbGUgPSB0aGlzLm1lZGlhTWF0Y2hlci5tYXRjaE1lZGlhKCcobWF4LXdpZHRoOiAxMDIzcHgpJykubWF0Y2hlcztcbiAgfVxuXG4gIC8vIFB1c2hlcyBhIHBpY3R1cmUgZmlsZSBhbmQgcmVmcmVzaGVzIGxpc3RcbiAgLy8gRmluYWxseSwgdHJpZ2dlcnMgZW50cmllcyBhZGRlZCBldmVudCwgcmV0dXJuaW5nIGFsbCBlbnRyaWVzIG5vdCByZWxhdGVkIHRvIGFueSByZWNpcGVcbiAgc2VuZEZpbGUoZXZlbnQpIHtcbiAgICBjb25zdCBmaWxlID0gZXZlbnQudGFyZ2V0LmZpbGVzLml0ZW0oMCk7XG4gICAgaWYgKCFmaWxlKSB7IHJldHVybjsgfVxuXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAvLyB0YWtlRmlyc3RMaXN0IHRvIG1ha2Ugc3VyZSB0aGUgbGlzdCBpcyBpbml0aWFsaXNlZCBiZWZvcmUgY2hlY2tpbmcgaXRzIHZhbHVlXG4gICAgdGhpcy5saXN0c1NlcnZpY2UudGFrZUZpcnN0TGlzdCgpLnN1YnNjcmliZSgoY3VycmVudExpc3Q6IEdyb2Nlcmllc0xpc3QpID0+IHtcbiAgICAgIGNvbnN0IHByZWNlZGVudEVudHJpZXMgPSBjdXJyZW50TGlzdC5lbnRyaWVzLmRhdGE7XG4gICAgICB0aGlzLmxpc3RzU2VydmljZS5hZGRFbnRyaWVzRnJvbVBpY3R1cmUoZmlsZSwgWydncm9jZXJpZXMtZW50cmllcyddLCB0aGlzLmRpc2FibGVJbmdyZWRpZW50c01hdGNoaW5nKS5zdWJzY3JpYmUoXG4gICAgICAgIGxpc3QgPT4ge1xuICAgICAgICAgIGNvbnN0IGFkZGVkRW50cmllcyA9IGxpc3QuZW50cmllcy5kYXRhXG4gICAgICAgICAgICAvLyBSZW1vdmUgZW50cmllcyB0aGF0IHdlcmUgYWxyZWFkeSBwcmVzZW50IGluIHRoZSBzYW1lIHF1YW50aXRpZXMgYmVmb3JlXG4gICAgICAgICAgICAuZmlsdGVyKGVudHJ5ID0+IC0xID09PSBwcmVjZWRlbnRFbnRyaWVzLmZpbmRJbmRleChlID0+IGUuaWQgPT09IGVudHJ5LmlkKSk7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5lbnRyaWVzQWRkZWQuZW1pdChhZGRlZEVudHJpZXMpO1xuICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IG51bGw7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtaWFtLWxpc3Qtc2Nhbl9fZmlsZXMtaW5wdXRzXCIgW25nQ2xhc3NdPVwieyBvdmVybGF5OiBvdmVybGF5IH1cIj5cbiAgPGRpdiAqbmdJZj1cImlzTW9iaWxlID09IHRydWUgZWxzZSBkZXNrdG9wXCI+XG4gICAgPGlucHV0IHR5cGU9XCJmaWxlXCIgbmFtZT1cInBob3RvXCIgaWQ9XCJwaG90b1wiIGNsYXNzPVwiaW5wdXRmaWxlXCIgYWNjZXB0PVwiaW1hZ2UvKlwiIGNhcHR1cmU9XCJlbnZpcm9ubWVudFwiIChjaGFuZ2UpPVwic2VuZEZpbGUoJGV2ZW50KVwiIFtkaXNhYmxlZF09XCJsb2FkaW5nXCIgLz5cbiAgXG4gICAgPGxhYmVsIGZvcj1cInBob3RvXCIgY2xhc3M9XCJtLWJ1dHRvbiBtLWJ1dHRvbi1wcmltYXJ5IG1pYW0tbGlzdC1zY2FuX19maWxlcy1pbnB1dHNfX2xhYmVsX19waG90b1wiPlxuICAgICAgPG5nLW1pYW0taWNvbiAqbmdJZj1cIiFsb2FkaW5nXCIgW2ljb25OYW1lXT1cImljb24uTGlzdFNjYW5uZXJcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48L25nLW1pYW0taWNvbj5cbiAgICAgIDxkaXYgKm5nSWY9XCIhbG9hZGluZ1wiIGNsYXNzPVwiYnV0dG9uLWxhYmVsXCI+e3ttb2JpbGVUZXh0fX08L2Rpdj5cbiAgXG4gICAgICA8bmctbWlhbS1sb2FkZXIgKm5nSWY9XCJsb2FkaW5nXCI+PC9uZy1taWFtLWxvYWRlcj5cbiAgICA8L2xhYmVsPlxuICA8L2Rpdj5cblxuICA8bmctdGVtcGxhdGUgI2Rlc2t0b3A+XG4gICAgPGlucHV0IHR5cGU9XCJmaWxlXCIgbmFtZT1cImZpbGVcIiBpZD1cImZpbGVcIiBjbGFzcz1cImlucHV0ZmlsZVwiIGFjY2VwdD1cImltYWdlLyosYXBwbGljYXRpb24vcGRmXCIgKGNoYW5nZSk9XCJzZW5kRmlsZSgkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImxvYWRpbmdcIiAvPlxuICBcbiAgICA8bGFiZWwgZm9yPVwiZmlsZVwiIGNsYXNzPVwibS1idXR0b24gbS1idXR0b24tc2Vjb25kYXJ5IG1pYW0tbGlzdC1zY2FuX19maWxlcy1pbnB1dHNfX2xhYmVsX19maWxlXCI+XG4gICAgICA8bmctbWlhbS1pY29uICpuZ0lmPVwiIWxvYWRpbmdcIiBbaWNvbk5hbWVdPVwiaWNvbi5VcGxvYWRcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48L25nLW1pYW0taWNvbj5cbiAgICAgIDxkaXYgKm5nSWY9XCIhbG9hZGluZ1wiIGNsYXNzPVwiYnV0dG9uLWxhYmVsXCI+e3tkZXNrdG9wVGV4dH19PC9kaXY+XG4gIFxuICAgICAgPG5nLW1pYW0tbG9hZGVyICpuZ0lmPVwibG9hZGluZ1wiPjwvbmctbWlhbS1sb2FkZXI+XG4gICAgPC9sYWJlbD5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PiJdfQ==
@@ -7,40 +7,73 @@ import * as i1 from "@angular/cdk/layout";
7
7
  import * as i2 from "../../_services";
8
8
  import * as i3 from "@angular/common";
9
9
  import * as i4 from "../../_components/icon/icon.component";
10
+ import * as i5 from "../loader/loader.component";
10
11
  function ModalComponent_ng_container_0_ng_content_8_Template(rf, ctx) { if (rf & 1) {
11
12
  i0.ɵɵprojection(0, 0, ["*ngIf", "isAngularComponent else isWebC"]);
12
13
  } }
13
14
  function ModalComponent_ng_container_0_ng_template_9_Template(rf, ctx) { if (rf & 1) {
14
15
  i0.ɵɵelement(0, "slot", 12);
15
16
  } }
17
+ function ModalComponent_ng_container_0_button_12_span_1_Template(rf, ctx) { if (rf & 1) {
18
+ i0.ɵɵelementStart(0, "span");
19
+ i0.ɵɵtext(1);
20
+ i0.ɵɵelementEnd();
21
+ } if (rf & 2) {
22
+ const ctx_r6 = i0.ɵɵnextContext(3);
23
+ i0.ɵɵadvance(1);
24
+ i0.ɵɵtextInterpolate(ctx_r6.cancelButtonText);
25
+ } }
26
+ function ModalComponent_ng_container_0_button_12_ng_miam_loader_2_Template(rf, ctx) { if (rf & 1) {
27
+ i0.ɵɵelement(0, "ng-miam-loader");
28
+ } }
16
29
  function ModalComponent_ng_container_0_button_12_Template(rf, ctx) { if (rf & 1) {
17
- const _r7 = i0.ɵɵgetCurrentView();
30
+ const _r9 = i0.ɵɵgetCurrentView();
18
31
  i0.ɵɵelementStart(0, "button", 13);
19
- i0.ɵɵlistener("click", function ModalComponent_ng_container_0_button_12_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(2); return ctx_r6.onCancel(); });
20
- i0.ɵɵtext(1);
32
+ i0.ɵɵlistener("click", function ModalComponent_ng_container_0_button_12_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(2); return ctx_r8.onCancel(); });
33
+ i0.ɵɵtemplate(1, ModalComponent_ng_container_0_button_12_span_1_Template, 2, 1, "span", 0);
34
+ i0.ɵɵtemplate(2, ModalComponent_ng_container_0_button_12_ng_miam_loader_2_Template, 1, 0, "ng-miam-loader", 0);
21
35
  i0.ɵɵelementEnd();
22
36
  } if (rf & 2) {
23
37
  const ctx_r4 = i0.ɵɵnextContext(2);
38
+ i0.ɵɵproperty("disabled", ctx_r4.cancelButtonDisabled);
39
+ i0.ɵɵadvance(1);
40
+ i0.ɵɵproperty("ngIf", !ctx_r4.cancelButtonIsLoading);
41
+ i0.ɵɵadvance(1);
42
+ i0.ɵɵproperty("ngIf", ctx_r4.cancelButtonIsLoading);
43
+ } }
44
+ function ModalComponent_ng_container_0_button_13_span_1_Template(rf, ctx) { if (rf & 1) {
45
+ i0.ɵɵelementStart(0, "span");
46
+ i0.ɵɵtext(1);
47
+ i0.ɵɵelementEnd();
48
+ } if (rf & 2) {
49
+ const ctx_r10 = i0.ɵɵnextContext(3);
24
50
  i0.ɵɵadvance(1);
25
- i0.ɵɵtextInterpolate1(" ", ctx_r4.cancelButtonText, " ");
51
+ i0.ɵɵtextInterpolate(ctx_r10.confirmButtonText);
52
+ } }
53
+ function ModalComponent_ng_container_0_button_13_ng_miam_loader_2_Template(rf, ctx) { if (rf & 1) {
54
+ i0.ɵɵelement(0, "ng-miam-loader");
26
55
  } }
27
56
  function ModalComponent_ng_container_0_button_13_Template(rf, ctx) { if (rf & 1) {
28
- const _r9 = i0.ɵɵgetCurrentView();
57
+ const _r13 = i0.ɵɵgetCurrentView();
29
58
  i0.ɵɵelementStart(0, "button", 14);
30
- i0.ɵɵlistener("click", function ModalComponent_ng_container_0_button_13_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(2); return ctx_r8.onConfirm(); });
31
- i0.ɵɵtext(1);
59
+ i0.ɵɵlistener("click", function ModalComponent_ng_container_0_button_13_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r12 = i0.ɵɵnextContext(2); return ctx_r12.onConfirm(); });
60
+ i0.ɵɵtemplate(1, ModalComponent_ng_container_0_button_13_span_1_Template, 2, 1, "span", 0);
61
+ i0.ɵɵtemplate(2, ModalComponent_ng_container_0_button_13_ng_miam_loader_2_Template, 1, 0, "ng-miam-loader", 0);
32
62
  i0.ɵɵelementEnd();
33
63
  } if (rf & 2) {
34
64
  const ctx_r5 = i0.ɵɵnextContext(2);
65
+ i0.ɵɵproperty("disabled", ctx_r5.confirmButtonDisabled);
35
66
  i0.ɵɵadvance(1);
36
- i0.ɵɵtextInterpolate1(" ", ctx_r5.confirmButtonText, " ");
67
+ i0.ɵɵproperty("ngIf", !ctx_r5.confirmButtonIsLoading);
68
+ i0.ɵɵadvance(1);
69
+ i0.ɵɵproperty("ngIf", ctx_r5.confirmButtonIsLoading);
37
70
  } }
38
71
  const _c0 = function (a0, a1) { return { "with-header": a0, "without-header": a1 }; };
39
72
  function ModalComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
40
- const _r11 = i0.ɵɵgetCurrentView();
73
+ const _r15 = i0.ɵɵgetCurrentView();
41
74
  i0.ɵɵelementContainerStart(0);
42
75
  i0.ɵɵelementStart(1, "div", 1);
43
- i0.ɵɵlistener("click", function ModalComponent_ng_container_0_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return ctx_r10.onClose(); });
76
+ i0.ɵɵlistener("click", function ModalComponent_ng_container_0_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r15); const ctx_r14 = i0.ɵɵnextContext(); return ctx_r14.onClose(); });
44
77
  i0.ɵɵelementEnd();
45
78
  i0.ɵɵelementStart(2, "div", 2);
46
79
  i0.ɵɵelementStart(3, "div", 3);
@@ -49,14 +82,14 @@ function ModalComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
49
82
  i0.ɵɵtext(6);
50
83
  i0.ɵɵelementEnd();
51
84
  i0.ɵɵelementStart(7, "ng-miam-icon", 6);
52
- i0.ɵɵlistener("click", function ModalComponent_ng_container_0_Template_ng_miam_icon_click_7_listener() { i0.ɵɵrestoreView(_r11); const ctx_r12 = i0.ɵɵnextContext(); return ctx_r12.onClose(); });
85
+ i0.ɵɵlistener("click", function ModalComponent_ng_container_0_Template_ng_miam_icon_click_7_listener() { i0.ɵɵrestoreView(_r15); const ctx_r16 = i0.ɵɵnextContext(); return ctx_r16.onClose(); });
53
86
  i0.ɵɵelementEnd();
54
87
  i0.ɵɵelementEnd();
55
88
  i0.ɵɵtemplate(8, ModalComponent_ng_container_0_ng_content_8_Template, 1, 0, "ng-content", 7);
56
89
  i0.ɵɵtemplate(9, ModalComponent_ng_container_0_ng_template_9_Template, 1, 0, "ng-template", null, 8, i0.ɵɵtemplateRefExtractor);
57
90
  i0.ɵɵelementStart(11, "div", 9);
58
- i0.ɵɵtemplate(12, ModalComponent_ng_container_0_button_12_Template, 2, 1, "button", 10);
59
- i0.ɵɵtemplate(13, ModalComponent_ng_container_0_button_13_Template, 2, 1, "button", 11);
91
+ i0.ɵɵtemplate(12, ModalComponent_ng_container_0_button_12_Template, 3, 3, "button", 10);
92
+ i0.ɵɵtemplate(13, ModalComponent_ng_container_0_button_13_Template, 3, 3, "button", 11);
60
93
  i0.ɵɵelementEnd();
61
94
  i0.ɵɵelementEnd();
62
95
  i0.ɵɵelementEnd();
@@ -166,12 +199,12 @@ export class ModalComponent {
166
199
  }
167
200
  }
168
201
  ModalComponent.ɵfac = function ModalComponent_Factory(t) { return new (t || ModalComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.MediaMatcher), i0.ɵɵdirectiveInject(i2.ContextService)); };
169
- ModalComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ModalComponent, selectors: [["ng-miam-modal"]], inputs: { title: "title", expanded: "expanded", confirmButtonText: "confirmButtonText", cancelButtonText: "cancelButtonText", isAngularComponent: "isAngularComponent", noHeaderMode: "noHeaderMode", containerElement: "containerElement" }, outputs: { expandedChange: "expandedChange", close: "close", cancel: "cancel", confirm: "confirm" }, features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c1, decls: 1, vars: 1, consts: [[4, "ngIf"], [1, "miam-shadow-overlay", 3, "click"], [1, "miam-modal", 3, "ngClass"], [1, "miam-modal__container"], [1, "miam-modal__header"], [1, "miam-modal__title"], ["primaryColor", "var(--m-color-grey-text-dark)", 1, "miam-modal__close__icon", 3, "width", "height", "iconName", "click"], [4, "ngIf", "ngIfElse"], ["isWebC", ""], [1, "miam-modal__actions"], ["class", "m-button-secondary", 3, "click", 4, "ngIf"], ["class", "m-button-primary", 3, "click", 4, "ngIf"], ["name", "modal-content"], [1, "m-button-secondary", 3, "click"], [1, "m-button-primary", 3, "click"]], template: function ModalComponent_Template(rf, ctx) { if (rf & 1) {
202
+ ModalComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ModalComponent, selectors: [["ng-miam-modal"]], inputs: { title: "title", expanded: "expanded", confirmButtonText: "confirmButtonText", cancelButtonText: "cancelButtonText", isAngularComponent: "isAngularComponent", confirmButtonIsLoading: "confirmButtonIsLoading", cancelButtonIsLoading: "cancelButtonIsLoading", confirmButtonDisabled: "confirmButtonDisabled", cancelButtonDisabled: "cancelButtonDisabled", noHeaderMode: "noHeaderMode", containerElement: "containerElement" }, outputs: { expandedChange: "expandedChange", close: "close", cancel: "cancel", confirm: "confirm" }, features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c1, decls: 1, vars: 1, consts: [[4, "ngIf"], [1, "miam-shadow-overlay", 3, "click"], [1, "miam-modal", 3, "ngClass"], [1, "miam-modal__container"], [1, "miam-modal__header"], [1, "miam-modal__title"], ["primaryColor", "var(--m-color-grey-text-dark)", 1, "miam-modal__close__icon", 3, "width", "height", "iconName", "click"], [4, "ngIf", "ngIfElse"], ["isWebC", ""], [1, "miam-modal__actions"], ["class", "m-button-secondary", 3, "disabled", "click", 4, "ngIf"], ["class", "m-button-primary", 3, "disabled", "click", 4, "ngIf"], ["name", "modal-content"], [1, "m-button-secondary", 3, "disabled", "click"], [1, "m-button-primary", 3, "disabled", "click"]], template: function ModalComponent_Template(rf, ctx) { if (rf & 1) {
170
203
  i0.ɵɵprojectionDef();
171
204
  i0.ɵɵtemplate(0, ModalComponent_ng_container_0_Template, 14, 12, "ng-container", 0);
172
205
  } if (rf & 2) {
173
206
  i0.ɵɵproperty("ngIf", ctx.expanded);
174
- } }, directives: [i3.NgIf, i3.NgClass, i4.IconComponent], styles: [".miam-shadow-overlay{-webkit-animation-duration:.3s;-webkit-animation-name:show;-webkit-animation-timing-function:ease-in-out;-webkit-tap-highlight-color:transparent;animation-duration:.3s;animation-name:show;animation-timing-function:ease-in-out;background:var(--m-color-black);height:100vh;left:0;opacity:.6;position:fixed;top:0;width:100vw;z-index:var(--m-z-index-modal-overlay)}.miam-modal{-webkit-animation-duration:.5s;-webkit-animation-name:open;-webkit-animation-timing-function:cubic-bezier(.75,0,.2,1);animation-duration:.5s;animation-name:open;animation-timing-function:cubic-bezier(.75,0,.2,1);background-color:var(--m-color-white);height:100%;max-width:1200px;overflow-x:hidden;overflow-y:auto;position:fixed;right:0;top:0;width:80%;z-index:var(--m-z-index-modal)}@media print{.miam-modal{height:unset!important;overflow-y:unset!important;position:unset!important}}@-webkit-keyframes open{0%{right:-1200px}to{right:0}}@keyframes open{0%{right:-1200px}to{right:0}}.miam-modal.with-header .miam-modal__header{background-color:var(--m-color-grey);color:var(--m-color-grey-text-dark);display:flex;flex-direction:row;justify-content:space-between}.miam-modal.with-header .miam-modal__title{color:var(--m-color-grey-text-dark);font-size:var(--m-font-size-large);font-weight:700;overflow:hidden;padding:20px;text-overflow:ellipsis}.miam-modal.with-header .miam-modal__close__icon{-webkit-tap-highlight-color:transparent;height:40px}.miam-modal.without-header .miam-modal__close__icon{border-radius:var(--m-border-radius-circle);display:flex;height:60px;justify-items:center;position:absolute;right:0;top:0;z-index:var(--m-z-index-position-absolute-high)}.miam-modal .miam-modal__container{display:flex;flex-direction:column;height:100%;position:relative}.miam-modal .miam-modal__container .miam-modal__close__icon{cursor:pointer;margin:10px}@media print{.miam-modal .miam-modal__container .miam-modal__close__icon{display:none}}.miam-modal .miam-modal__container .miam-modal__actions{align-items:center;display:flex;justify-content:space-evenly;margin:20px}@-webkit-keyframes show{0%{opacity:0}to{opacity:.6}}@keyframes show{0%{opacity:0}to{opacity:.6}}@media (max-width:1022px){.miam-modal{-webkit-animation-duration:.5s;-webkit-animation-name:openBottomSheet;-webkit-animation-timing-function:cubic-bezier(.075,.82,.165,1);animation-duration:.5s;animation-name:openBottomSheet;animation-timing-function:cubic-bezier(.075,.82,.165,1);background-color:var(--m-color-white);bottom:0;left:0;max-width:100vw;overflow-x:hidden;overflow-y:hidden;position:fixed;right:0;top:100vh;top:unset;width:100vw;z-index:var(--m-z-index-modal)}.miam-modal.with-header .miam-modal__header{align-items:center;background-color:unset}.miam-modal.with-header .miam-modal__title{padding:0 0 0 16px}.miam-modal.with-header ng-miam-icon.miam-modal__close__icon .icon-container{align-items:center;border:1px solid var(--m-color-light-slate);border-radius:36px;display:grid}.miam-modal.with-header ng-miam-icon.miam-modal__close__icon .icon-container svg{fill:var(--m-color-white);height:24px!important;width:24px!important}.miam-modal.without-header .miam-modal__close__icon{height:28px;z-index:8}.miam-modal .miam-modal__actions{background-color:var(--m-color-white);bottom:0;left:0;margin:0!important;position:fixed;right:0;z-index:8}.miam-modal .miam-modal__actions button{font-size:12px;height:44px;margin:16px 5px 5px 0;padding:5px}.miam-modal .miam-modal__actions button:first-of-type{margin:16px 5px 5px}@-webkit-keyframes openBottomSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes openBottomSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}}"], encapsulation: 2, changeDetection: 0 });
207
+ } }, directives: [i3.NgIf, i3.NgClass, i4.IconComponent, i5.LoaderComponent], styles: [".miam-shadow-overlay{-webkit-animation-duration:.3s;-webkit-animation-name:show;-webkit-animation-timing-function:ease-in-out;-webkit-tap-highlight-color:transparent;animation-duration:.3s;animation-name:show;animation-timing-function:ease-in-out;background:var(--m-color-black);height:100vh;left:0;opacity:.6;position:fixed;top:0;width:100vw;z-index:var(--m-z-index-modal-overlay)}.miam-modal{-webkit-animation-duration:.5s;-webkit-animation-name:open;-webkit-animation-timing-function:cubic-bezier(.75,0,.2,1);animation-duration:.5s;animation-name:open;animation-timing-function:cubic-bezier(.75,0,.2,1);background-color:var(--m-color-white);height:100%;max-width:1200px;overflow-x:hidden;overflow-y:auto;position:fixed;right:0;top:0;width:80%;z-index:var(--m-z-index-modal)}@media print{.miam-modal{height:unset!important;overflow-y:unset!important;position:unset!important}}@-webkit-keyframes open{0%{right:-1200px}to{right:0}}@keyframes open{0%{right:-1200px}to{right:0}}.miam-modal.with-header .miam-modal__header{background-color:var(--m-color-grey);color:var(--m-color-grey-text-dark);display:flex;flex-direction:row;justify-content:space-between}.miam-modal.with-header .miam-modal__title{color:var(--m-color-grey-text-dark);font-size:var(--m-font-size-large);font-weight:700;overflow:hidden;padding:20px;text-overflow:ellipsis}.miam-modal.with-header .miam-modal__close__icon{-webkit-tap-highlight-color:transparent;height:40px}.miam-modal.without-header .miam-modal__close__icon{border-radius:var(--m-border-radius-circle);display:flex;height:60px;justify-items:center;position:absolute;right:0;top:0;z-index:var(--m-z-index-position-absolute-high)}.miam-modal .miam-modal__container{display:flex;flex-direction:column;height:100%;position:relative}.miam-modal .miam-modal__container .miam-modal__close__icon{cursor:pointer;margin:10px}@media print{.miam-modal .miam-modal__container .miam-modal__close__icon{display:none}}.miam-modal .miam-modal__container .miam-modal__actions{align-items:center;display:flex;justify-content:space-evenly;margin:20px}@-webkit-keyframes show{0%{opacity:0}to{opacity:.6}}@keyframes show{0%{opacity:0}to{opacity:.6}}@media (max-width:1022px){.miam-modal{-webkit-animation-duration:.5s;-webkit-animation-name:openBottomSheet;-webkit-animation-timing-function:cubic-bezier(.075,.82,.165,1);animation-duration:.5s;animation-name:openBottomSheet;animation-timing-function:cubic-bezier(.075,.82,.165,1);background-color:var(--m-color-white);bottom:0;left:0;max-width:100vw;overflow-x:hidden;overflow-y:hidden;position:fixed;right:0;top:100vh;top:unset;width:100vw;z-index:var(--m-z-index-modal)}.miam-modal.with-header .miam-modal__header{align-items:center;background-color:unset}.miam-modal.with-header .miam-modal__title{padding:0 0 0 16px}.miam-modal.with-header ng-miam-icon.miam-modal__close__icon .icon-container{align-items:center;border:1px solid var(--m-color-light-slate);border-radius:36px;display:grid}.miam-modal.with-header ng-miam-icon.miam-modal__close__icon .icon-container svg{fill:var(--m-color-white);height:24px!important;width:24px!important}.miam-modal.without-header .miam-modal__close__icon{height:28px;z-index:8}.miam-modal .miam-modal__actions{background-color:var(--m-color-white);bottom:0;left:0;margin:0!important;position:fixed;right:0;z-index:8}.miam-modal .miam-modal__actions button{font-size:12px;height:44px;margin:16px 5px 5px 0;padding:5px}.miam-modal .miam-modal__actions button:first-of-type{margin:16px 5px 5px}@-webkit-keyframes openBottomSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes openBottomSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}}"], encapsulation: 2, changeDetection: 0 });
175
208
  /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(ModalComponent, [{
176
209
  type: Component,
177
210
  args: [{
@@ -191,6 +224,14 @@ ModalComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ModalComponent, selectors:
191
224
  type: Input
192
225
  }], isAngularComponent: [{
193
226
  type: Input
227
+ }], confirmButtonIsLoading: [{
228
+ type: Input
229
+ }], cancelButtonIsLoading: [{
230
+ type: Input
231
+ }], confirmButtonDisabled: [{
232
+ type: Input
233
+ }], cancelButtonDisabled: [{
234
+ type: Input
194
235
  }], noHeaderMode: [{
195
236
  type: Input
196
237
  }], containerElement: [{
@@ -204,4 +245,4 @@ ModalComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ModalComponent, selectors:
204
245
  }], confirm: [{
205
246
  type: Output
206
247
  }] }); })();
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fd2ViLWNvbXBvbmVudHMvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLFlBQVksRUFBQyx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7O0lDYXhDLGtFQUFtRDs7O0lBRWpELDJCQUFrQzs7OztJQUdsQyxrQ0FDRTtJQUQrQixvTUFBb0I7SUFDbkQsWUFDRjtJQUFBLGlCQUFTOzs7SUFEUCxlQUNGO0lBREUsd0RBQ0Y7Ozs7SUFDQSxrQ0FDRTtJQURnQyxxTUFBcUI7SUFDckQsWUFDRjtJQUFBLGlCQUFTOzs7SUFEUCxlQUNGO0lBREUseURBQ0Y7Ozs7O0lBMUJSLDZCQUNFO0lBQUEsOEJBQTJEO0lBQXRELHdMQUFtQjtJQUE2QixpQkFBTTtJQUUzRCw4QkFDRTtJQUFBLDhCQUNFO0lBQUEsOEJBQ0U7SUFBQSw4QkFBZ0M7SUFBQSxZQUFXO0lBQUEsaUJBQU07SUFDakQsdUNBT2dCO0lBTmQsaU1BQW1CO0lBTXBCLGlCQUFlO0lBQ2xCLGlCQUFNO0lBQ04sNEZBQW1EO0lBQ25ELCtIQUNFO0lBRUYsK0JBQ0U7SUFBQSx1RkFDRTtJQUVGLHVGQUNFO0lBRUosaUJBQU07SUFDUixpQkFBTTtJQUNS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QyxLQUFLLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztZQUNoRCxPQUFPO1NBQ1Q7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7SUFDbkQsQ0FBQzs7NEVBckdVLGNBQWM7bURBQWQsY0FBYzs7UUNaM0IsbUZBQ0U7O1FBRFksbUNBQWdCOztrRERZakIsY0FBYztjQVAxQixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLFdBQVcsRUFBRSx3QkFBd0I7Z0JBQ3JDLFNBQVMsRUFBRSxDQUFDLHdCQUF3QixDQUFDO2dCQUNyQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7NEhBRVUsS0FBSztrQkFBYixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLGlCQUFpQjtrQkFBekIsS0FBSztZQUNHLGdCQUFnQjtrQkFBeEIsS0FBSztZQUNHLGtCQUFrQjtrQkFBMUIsS0FBSztZQUNHLFlBQVk7a0JBQXBCLEtBQUs7WUFDRyxnQkFBZ0I7a0JBQXhCLEtBQUs7WUFDSSxjQUFjO2tCQUF2QixNQUFNO1lBQ0csS0FBSztrQkFBZCxNQUFNO1lBQ0csTUFBTTtrQkFBZixNQUFNO1lBQ0csT0FBTztrQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lZGlhTWF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIEV2ZW50RW1pdHRlcixDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcyc7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSAnLi4vLi4vX3R5cGVzL2ljb24uZW51bSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGV4cGFuZGVkOiBib29sZWFuO1xuICBASW5wdXQoKSBjb25maXJtQnV0dG9uVGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBjYW5jZWxCdXR0b25UZXh0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlzQW5ndWxhckNvbXBvbmVudDogYm9vbGVhbjtcbiAgQElucHV0KCkgbm9IZWFkZXJNb2RlOiBib29sZWFuO1xuICBASW5wdXQoKSBjb250YWluZXJFbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgQE91dHB1dCgpIGV4cGFuZGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBjb25maXJtID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGljb24gPSBJY29uO1xuICBzY3JvbGxQb3NpdGlvbjogbnVtYmVyID0gbnVsbDtcbiAgaXNNb2JpbGUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBtZWRpYU1hdGNoZXI6IE1lZGlhTWF0Y2hlcixcbiAgICBwcml2YXRlIGNvbnRleHQ6IENvbnRleHRTZXJ2aWNlXG4gICkgeyB0aGlzLmlzTW9iaWxlID0gdGhpcy5tZWRpYU1hdGNoZXIubWF0Y2hNZWRpYSgnKG1heC13aWR0aDogMTAyM3B4KScpLm1hdGNoZXM7XG59XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgaWYgKHRoaXMuY29udGFpbmVyRWxlbWVudCkge1xuICAgICAgdGhpcy5oYW5kbGVDb250YWluZXJTY3JvbGwoKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmhhbmRsZVBhZ2VTY3JvbGwoKTtcbiAgICB9XG4gIH1cblxuICBvbkNsb3NlKCkge1xuICAgIHRoaXMuaGlkZSgpO1xuICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICB9XG5cbiAgb25DYW5jZWwoKSB7XG4gICAgdGhpcy5oaWRlKCk7XG4gICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICB9XG5cbiAgb25Db25maXJtKCkge1xuICAgIHRoaXMuaGlkZSgpO1xuICAgIHRoaXMuY29uZmlybS5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIGhpZGUoKSB7XG4gICAgdGhpcy5leHBhbmRlZENoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVBhZ2VTY3JvbGwoKXtcbiAgICBpZiAodGhpcy5pc01vYmlsZSl7XG4gICAgICBpZiAodGhpcy5leHBhbmRlZCkge1xuICAgICAgICB0aGlzLmNvbnRleHQuZ2xvYmFsU2Nyb2xsYWJsZUVsZW1lbnQuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcbiAgICAgICAgdGhpcy5zY3JvbGxQb3NpdGlvbiA9IHdpbmRvdy5zY3JvbGxZO1xuICAgICAgICB0aGlzLmNvbnRleHQuZ2xvYmFsU2Nyb2xsYWJsZUVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnZml4ZWQnO1xuICAgICAgICB0aGlzLmNvbnRleHQuZ2xvYmFsU2Nyb2xsYWJsZUVsZW1lbnQuc3R5bGUudG9wID0gYCR7LXRoaXMuc2Nyb2xsUG9zaXRpb259cHhgO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuc2Nyb2xsUG9zaXRpb24gIT09IG51bGwpe1xuICAgICAgICAgIHRoaXMuY29udGV4dC5nbG9iYWxTY3JvbGxhYmxlRWxlbWVudC5zdHlsZS5vdmVyZmxvdyA9ICdpbml0aWFsJztcbiAgICAgICAgICB0aGlzLmNvbnRleHQuZ2xvYmFsU2Nyb2xsYWJsZUVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnaW5pdGlhbCc7XG4gICAgICAgICAgd2luZG93LnNjcm9sbFRvKDAsIHRoaXMuc2Nyb2xsUG9zaXRpb24pO1xuICAgICAgICAgIHRoaXMuc2Nyb2xsUG9zaXRpb24gPSBudWxsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZXhwYW5kZWQpIHtcbiAgICAgICB0aGlzLmNvbnRleHQuZ2xvYmFsU2Nyb2xsYWJsZUVsZW1lbnQuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcbiAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY29udGV4dC5nbG9iYWxTY3JvbGxhYmxlRWxlbWVudC5zdHlsZS5vdmVyZmxvdyA9ICdpbml0aWFsJztcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQ29udGFpbmVyU2Nyb2xsKCl7XG4gICAgaWYgKHRoaXMuaXNNb2JpbGUpe1xuICAgICAgaWYgKHRoaXMuZXhwYW5kZWQpIHtcbiAgICAgICAgdGhpcy5jb250YWluZXJFbGVtZW50LnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7XG4gICAgICAgIHRoaXMuc2Nyb2xsUG9zaXRpb24gPSB3aW5kb3cuc2Nyb2xsWTtcbiAgICAgICAgdGhpcy5jb250YWluZXJFbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJztcbiAgICAgICAgdGhpcy5jb250YWluZXJFbGVtZW50LnN0eWxlLnRvcCA9IGAkey10aGlzLnNjcm9sbFBvc2l0aW9ufXB4YDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLnNjcm9sbFBvc2l0aW9uICE9PSBudWxsKXtcbiAgICAgICAgICB0aGlzLmNvbnRhaW5lckVsZW1lbnQuc3R5bGUub3ZlcmZsb3cgPSAnaW5pdGlhbCc7XG4gICAgICAgICAgdGhpcy5jb250YWluZXJFbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2luaXRpYWwnO1xuICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCB0aGlzLnNjcm9sbFBvc2l0aW9uKTtcbiAgICAgICAgICB0aGlzLnNjcm9sbFBvc2l0aW9uID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmV4cGFuZGVkKSB7XG4gICAgICAgdGhpcy5jb250YWluZXJFbGVtZW50LnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7XG4gICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNvbnRhaW5lckVsZW1lbnQuc3R5bGUub3ZlcmZsb3cgPSAnaW5pdGlhbCc7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJleHBhbmRlZFwiPlxuICA8ZGl2IChjbGljayk9XCJvbkNsb3NlKClcIiBjbGFzcz1cIm1pYW0tc2hhZG93LW92ZXJsYXlcIj48L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibWlhbS1tb2RhbFwiIFtuZ0NsYXNzXT1cInsgJ3dpdGgtaGVhZGVyJzogIW5vSGVhZGVyTW9kZSwgJ3dpdGhvdXQtaGVhZGVyJzogbm9IZWFkZXJNb2RlIH1cIj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1tb2RhbF9fY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1tb2RhbF9faGVhZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLW1vZGFsX190aXRsZSBcIj57eyB0aXRsZSB9fTwvZGl2PlxuICAgICAgICA8bmctbWlhbS1pY29uXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiXG4gICAgICAgICAgY2xhc3M9XCJtaWFtLW1vZGFsX19jbG9zZV9faWNvblwiXG4gICAgICAgICAgW3dpZHRoXT0nMjQnXG4gICAgICAgICAgW2hlaWdodF09JzI0J1xuICAgICAgICAgIFtpY29uTmFtZV09J2ljb24uQ3Jvc3MnXG4gICAgICAgICAgcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1ncmV5LXRleHQtZGFyaylcIlxuICAgICAgICA+PC9uZy1taWFtLWljb24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250ZW50ICpuZ0lmPSdpc0FuZ3VsYXJDb21wb25lbnQgZWxzZSBpc1dlYkMnPjwvbmctY29udGVudD5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjaXNXZWJDPlxuICAgICAgICA8c2xvdCBuYW1lPVwibW9kYWwtY29udGVudFwiPjwvc2xvdD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1tb2RhbF9fYWN0aW9uc1wiPlxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwiY2FuY2VsQnV0dG9uVGV4dFwiIChjbGljayk9XCJvbkNhbmNlbCgpXCIgY2xhc3M9XCJtLWJ1dHRvbi1zZWNvbmRhcnlcIj5cbiAgICAgICAgICB7eyBjYW5jZWxCdXR0b25UZXh0IH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwiY29uZmlybUJ1dHRvblRleHRcIiAoY2xpY2spPVwib25Db25maXJtKClcIiBjbGFzcz1cIm0tYnV0dG9uLXByaW1hcnlcIj5cbiAgICAgICAgICB7eyBjb25maXJtQnV0dG9uVGV4dCB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPiJdfQ==
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fd2ViLWNvbXBvbmVudHMvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLFlBQVksRUFBQyx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7OztJQ2F4QyxrRUFBbUQ7OztJQUVqRCwyQkFBa0M7OztJQUloQyw0QkFBcUM7SUFBQSxZQUFzQjtJQUFBLGlCQUFPOzs7SUFBN0IsZUFBc0I7SUFBdEIsNkNBQXNCOzs7SUFDM0QsaUNBQStEOzs7O0lBRmpFLGtDQUNFO0lBRCtCLG9NQUFvQjtJQUNuRCwwRkFBcUM7SUFDckMsOEdBQThDO0lBQ2hELGlCQUFTOzs7SUFINkMsc0RBQWlDO0lBQy9FLGVBQThCO0lBQTlCLG9EQUE4QjtJQUNwQixlQUE2QjtJQUE3QixtREFBNkI7OztJQUc3Qyw0QkFBc0M7SUFBQSxZQUF1QjtJQUFBLGlCQUFPOzs7SUFBOUIsZUFBdUI7SUFBdkIsK0NBQXVCOzs7SUFDN0QsaUNBQWdFOzs7O0lBRmxFLGtDQUNFO0lBRGdDLHdNQUFxQjtJQUNyRCwwRkFBc0M7SUFDdEMsOEdBQStDO0lBQ2pELGlCQUFTOzs7SUFIK0MsdURBQWtDO0lBQ2xGLGVBQStCO0lBQS9CLHFEQUErQjtJ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TUFBTTtZQUNHLEtBQUs7a0JBQWQsTUFBTTtZQUNHLE1BQU07a0JBQWYsTUFBTTtZQUNHLE9BQU87a0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZWRpYU1hdGNoZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBFdmVudEVtaXR0ZXIsQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdFbmNhcHN1bGF0aW9uLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMnO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4uLy4uL190eXBlcy9pY29uLmVudW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1taWFtLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBleHBhbmRlZDogYm9vbGVhbjtcbiAgQElucHV0KCkgY29uZmlybUJ1dHRvblRleHQ6IHN0cmluZztcbiAgQElucHV0KCkgY2FuY2VsQnV0dG9uVGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBpc0FuZ3VsYXJDb21wb25lbnQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNvbmZpcm1CdXR0b25Jc0xvYWRpbmc6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNhbmNlbEJ1dHRvbklzTG9hZGluZzogYm9vbGVhbjtcbiAgQElucHV0KCkgY29uZmlybUJ1dHRvbkRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSBjYW5jZWxCdXR0b25EaXNhYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KCkgbm9IZWFkZXJNb2RlOiBib29sZWFuO1xuICBASW5wdXQoKSBjb250YWluZXJFbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgQE91dHB1dCgpIGV4cGFuZGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBjb25maXJtID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGljb24gPSBJY29uO1xuICBzY3JvbGxQb3NpdGlvbjogbnVtYmVyID0gbnVsbDtcbiAgaXNNb2JpbGUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBtZWRpYU1hdGNoZXI6IE1lZGlhTWF0Y2hlcixcbiAgICBwcml2YXRlIGNvbnRleHQ6IENvbnRleHRTZXJ2aWNlXG4gICkgeyB0aGlzLmlzTW9iaWxlID0gdGhpcy5tZWRpYU1hdGNoZXIubWF0Y2hNZWRpYSgnKG1heC13aWR0aDogMTAyM3B4KScpLm1hdGNoZXM7XG59XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgaWYgKHRoaXMuY29udGFpbmVyRWxlbWVudCkge1xuICAgICAgdGhpcy5oYW5kbGVDb250YWluZXJTY3JvbGwoKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmhhbmRsZVBhZ2VTY3JvbGwoKTtcbiAgICB9XG4gIH1cblxuICBvbkNsb3NlKCkge1xuICAgIHRoaXMuaGlkZSgpO1xuICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICB9XG5cbiAgb25DYW5jZWwoKSB7XG4gICAgdGhpcy5oaWRlKCk7XG4gICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICB9XG5cbiAgb25Db25maXJtKCkge1xuICAgIHRoaXMuaGlkZSgpO1xuICAgIHRoaXMuY29uZmlybS5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIGhpZGUoKSB7XG4gICAgdGhpcy5leHBhbmRlZENoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVBhZ2VTY3JvbGwoKXtcbiAgICBpZiAodGhpcy5pc01vYmlsZSl7XG4gICAgICBpZiAodGhpcy5leHBhbmRlZCkge1xuICAgICAgICB0aGlzLmNvbnRleHQuZ2xvYmFsU2Nyb2xsYWJsZUVsZW1lbnQuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcbiAgICAgICAgdGhpcy5zY3JvbGxQb3NpdGlvbiA9IHdpbmRvdy5zY3JvbGxZO1xuICAgICAgICB0aGlzLmNvbnRleHQuZ2xvYmFsU2Nyb2xsYWJsZUVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnZml4ZWQnO1xuICAgICAgICB0aGlzLmNvbnRleHQuZ2xvYmFsU2Nyb2xsYWJsZUVsZW1lbnQuc3R5bGUudG9wID0gYCR7LXRoaXMuc2Nyb2xsUG9zaXRpb259cHhgO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuc2Nyb2xsUG9zaXRpb24gIT09IG51bGwpe1xuICAgICAgICAgIHRoaXMuY29udGV4dC5nbG9iYWxTY3JvbGxhYmxlRWxlbWVudC5zdHlsZS5vdmVyZmxvdyA9ICdpbml0aWFsJztcbiAgICAgICAgICB0aGlzLmNvbnRleHQuZ2xvYmFsU2Nyb2xsYWJsZUVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnaW5pdGlhbCc7XG4gICAgICAgICAgd2luZG93LnNjcm9sbFRvKDAsIHRoaXMuc2Nyb2xsUG9zaXRpb24pO1xuICAgICAgICAgIHRoaXMuc2Nyb2xsUG9zaXRpb24gPSBudWxsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZXhwYW5kZWQpIHtcbiAgICAgICB0aGlzLmNvbnRleHQuZ2xvYmFsU2Nyb2xsYWJsZUVsZW1lbnQuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcbiAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY29udGV4dC5nbG9iYWxTY3JvbGxhYmxlRWxlbWVudC5zdHlsZS5vdmVyZmxvdyA9ICdpbml0aWFsJztcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQ29udGFpbmVyU2Nyb2xsKCl7XG4gICAgaWYgKHRoaXMuaXNNb2JpbGUpe1xuICAgICAgaWYgKHRoaXMuZXhwYW5kZWQpIHtcbiAgICAgICAgdGhpcy5jb250YWluZXJFbGVtZW50LnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7XG4gICAgICAgIHRoaXMuc2Nyb2xsUG9zaXRpb24gPSB3aW5kb3cuc2Nyb2xsWTtcbiAgICAgICAgdGhpcy5jb250YWluZXJFbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJztcbiAgICAgICAgdGhpcy5jb250YWluZXJFbGVtZW50LnN0eWxlLnRvcCA9IGAkey10aGlzLnNjcm9sbFBvc2l0aW9ufXB4YDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLnNjcm9sbFBvc2l0aW9uICE9PSBudWxsKXtcbiAgICAgICAgICB0aGlzLmNvbnRhaW5lckVsZW1lbnQuc3R5bGUub3ZlcmZsb3cgPSAnaW5pdGlhbCc7XG4gICAgICAgICAgdGhpcy5jb250YWluZXJFbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2luaXRpYWwnO1xuICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCB0aGlzLnNjcm9sbFBvc2l0aW9uKTtcbiAgICAgICAgICB0aGlzLnNjcm9sbFBvc2l0aW9uID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmV4cGFuZGVkKSB7XG4gICAgICAgdGhpcy5jb250YWluZXJFbGVtZW50LnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7XG4gICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNvbnRhaW5lckVsZW1lbnQuc3R5bGUub3ZlcmZsb3cgPSAnaW5pdGlhbCc7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJleHBhbmRlZFwiPlxuICA8ZGl2IChjbGljayk9XCJvbkNsb3NlKClcIiBjbGFzcz1cIm1pYW0tc2hhZG93LW92ZXJsYXlcIj48L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibWlhbS1tb2RhbFwiIFtuZ0NsYXNzXT1cInsgJ3dpdGgtaGVhZGVyJzogIW5vSGVhZGVyTW9kZSwgJ3dpdGhvdXQtaGVhZGVyJzogbm9IZWFkZXJNb2RlIH1cIj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1tb2RhbF9fY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1tb2RhbF9faGVhZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLW1vZGFsX190aXRsZSBcIj57eyB0aXRsZSB9fTwvZGl2PlxuICAgICAgICA8bmctbWlhbS1pY29uXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiXG4gICAgICAgICAgY2xhc3M9XCJtaWFtLW1vZGFsX19jbG9zZV9faWNvblwiXG4gICAgICAgICAgW3dpZHRoXT0nMjQnXG4gICAgICAgICAgW2hlaWdodF09JzI0J1xuICAgICAgICAgIFtpY29uTmFtZV09J2ljb24uQ3Jvc3MnXG4gICAgICAgICAgcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1ncmV5LXRleHQtZGFyaylcIlxuICAgICAgICA+PC9uZy1taWFtLWljb24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250ZW50ICpuZ0lmPSdpc0FuZ3VsYXJDb21wb25lbnQgZWxzZSBpc1dlYkMnPjwvbmctY29udGVudD5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjaXNXZWJDPlxuICAgICAgICA8c2xvdCBuYW1lPVwibW9kYWwtY29udGVudFwiPjwvc2xvdD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1tb2RhbF9fYWN0aW9uc1wiPlxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwiY2FuY2VsQnV0dG9uVGV4dFwiIChjbGljayk9XCJvbkNhbmNlbCgpXCIgW2Rpc2FibGVkXT1cImNhbmNlbEJ1dHRvbkRpc2FibGVkXCIgY2xhc3M9XCJtLWJ1dHRvbi1zZWNvbmRhcnlcIj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFjYW5jZWxCdXR0b25Jc0xvYWRpbmdcIj57eyBjYW5jZWxCdXR0b25UZXh0IH19PC9zcGFuPlxuICAgICAgICAgIDxuZy1taWFtLWxvYWRlciAqbmdJZj1cImNhbmNlbEJ1dHRvbklzTG9hZGluZ1wiPjwvbmctbWlhbS1sb2FkZXI+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwiY29uZmlybUJ1dHRvblRleHRcIiAoY2xpY2spPVwib25Db25maXJtKClcIiBbZGlzYWJsZWRdPVwiY29uZmlybUJ1dHRvbkRpc2FibGVkXCIgY2xhc3M9XCJtLWJ1dHRvbi1wcmltYXJ5XCI+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCIhY29uZmlybUJ1dHRvbklzTG9hZGluZ1wiPnt7IGNvbmZpcm1CdXR0b25UZXh0IH19PC9zcGFuPlxuICAgICAgICAgIDxuZy1taWFtLWxvYWRlciAqbmdJZj1cImNvbmZpcm1CdXR0b25Jc0xvYWRpbmdcIj48L25nLW1pYW0tbG9hZGVyPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPiJdfQ==
@@ -4,6 +4,7 @@ import { createCustomElement } from '@angular/elements';
4
4
  import { FormsModule } from '@angular/forms';
5
5
  import { ModalComponent } from './modal.component';
6
6
  import { ComponentsModule } from '../../_components';
7
+ import { LoaderModule } from '../loader';
7
8
  import * as i0 from "@angular/core";
8
9
  export class ModalModule {
9
10
  // Create custom elements so the WebComponents can be interpreted by the browser regardless of the js framework used
@@ -20,10 +21,12 @@ ModalModule.ɵinj = i0.ɵɵdefineInjector({ factory: function ModalModule_Factor
20
21
  CommonModule,
21
22
  FormsModule,
22
23
  ComponentsModule,
24
+ LoaderModule
23
25
  ]] });
24
26
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(ModalModule, { declarations: [ModalComponent], imports: [CommonModule,
25
27
  FormsModule,
26
- ComponentsModule], exports: [ModalComponent] }); })();
28
+ ComponentsModule,
29
+ LoaderModule], exports: [ModalComponent] }); })();
27
30
  /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(ModalModule, [{
28
31
  type: NgModule,
29
32
  args: [{
@@ -31,6 +34,7 @@ ModalModule.ɵinj = i0.ɵɵdefineInjector({ factory: function ModalModule_Factor
31
34
  CommonModule,
32
35
  FormsModule,
33
36
  ComponentsModule,
37
+ LoaderModule
34
38
  ],
35
39
  declarations: [
36
40
  ModalComponent
@@ -40,4 +44,4 @@ ModalModule.ɵinj = i0.ɵɵdefineInjector({ factory: function ModalModule_Factor
40
44
  ]
41
45
  }]
42
46
  }], function () { return [{ type: i0.Injector }]; }, null); })();
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fd2ViLWNvbXBvbmVudHMvbW9kYWwvbW9kYWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQWVyRCxNQUFNLE9BQU8sV0FBVztJQUN0QixvSEFBb0g7SUFDcEgsWUFDRSxRQUFrQjtRQUVsQix3QkFBd0I7UUFDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUMxQyxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3BFLGNBQWMsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDckQ7SUFDSCxDQUFDOzsrQ0FWVSxXQUFXO3FHQUFYLFdBQVcsMENBWmI7WUFDUCxZQUFZO1lBQ1osV0FBVztZQUNYLGdCQUFnQjtTQUNqQjt3RkFRVSxXQUFXLG1CQU5wQixjQUFjLGFBTGQsWUFBWTtRQUNaLFdBQVc7UUFDWCxnQkFBZ0IsYUFNaEIsY0FBYztrREFHTCxXQUFXO2NBYnZCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixXQUFXO29CQUNYLGdCQUFnQjtpQkFDakI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLGNBQWM7aUJBQ2Y7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGNBQWM7aUJBQ2Y7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RvciwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNyZWF0ZUN1c3RvbUVsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9lbGVtZW50cyc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tcG9uZW50c01vZHVsZSB9IGZyb20gJy4uLy4uL19jb21wb25lbnRzJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBDb21wb25lbnRzTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBNb2RhbENvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTW9kYWxDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbE1vZHVsZSB7XG4gIC8vIENyZWF0ZSBjdXN0b20gZWxlbWVudHMgc28gdGhlIFdlYkNvbXBvbmVudHMgY2FuIGJlIGludGVycHJldGVkIGJ5IHRoZSBicm93c2VyIHJlZ2FyZGxlc3Mgb2YgdGhlIGpzIGZyYW1ld29yayB1c2VkXG4gIGNvbnN0cnVjdG9yKFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgKSB7XG4gICAgLy8gQXZvaWQgZHVwbGljYXRlIGVycm9yXG4gICAgaWYgKCFjdXN0b21FbGVtZW50cy5nZXQoJ3dlYmMtbWlhbS1tb2RhbCcpKSB7XG4gICAgICBjb25zdCBuZ0VsZW1lbnQgPSBjcmVhdGVDdXN0b21FbGVtZW50KE1vZGFsQ29tcG9uZW50LCB7IGluamVjdG9yIH0pO1xuICAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCd3ZWJjLW1pYW0tbW9kYWwnLCBuZ0VsZW1lbnQpO1xuICAgIH1cbiAgfVxufVxuIl19
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fd2ViLWNvbXBvbmVudHMvbW9kYWwvbW9kYWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBZ0J6QyxNQUFNLE9BQU8sV0FBVztJQUN0QixvSEFBb0g7SUFDcEgsWUFDRSxRQUFrQjtRQUVsQix3QkFBd0I7UUFDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUMxQyxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3BFLGNBQWMsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDckQ7SUFDSCxDQUFDOzsrQ0FWVSxXQUFXO3FHQUFYLFdBQVcsMENBYmI7WUFDUCxZQUFZO1lBQ1osV0FBVztZQUNYLGdCQUFnQjtZQUNoQixZQUFZO1NBQ2I7d0ZBUVUsV0FBVyxtQkFOcEIsY0FBYyxhQU5kLFlBQVk7UUFDWixXQUFXO1FBQ1gsZ0JBQWdCO1FBQ2hCLFlBQVksYUFNWixjQUFjO2tEQUdMLFdBQVc7Y0FkdkIsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFdBQVc7b0JBQ1gsZ0JBQWdCO29CQUNoQixZQUFZO2lCQUNiO2dCQUNELFlBQVksRUFBRTtvQkFDWixjQUFjO2lCQUNmO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxjQUFjO2lCQUNmO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0b3IsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVDdXN0b21FbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvZWxlbWVudHMnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IENvbXBvbmVudHNNb2R1bGUgfSBmcm9tICcuLi8uLi9fY29tcG9uZW50cyc7XG5pbXBvcnQgeyBMb2FkZXJNb2R1bGUgfSBmcm9tICcuLi9sb2FkZXInO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIENvbXBvbmVudHNNb2R1bGUsXG4gICAgTG9hZGVyTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIE1vZGFsQ29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBNb2RhbENvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsTW9kdWxlIHtcbiAgLy8gQ3JlYXRlIGN1c3RvbSBlbGVtZW50cyBzbyB0aGUgV2ViQ29tcG9uZW50cyBjYW4gYmUgaW50ZXJwcmV0ZWQgYnkgdGhlIGJyb3dzZXIgcmVnYXJkbGVzcyBvZiB0aGUganMgZnJhbWV3b3JrIHVzZWRcbiAgY29uc3RydWN0b3IoXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICApIHtcbiAgICAvLyBBdm9pZCBkdXBsaWNhdGUgZXJyb3JcbiAgICBpZiAoIWN1c3RvbUVsZW1lbnRzLmdldCgnd2ViYy1taWFtLW1vZGFsJykpIHtcbiAgICAgIGNvbnN0IG5nRWxlbWVudCA9IGNyZWF0ZUN1c3RvbUVsZW1lbnQoTW9kYWxDb21wb25lbnQsIHsgaW5qZWN0b3IgfSk7XG4gICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ3dlYmMtbWlhbS1tb2RhbCcsIG5nRWxlbWVudCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -382,7 +382,7 @@ RecipeDetailsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeDetailsCompo
382
382
  } if (rf & 2) {
383
383
  var _t;
384
384
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.topContainerImg = _t.first);
385
- } }, inputs: { recipe: "recipe", previewAllowed: "previewAllowed", ingredientsPictures: "ingredientsPictures", forceDisplayTags: "forceDisplayTags", displayTagsIcons: "displayTagsIcons", displayPricing: "displayPricing", displayAddedOnPicture: "displayAddedOnPicture" }, outputs: { recipeAdded: "recipeAdded", recipeChanged: "recipeChanged", recipeError: "recipeError" }, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 2, consts: [["class", "miam-recipe-details", 4, "ngIf", "ngIfElse"], ["addon", ""], [1, "miam-recipe-details"], ["mainContainer", ""], [1, "miam-recipe-details__header"], [1, "miam-recipe-details__bookmark"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/recipe-details/recipe-details-bookmark.svg", 4, "ngIf", "ngIfElse"], ["stamp", ""], ["class", "miam-recipe-details__title", 4, "ngIf"], [1, "miam-recipe-details__header__link", 3, "href"], [1, "miam-recipe-details__container"], [1, "miam-recipe-details__summary"], [1, "miam-recipe-details__summary__container"], [1, "miam-recipe-details__sponsor"], [3, "recipe", "showAddon", 4, "ngIf"], [1, "miam-recipe-details__picture"], ["topContainerImg", ""], [3, "src", "ngClass", 4, "ngIf"], [3, "videoId", "width", "height", 4, "ngIf"], [1, "miam-recipe-details__actionbar"], [1, "miam-recipe-details__actionbar__group"], ["class", "miam-recipe-details__actions__icon", 3, "recipe", "width", "height", 4, "ngIf"], ["primaryColor", "var(--m-color-primary)", 1, "miam-recipe-details__actions__icon", 3, "width", "height", "iconName", "click"], ["primaryColor", "var(--m-color-grey02)", "secondaryColor", "var(--m-color-grey07)", 1, "miam-recipe-details__actions__icon", 3, "width", "height", "iconName", "click"], [3, "recipe", "displayTags", "displayTagsIcons", 4, "ngIf"], ["id", "miam-recipe-details__content", 1, "miam-recipe-details__content"], ["class", "miam-recipe-details__title", "id", "miam-recipe-details__title", 4, "ngIf"], ["class", "miam-recipe-details__content__description", 4, "ngIf"], [3, "recipe", "ingredientsPictures", "recipeChanged"], [3, "recipe"], [1, "miam-recipe-details__action__container"], [1, "miam-recipe-details__price"], ["guestsText", "par personne", 3, "recipe", "serves", 4, "ngIf"], ["class", "miam-recipe-details__addbasket", 3, "ngClass", "click", 4, "ngIf"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/recipe-details/recipe-details-bookmark.svg"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/recipe-details/recipe-details-stamp.svg"], [1, "miam-recipe-details__title"], [3, "recipe", "showAddon"], [3, "src", "ngClass"], [3, "videoId", "width", "height"], [1, "miam-recipe-details__actions__icon", 3, "recipe", "width", "height"], [3, "recipe", "displayTags", "displayTagsIcons"], ["id", "miam-recipe-details__title", 1, "miam-recipe-details__title"], [1, "miam-recipe-details__content__description"], ["guestsText", "par personne", 3, "recipe", "serves"], [1, "miam-recipe-details__addbasket", 3, "ngClass", "click"], ["class", "miam-recipe-details__addbasket__cta", 4, "ngIf", "ngIfElse"], ["addLoader", ""], [1, "miam-recipe-details__addbasket__cta"], ["primaryColor", "#fff", 3, "width", "height", "iconName", 4, "ngIf"], ["primaryColor", "#fff", 3, "width", "height", "iconName"], [3, "recipe", "hideAddon"]], template: function RecipeDetailsComponent_Template(rf, ctx) { if (rf & 1) {
385
+ } }, inputs: { recipe: "recipe", previewAllowed: "previewAllowed", ingredientsPictures: "ingredientsPictures", forceDisplayTags: "forceDisplayTags", displayTagsIcons: "displayTagsIcons", displayPricing: "displayPricing", displayAddedOnPicture: "displayAddedOnPicture" }, outputs: { recipeAdded: "recipeAdded", recipeChanged: "recipeChanged", recipeError: "recipeError" }, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 2, consts: [["class", "miam-recipe-details", 4, "ngIf", "ngIfElse"], ["addon", ""], [1, "miam-recipe-details"], ["mainContainer", ""], [1, "miam-recipe-details__header"], [1, "miam-recipe-details__bookmark"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/recipe-details/recipe-details-bookmark.svg", 4, "ngIf", "ngIfElse"], ["stamp", ""], ["class", "miam-recipe-details__title", 4, "ngIf"], [1, "miam-recipe-details__header__link", 3, "href"], [1, "miam-recipe-details__container"], [1, "miam-recipe-details__summary"], [1, "miam-recipe-details__summary__container"], [1, "miam-recipe-details__sponsor"], [3, "recipe", "showAddon", 4, "ngIf"], [1, "miam-recipe-details__picture"], ["topContainerImg", ""], [3, "src", "ngClass", 4, "ngIf"], [3, "videoId", "width", "height", 4, "ngIf"], [1, "miam-recipe-details__actionbar"], [1, "miam-recipe-details__actionbar__group"], ["class", "miam-recipe-details__actions__icon like", 3, "recipe", "width", "height", 4, "ngIf"], ["primaryColor", "var(--m-color-primary)", 1, "miam-recipe-details__actions__icon", "print", 3, "width", "height", "iconName", "click"], ["primaryColor", "var(--m-color-grey02)", "secondaryColor", "var(--m-color-grey07)", 1, "miam-recipe-details__actions__icon", "help", 3, "width", "height", "iconName", "click"], [3, "recipe", "displayTags", "displayTagsIcons", 4, "ngIf"], ["id", "miam-recipe-details__content", 1, "miam-recipe-details__content"], ["class", "miam-recipe-details__title", "id", "miam-recipe-details__title", 4, "ngIf"], ["class", "miam-recipe-details__content__description", 4, "ngIf"], [3, "recipe", "ingredientsPictures", "recipeChanged"], [3, "recipe"], [1, "miam-recipe-details__action__container"], [1, "miam-recipe-details__price"], ["guestsText", "par personne", 3, "recipe", "serves", 4, "ngIf"], ["class", "miam-recipe-details__addbasket", 3, "ngClass", "click", 4, "ngIf"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/recipe-details/recipe-details-bookmark.svg"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/recipe-details/recipe-details-stamp.svg"], [1, "miam-recipe-details__title"], [3, "recipe", "showAddon"], [3, "src", "ngClass"], [3, "videoId", "width", "height"], [1, "miam-recipe-details__actions__icon", "like", 3, "recipe", "width", "height"], [3, "recipe", "displayTags", "displayTagsIcons"], ["id", "miam-recipe-details__title", 1, "miam-recipe-details__title"], [1, "miam-recipe-details__content__description"], ["guestsText", "par personne", 3, "recipe", "serves"], [1, "miam-recipe-details__addbasket", 3, "ngClass", "click"], ["class", "miam-recipe-details__addbasket__cta", 4, "ngIf", "ngIfElse"], ["addLoader", ""], [1, "miam-recipe-details__addbasket__cta"], ["primaryColor", "#fff", 3, "width", "height", "iconName", 4, "ngIf"], ["primaryColor", "#fff", 3, "width", "height", "iconName"], [3, "recipe", "hideAddon"]], template: function RecipeDetailsComponent_Template(rf, ctx) { if (rf & 1) {
386
386
  i0.ɵɵtemplate(0, RecipeDetailsComponent_div_0_Template, 38, 25, "div", 0);
387
387
  i0.ɵɵtemplate(1, RecipeDetailsComponent_ng_template_1_Template, 1, 1, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
388
388
  } if (rf & 2) {
@@ -422,4 +422,4 @@ RecipeDetailsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeDetailsCompo
422
422
  type: ViewChild,
423
423
  args: ['topContainerImg']
424
424
  }] }); })();
425
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fd2ViLWNvbXBvbmVudHMvcmVjaXBlLWRldGFpbHMvcmVjaXBlLWRldGFpbHMuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtZGV0YWlscy9yZWNpcGUtZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsS0FBSyxFQUNMLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sWUFBWSxFQUdaLFNBQVMsRUFDVCxVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvSSxPQUFPLEVBQUUsUUFBUSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztJQ2I3QywwQkFDQTs7O0lBQ0UsMEJBQ0Y7OztJQUdGLGdDQUNFO0lBQUEsWUFDRjtJQUFBLGlCQUFPOzs7SUFETCxlQUNGO0lBREUsaUdBQ0Y7Ozs7SUFhTSw4Q0FDcUU7SUFBakQseU9BQTJCO0lBQUMsaUJBQXFCOzs7SUFBbkUsc0NBQWlCOzs7O0lBSW5CLDBCQUlBOzs7SUFGRSw4R0FB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RDJCckIsc0JBQXNCO2NBUGxDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxXQUFXLEVBQUUsaUNBQWlDO2dCQUM5QyxTQUFTLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztnQkFDOUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEOzJSQUVVLE1BQU07a0JBQWQsS0FBSztZQUNHLGNBQWM7a0JBQXRCLEtBQUs7WUFDRyxtQkFBbUI7a0JBQTNCLEtBQUs7WUFDRyxnQkFBZ0I7a0JBQXhCLEtBQUs7WUFDRyxnQkFBZ0I7a0JBQXhCLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0cscUJBQXFCO2tCQUE3QixLQUFLO1lBQ0ksV0FBVztrQkFBcEIsTUFBTTtZQUNHLGFBQWE7a0JBQXRCLE1BQU07WUFDRyxXQUFXO2tCQUFwQixNQUFNO1lBR3VCLGVBQWU7a0JBQTVDLFNBQVM7bUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIElucHV0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIE9uQ2hhbmdlcyxcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgVmlld0NoaWxkLFxuICBFbGVtZW50UmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVjaXBlIH0gZnJvbSAnLi4vLi4vX21vZGVscy9yZWNpcGUnO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4uLy4uL190eXBlcy9pY29uLmVudW0nO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UsIEdyb2Nlcmllc0xpc3RzU2VydmljZSwgUG9pbnRPZlNhbGVzU2VydmljZSwgUmVjaXBlRXZlbnRzU2VydmljZSwgUmVjaXBlc1NlcnZpY2UsIFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzJztcbmltcG9ydCB7IGZvcmtKb2luLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNZWRpYU1hdGNoZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmctbWlhbS1yZWNpcGUtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWNpcGUtZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlY2lwZS1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFJlY2lwZURldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0NoZWNrZWQge1xuICBASW5wdXQoKSByZWNpcGU6IFJlY2lwZTtcbiAgQElucHV0KCkgcHJldmlld0FsbG93ZWQgPSB0cnVlO1xuICBASW5wdXQoKSBpbmdyZWRpZW50c1BpY3R1cmVzID0gZmFsc2U7XG4gIEBJbnB1dCgpIGZvcmNlRGlzcGxheVRhZ3M7IC8vIE92ZXJyaWRlIGdsb2JhbCBzZXR0aW5nIGlmIG5lY2VzYXJ5XG4gIEBJbnB1dCgpIGRpc3BsYXlUYWdzSWNvbnMgPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzcGxheVByaWNpbmcgPSB0cnVlO1xuICBASW5wdXQoKSBkaXNwbGF5QWRkZWRPblBpY3R1cmUgPSB0cnVlO1xuICBAT3V0cHV0KCkgcmVjaXBlQWRkZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHJlY2lwZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHJlY2lwZUVycm9yOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHByaW1hcnlCdXR0b25DbGlja2VkJCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBAVmlld0NoaWxkKCd0b3BDb250YWluZXJJbWcnKSB0b3BDb250YWluZXJJbWc6IEVsZW1lbnRSZWY7XG5cbiAgdGFiID0gMDtcbiAgaXNNb2JpbGUgPSBmYWxzZTtcbiAgZGlzcGxheVRhZ3MgPSBmYWxzZTtcbiAgc2hvd0RldGFpbCA9IHRydWU7XG4gIGljb24gPSBJY29uO1xuICBwbGF5ZXJXaWR0aDtcbiAgcGxheWVySGVpZ2h0O1xuICBzaG93VmlkZW87XG4gIGFkZEJ1dHRvbkxvYWRpbmcgPSBmYWxzZTtcbiAgdGl0bGVJbkhlYWRlciA9IGZhbHNlO1xuICB0aXRsZTogSFRNTEVsZW1lbnQ7XG4gIGNvbnRlbnQ6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIGludGVyc2VjdGlvbk9ic2VydmVyOiBJbnRlcnNlY3Rpb25PYnNlcnZlcjtcbiAgcHJvdGVjdGVkIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyByZWNpcGVTZXJ2aWNlOiBSZWNpcGVzU2VydmljZSxcbiAgICBwdWJsaWMgZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlOiBHcm9jZXJpZXNMaXN0c1NlcnZpY2UsXG4gICAgcHVibGljIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcG9zU2VydmljZTogUG9pbnRPZlNhbGVzU2VydmljZSxcbiAgICBwcml2YXRlIHJlY2lwZUV2ZW50c1NlcnZpY2U6IFJlY2lwZUV2ZW50c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZWRpYU1hdGNoZXI6IE1lZGlhTWF0Y2hlcixcbiAgICBwdWJsaWMgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zID0gW107XG4gICAgdGhpcy5pc01vYmlsZSA9IHRoaXMubWVkaWFNYXRjaGVyLm1hdGNoTWVkaWEoJyhtYXgtd2lkdGg6IDEwMjNweCknKS5tYXRjaGVzO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9yY2VEaXNwbGF5VGFncyAhPT0gdW5kZWZpbmVkICYmIHRoaXMuZm9yY2VEaXNwbGF5VGFncyAhPT0gdGhpcy5kaXNwbGF5VGFncykge1xuICAgICAgdGhpcy5kaXNwbGF5VGFncyA9IHRoaXMuZm9yY2VEaXNwbGF5VGFncztcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmRpc3BsYXlUYWdzID0gdGhpcy5jb250ZXh0U2VydmljZS50YWdzT25SZWNpcGVzRW5hYmxlZDtcbiAgICB9XG4gICAgdGhpcy5zaG93VmlkZW8gPSBmYWxzZTsgLy8gZm9yY2UgcmVsb2FkIHZpZGVvIHBsYXllclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLnNob3dWaWRlbyA9IHRoaXMuY29udGV4dFNlcnZpY2UudmlkZW9SZWNpcGVzRW5hYmxlZCAmJiB0aGlzLnJlY2lwZT8udmlkZW9JZDtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICB0aGlzLnBsYXllcldpZHRoID0gTWF0aC5taW4oNjQwLCB0aGlzLnRvcENvbnRhaW5lckltZz8ubmF0aXZlRWxlbWVudD8ub2Zmc2V0V2lkdGgpO1xuICAgIHRoaXMucGxheWVySGVpZ2h0ID0gdGhpcy5wbGF5ZXJXaWR0aCAqIDM5MCAvIDY0MDtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmluaXRTY3JvbGxMaXN0ZW5lck9uVGl0bGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0IHRoZSBsaXN0ZW5lciBvbiBzY3JvbGwgc28gdGhlIG1vZGFsIGNhbiBoaWRlIHRoZSBjbG9zZSBpY29uXG4gICAqL1xuICBpbml0U2Nyb2xsTGlzdGVuZXJPblRpdGxlKCkge1xuICAgIGlmICghdGhpcy50aXRsZSkge1xuICAgICAgdGhpcy50aXRsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtaWFtLXJlY2lwZS1kZXRhaWxzX190aXRsZScpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuY29udGVudCkge1xuICAgICAgdGhpcy5jb250ZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21pYW0tcmVjaXBlLWRldGFpbHNfX2NvbnRlbnQnKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNNb2JpbGUgJiYgIXRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXIgJiYgdGhpcy5jb250ZW50ICYmIHRoaXMudGl0bGUpIHtcbiAgICAgIC8vIEZvciBtb3JlIHByZWNpc2lvbiBvbiB0aXRsZSBzY3JvbGwgZGV0ZWN0aW9uLCB3ZSB3YW50IHRvIHRyaWdnZXIgYW4gZXZlbnQgZWFjaCB0aW1lIHRoZSB1c2VyIHNjcm9sbHMgNSUgb2YgdGhlIGNvbnRlbnRcbiAgICAgIGNvbnN0IHRocmVzaG9sZCA9IFsuLi5BcnJheSgyMCkua2V5cygpXS5tYXAoeCA9PiB4IC8gMjApXG4gICAgICAvLyBSZWNlaXZlIGFuIGV2ZW50IGVhY2ggdGltZSB0aGUgdGl0bGUgZW50ZXJzL2xlYXZlcyB0aGUgdmlld3BvcnRcbiAgICAgIHRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKFtlbnRyeV0pID0+IHsgdGhpcy50b2dnbGVUaXRsZUluSGVhZGVyKCk7IH0sXG4gICAgICB7IHRocmVzaG9sZCB9KTtcbiAgICAgIHRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmNvbnRlbnQpO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZVRpdGxlSW5IZWFkZXIoKSB7XG4gICAgdGhpcy50aXRsZUluSGVhZGVyID0gdGhpcy50aXRsZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgPD0gNDA7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCByZWNpcGUgdG8gbGlzdCBvbiBwcmltYXJ5IGJ1dHRvbiBjbGljayBhbmQgZW1pdCB0cnVlIGlmIHRoZSByZWNpcGUgaXMgYWRkZWQsIGZhbHNlIGlmIHJlY2lwZSBpcyBub3QgYWRkZWRcbiAgICogc28gbGliIHVzZXJzIGNhbiBkZWNpZGUgdGhhdCBwcmltYXJ5QnV0dG9uQ2xpY2tlZCQuZW1pdChmYWxzZSkgcmVtb3ZlcyB0aGUgcmVjaXBlIGZvciBleGFtcGxlXG4gICAqL1xuICBjbGlja1ByaW1hcnkoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmFkZEJ1dHRvbkxvYWRpbmcpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgICB0aGlzLmdyb2Nlcmllc0xpc3RzU2VydmljZS5yZWNpcGVJc0luTGlzdCh0aGlzLnJlY2lwZS5pZCkuc3Vic2NyaWJlKHJlY2lwZUlzSW5MaXN0ID0+IHtcbiAgICAgICAgICB0aGlzLmFkZFJlY2lwZSgpO1xuICAgICAgICAgIHRoaXMucHJpbWFyeUJ1dHRvbkNsaWNrZWQkLmVtaXQoIXJlY2lwZUlzSW5MaXN0KTsgLy8gIXJlY2lwZUlzSW5MaXN0ID0gYWRkIGFjdGlvbiwgc28gd2UgZW1pdCB0cnVlXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGFkZFJlY2lwZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZUJ1dHRvbkxvYWRlcih0cnVlKTtcbiAgICBmb3JrSm9pbihbXG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLmlzTG9nZ2VkJC5hc09ic2VydmFibGUoKS5waXBlKHRha2UoMSkpLFxuICAgICAgdGhpcy5wb3NTZXJ2aWNlLmlzUG9zVmFsaWQoKS5waXBlKHRha2UoMSkpXG4gICAgXSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICBjb25zdCBpc0hvb2tPayA9IHRoaXMuY29udGV4dFNlcnZpY2UuaG9va0NhbGxiYWNrKHJlc1swXSwgcmVzWzFdKTtcbiAgICAgIGlmIChpc0hvb2tPaykge1xuICAgICAgICB0aGlzLmFkZFJlY2lwZUFjdGlvbk9LKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFkZFJlY2lwZUFjdGlvbktPKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBhZGRSZWNpcGVBY3Rpb25PSygpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLnJlY2lwZUlzSW5MaXN0KHRoaXMucmVjaXBlLmlkKS5zdWJzY3JpYmUocmVjaXBlSXNJbkxpc3QgPT4ge1xuICAgICAgICBpZiAoIXJlY2lwZUlzSW5MaXN0KXtcbiAgICAgICAgICB0aGlzLnJlY2lwZUV2ZW50c1NlcnZpY2Uuc2VuZEV2ZW50KHRoaXMucmVjaXBlLCB0aGlzLnJlY2lwZUV2ZW50c1NlcnZpY2UuQUNUSU9OX0FEREVEKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICB0aGlzLmdyb2Nlcmllc0xpc3RzU2VydmljZS5hcHBlbmRSZWNpcGVUb0xpc3QodGhpcy5yZWNpcGUuaWQsIHRoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzLCAnZGV0YWlscycpXG4gICAgICAuc3Vic2NyaWJlKGwgPT4ge1xuICAgICAgICB0aGlzLnRvZ2dsZUJ1dHRvbkxvYWRlcihmYWxzZSk7XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5yZWNpcGVBZGRlZC5lbWl0KCk7XG4gIH1cblxuICBhZGRSZWNpcGVBY3Rpb25LTygpOiB2b2lkIHtcbiAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdfbWlhbS9jYWNoZWQtcmVjaXBlJywgSlNPTi5zdHJpbmdpZnkodGhpcy5yZWNpcGUpKTtcbiAgICB0aGlzLnJlY2lwZUVycm9yLmVtaXQoKTtcbiAgfVxuXG4gIHByaW50KCkge1xuICAgIHdpbmRvdy5wcmludCgpO1xuICB9XG5cbiAgdG9nZ2xlQWRkb24oKXtcbiAgICB0aGlzLnNob3dEZXRhaWwgPSAgIXRoaXMuc2hvd0RldGFpbDtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICB0b2dnbGVIZWxwZXIoKSB7XG4gICAgdGhpcy5yZWNpcGVTZXJ2aWNlLnRvZ2dsZUhlbHBlcigpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHRvZ2dsZUJ1dHRvbkxvYWRlcih2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuYWRkQnV0dG9uTG9hZGluZyA9IHZhbHVlO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cInNob3dEZXRhaWwgZWxzZSBhZGRvblwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc1wiICNtYWluQ29udGFpbmVyID5cbiAgPCEtLSBIRUFERVIgLS0+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19oZWFkZXJcIj5cbiAgICA8IS0tIEJPT0tNQVJLIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19ib29rbWFya1wiPlxuICAgICAgPGltZyAqbmdJZj1cIiFpc01vYmlsZSBlbHNlIHN0YW1wXCIgc3JjPVwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Fzc2V0cy5taWFtLnRlY2gvZ2VuZXJpYy9yZWNpcGUtZGV0YWlscy9yZWNpcGUtZGV0YWlscy1ib29rbWFyay5zdmdcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjc3RhbXA+XG4gICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Fzc2V0cy5taWFtLnRlY2gvZ2VuZXJpYy9yZWNpcGUtZGV0YWlscy9yZWNpcGUtZGV0YWlscy1zdGFtcC5zdmdcIj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBUSVRMRSAtIERFU0tUT1AgLS0+XG4gICAgPHNwYW4gKm5nSWY9XCIhaXNNb2JpbGUgfHwgdGl0bGVJbkhlYWRlclwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fdGl0bGVcIj5cbiAgICAgIHt7cmVjaXBlPy5hdHRyaWJ1dGVzWyd0aXRsZSddfX1cbiAgICA8L3NwYW4+XG4gICAgPCEtLSBIRUFERVIgTElOSyAtLT5cbiAgICA8YSBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2hlYWRlcl9fbGlua1wiIFtocmVmXT1cImNvbnRleHRTZXJ2aWNlLm1pYW0ucm91dGVyLmNhdGFsb2dcIj5cbiAgICAgIFZvaXIgcGx1cyBkJ2lkw6llcyByZXBhc1xuICAgIDwvYT5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2NvbnRhaW5lclwiPlxuICAgIDwhLS0gTEVGVCBQQVJUIChUT1AgUEFSVCBPTiBNT0JJTEUpIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19zdW1tYXJ5XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fc3VtbWFyeV9fY29udGFpbmVyXCI+XG4gICAgICAgIDwhLS0gU1BPTlNPUiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3Nwb25zb3JcIj5cbiAgICAgICAgICA8bmctbWlhbS1hZGRvbi1saW5rICpuZ0lmPVwicmVjaXBlPy5zcG9uc29ycz8ubGVuZ3RoID4gMCB8fCByZWNpcGUuaW5mb3JtYXRpb25hbFNlbnRlbmNlXCJcbiAgICAgICAgICAgIFtyZWNpcGVdPSdyZWNpcGUnIChzaG93QWRkb24pPSd0b2dnbGVBZGRvbigpJz48L25nLW1pYW0tYWRkb24tbGluaz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0gUElDVFVSRSAvIFZJREVPIC0tPlxuICAgICAgICA8ZGl2ICN0b3BDb250YWluZXJJbWcgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19waWN0dXJlXCI+XG4gICAgICAgICAgPGltZ1xuICAgICAgICAgICAgKm5nSWY9XCIhc2hvd1ZpZGVvXCJcbiAgICAgICAgICAgIFtzcmNdPVwicmVjaXBlPy5hdHRyaWJ1dGVzWydtZWRpYS11cmwnXVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdzcG9uc29yJzogcmVjaXBlPy5zcG9uc29ycz8ubGVuZ3RoID4gMCwgJ3RhZ3MnOiBkaXNwbGF5VGFncyAmJiByZWNpcGUucmVsYXRpb25zaGlwcy50YWdzLmRhdGEubGVuZ3RoID4gMCB9XCI+XG4gICAgICAgICAgPHlvdXR1YmUtcGxheWVyXG4gICAgICAgICAgICAqbmdJZj1cInNob3dWaWRlbyAmJiBwbGF5ZXJXaWR0aFwiXG4gICAgICAgICAgICBbdmlkZW9JZF09XCJyZWNpcGUudmlkZW9JZFwiXG4gICAgICAgICAgICBbd2lkdGhdPVwicGxheWVyV2lkdGhcIlxuICAgICAgICAgICAgW2hlaWdodF09XCJwbGF5ZXJIZWlnaHRcIlxuICAgICAgICAgID48L3lvdXR1YmUtcGxheWVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSBBQ1RJT05TIElDT05TIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYWN0aW9uYmFyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2FjdGlvbmJhcl9fZ3JvdXBcIj5cbiAgICAgICAgICAgIDxuZy1taWFtLWxpa2UtYnV0dG9uICpuZ0lmPVwidXNlclNlcnZpY2UuaXNMb2dnZWQkIHwgYXN5bmNcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2FjdGlvbnNfX2ljb25cIlxuICAgICAgICAgICAgICBbcmVjaXBlXT0ncmVjaXBlJyBbd2lkdGhdPVwiMjRcIiBbaGVpZ2h0XT1cIjI0XCI+XG4gICAgICAgICAgICA8L25nLW1pYW0tbGlrZS1idXR0b24+XG4gICAgICAgICAgICA8bmctbWlhbS1pY29uIChjbGljayk9XCJwcmludCgpXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19hY3Rpb25zX19pY29uXCIgW3dpZHRoXT1cIjI0XCIgW2hlaWdodF09XCIyNFwiXG4gICAgICAgICAgICAgIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1wcmltYXJ5KScgW2ljb25OYW1lXT1cImljb24uUHJpbnRcIj5cbiAgICAgICAgICAgIDwvbmctbWlhbS1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19hY3Rpb25iYXJfX2dyb3VwXCI+XG4gICAgICAgICAgICA8bmctbWlhbS1pY29uIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYWN0aW9uc19faWNvblwiIChjbGljayk9XCJ0b2dnbGVIZWxwZXIoKVwiIFt3aWR0aF09XCI0MFwiIFtoZWlnaHRdPVwiNDBcIlxuICAgICAgICAgICAgICBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3ItZ3JleTAyKScgc2Vjb25kYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3ItZ3JleTA3KScgW2ljb25OYW1lXT1cImljb24uSGVscFwiPlxuICAgICAgICAgICAgPC9uZy1taWFtLWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIFRJTUVTLCBESUZGSUNVTFRZICYgVEFHUyAtIERFU0tUT1AgLS0+XG4gICAgICAgIDxuZy1taWFtLXJlY2lwZS1kZXRhaWxzLWluZm9zXG4gICAgICAgICAgKm5nSWY9XCIhaXNNb2JpbGVcIiBbcmVjaXBlXT1cInJlY2lwZVwiIFtkaXNwbGF5VGFnc109XCJkaXNwbGF5VGFnc1wiIFtkaXNwbGF5VGFnc0ljb25zXT1cImRpc3BsYXlUYWdzSWNvbnNcIj5cbiAgICAgICAgPC9uZy1taWFtLXJlY2lwZS1kZXRhaWxzLWluZm9zPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIFJJR0hUIFBBUlQgKEJPVFRPTSBQQVJUIE9OIE1PQklMRSkgLS0+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2NvbnRlbnRcIiBpZD1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2NvbnRlbnRcIj5cbiAgICAgIDwhLS0gVElUTEUgLSBNT0JJTEUgLS0+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNNb2JpbGVcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3RpdGxlXCIgaWQ9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX190aXRsZVwiPlxuICAgICAgICAgIHt7cmVjaXBlPy5hdHRyaWJ1dGVzWyd0aXRsZSddfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gREVTQ1JJUFRJT04gLS0+XG4gICAgICA8ZGl2ICpuZ0lmPVwicmVjaXBlPy5hdHRyaWJ1dGVzLmRlc2NyaXB0aW9uXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19jb250ZW50X19kZXNjcmlwdGlvblwiPlxuICAgICAgICB7eyByZWNpcGU/LmF0dHJpYnV0ZXMuZGVzY3JpcHRpb24gfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBUSU1FUywgRElGRklDVUxUWSAmIFRBR1MgLSBNT0JJTEUgLS0+XG4gICAgICA8bmctbWlhbS1yZWNpcGUtZGV0YWlscy1pbmZvc1xuICAgICAgICAqbmdJZj1cImlzTW9iaWxlXCIgW3JlY2lwZV09XCJyZWNpcGVcIiBbZGlzcGxheVRhZ3NdPVwiZGlzcGxheVRhZ3NcIiBbZGlzcGxheVRhZ3NJY29uc109XCJkaXNwbGF5VGFnc0ljb25zXCI+XG4gICAgICA8L25nLW1pYW0tcmVjaXBlLWRldGFpbHMtaW5mb3M+XG4gICAgICA8IS0tIElOR1JFRElFTlRTIC0tPlxuICAgICAgPG5nLW1pYW0tcmVjaXBlLWRldGFpbHMtaW5ncmVkaWVudHMgW3JlY2lwZV09XCJyZWNpcGVcIiBbaW5ncmVkaWVudHNQaWN0dXJlc109XCJpbmdyZWRpZW50c1BpY3R1cmVzXCIgKHJlY2lwZUNoYW5nZWQpPVwicmVjaXBlQ2hhbmdlZC5lbWl0KClcIj48L25nLW1pYW0tcmVjaXBlLWRldGFpbHMtaW5ncmVkaWVudHM+XG4gICAgICA8IS0tIFNURVBTIC0tPlxuICAgICAgPG5nLW1pYW0tcmVjaXBlLWRldGFpbHMtc3RlcHMgW3JlY2lwZV09XCJyZWNpcGVcIj48L25nLW1pYW0tcmVjaXBlLWRldGFpbHMtc3RlcHM+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIFBSSUNFICYgUFJJTUFSWSBDVEEgLS0+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2FjdGlvbl9fY29udGFpbmVyXCI+XG4gICAgICA8IS0tIFBSSUNFIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3ByaWNlXCI+XG4gICAgICAgIDxuZy1taWFtLXJlY2lwZS1wcmljaW5nXG4gICAgICAgICAgKm5nSWY9XCJyZWNpcGUgJiYgZGlzcGxheVByaWNpbmdcIiBbcmVjaXBlXT1cInJlY2lwZVwiIFtzZXJ2ZXNdPVwicmVjaXBlPy5tb2RpZmllZEd1ZXN0c1wiIGd1ZXN0c1RleHQ9XCJwYXIgcGVyc29ubmVcIj5cbiAgICAgICAgPC9uZy1taWFtLXJlY2lwZS1wcmljaW5nPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIFBSSU1BUlkgQ1RBIC0tPlxuICAgICAgPGRpdiAqbmdJZj1cInByZXZpZXdBbGxvd2VkXCIgIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYWRkYmFza2V0XCIgKGNsaWNrKT1cImNsaWNrUHJpbWFyeSgpXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnaW4tYmFza2V0JzogKGdyb2Nlcmllc0xpc3RzU2VydmljZS5yZWNpcGVJc0luTGlzdChyZWNpcGU/LmlkKSB8IGFzeW5jKSwgJ2xvYWRpbmcnOiBhZGRCdXR0b25Mb2FkaW5nfVwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWFkZEJ1dHRvbkxvYWRpbmcgZWxzZSBhZGRMb2FkZXJcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2FkZGJhc2tldF9fY3RhXCI+XG4gICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICB7eyhncm9jZXJpZXNMaXN0c1NlcnZpY2UucmVjaXBlSXNJbkxpc3QocmVjaXBlPy5pZCkgfCBhc3luYykgPyAnVm9pciBsZXMgcHJvZHVpdHMnIDogJ0Fqb3V0ZXIgbGVzIGluZ3LDqWRpZW50cyd9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8bmctbWlhbS1pY29uXG4gICAgICAgICAgICAqbmdJZj1cIiEoZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLnJlY2lwZUlzSW5MaXN0KHJlY2lwZT8uaWQpIHwgYXN5bmMpXCIgW3dpZHRoXT1cIjI0XCIgW2hlaWdodF09XCIyNFwiIHByaW1hcnlDb2xvcj0nI2ZmZidcbiAgICAgICAgICAgIFtpY29uTmFtZV09XCJpY29uLkNhcnRcIj5cbiAgICAgICAgICA8L25nLW1pYW0taWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjYWRkTG9hZGVyPlxuICAgICAgICAgIDxuZy1taWFtLWxvYWRlcj48L25nLW1pYW0tbG9hZGVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG48IS0tIEFERE9OIC0tPlxuPG5nLXRlbXBsYXRlICNhZGRvbj5cbiAgPG5nLW1pYW0tcmVjaXBlLWFkZG9uIFtyZWNpcGVdPSdyZWNpcGUnIChoaWRlQWRkb24pPVwidG9nZ2xlQWRkb24oKVwiPjwvbmctbWlhbS1yZWNpcGUtYWRkb24+XG48L25nLXRlbXBsYXRlPiJdfQ==
425
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fd2ViLWNvbXBvbmVudHMvcmVjaXBlLWRldGFpbHMvcmVjaXBlLWRldGFpbHMuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtZGV0YWlscy9yZWNpcGUtZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsS0FBSyxFQUNMLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sWUFBWSxFQUdaLFNBQVMsRUFDVCxVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvSSxPQUFPLEVBQUUsUUFBUSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztJQ2I3QywwQkFDQTs7O0lBQ0UsMEJBQ0Y7OztJQUdGLGdDQUNFO0lBQUEsWUFDRjtJQUFBLGlCQUFPOzs7SUFETCxlQUNGO0lBREUsaUdBQ0Y7Ozs7SUFhTSw4Q0FDcUU7SUFBakQseU9BQTJCO0lBQUMsaUJBQXFCOzs7SUFBbkUsc0NBQWlCOzs7O0lBSW5CLDBCQUlBOzs7SUFGRSw4R0FB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RDJCckIsc0JBQXNCO2NBUGxDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxXQUFXLEVBQUUsaUNBQWlDO2dCQUM5QyxTQUFTLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztnQkFDOUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEOzJSQUVVLE1BQU07a0JBQWQsS0FBSztZQUNHLGNBQWM7a0JBQXRCLEtBQUs7WUFDRyxtQkFBbUI7a0JBQTNCLEtBQUs7WUFDRyxnQkFBZ0I7a0JBQXhCLEtBQUs7WUFDRyxnQkFBZ0I7a0JBQXhCLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0cscUJBQXFCO2tCQUE3QixLQUFLO1lBQ0ksV0FBVztrQkFBcEIsTUFBTTtZQUNHLGFBQWE7a0JBQXRCLE1BQU07WUFDRyxXQUFXO2tCQUFwQixNQUFNO1lBR3VCLGVBQWU7a0JBQTVDLFNBQVM7bUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIElucHV0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIE9uQ2hhbmdlcyxcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgVmlld0NoaWxkLFxuICBFbGVtZW50UmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVjaXBlIH0gZnJvbSAnLi4vLi4vX21vZGVscy9yZWNpcGUnO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4uLy4uL190eXBlcy9pY29uLmVudW0nO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UsIEdyb2Nlcmllc0xpc3RzU2VydmljZSwgUG9pbnRPZlNhbGVzU2VydmljZSwgUmVjaXBlRXZlbnRzU2VydmljZSwgUmVjaXBlc1NlcnZpY2UsIFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzJztcbmltcG9ydCB7IGZvcmtKb2luLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNZWRpYU1hdGNoZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmctbWlhbS1yZWNpcGUtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWNpcGUtZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlY2lwZS1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFJlY2lwZURldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0NoZWNrZWQge1xuICBASW5wdXQoKSByZWNpcGU6IFJlY2lwZTtcbiAgQElucHV0KCkgcHJldmlld0FsbG93ZWQgPSB0cnVlO1xuICBASW5wdXQoKSBpbmdyZWRpZW50c1BpY3R1cmVzID0gZmFsc2U7XG4gIEBJbnB1dCgpIGZvcmNlRGlzcGxheVRhZ3M7IC8vIE92ZXJyaWRlIGdsb2JhbCBzZXR0aW5nIGlmIG5lY2VzYXJ5XG4gIEBJbnB1dCgpIGRpc3BsYXlUYWdzSWNvbnMgPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzcGxheVByaWNpbmcgPSB0cnVlO1xuICBASW5wdXQoKSBkaXNwbGF5QWRkZWRPblBpY3R1cmUgPSB0cnVlO1xuICBAT3V0cHV0KCkgcmVjaXBlQWRkZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHJlY2lwZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHJlY2lwZUVycm9yOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHByaW1hcnlCdXR0b25DbGlja2VkJCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBAVmlld0NoaWxkKCd0b3BDb250YWluZXJJbWcnKSB0b3BDb250YWluZXJJbWc6IEVsZW1lbnRSZWY7XG5cbiAgdGFiID0gMDtcbiAgaXNNb2JpbGUgPSBmYWxzZTtcbiAgZGlzcGxheVRhZ3MgPSBmYWxzZTtcbiAgc2hvd0RldGFpbCA9IHRydWU7XG4gIGljb24gPSBJY29uO1xuICBwbGF5ZXJXaWR0aDtcbiAgcGxheWVySGVpZ2h0O1xuICBzaG93VmlkZW87XG4gIGFkZEJ1dHRvbkxvYWRpbmcgPSBmYWxzZTtcbiAgdGl0bGVJbkhlYWRlciA9IGZhbHNlO1xuICB0aXRsZTogSFRNTEVsZW1lbnQ7XG4gIGNvbnRlbnQ6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIGludGVyc2VjdGlvbk9ic2VydmVyOiBJbnRlcnNlY3Rpb25PYnNlcnZlcjtcbiAgcHJvdGVjdGVkIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyByZWNpcGVTZXJ2aWNlOiBSZWNpcGVzU2VydmljZSxcbiAgICBwdWJsaWMgZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlOiBHcm9jZXJpZXNMaXN0c1NlcnZpY2UsXG4gICAgcHVibGljIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcG9zU2VydmljZTogUG9pbnRPZlNhbGVzU2VydmljZSxcbiAgICBwcml2YXRlIHJlY2lwZUV2ZW50c1NlcnZpY2U6IFJlY2lwZUV2ZW50c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZWRpYU1hdGNoZXI6IE1lZGlhTWF0Y2hlcixcbiAgICBwdWJsaWMgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zID0gW107XG4gICAgdGhpcy5pc01vYmlsZSA9IHRoaXMubWVkaWFNYXRjaGVyLm1hdGNoTWVkaWEoJyhtYXgtd2lkdGg6IDEwMjNweCknKS5tYXRjaGVzO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9yY2VEaXNwbGF5VGFncyAhPT0gdW5kZWZpbmVkICYmIHRoaXMuZm9yY2VEaXNwbGF5VGFncyAhPT0gdGhpcy5kaXNwbGF5VGFncykge1xuICAgICAgdGhpcy5kaXNwbGF5VGFncyA9IHRoaXMuZm9yY2VEaXNwbGF5VGFncztcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmRpc3BsYXlUYWdzID0gdGhpcy5jb250ZXh0U2VydmljZS50YWdzT25SZWNpcGVzRW5hYmxlZDtcbiAgICB9XG4gICAgdGhpcy5zaG93VmlkZW8gPSBmYWxzZTsgLy8gZm9yY2UgcmVsb2FkIHZpZGVvIHBsYXllclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLnNob3dWaWRlbyA9IHRoaXMuY29udGV4dFNlcnZpY2UudmlkZW9SZWNpcGVzRW5hYmxlZCAmJiB0aGlzLnJlY2lwZT8udmlkZW9JZDtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICB0aGlzLnBsYXllcldpZHRoID0gTWF0aC5taW4oNjQwLCB0aGlzLnRvcENvbnRhaW5lckltZz8ubmF0aXZlRWxlbWVudD8ub2Zmc2V0V2lkdGgpO1xuICAgIHRoaXMucGxheWVySGVpZ2h0ID0gdGhpcy5wbGF5ZXJXaWR0aCAqIDM5MCAvIDY0MDtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmluaXRTY3JvbGxMaXN0ZW5lck9uVGl0bGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0IHRoZSBsaXN0ZW5lciBvbiBzY3JvbGwgc28gdGhlIG1vZGFsIGNhbiBoaWRlIHRoZSBjbG9zZSBpY29uXG4gICAqL1xuICBpbml0U2Nyb2xsTGlzdGVuZXJPblRpdGxlKCkge1xuICAgIGlmICghdGhpcy50aXRsZSkge1xuICAgICAgdGhpcy50aXRsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtaWFtLXJlY2lwZS1kZXRhaWxzX190aXRsZScpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuY29udGVudCkge1xuICAgICAgdGhpcy5jb250ZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21pYW0tcmVjaXBlLWRldGFpbHNfX2NvbnRlbnQnKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNNb2JpbGUgJiYgIXRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXIgJiYgdGhpcy5jb250ZW50ICYmIHRoaXMudGl0bGUpIHtcbiAgICAgIC8vIEZvciBtb3JlIHByZWNpc2lvbiBvbiB0aXRsZSBzY3JvbGwgZGV0ZWN0aW9uLCB3ZSB3YW50IHRvIHRyaWdnZXIgYW4gZXZlbnQgZWFjaCB0aW1lIHRoZSB1c2VyIHNjcm9sbHMgNSUgb2YgdGhlIGNvbnRlbnRcbiAgICAgIGNvbnN0IHRocmVzaG9sZCA9IFsuLi5BcnJheSgyMCkua2V5cygpXS5tYXAoeCA9PiB4IC8gMjApXG4gICAgICAvLyBSZWNlaXZlIGFuIGV2ZW50IGVhY2ggdGltZSB0aGUgdGl0bGUgZW50ZXJzL2xlYXZlcyB0aGUgdmlld3BvcnRcbiAgICAgIHRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKFtlbnRyeV0pID0+IHsgdGhpcy50b2dnbGVUaXRsZUluSGVhZGVyKCk7IH0sXG4gICAgICB7IHRocmVzaG9sZCB9KTtcbiAgICAgIHRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmNvbnRlbnQpO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZVRpdGxlSW5IZWFkZXIoKSB7XG4gICAgdGhpcy50aXRsZUluSGVhZGVyID0gdGhpcy50aXRsZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgPD0gNDA7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCByZWNpcGUgdG8gbGlzdCBvbiBwcmltYXJ5IGJ1dHRvbiBjbGljayBhbmQgZW1pdCB0cnVlIGlmIHRoZSByZWNpcGUgaXMgYWRkZWQsIGZhbHNlIGlmIHJlY2lwZSBpcyBub3QgYWRkZWRcbiAgICogc28gbGliIHVzZXJzIGNhbiBkZWNpZGUgdGhhdCBwcmltYXJ5QnV0dG9uQ2xpY2tlZCQuZW1pdChmYWxzZSkgcmVtb3ZlcyB0aGUgcmVjaXBlIGZvciBleGFtcGxlXG4gICAqL1xuICBjbGlja1ByaW1hcnkoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmFkZEJ1dHRvbkxvYWRpbmcpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgICB0aGlzLmdyb2Nlcmllc0xpc3RzU2VydmljZS5yZWNpcGVJc0luTGlzdCh0aGlzLnJlY2lwZS5pZCkuc3Vic2NyaWJlKHJlY2lwZUlzSW5MaXN0ID0+IHtcbiAgICAgICAgICB0aGlzLmFkZFJlY2lwZSgpO1xuICAgICAgICAgIHRoaXMucHJpbWFyeUJ1dHRvbkNsaWNrZWQkLmVtaXQoIXJlY2lwZUlzSW5MaXN0KTsgLy8gIXJlY2lwZUlzSW5MaXN0ID0gYWRkIGFjdGlvbiwgc28gd2UgZW1pdCB0cnVlXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGFkZFJlY2lwZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZUJ1dHRvbkxvYWRlcih0cnVlKTtcbiAgICBmb3JrSm9pbihbXG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLmlzTG9nZ2VkJC5hc09ic2VydmFibGUoKS5waXBlKHRha2UoMSkpLFxuICAgICAgdGhpcy5wb3NTZXJ2aWNlLmlzUG9zVmFsaWQoKS5waXBlKHRha2UoMSkpXG4gICAgXSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICBjb25zdCBpc0hvb2tPayA9IHRoaXMuY29udGV4dFNlcnZpY2UuaG9va0NhbGxiYWNrKHJlc1swXSwgcmVzWzFdKTtcbiAgICAgIGlmIChpc0hvb2tPaykge1xuICAgICAgICB0aGlzLmFkZFJlY2lwZUFjdGlvbk9LKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFkZFJlY2lwZUFjdGlvbktPKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBhZGRSZWNpcGVBY3Rpb25PSygpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLnJlY2lwZUlzSW5MaXN0KHRoaXMucmVjaXBlLmlkKS5zdWJzY3JpYmUocmVjaXBlSXNJbkxpc3QgPT4ge1xuICAgICAgICBpZiAoIXJlY2lwZUlzSW5MaXN0KXtcbiAgICAgICAgICB0aGlzLnJlY2lwZUV2ZW50c1NlcnZpY2Uuc2VuZEV2ZW50KHRoaXMucmVjaXBlLCB0aGlzLnJlY2lwZUV2ZW50c1NlcnZpY2UuQUNUSU9OX0FEREVEKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICB0aGlzLmdyb2Nlcmllc0xpc3RzU2VydmljZS5hcHBlbmRSZWNpcGVUb0xpc3QodGhpcy5yZWNpcGUuaWQsIHRoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzLCAnZGV0YWlscycpXG4gICAgICAuc3Vic2NyaWJlKGwgPT4ge1xuICAgICAgICB0aGlzLnRvZ2dsZUJ1dHRvbkxvYWRlcihmYWxzZSk7XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5yZWNpcGVBZGRlZC5lbWl0KCk7XG4gIH1cblxuICBhZGRSZWNpcGVBY3Rpb25LTygpOiB2b2lkIHtcbiAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdfbWlhbS9jYWNoZWQtcmVjaXBlJywgSlNPTi5zdHJpbmdpZnkodGhpcy5yZWNpcGUpKTtcbiAgICB0aGlzLnJlY2lwZUVycm9yLmVtaXQoKTtcbiAgfVxuXG4gIHByaW50KCkge1xuICAgIHdpbmRvdy5wcmludCgpO1xuICB9XG5cbiAgdG9nZ2xlQWRkb24oKXtcbiAgICB0aGlzLnNob3dEZXRhaWwgPSAgIXRoaXMuc2hvd0RldGFpbDtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICB0b2dnbGVIZWxwZXIoKSB7XG4gICAgdGhpcy5yZWNpcGVTZXJ2aWNlLnRvZ2dsZUhlbHBlcigpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHRvZ2dsZUJ1dHRvbkxvYWRlcih2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuYWRkQnV0dG9uTG9hZGluZyA9IHZhbHVlO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cInNob3dEZXRhaWwgZWxzZSBhZGRvblwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc1wiICNtYWluQ29udGFpbmVyID5cbiAgPCEtLSBIRUFERVIgLS0+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19oZWFkZXJcIj5cbiAgICA8IS0tIEJPT0tNQVJLIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19ib29rbWFya1wiPlxuICAgICAgPGltZyAqbmdJZj1cIiFpc01vYmlsZSBlbHNlIHN0YW1wXCIgc3JjPVwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Fzc2V0cy5taWFtLnRlY2gvZ2VuZXJpYy9yZWNpcGUtZGV0YWlscy9yZWNpcGUtZGV0YWlscy1ib29rbWFyay5zdmdcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjc3RhbXA+XG4gICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Fzc2V0cy5taWFtLnRlY2gvZ2VuZXJpYy9yZWNpcGUtZGV0YWlscy9yZWNpcGUtZGV0YWlscy1zdGFtcC5zdmdcIj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBUSVRMRSAtIERFU0tUT1AgLS0+XG4gICAgPHNwYW4gKm5nSWY9XCIhaXNNb2JpbGUgfHwgdGl0bGVJbkhlYWRlclwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fdGl0bGVcIj5cbiAgICAgIHt7cmVjaXBlPy5hdHRyaWJ1dGVzWyd0aXRsZSddfX1cbiAgICA8L3NwYW4+XG4gICAgPCEtLSBIRUFERVIgTElOSyAtLT5cbiAgICA8YSBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2hlYWRlcl9fbGlua1wiIFtocmVmXT1cImNvbnRleHRTZXJ2aWNlLm1pYW0ucm91dGVyLmNhdGFsb2dcIj5cbiAgICAgIFZvaXIgcGx1cyBkJ2lkw6llcyByZXBhc1xuICAgIDwvYT5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2NvbnRhaW5lclwiPlxuICAgIDwhLS0gTEVGVCBQQVJUIChUT1AgUEFSVCBPTiBNT0JJTEUpIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19zdW1tYXJ5XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fc3VtbWFyeV9fY29udGFpbmVyXCI+XG4gICAgICAgIDwhLS0gU1BPTlNPUiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3Nwb25zb3JcIj5cbiAgICAgICAgICA8bmctbWlhbS1hZGRvbi1saW5rICpuZ0lmPVwicmVjaXBlPy5zcG9uc29ycz8ubGVuZ3RoID4gMCB8fCByZWNpcGUuaW5mb3JtYXRpb25hbFNlbnRlbmNlXCJcbiAgICAgICAgICAgIFtyZWNpcGVdPSdyZWNpcGUnIChzaG93QWRkb24pPSd0b2dnbGVBZGRvbigpJz48L25nLW1pYW0tYWRkb24tbGluaz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0gUElDVFVSRSAvIFZJREVPIC0tPlxuICAgICAgICA8ZGl2ICN0b3BDb250YWluZXJJbWcgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19waWN0dXJlXCI+XG4gICAgICAgICAgPGltZ1xuICAgICAgICAgICAgKm5nSWY9XCIhc2hvd1ZpZGVvXCJcbiAgICAgICAgICAgIFtzcmNdPVwicmVjaXBlPy5hdHRyaWJ1dGVzWydtZWRpYS11cmwnXVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdzcG9uc29yJzogcmVjaXBlPy5zcG9uc29ycz8ubGVuZ3RoID4gMCwgJ3RhZ3MnOiBkaXNwbGF5VGFncyAmJiByZWNpcGUucmVsYXRpb25zaGlwcy50YWdzLmRhdGEubGVuZ3RoID4gMCB9XCI+XG4gICAgICAgICAgPHlvdXR1YmUtcGxheWVyXG4gICAgICAgICAgICAqbmdJZj1cInNob3dWaWRlbyAmJiBwbGF5ZXJXaWR0aFwiXG4gICAgICAgICAgICBbdmlkZW9JZF09XCJyZWNpcGUudmlkZW9JZFwiXG4gICAgICAgICAgICBbd2lkdGhdPVwicGxheWVyV2lkdGhcIlxuICAgICAgICAgICAgW2hlaWdodF09XCJwbGF5ZXJIZWlnaHRcIlxuICAgICAgICAgID48L3lvdXR1YmUtcGxheWVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSBBQ1RJT05TIElDT05TIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYWN0aW9uYmFyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2FjdGlvbmJhcl9fZ3JvdXBcIj5cbiAgICAgICAgICAgIDxuZy1taWFtLWxpa2UtYnV0dG9uICpuZ0lmPVwidXNlclNlcnZpY2UuaXNMb2dnZWQkIHwgYXN5bmNcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2FjdGlvbnNfX2ljb24gbGlrZVwiXG4gICAgICAgICAgICAgIFtyZWNpcGVdPSdyZWNpcGUnIFt3aWR0aF09XCIyNFwiIFtoZWlnaHRdPVwiMjRcIj5cbiAgICAgICAgICAgIDwvbmctbWlhbS1saWtlLWJ1dHRvbj5cbiAgICAgICAgICAgIDxuZy1taWFtLWljb24gKGNsaWNrKT1cInByaW50KClcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2FjdGlvbnNfX2ljb24gcHJpbnRcIiBbd2lkdGhdPVwiMjRcIiBbaGVpZ2h0XT1cIjI0XCJcbiAgICAgICAgICAgICAgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLXByaW1hcnkpJyBbaWNvbk5hbWVdPVwiaWNvbi5QcmludFwiPlxuICAgICAgICAgICAgPC9uZy1taWFtLWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2FjdGlvbmJhcl9fZ3JvdXBcIj5cbiAgICAgICAgICAgIDxuZy1taWFtLWljb24gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19hY3Rpb25zX19pY29uIGhlbHBcIiAoY2xpY2spPVwidG9nZ2xlSGVscGVyKClcIiBbd2lkdGhdPVwiNDBcIiBbaGVpZ2h0XT1cIjQwXCJcbiAgICAgICAgICAgICAgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLWdyZXkwMiknIHNlY29uZGFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLWdyZXkwNyknIFtpY29uTmFtZV09XCJpY29uLkhlbHBcIj5cbiAgICAgICAgICAgIDwvbmctbWlhbS1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSBUSU1FUywgRElGRklDVUxUWSAmIFRBR1MgLSBERVNLVE9QIC0tPlxuICAgICAgICA8bmctbWlhbS1yZWNpcGUtZGV0YWlscy1pbmZvc1xuICAgICAgICAgICpuZ0lmPVwiIWlzTW9iaWxlXCIgW3JlY2lwZV09XCJyZWNpcGVcIiBbZGlzcGxheVRhZ3NdPVwiZGlzcGxheVRhZ3NcIiBbZGlzcGxheVRhZ3NJY29uc109XCJkaXNwbGF5VGFnc0ljb25zXCI+XG4gICAgICAgIDwvbmctbWlhbS1yZWNpcGUtZGV0YWlscy1pbmZvcz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBSSUdIVCBQQVJUIChCT1RUT00gUEFSVCBPTiBNT0JJTEUpIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19jb250ZW50XCIgaWQ9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19jb250ZW50XCI+XG4gICAgICA8IS0tIFRJVExFIC0gTU9CSUxFIC0tPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImlzTW9iaWxlXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX190aXRsZVwiIGlkPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fdGl0bGVcIj5cbiAgICAgICAgICB7e3JlY2lwZT8uYXR0cmlidXRlc1sndGl0bGUnXX19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIERFU0NSSVBUSU9OIC0tPlxuICAgICAgPGRpdiAqbmdJZj1cInJlY2lwZT8uYXR0cmlidXRlcy5kZXNjcmlwdGlvblwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fY29udGVudF9fZGVzY3JpcHRpb25cIj5cbiAgICAgICAge3sgcmVjaXBlPy5hdHRyaWJ1dGVzLmRlc2NyaXB0aW9uIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gVElNRVMsIERJRkZJQ1VMVFkgJiBUQUdTIC0gTU9CSUxFIC0tPlxuICAgICAgPG5nLW1pYW0tcmVjaXBlLWRldGFpbHMtaW5mb3NcbiAgICAgICAgKm5nSWY9XCJpc01vYmlsZVwiIFtyZWNpcGVdPVwicmVjaXBlXCIgW2Rpc3BsYXlUYWdzXT1cImRpc3BsYXlUYWdzXCIgW2Rpc3BsYXlUYWdzSWNvbnNdPVwiZGlzcGxheVRhZ3NJY29uc1wiPlxuICAgICAgPC9uZy1taWFtLXJlY2lwZS1kZXRhaWxzLWluZm9zPlxuICAgICAgPCEtLSBJTkdSRURJRU5UUyAtLT5cbiAgICAgIDxuZy1taWFtLXJlY2lwZS1kZXRhaWxzLWluZ3JlZGllbnRzIFtyZWNpcGVdPVwicmVjaXBlXCIgW2luZ3JlZGllbnRzUGljdHVyZXNdPVwiaW5ncmVkaWVudHNQaWN0dXJlc1wiIChyZWNpcGVDaGFuZ2VkKT1cInJlY2lwZUNoYW5nZWQuZW1pdCgpXCI+PC9uZy1taWFtLXJlY2lwZS1kZXRhaWxzLWluZ3JlZGllbnRzPlxuICAgICAgPCEtLSBTVEVQUyAtLT5cbiAgICAgIDxuZy1taWFtLXJlY2lwZS1kZXRhaWxzLXN0ZXBzIFtyZWNpcGVdPVwicmVjaXBlXCI+PC9uZy1taWFtLXJlY2lwZS1kZXRhaWxzLXN0ZXBzPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBQUklDRSAmIFBSSU1BUlkgQ1RBIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19hY3Rpb25fX2NvbnRhaW5lclwiPlxuICAgICAgPCEtLSBQUklDRSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19wcmljZVwiPlxuICAgICAgICA8bmctbWlhbS1yZWNpcGUtcHJpY2luZ1xuICAgICAgICAgICpuZ0lmPVwicmVjaXBlICYmIGRpc3BsYXlQcmljaW5nXCIgW3JlY2lwZV09XCJyZWNpcGVcIiBbc2VydmVzXT1cInJlY2lwZT8ubW9kaWZpZWRHdWVzdHNcIiBndWVzdHNUZXh0PVwicGFyIHBlcnNvbm5lXCI+XG4gICAgICAgIDwvbmctbWlhbS1yZWNpcGUtcHJpY2luZz5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBQUklNQVJZIENUQSAtLT5cbiAgICAgIDxkaXYgKm5nSWY9XCJwcmV2aWV3QWxsb3dlZFwiICBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2FkZGJhc2tldFwiIChjbGljayk9XCJjbGlja1ByaW1hcnkoKVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ2luLWJhc2tldCc6IChncm9jZXJpZXNMaXN0c1NlcnZpY2UucmVjaXBlSXNJbkxpc3QocmVjaXBlPy5pZCkgfCBhc3luYyksICdsb2FkaW5nJzogYWRkQnV0dG9uTG9hZGluZ31cIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIiFhZGRCdXR0b25Mb2FkaW5nIGVsc2UgYWRkTG9hZGVyXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19hZGRiYXNrZXRfX2N0YVwiPlxuICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAge3soZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLnJlY2lwZUlzSW5MaXN0KHJlY2lwZT8uaWQpIHwgYXN5bmMpID8gJ1ZvaXIgbGVzIHByb2R1aXRzJyA6ICdBam91dGVyIGxlcyBpbmdyw6lkaWVudHMnfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPG5nLW1pYW0taWNvblxuICAgICAgICAgICAgKm5nSWY9XCIhKGdyb2Nlcmllc0xpc3RzU2VydmljZS5yZWNpcGVJc0luTGlzdChyZWNpcGU/LmlkKSB8IGFzeW5jKVwiIFt3aWR0aF09XCIyNFwiIFtoZWlnaHRdPVwiMjRcIiBwcmltYXJ5Q29sb3I9JyNmZmYnXG4gICAgICAgICAgICBbaWNvbk5hbWVdPVwiaWNvbi5DYXJ0XCI+XG4gICAgICAgICAgPC9uZy1taWFtLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctdGVtcGxhdGUgI2FkZExvYWRlcj5cbiAgICAgICAgICA8bmctbWlhbS1sb2FkZXI+PC9uZy1taWFtLWxvYWRlcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuPCEtLSBBRERPTiAtLT5cbjxuZy10ZW1wbGF0ZSAjYWRkb24+XG4gIDxuZy1taWFtLXJlY2lwZS1hZGRvbiBbcmVjaXBlXT0ncmVjaXBlJyAoaGlkZUFkZG9uKT1cInRvZ2dsZUFkZG9uKClcIj48L25nLW1pYW0tcmVjaXBlLWFkZG9uPlxuPC9uZy10ZW1wbGF0ZT4iXX0=