@colijnit/transaction 12.1.181 → 12.1.183

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 (44) hide show
  1. package/bundles/colijnit-transaction.umd.js +58 -29
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.metadata.json +1 -1
  4. package/esm2015/lib/component/avatar/avatar.component.js +8 -6
  5. package/esm2015/lib/component/core/base/transaction-base.component.js +3 -1
  6. package/esm2015/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.js +2 -2
  7. package/esm2015/lib/component/shopping-cart-preview/shopping-cart-preview.component.js +16 -14
  8. package/esm2015/lib/component/transaction-grid/transaction-grid/transaction-grid.component.js +5 -5
  9. package/esm2015/lib/component/transaction-internal/transaction-internal.component.js +2 -2
  10. package/esm2015/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.js +3 -1
  11. package/esm2015/lib/component/transaction-line/transaction-line/transaction-line.component.js +3 -1
  12. package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.js +6 -3
  13. package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.js +7 -4
  14. package/esm2015/lib/component/transaction-line/transaction-purchase-order-line/transaction-purchase-order-line.component.js +3 -5
  15. package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.js +2 -4
  16. package/esm2015/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.js +4 -1
  17. package/esm2015/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.component.js +4 -1
  18. package/esm2015/lib/component/transaction-lines/transaction-lines.component.js +5 -3
  19. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.js +3 -3
  20. package/esm2015/lib/component/transaction-search/service/transaction-search.service.js +12 -2
  21. package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.component.js +1 -1
  22. package/esm2015/lib/model/transaction-settings-options.js +2 -1
  23. package/esm2015/lib/model/transaction-settings.js +2 -1
  24. package/esm2015/lib/res/dictionary/dictionaries.js +3 -3
  25. package/esm2015/lib/service/transaction-base.service.js +4 -1
  26. package/esm2015/lib/service/transaction-settings.service.js +2 -1
  27. package/esm2015/lib/transaction-version.js +3 -3
  28. package/esm2015/public_api.js +3 -1
  29. package/fesm2015/colijnit-transaction.js +76 -40
  30. package/fesm2015/colijnit-transaction.js.map +1 -1
  31. package/lib/component/core/base/transaction-base.component.d.ts +1 -0
  32. package/lib/component/transaction-grid/transaction-grid/transaction-grid.component.d.ts +6 -6
  33. package/lib/component/transaction-line/transaction-line/style/_layout.scss +19 -1
  34. package/lib/component/transaction-line/transaction-line/style/_material-definition.scss +6 -0
  35. package/lib/component/transaction-line/transaction-line/transaction-line.component.d.ts +1 -0
  36. package/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.d.ts +1 -0
  37. package/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.component.d.ts +1 -0
  38. package/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.d.ts +5 -5
  39. package/lib/model/transaction-settings-options.d.ts +1 -0
  40. package/lib/model/transaction-settings.d.ts +1 -0
  41. package/lib/res/dictionary/dictionaries.d.ts +6 -0
  42. package/lib/service/transaction-settings.service.d.ts +2 -1
  43. package/package.json +1 -1
  44. package/public_api.d.ts +2 -0
@@ -15,18 +15,21 @@ export class AvatarComponent {
15
15
  }
16
16
  set image(value) {
17
17
  this._image = value;
18
+ this._setImageForAvatar();
18
19
  }
19
20
  get image() {
20
21
  return this._image;
21
22
  }
22
23
  set relationId(value) {
23
24
  this._relationId = value;
25
+ this._setImageForAvatar();
24
26
  }
25
27
  get relationId() {
26
28
  return this._relationId;
27
29
  }
28
30
  set relation(value) {
29
31
  this._relation = value;
32
+ this._setImageForAvatar();
30
33
  }
31
34
  get relation() {
32
35
  return this._relation;
@@ -61,7 +64,7 @@ export class AvatarComponent {
61
64
  return __awaiter(this, void 0, void 0, function* () {
62
65
  if (this.relation) {
63
66
  if (this.relation.avatarImage && this.relation.avatarImage.documentId) {
64
- this.image = this.relation.avatarImage;
67
+ this._image = this.relation.avatarImage;
65
68
  if (!(yield this._getImageContent(this.image.documentId))) {
66
69
  this._setRelationInitials();
67
70
  }
@@ -75,9 +78,9 @@ export class AvatarComponent {
75
78
  request.relationId = this._relationId;
76
79
  this._relationService.getRelationListObjects(request).then((data) => __awaiter(this, void 0, void 0, function* () {
77
80
  if (data && data.length > 0) {
78
- this.relation = data[0];
81
+ this._relation = data[0];
79
82
  if (this.relation.avatarImage && this.relation.avatarImage.documentId) {
80
- this.image = this.relation.avatarImage;
83
+ this._image = this.relation.avatarImage;
81
84
  if (!(yield this._getImageContent(this.image.documentId))) {
82
85
  this._setRelationInitials();
83
86
  }
@@ -93,14 +96,13 @@ export class AvatarComponent {
93
96
  _setRelationInitials() {
94
97
  if (this.relation) {
95
98
  this.initials = this.relation.displayInitials;
96
- this._setBackgroundColor();
97
99
  }
98
100
  }
99
101
  _getImageContent(docId) {
100
102
  return __awaiter(this, void 0, void 0, function* () {
101
103
  const content = yield this._transactionConnectorService.getDocumentContent(docId);
102
104
  if (content) {
103
- this.image.thumbnailBody = content;
105
+ this._image.thumbnailBody = content;
104
106
  this.imageSrc = this.image.thumbnailBodyAsDataUri;
105
107
  this._changeDetector.detectChanges();
106
108
  return true;
@@ -147,4 +149,4 @@ AvatarComponent.propDecorators = {
147
149
  showClass: [{ type: HostBinding, args: ["class.co-avatar",] }],
148
150
  backgroundColor: [{ type: HostBinding, args: ["style.background-color",] }]
149
151
  };
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFHTCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ25GLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBR2xFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQWV4RixNQUFNLE9BQU8sZUFBZTtJQW9EMUIsWUFDVSxtQkFBdUMsRUFDdkMsNEJBQXlELEVBQ3pELHFCQUEyQyxFQUMzQyxnQkFBaUMsRUFDakMsZUFBa0M7UUFKbEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQUN2QyxpQ0FBNEIsR0FBNUIsNEJBQTRCLENBQTZCO1FBQ3pELDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBc0I7UUFDM0MscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyxvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7SUFFNUMsQ0FBQztJQTFERCxJQUNXLEtBQUssQ0FBQyxLQUFpQjtRQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUNXLFVB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LGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQXBCTyxrQkFBa0I7WUFNbEIsMkJBQTJCO1lBSjNCLG9CQUFvQjtZQUdwQixlQUFlO1lBYnJCLGlCQUFpQjs7O29CQThCaEIsS0FBSzt5QkFTTCxLQUFLO3VCQVNMLEtBQUs7d0JBU0wsV0FBVyxTQUFDLGlCQUFpQjs4QkFPN0IsV0FBVyxTQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtSZWxhdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1yZXF1ZXN0JztcclxuaW1wb3J0IHtDb2xvclNlcXVlbmNlU2VydmljZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7Q29Eb2N1bWVudH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnQnO1xyXG5pbXBvcnQge1JlbGF0aW9uTGlzdE9iamVjdH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLWxpc3Qtb2JqZWN0LmJvJztcclxuaW1wb3J0IHtSZWxhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvcmVsYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWNvbm5lY3Rvci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLWF2YXRhclwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28taW1hZ2UtZGlzcGxheSBbbW9kZWxdPVwiaW1hZ2VTcmNcIiAqbmdJZj1cImltYWdlU3JjOyBlbHNlIHNob3dJbml0aWFsc1wiPjwvY28taW1hZ2UtZGlzcGxheT5cclxuICAgIDxuZy10ZW1wbGF0ZSAjc2hvd0luaXRpYWxzPlxyXG4gICAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgMzAgMzBcIj5cclxuICAgICAgICA8dGV4dCB4PVwiNTAlXCIgeT1cIjUwJVwiIGRvbWluYW50LWJhc2VsaW5lPVwiY2VudHJhbFwiIHRleHQtYW5jaG9yPVwibWlkZGxlXCI+e3sgaW5pdGlhbHMgfX08L3RleHQ+XHJcbiAgICAgIDwvc3ZnPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICBgLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEF2YXRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGltYWdlKHZhbHVlOiBDb0RvY3VtZW50KSB7XHJcbiAgICB0aGlzLl9pbWFnZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpbWFnZSgpOiBDb0RvY3VtZW50IHtcclxuICAgIHJldHVybiB0aGlzLl9pbWFnZTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCByZWxhdGlvbklkKHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMuX3JlbGF0aW9uSWQgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgcmVsYXRpb25JZCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX3JlbGF0aW9uSWQ7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgcmVsYXRpb24odmFsdWU6IFJlbGF0aW9uTGlzdE9iamVjdCkge1xyXG4gICAgdGhpcy5fcmVsYXRpb24gPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgcmVsYXRpb24oKTogUmVsYXRpb25MaXN0T2JqZWN0IHtcclxuICAgIHJldHVybiB0aGlzLl9yZWxhdGlvbjtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWF2YXRhclwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpbWFnZVNyYzogc3RyaW5nO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXCIpXHJcbiAgcHVibGljIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xyXG5cclxuICBwdWJsaWMgc2V0IGluaXRpYWxzKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2luaXRpYWxzID0gdmFsdWU7XHJcbiAgICB0aGlzLl9zZXRCYWNrZ3JvdW5kQ29sb3IoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaW5pdGlhbHMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9pbml0aWFscztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2luaXRpYWxzOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfcmVsYXRpb25JZDogbnVtYmVyO1xyXG4gIHByaXZhdGUgX3JlbGF0aW9uOiBSZWxhdGlvbkxpc3RPYmplY3Q7XHJcbiAgcHJpdmF0ZSBfaW1hZ2U6IENvRG9jdW1lbnQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90cmFuc2FjdGlvbkNvbm5lY3RvclNlcnZpY2U6IFRyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZSxcclxuICAgIHByaXZhdGUgX2NvbG9yU2VxdWVuY2VTZXJ2aWNlOiBDb2xvclNlcXVlbmNlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3JlbGF0aW9uU2VydmljZTogUmVsYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuX3NldEltYWdlRm9yQXZhdGFyKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9zZXRJbWFnZUZvckF2YXRhcigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLmltYWdlICYmIHRoaXMuaW1hZ2UuZG9jdW1lbnRJZCkge1xyXG4gICAgICBpZiAoIWF3YWl0IHRoaXMuX2dldEltYWdlQ29udGVudCh0aGlzLmltYWdlLmRvY3VtZW50SWQpKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0SW1hZ2VGcm9tUmVsYXRpb24oKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fc2V0SW1hZ2VGcm9tUmVsYXRpb24oKTtcclxuICAgIH1cclxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX3NldEltYWdlRnJvbVJlbGF0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMucmVsYXRpb24pIHtcclxuICAgICAgaWYgKHRoaXMucmVsYXRpb24uYXZhdGFySW1hZ2UgJiYgdGhpcy5yZWxhdGlvbi5hdmF0YXJJbWFnZS5kb2N1bWVudElkKSB7XHJcbiAgICAgICAgdGhpcy5pbWFnZSA9IHRoaXMucmVsYXRpb24uYXZhdGFySW1hZ2U7XHJcbiAgICAgICAgaWYgKCFhd2FpdCB0aGlzLl9nZXRJbWFnZUNvbnRlbnQodGhpcy5pbWFnZS5kb2N1bWVudElkKSkge1xyXG4gICAgICAgICAgdGhpcy5fc2V0UmVsYXRpb25Jbml0aWFscygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLl9zZXRSZWxhdGlvbkluaXRpYWxzKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy5yZWxhdGlvbklkKSB7XHJcbiAgICAgIGNvbnN0IHJlcXVlc3Q6IFJlbGF0aW9uUmVxdWVzdCA9IG5ldyBSZWxhdGlvblJlcXVlc3QoKTtcclxuICAgICAgcmVxdWVzdC5yZWxhdGlvbklkID0gdGhpcy5fcmVsYXRpb25JZDtcclxuICAgICAgdGhpcy5fcmVsYXRpb25TZXJ2aWNlLmdldFJlbGF0aW9uTGlzdE9iamVjdHMocmVxdWVzdCkudGhlbihhc3luYyAoZGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChkYXRhICYmIGRhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgdGhpcy5yZWxhdGlvbiA9IGRhdGFbMF07XHJcbiAgICAgICAgICBpZiAodGhpcy5yZWxhdGlvbi5hdmF0YXJJbWFnZSAmJiB0aGlzLnJlbGF0aW9uLmF2YXRhckltYWdlLmRvY3VtZW50SWQpIHtcclxuICAgICAgICAgICAgdGhpcy5pbWFnZSA9IHRoaXMucmVsYXRpb24uYXZhdGFySW1hZ2U7XHJcbiAgICAgICAgICAgIGlmICghYXdhaXQgdGhpcy5fZ2V0SW1hZ2VDb250ZW50KHRoaXMuaW1hZ2UuZG9jdW1lbnRJZCkpIHtcclxuICAgICAgICAgICAgICB0aGlzLl9zZXRSZWxhdGlvbkluaXRpYWxzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NldFJlbGF0aW9uSW5pdGlhbHMoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0UmVsYXRpb25Jbml0aWFscygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnJlbGF0aW9uKSB7XHJcbiAgICAgIHRoaXMuaW5pdGlhbHMgPSB0aGlzLnJlbGF0aW9uLmRpc3BsYXlJbml0aWFscztcclxuICAgICAgdGhpcy5fc2V0QmFja2dyb3VuZENvbG9yKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9nZXRJbWFnZUNvbnRlbnQoZG9jSWQ6IG51bWJlcik6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgY29uc3QgY29udGVudDogc3RyaW5nID0gYXdhaXQgdGhpcy5fdHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlLmdldERvY3VtZW50Q29udGVudChkb2NJZCk7XHJcbiAgICBpZiAoY29udGVudCkge1xyXG4gICAgICB0aGlzLmltYWdlLnRodW1ibmFpbEJvZHkgPSBjb250ZW50O1xyXG4gICAgICB0aGlzLmltYWdlU3JjID0gdGhpcy5pbWFnZS50aHVtYm5haWxCb2R5QXNEYXRhVXJpO1xyXG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0QmFja2dyb3VuZENvbG9yKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbWFnZVNyYyA9IFwiXCI7XHJcbiAgICBpZiAodGhpcy5yZWxhdGlvbikge1xyXG4gICAgICB0aGlzLmJhY2tncm91bmRDb2xvciA9IHRoaXMuX2NvbG9yU2VxdWVuY2VTZXJ2aWNlLmdldFJhbmRvbUNvbG9yKHRoaXMucmVsYXRpb24ucmVsYXRpb25JZCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkksT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ25GLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBR2xFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQWV4RixNQUFNLE9BQU8sZUFBZTtJQXVEMUIsWUFDVSxtQkFBdUMsRUFDdkMsNEJBQXlELEVBQ3pELHFCQUEyQyxFQUMzQyxnQkFBaUMsRUFDakMsZUFBa0M7UUFKbEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQUN2QyxpQ0FBNEIsR0FBNUIsNEJBQTRCLENBQTZCO1FBQ3pELDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBc0I7UUFDM0MscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyxvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7SUFFNUMsQ0FBQztJQTdERCxJQUNXLEtBQUssQ0FBQyxLQUFpQjtRQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFB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QUU7Ozs7Ozs7R0FPVDtnQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtnQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQXBCTyxrQkFBa0I7WUFNbEIsMkJBQTJCO1lBSjNCLG9CQUFvQjtZQUdwQixlQUFlO1lBTlUsaUJBQWlCOzs7b0JBdUIvQyxLQUFLO3lCQVVMLEtBQUs7dUJBVUwsS0FBSzt3QkFVTCxXQUFXLFNBQUMsaUJBQWlCOzhCQU83QixXQUFXLFNBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7UmVsYXRpb25SZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7Q29sb3JTZXF1ZW5jZVNlcnZpY2V9IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTInO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvY3VtZW50JztcclxuaW1wb3J0IHtSZWxhdGlvbkxpc3RPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1saXN0LW9iamVjdC5ibyc7XHJcbmltcG9ydCB7UmVsYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3JlbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1jb25uZWN0b3Iuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1hdmF0YXJcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGNvLWltYWdlLWRpc3BsYXkgW21vZGVsXT1cImltYWdlU3JjXCIgKm5nSWY9XCJpbWFnZVNyYzsgZWxzZSBzaG93SW5pdGlhbHNcIj48L2NvLWltYWdlLWRpc3BsYXk+XHJcbiAgICA8bmctdGVtcGxhdGUgI3Nob3dJbml0aWFscz5cclxuICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDMwIDMwXCI+XHJcbiAgICAgICAgPHRleHQgeD1cIjUwJVwiIHk9XCI1MCVcIiBkb21pbmFudC1iYXNlbGluZT1cImNlbnRyYWxcIiB0ZXh0LWFuY2hvcj1cIm1pZGRsZVwiPnt7IGluaXRpYWxzIH19PC90ZXh0PlxyXG4gICAgICA8L3N2Zz5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgYCxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBpbWFnZSh2YWx1ZTogQ29Eb2N1bWVudCkge1xyXG4gICAgdGhpcy5faW1hZ2UgPSB2YWx1ZTtcclxuICAgIHRoaXMuX3NldEltYWdlRm9yQXZhdGFyKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGltYWdlKCk6IENvRG9jdW1lbnQge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ltYWdlO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHJlbGF0aW9uSWQodmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5fcmVsYXRpb25JZCA9IHZhbHVlO1xyXG4gICAgdGhpcy5fc2V0SW1hZ2VGb3JBdmF0YXIoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgcmVsYXRpb25JZCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX3JlbGF0aW9uSWQ7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgcmVsYXRpb24odmFsdWU6IFJlbGF0aW9uTGlzdE9iamVjdCkge1xyXG4gICAgdGhpcy5fcmVsYXRpb24gPSB2YWx1ZTtcclxuICAgIHRoaXMuX3NldEltYWdlRm9yQXZhdGFyKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHJlbGF0aW9uKCk6IFJlbGF0aW9uTGlzdE9iamVjdCB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVsYXRpb247XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1hdmF0YXJcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW1hZ2VTcmM6IHN0cmluZztcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwic3R5bGUuYmFja2dyb3VuZC1jb2xvclwiKVxyXG4gIHB1YmxpYyBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcclxuXHJcbiAgcHVibGljIHNldCBpbml0aWFscyh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9pbml0aWFscyA9IHZhbHVlO1xyXG4gICAgdGhpcy5fc2V0QmFja2dyb3VuZENvbG9yKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGluaXRpYWxzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5faW5pdGlhbHM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9pbml0aWFsczogc3RyaW5nO1xyXG4gIHByaXZhdGUgX3JlbGF0aW9uSWQ6IG51bWJlcjtcclxuICBwcml2YXRlIF9yZWxhdGlvbjogUmVsYXRpb25MaXN0T2JqZWN0O1xyXG4gIHByaXZhdGUgX2ltYWdlOiBDb0RvY3VtZW50O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlOiBUcmFuc2FjdGlvbkNvbm5lY3RvclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jb2xvclNlcXVlbmNlU2VydmljZTogQ29sb3JTZXF1ZW5jZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9yZWxhdGlvblNlcnZpY2U6IFJlbGF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLl9zZXRJbWFnZUZvckF2YXRhcigpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfc2V0SW1hZ2VGb3JBdmF0YXIoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5pbWFnZSAmJiB0aGlzLmltYWdlLmRvY3VtZW50SWQpIHtcclxuICAgICAgaWYgKCFhd2FpdCB0aGlzLl9nZXRJbWFnZUNvbnRlbnQodGhpcy5pbWFnZS5kb2N1bWVudElkKSkge1xyXG4gICAgICAgIHRoaXMuX3NldEltYWdlRnJvbVJlbGF0aW9uKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX3NldEltYWdlRnJvbVJlbGF0aW9uKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9zZXRJbWFnZUZyb21SZWxhdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLnJlbGF0aW9uKSB7XHJcbiAgICAgIGlmICh0aGlzLnJlbGF0aW9uLmF2YXRhckltYWdlICYmIHRoaXMucmVsYXRpb24uYXZhdGFySW1hZ2UuZG9jdW1lbnRJZCkge1xyXG4gICAgICAgIHRoaXMuX2ltYWdlID0gdGhpcy5yZWxhdGlvbi5hdmF0YXJJbWFnZTtcclxuICAgICAgICBpZiAoIWF3YWl0IHRoaXMuX2dldEltYWdlQ29udGVudCh0aGlzLmltYWdlLmRvY3VtZW50SWQpKSB7XHJcbiAgICAgICAgICB0aGlzLl9zZXRSZWxhdGlvbkluaXRpYWxzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX3NldFJlbGF0aW9uSW5pdGlhbHMoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0aGlzLnJlbGF0aW9uSWQpIHtcclxuICAgICAgY29uc3QgcmVxdWVzdDogUmVsYXRpb25SZXF1ZXN0ID0gbmV3IFJlbGF0aW9uUmVxdWVzdCgpO1xyXG4gICAgICByZXF1ZXN0LnJlbGF0aW9uSWQgPSB0aGlzLl9yZWxhdGlvbklkO1xyXG4gICAgICB0aGlzLl9yZWxhdGlvblNlcnZpY2UuZ2V0UmVsYXRpb25MaXN0T2JqZWN0cyhyZXF1ZXN0KS50aGVuKGFzeW5jIChkYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGEgJiYgZGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLl9yZWxhdGlvbiA9IGRhdGFbMF07XHJcbiAgICAgICAgICBpZiAodGhpcy5yZWxhdGlvbi5hdmF0YXJJbWFnZSAmJiB0aGlzLnJlbGF0aW9uLmF2YXRhckltYWdlLmRvY3VtZW50SWQpIHtcclxuICAgICAgICAgICAgdGhpcy5faW1hZ2UgPSB0aGlzLnJlbGF0aW9uLmF2YXRhckltYWdlO1xyXG4gICAgICAgICAgICBpZiAoIWF3YWl0IHRoaXMuX2dldEltYWdlQ29udGVudCh0aGlzLmltYWdlLmRvY3VtZW50SWQpKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5fc2V0UmVsYXRpb25Jbml0aWFscygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl9zZXRSZWxhdGlvbkluaXRpYWxzKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldFJlbGF0aW9uSW5pdGlhbHMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5yZWxhdGlvbikge1xyXG4gICAgICB0aGlzLmluaXRpYWxzID0gdGhpcy5yZWxhdGlvbi5kaXNwbGF5SW5pdGlhbHM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9nZXRJbWFnZUNvbnRlbnQoZG9jSWQ6IG51bWJlcik6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgY29uc3QgY29udGVudDogc3RyaW5nID0gYXdhaXQgdGhpcy5fdHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlLmdldERvY3VtZW50Q29udGVudChkb2NJZCk7XHJcbiAgICBpZiAoY29udGVudCkge1xyXG4gICAgICB0aGlzLl9pbWFnZS50aHVtYm5haWxCb2R5ID0gY29udGVudDtcclxuICAgICAgdGhpcy5pbWFnZVNyYyA9IHRoaXMuaW1hZ2UudGh1bWJuYWlsQm9keUFzRGF0YVVyaTtcclxuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldEJhY2tncm91bmRDb2xvcigpOiB2b2lkIHtcclxuICAgIHRoaXMuaW1hZ2VTcmMgPSBcIlwiO1xyXG4gICAgaWYgKHRoaXMucmVsYXRpb24pIHtcclxuICAgICAgdGhpcy5iYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLl9jb2xvclNlcXVlbmNlU2VydmljZS5nZXRSYW5kb21Db2xvcih0aGlzLnJlbGF0aW9uLnJlbGF0aW9uSWQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -33,6 +33,7 @@ export class TransactionBaseComponent {
33
33
  this.lockAndSave = true;
34
34
  this.expanded = true;
35
35
  this.preview = false;
36
+ this.isFirst = false;
36
37
  this.readonly = false;
37
38
  this.relationChange = new EventEmitter();
38
39
  this.showLoader = false;
@@ -369,6 +370,7 @@ TransactionBaseComponent.propDecorators = {
369
370
  lockAndSave: [{ type: Input }],
370
371
  expanded: [{ type: Input }],
371
372
  preview: [{ type: HostBinding, args: ['class.preview',] }, { type: Input }],
373
+ isFirst: [{ type: Input }],
372
374
  selected: [{ type: HostBinding, args: ['class.is-selected',] }, { type: Input }],
373
375
  readonly: [{ type: HostBinding, args: ['class.read-only',] }, { type: Input }],
374
376
  hidden: [{ type: HostBinding, args: ["class.co-transaction-hidden",] }],
@@ -377,4 +379,4 @@ TransactionBaseComponent.propDecorators = {
377
379
  isArticle: [{ type: HostBinding, args: ['class.is-article',] }],
378
380
  showLoader: [{ type: HostBinding, args: ["class.show-loader",] }]
379
381
  };
380
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUV4RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDekYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBRzNGLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUVuRixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scURBQXFELENBQUM7QUFJakYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFHaEgsTUFBTSxPQUFnQix3QkFBd0I7SUF1UjFDLFlBQ1csdUJBQWdELEVBQ2hELGdCQUFrQyxFQUNsQyxtQkFBMEQsRUFDdkQsWUFBcUMsRUFDckMsaUJBQW9DLEVBQ3BDLGtCQUFzQyxFQUN0QyxjQUFpQztRQU5wQyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF1QztRQUN2RCxpQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFDckMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQTdSL0IsYUFBUSxHQUE4QixrQkFBa0IsQ0FBQztRQUN6RCxVQUFLLEdBQWdCLElBQUksQ0FBQztRQUMxQixZQUFPLEdBQXdCLFlBQVksQ0FBQztRQUM1QyxjQUFTLEdBQTJCLGVBQWUsQ0FBQztRQUNwRCxhQUFRLEdBQW1DLHVCQUF1QixDQUFDO1FBc0s1RSxnQkFBVyxHQUFZLElBQUksQ0FBQztRQUc1QixhQUFRLEdBQVksSUFBSSxDQUFDO1FBSXpCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFpQnpCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFNMUIsbUJBQWMsR0FBa0MsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFhcEYsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUU1QixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLDBCQUFxQixHQUEwQixFQUFFLENBQUM7UUFDbEQscUJBQWdCLEdBQTBCLEVBQUUsQ0FBQztRQUM3QyxzQkFBaUIsR0FBc0MsRUFBRSxDQUFDO1FBQzFELGlCQUFZLEdBQWlCLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFDbkQsaUJBQVksR0FBcUIsZ0JBQWdCLENBQUMsT0FBTyxDQUFDO1FBQzFELG9CQUFlLEdBQW9CLGVBQWUsQ0FBQyxVQUFVLENBQUM7UUFDOUQsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN6QixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBSTVCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUNsQywyQkFBc0IsR0FBWSxLQUFLLENBQUM7UUFDeEMsMEJBQXFCLEdBQVksS0FBSyxDQUFDO1FBQ3ZDLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUNuQyxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFFbkMsMkJBQXNCLEdBQVksS0FBSyxDQUFDO1FBQ3hDLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLDBCQUFxQixHQUFXLENBQUMsQ0FBQztRQUNsQyx5QkFBb0IsR0FBVyxDQUFDLENBQUM7UUFDakMsMEJBQXFCLEdBQVcsQ0FBQyxDQUFDO1FBQ2xDLHlCQUFvQixHQUFXLENBQUMsQ0FBQztRQUNqQywwQkFBcUIsR0FBVyxDQUFDLENBQUM7UUFDbEMsMEJBQXFCLEdBQVcsQ0FBQyxDQUFDO1FBQ2xDLDJCQUFzQixHQUFXLENBQUMsQ0FBQztRQUNuQywwQkFBcUIsR0FBVyxDQUFDLENBQUM7UUFDbEMsd0JBQW1CLEdBQVcsQ0FBQyxDQUFDO1FBQ2hDLGtDQUE2QixHQUFXLENBQUMsQ0FBQztRQUMxQyw2Q0FBd0MsR0FBVyxDQUFDLENBQUM7UUFDckQsMkJBQXNCLEdBQVcsQ0FBQyxDQUFDO1FBQ25DLHVCQUFrQixHQUFXLENBQUMsQ0FBQztRQUMvQiw4QkFBeUIsR0FBVyxDQUFDLENBQUM7UUFDdEMsb0NBQStCLEdBQVcsQ0FBQyxDQUFDO1FBQzVDLGtDQUE2QixHQUFXLENBQUMsQ0FBQztRQUMxQyxzQ0FBaUMsR0FBVyxDQUFDLENBQUM7UUFDOUMsK0JBQTBCLEdBQVcsQ0FBQyxDQUFDO1FBTXZDLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFHbEIsMEJBQXFCLEdBQWEsRUFBRSxDQUFDO1FBQ3JDLHdCQUFtQixHQUFhLEVBQUUsQ0FBQztRQUVyQyxjQUFTLEdBQW9CLHlCQUF5QixDQUFDO1FBRXZELHFCQUFnQixHQUF3QixJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFDbEUscUJBQWdCLEdBQW9CLElBQUksZUFBZSxFQUFFLENBQUM7UUFDMUQsbUJBQWMsR0FBdUIsRUFBRSxDQUFDO1FBQ3hDLHNCQUFpQixHQUFxQixJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFFN0QsY0FBUyxHQUFtQixFQUFFLENBQUM7SUFXdkMsQ0FBQztJQXhSRCxJQUNXLE9BQU8sQ0FBQyxLQUFhO1FBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUNXLFdBQVcsQ0FBQyxLQUE4QjtRQUNqRCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbkIsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQztnQkFDekQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQztnQkFDNUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxlQUFlLEtBQUssZUFBZSxDQUFDLFlBQVksQ0FBQzthQUN2RztZQUNELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUM7YUFDOUQ7WUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUU7Z0JBQ3JDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDO2FBQ2hFO1lBQ0QsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFO2dCQUNwQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQzthQUM5RDtZQUNELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsRUFBRTtnQkFDekMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMscUJBQXFCLENBQUM7YUFDeEU7WUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRTtnQkFDN0UsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ3pCO1lBQ0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDekYsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1lBQzFKLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztZQUN6SixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2dCQUNoRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7WUFDOUgsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsb0JBQW9CLENBQUMsQ0FBQztnQkFDaEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUN6SCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1NBQ2pJO0lBQ0wsQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQ1csZUFBZSxDQUFDLEtBQTBCO1FBQ2pELElBQUksS0FBSyxFQUFFO1lBQ1AsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztZQUM5QixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsRUFBRTtnQkFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUM7YUFDM0Q7WUFDRCxtREFBbUQ7WUFDbkQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO1lBQzNDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztZQUNqRCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQjtnQkFDakUsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEtBQUssQ0FBQyxDQUFDO29CQUM3SSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLEtBQUssQ0FBQyxDQUFDO29CQUM5SSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsY0FBYyxLQUFLLENBQUMsQ0FBQztvQkFDMUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixLQUFLLENBQUMsQ0FBQztvQkFDbEosQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEosSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUM7WUFDbk0sSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQztZQUN6TSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQztZQUN0TSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQztZQUV0TSxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcE4sSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pOLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwTixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDak4sSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BOLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwTixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdk4sSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BOLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOU0sSUFBSSxDQUFDLDZCQUE2QixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVPLElBQUksQ0FBQyx3Q0FBd0MsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsb0NBQW9DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3USxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdk4sSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzTSxJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaE8sSUFBSSxDQUFDLCtCQUErQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRWxQLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1TyxJQUFJLENBQUMsaUNBQWlDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeFAsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25PLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQzdCO0lBQ0wsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFDVyxlQUFlLENBQUMsS0FBc0I7UUFDN0MsSUFBSSxLQUFLLEVBQUU7WUFDUCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztZQUM1QixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1lBQzlCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQztZQUM3RCxJQUFJLENBQUMsYUFBYTtnQkFDZCxJQUFJLENBQUMsZ0JBQWdCO29CQUNyQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCO29CQUN0QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDO29CQUN4RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDO1lBQzNELElBQUksQ0FBQyxjQUFjO2dCQUNmLElBQUksQ0FBQyxnQkFBZ0I7b0JBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0I7b0JBQ3RDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUM7b0JBQ3pFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQztZQUM1RCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUU1QixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUU7Z0JBQ3ZDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQTthQUN6RDtZQUNELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQzdCO0lBQ0wsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFDVyxhQUFhLENBQUMsS0FBeUI7UUFDaEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQ1csZ0JBQWdCLENBQUMsS0FBdUI7UUFDL0MsSUFBSSxLQUFLLEVBQUU7WUFDUCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1lBQy9CLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1NBQzlCO0lBQ0wsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUNXLFFBQVEsQ0FBQyxLQUFzQjtRQUN0QyxJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7WUFDaEQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztZQUN4QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdEI7SUFDTCxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFZRCxJQUVXLFFBQVEsQ0FBQyxLQUFjO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN0QixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQ2xEO0lBQ0wsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBa0JELElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDMUcsQ0FBQztJQThFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ2YsSUFBSSxDQUFDLHVCQUF1QixDQUFDLCtCQUErQixDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQXFELEVBQUUsRUFBRTtZQUM3SCxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFO2dCQUNsRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNwQztRQUNMLENBQUMsQ0FBQyxFQUNGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBdUIsRUFBRSxFQUFFO1lBQ3JFLElBQUksYUFBYSxJQUFJLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUMzQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7YUFDcEI7UUFDTCxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFWSxZQUFZLENBQUMsS0FBVTs7WUFDaEMsSUFBSSxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7Z0JBQ3ZCLE1BQU0sUUFBUSxHQUFZLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7Z0JBQ3hCLE9BQU8sUUFBUSxDQUFDO2FBQ25CO1FBQ0wsQ0FBQztLQUFBO0lBRVksMEJBQTBCLENBQUMsS0FBaUI7O1lBQ3JELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEIsSUFBSSxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDdkc7UUFDTCxDQUFDO0tBQUE7SUFFTSxzQkFBc0IsQ0FBQyxJQUF5QixFQUFFLE9BQWdCO1FBQ3JFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRVMsTUFBTSxDQUFDLEtBQVU7UUFDdkIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFUyxhQUFhLENBQUMsT0FBZ0I7UUFDcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDM0IsQ0FBQztJQUVTLFNBQVM7SUFDbkIsQ0FBQztJQUVTLGNBQWM7UUFDcEIsNEJBQTRCO0lBQ2hDLENBQUM7SUFFUyxXQUFXO1FBQ2pCLDRCQUE0QjtJQUNoQyxDQUFDO0lBRVMsa0JBQWtCO0lBQzVCLENBQUM7SUFFRCw0QkFBNEI7SUFDbEIsa0JBQWtCO0lBQzVCLENBQUM7SUFFUyxnQkFBZ0I7SUFDMUIsQ0FBQztJQUVTLHFCQUFxQixDQUFDLE9BQWU7UUFDM0MsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMvQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sT0FBTyxNQUFNLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztTQUNoQztJQUNMLENBQUM7SUFFUyx1QkFBdUIsQ0FBQyxPQUFlO1FBQzdDLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDakQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxNQUFNLE9BQU8sTUFBTSxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7U0FDaEM7SUFDTCxDQUFDO0lBRVMscUJBQXFCO1FBQzNCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLElBQUksUUFBUSxHQUFhLEVBQUUsQ0FBQztRQUM1QixJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzlFLFFBQVEsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3ZFLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLGFBQWEsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3RILElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN4QjtJQUNMLENBQUM7SUFFRCw0QkFBNEI7SUFDbEIsbUJBQW1CO0lBRTdCLENBQUM7SUFFUyxhQUFhO1FBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVlLGVBQWU7O1lBQzNCLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRTtnQkFDN0MsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUM5RztpQkFBTTtnQkFDSCxPQUFPLElBQUksQ0FBQzthQUNmO1FBQ0wsQ0FBQztLQUFBO0lBRWUsUUFBUTs7WUFDcEIsZ0ZBQWdGO1lBQ2hGLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzlDLENBQUM7S0FBQTtJQUVNLG9CQUFvQjtRQUN2QixJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ3ZGLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNwQixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7U0FDbkY7UUFDRCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDckIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO1NBQ3BGO0lBQ0wsQ0FBQzs7O1lBOVpKLFNBQVM7OztZQVhGLHVCQUF1QjtZQUN2QixnQkFBZ0I7WUFRaEIscUNBQXFDO1lBUHJDLHVCQUF1QjtZQUp2QixpQkFBaUI7WUFYakIsa0JBQWtCO1lBRGxCLGlCQUFpQjs7O3NCQWlDcEIsS0FBSzswQkFVTCxLQUFLOzhCQXdDTCxLQUFLOzhCQWdETCxLQUFLOzRCQThCTCxLQUFLOytCQVNMLEtBQUs7dUJBWUwsS0FBSzswQkFjTCxLQUFLO3VCQUdMLEtBQUs7c0JBR0wsV0FBVyxTQUFDLGVBQWUsY0FDM0IsS0FBSzt1QkFHTCxXQUFXLFNBQUMsbUJBQW1CLGNBQy9CLEtBQUs7dUJBWUwsV0FBVyxTQUFDLGlCQUFpQixjQUM3QixLQUFLO3FCQUdMLFdBQVcsU0FBQyw2QkFBNkI7NkJBR3pDLE1BQU07cUJBR04sV0FBVyxTQUFDLGVBQWU7d0JBRzNCLFdBQVcsU0FBQyxrQkFBa0I7eUJBTzlCLFdBQVcsU0FBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2V9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLXJlc3BvbnNlLmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbktpbmR9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3RyYW5zYWN0aW9uLWtpbmQuZW51bSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lSW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWxpbmUtaW5mby5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25Ub3RhbH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLXRvdGFsLmJvJztcclxuaW1wb3J0IHtMaW5lT3BlcmF0aW9uU3RhdHVzfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvbGluZS1vcGVyYXRpb24tc3RhdHVzLmJvJztcclxuaW1wb3J0IHtSZWxhdGlvbkFueVR5cGV9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1hbnktdHlwZSc7XHJcbmltcG9ydCB7TlVMTF9DVVNUT01FUl9GVUxMX09CSkVDVH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL251bC1yZWxhdGlvbi1vYmplY3QnO1xyXG5pbXBvcnQge1JlbGF0aW9uTmFtZUtpbmR9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9lbnVtL3JlbGF0aW9uLW5hbWUta2luZC5lbnVtJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0gZnJvbSAnLi4vLi4vLi4vZW51bS90cmFuc2FjdGlvbi10eXBlLWNhdGVnb3J5LmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkltYWdlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1pbWFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1JlbGF0aW9uS2luZH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL2VudW0vcmVsYXRpb24ta2luZC5lbnVtJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkRlbGl2ZXJ5Q29zdExpbmVJbmZvfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tZGVsaXZlcnktY29zdC1saW5lLWluZm8uYm8nO1xyXG5pbXBvcnQge09yZGVyTGluZVNldEluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9vcmRlci1saW5lLXNldC1pbmZvLmJvJztcclxuaW1wb3J0IHtTY3JlZW5Db25maWdBZGFwdGVyQ29tcG9uZW50fSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkNmZ05hbWV9IGZyb20gJy4uLy4uLy4uL2VudW0vdHJhbnNhY3Rpb24tY2ZnLW5hbWUuZW51bSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1zY3JlZW4tY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIFNjcmVlbkNvbmZpZ0FkYXB0ZXJDb21wb25lbnQge1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGNmZ05hbWVzOiB0eXBlb2YgVHJhbnNhY3Rpb25DZmdOYW1lID0gVHJhbnNhY3Rpb25DZmdOYW1lO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVsS2luZDogdHlwZW9mIFJlbGF0aW9uS2luZCA9IFJlbGF0aW9uS2luZDtcclxuICAgIHB1YmxpYyByZWFkb25seSB0cmFuc0tpbmQ6IHR5cGVvZiBUcmFuc2FjdGlvbktpbmQgPSBUcmFuc2FjdGlvbktpbmQ7XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgY2F0ZWdvcnk6IHR5cGVvZiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeSA9IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5O1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IGNmZ05hbWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX2NmZ05hbWUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmNvbmZpZ1NldCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgY2ZnTmFtZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jZmdOYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IHRyYW5zYWN0aW9uKHZhbHVlOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSkge1xyXG4gICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gdmFsdWU7XHJcbiAgICAgICAgaWYgKHRoaXMuX3RyYW5zYWN0aW9uKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25JbmZvID0gdGhpcy5fdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvO1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbktpbmQgPSB0aGlzLnRyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbktpbmQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzU2VydmljZSA9IHRoaXMuX3RyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbktpbmQgPT09IFRyYW5zYWN0aW9uS2luZC5TZXJ2aWNlT3JkZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMuX3RyYW5zYWN0aW9uLnRyYW5zYWN0aW9uTGluZXMpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lcyA9IHRoaXMuX3RyYW5zYWN0aW9uLnRyYW5zYWN0aW9uTGluZXM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMuX3RyYW5zYWN0aW9uLmRlbGl2ZXJ5Q29zdExpbmVzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRlbGl2ZXJ5Q29zdExpbmVzID0gdGhpcy5fdHJhbnNhY3Rpb24uZGVsaXZlcnlDb3N0TGluZXM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMuX3RyYW5zYWN0aW9uLnRyYW5zYWN0aW9uVG90YWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25Ub3RhbCA9IHRoaXMuX3RyYW5zYWN0aW9uLnRyYW5zYWN0aW9uVG90YWw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMuX3RyYW5zYWN0aW9uLmxpbmVPcGVyYXRpb25TdGF0dXNlcykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5saW5lT3BlcmF0aW9uU3RhdHVzZXMgPSB0aGlzLl90cmFuc2FjdGlvbi5saW5lT3BlcmF0aW9uU3RhdHVzZXM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMuX3RyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mbyAmJiB0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udXVpZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvblNldCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuaGFzTXVsdGlwbGVMaW5lcyA9IHRoaXMudHJhbnNhY3Rpb25MaW5lcy5sZW5ndGggKyB0aGlzLmRlbGl2ZXJ5Q29zdExpbmVzLmxlbmd0aCA+IDE7XHJcbiAgICAgICAgICAgIHRoaXMuY2FuQWxsTGluZXNCZURlbGl2ZXJlZCA9IHRoaXMudHJhbnNhY3Rpb25MaW5lcy5maWx0ZXIobCA9PiBsLmFydGljbGVMaW5lU3RhdHVzID8gKGwuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUb0RlbGl2ZXIgPT09IDApIDogZmFsc2UpLmxlbmd0aCA9PT0gMDtcclxuICAgICAgICAgICAgdGhpcy5jYW5BbGxMaW5lc0JlSW52b2ljZWQgPSB0aGlzLnRyYW5zYWN0aW9uTGluZXMuZmlsdGVyKGwgPT4gbC5hcnRpY2xlTGluZVN0YXR1cyA/IChsLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5VG9JbnZvaWNlID09PSAwKSA6IGZhbHNlKS5sZW5ndGggPT09IDA7XHJcbiAgICAgICAgICAgIHRoaXMuaGFzTGluZXNUb0RlbGl2ZXIgPSB0aGlzLnRyYW5zYWN0aW9uSW5mby5hbGxvd1BhcnRpYWxEZWxpdmVyeSA/XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZXMuZmlsdGVyKGwgPT4gbC5hcnRpY2xlTGluZVN0YXR1cyA/IGwuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUb0RlbGl2ZXIgIT09IDAgOiBmYWxzZSkubGVuZ3RoID4gMCA6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZXMuZmlsdGVyKGwgPT4gbC5hcnRpY2xlTGluZVN0YXR1cyA/IGwuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUb0RlbGl2ZXIgPT09IDAgOiBmYWxzZSkubGVuZ3RoID09PSAwO1xyXG4gICAgICAgICAgICB0aGlzLmhhc0xpbmVzVG9JbnZvaWNlID0gdGhpcy50cmFuc2FjdGlvbkluZm8uYWxsb3dQYXJ0aWFsRGVsaXZlcnkgP1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmVzLmZpbHRlcihsID0+IGwuYXJ0aWNsZUxpbmVTdGF0dXMgPyBsLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5VG9JbnZvaWNlICE9PSAwIDogZmFsc2UpLmxlbmd0aCA+IDAgOlxyXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmVzLmZpbHRlcihsID0+IGwuYXJ0aWNsZUxpbmVTdGF0dXMgPyBsLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5VG9JbnZvaWNlID09PSAwIDogZmFsc2UpLmxlbmd0aCA9PT0gMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCB0cmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IHRyYW5zYWN0aW9uTGluZSh2YWx1ZTogVHJhbnNhY3Rpb25MaW5lSW5mbykge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkxpbmUgPSB2YWx1ZTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX3RyYW5zYWN0aW9uTGluZS5zYWxlc1VuaXREZWNpbWFscykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kZWNpbWFscyA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5zYWxlc1VuaXREZWNpbWFscztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuc2VsZWN0ZWQgPSB0aGlzLl9zZWxlY3RlZDtcclxuICAgICAgICAgICAgdGhpcy5pc1RleHQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuaXNUZXh0O1xyXG4gICAgICAgICAgICB0aGlzLmlzQXJ0aWNsZSA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5pc0FydGljbGU7XHJcbiAgICAgICAgICAgIHRoaXMubGluZUhhc0xvZ2lzdGljYWxTdGF0ZSA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJlxyXG4gICAgICAgICAgICAgICAgKCh0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5RGVsaXZlcmVkJykgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5RGVsaXZlcmVkICE9PSAwKSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICh0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5SW52b2ljZWQnKSAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlJbnZvaWNlZCAhPT0gMCkgfHxcclxuICAgICAgICAgICAgICAgICAgICAodGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVBpY2tlZCcpICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVBpY2tlZCAhPT0gMCkgfHxcclxuICAgICAgICAgICAgICAgICAgICAodGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVRvQmVQaWNrZWQnKSAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUb0JlUGlja2VkICE9PSAwKSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICh0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5QWxsb2NhdGVkJykgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5QWxsb2NhdGVkIDwgMCkpO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVJc09yZGVyZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdpc0Z1bGx5T3JkZXJlZCcpICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5pc0Z1bGx5T3JkZXJlZDtcclxuICAgICAgICAgICAgdGhpcy5saW5lSXNEZWxpdmVyZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdpc0Z1bGx5RGVsaXZlcmVkJykgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmlzRnVsbHlEZWxpdmVyZWQ7XHJcbiAgICAgICAgICAgIHRoaXMubGluZUlzSW52b2ljZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdpc0Z1bGx5SW52b2ljZWQnKSAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaXNGdWxseUludm9pY2VkO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVJc1JlY2VpdmVkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgnaXNGdWxseVJlY2VpdmVkJykgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmlzRnVsbHlSZWNlaXZlZDtcclxuXHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5VG9JbnZvaWNlID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlUb0ludm9pY2UnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVRvSW52b2ljZSA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5SW52b2ljZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eUludm9pY2VkJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlJbnZvaWNlZCA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5VG9SZWNlaXZlID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlUb1JlY2VpdmUnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVRvUmVjZWl2ZSA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5UmVjZWl2ZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVJlY2VpdmVkJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlSZWNlaXZlZCA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5VG9EZWxpdmVyID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlUb0RlbGl2ZXInKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVRvRGVsaXZlciA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5RGVsaXZlcmVkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlEZWxpdmVyZWQnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eURlbGl2ZXJlZCA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5VG9BbGxvY2F0ZSA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5VG9BbGxvY2F0ZScpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5VG9BbGxvY2F0ZSA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5QWxsb2NhdGVkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlBbGxvY2F0ZWQnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eUFsbG9jYXRlZCA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5T3JkZXJlZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5T3JkZXJlZCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5T3JkZXJlZCA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5UGxhbm5pbmdSZXF1ZXN0ZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVBsYW5uaW5nUmVxdWVzdGVkJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlQbGFubmluZ1JlcXVlc3RlZCA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5UGxhbm5pbmdQcmVmZXJyZWREYXRlRW50ZXJlZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5UGxhbm5pbmdQcmVmZXJyZWREYXRlRW50ZXJlZCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5UGxhbm5pbmdQcmVmZXJyZWREYXRlRW50ZXJlZCA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5VG9CZVBpY2tlZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5VG9CZVBpY2tlZCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5VG9CZVBpY2tlZCA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5UGlja2VkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlQaWNrZWQnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVBpY2tlZCA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5UGxhbm5pbmdGaW5hbCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5UGxhbm5pbmdGaW5hbCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5UGxhbm5pbmdGaW5hbCA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5UmVjZWl2ZWRVbnByb2Nlc3NlZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5UmVjZWl2ZWRVbnByb2Nlc3NlZCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5UmVjZWl2ZWRVbnByb2Nlc3NlZCA6IDA7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVB1cmNoYXNlQ29uZmlybWVkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlQdXJjaGFzZUNvbmZpcm1lZCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5UHVyY2hhc2VDb25maXJtZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVRyYW5zcG9ydE5vdGlmaWNhdGlvbiA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5VHJhbnNwb3J0Tm90aWZpY2F0aW9uJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUcmFuc3BvcnROb3RpZmljYXRpb24gOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eUludm9pY2VDb250cm9sID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlJbnZvaWNlQ29udHJvbCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5SW52b2ljZUNvbnRyb2wgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZVNldCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHRyYW5zYWN0aW9uTGluZSgpOiBUcmFuc2FjdGlvbkxpbmVJbmZvIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb25MaW5lO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IHRyYW5zYWN0aW9uSW5mbyh2YWx1ZTogVHJhbnNhY3Rpb25JbmZvKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGVhZGVyUmVhZG9ubHkgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy50b29sdGlwTWVzc2FnZSA9IFwiXCI7XHJcbiAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uSW5mbyA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uS2luZCA9IHRoaXMuX3RyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbktpbmQ7XHJcbiAgICAgICAgICAgIHRoaXMuZnVsbHlJbnZvaWNlZCA9XHJcbiAgICAgICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkluZm8gJiZcclxuICAgICAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uSW5mby5oZWFkZXJJbmZvU3RhdHVzICYmXHJcbiAgICAgICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkluZm8uaGVhZGVySW5mb1N0YXR1cy5oYXNPd25Qcm9wZXJ0eSgnaXNGdWxseUludm9pY2VkJykgJiZcclxuICAgICAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uSW5mby5oZWFkZXJJbmZvU3RhdHVzLmlzRnVsbHlJbnZvaWNlZDtcclxuICAgICAgICAgICAgdGhpcy5mdWxseURlbGl2ZXJlZCA9XHJcbiAgICAgICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkluZm8gJiZcclxuICAgICAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uSW5mby5oZWFkZXJJbmZvU3RhdHVzICYmXHJcbiAgICAgICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkluZm8uaGVhZGVySW5mb1N0YXR1cy5oYXNPd25Qcm9wZXJ0eSgnaXNGdWxseURlbGl2ZXJlZCcpICYmXHJcbiAgICAgICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkluZm8uaGVhZGVySW5mb1N0YXR1cy5pc0Z1bGx5RGVsaXZlcmVkO1xyXG4gICAgICAgICAgICB0aGlzLl9jaGVja0hlYWRlclJlYWRvbmx5KCk7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5fdHJhbnNhY3Rpb25JbmZvLm9yZGVyTGluZVNldHMpIHtcclxuICAgICAgICAgICAgICB0aGlzLm9yZGVyTGluZVNldHMgPSB0aGlzLl90cmFuc2FjdGlvbkluZm8ub3JkZXJMaW5lU2V0c1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25JbmZvU2V0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgdHJhbnNhY3Rpb25JbmZvKCk6IFRyYW5zYWN0aW9uSW5mbyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uSW5mbztcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBvcmRlckxpbmVTZXRzKHZhbHVlOiBPcmRlckxpbmVTZXRJbmZvW10pIHtcclxuICAgICAgdGhpcy5fb3JkZXJMaW5lU2V0cyA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgb3JkZXJMaW5lU2V0cygpOiBPcmRlckxpbmVTZXRJbmZvW10ge1xyXG4gICAgICByZXR1cm4gdGhpcy5fb3JkZXJMaW5lU2V0cztcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCB0cmFuc2FjdGlvblRvdGFsKHZhbHVlOiBUcmFuc2FjdGlvblRvdGFsKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uVG90YWwgPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvblRvdGFsU2V0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgdHJhbnNhY3Rpb25Ub3RhbCgpOiBUcmFuc2FjdGlvblRvdGFsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb25Ub3RhbDtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCByZWxhdGlvbih2YWx1ZTogUmVsYXRpb25BbnlUeXBlKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JlbGF0aW9uID0gdmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMucmVsYXRpb25LaW5kID0gdGhpcy5fcmVsYXRpb24ucmVsYXRpb25UeXBlO1xyXG4gICAgICAgICAgICB0aGlzLnJlbGF0aW9uVHlwZSA9IHRoaXMuX3JlbGF0aW9uLnR5cGU7XHJcbiAgICAgICAgICAgIHRoaXMucmVsYXRpb25TZXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCByZWxhdGlvbigpOiBSZWxhdGlvbkFueVR5cGUge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9yZWxhdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGxvY2tBbmRTYXZlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGV4cGFuZGVkOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnByZXZpZXcnKVxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBwcmV2aWV3OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1zZWxlY3RlZCcpXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBzZWxlY3RlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkID0gdmFsdWU7XHJcbiAgICAgICAgaWYgKHRoaXMudHJhbnNhY3Rpb25MaW5lKSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLnNlbGVjdGVkID0gdGhpcy5fc2VsZWN0ZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgc2VsZWN0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MucmVhZC1vbmx5JylcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10cmFuc2FjdGlvbi1oaWRkZW5cIilcclxuICAgIHB1YmxpYyBoaWRkZW46IGJvb2xlYW47XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVsYXRpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxSZWxhdGlvbkFueVR5cGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZWxhdGlvbkFueVR5cGU+KCk7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy10ZXh0JylcclxuICAgIHB1YmxpYyBpc1RleHQ6IGJvb2xlYW47XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1hcnRpY2xlJylcclxuICAgIHB1YmxpYyBpc0FydGljbGU6IGJvb2xlYW47XHJcblxyXG4gICAgcHVibGljIGdldCBtb2RlbCgpOiBUcmFuc2FjdGlvbkxpbmVJbmZvIHwgVHJhbnNhY3Rpb25JbmZvIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmhhc093blByb3BlcnR5KCdsaW5lTnInKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZSA6IHRoaXMuX3RyYW5zYWN0aW9uSW5mbztcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzcy5zaG93LWxvYWRlclwiKVxyXG4gICAgcHVibGljIHNob3dMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwdWJsaWMgaXNTZXJ2aWNlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgbGluZU9wZXJhdGlvblN0YXR1c2VzOiBMaW5lT3BlcmF0aW9uU3RhdHVzW10gPSBbXTtcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkxpbmVzOiBUcmFuc2FjdGlvbkxpbmVJbmZvW10gPSBbXTtcclxuICAgIHB1YmxpYyBkZWxpdmVyeUNvc3RMaW5lczogVHJhbnNhY3Rpb25EZWxpdmVyeUNvc3RMaW5lSW5mb1tdID0gW107XHJcbiAgICBwdWJsaWMgcmVsYXRpb25LaW5kOiBSZWxhdGlvbktpbmQgPSBSZWxhdGlvbktpbmQuQ3VzdG9tZXI7XHJcbiAgICBwdWJsaWMgcmVsYXRpb25UeXBlOiBSZWxhdGlvbk5hbWVLaW5kID0gUmVsYXRpb25OYW1lS2luZC5Qcml2YXRlO1xyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uS2luZDogVHJhbnNhY3Rpb25LaW5kID0gVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXI7XHJcbiAgICBwdWJsaWMgdmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGhlYWRlclJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgY29tbWl0dGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIHRvb2x0aXBNZXNzYWdlOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgZnVsbHlJbnZvaWNlZDogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBmdWxseURlbGl2ZXJlZDogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBoYXNNdWx0aXBsZUxpbmVzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgY2FuQWxsTGluZXNCZURlbGl2ZXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGNhbkFsbExpbmVzQmVJbnZvaWNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGhhc0xpbmVzVG9EZWxpdmVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaGFzTGluZXNUb0ludm9pY2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwdWJsaWMgbGluZUhhc0xvZ2lzdGljYWxTdGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGxpbmVJc09yZGVyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBsaW5lSXNEZWxpdmVyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBsaW5lSXNJbnZvaWNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGxpbmVJc1JlY2VpdmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5VG9JbnZvaWNlOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eUludm9pY2VkOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eVRvUmVjZWl2ZTogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlSZWNlaXZlZDogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlUb0RlbGl2ZXI6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5RGVsaXZlcmVkOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eVRvQWxsb2NhdGU6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5QWxsb2NhdGVkOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eU9yZGVyZWQ6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5UGxhbm5pbmdSZXF1ZXN0ZWQ6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5UGxhbm5pbmdQcmVmZXJyZWREYXRlRW50ZXJlZDogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlUb0JlUGlja2VkOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eVBpY2tlZDogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlQbGFubmluZ0ZpbmFsOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eVJlY2VpdmVkVW5wcm9jZXNzZWQ6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5UHVyY2hhc2VDb25maXJtZWQ6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5VHJhbnNwb3J0Tm90aWZpY2F0aW9uOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eUludm9pY2VDb250cm9sOiBudW1iZXIgPSAwO1xyXG5cclxuICAgIHB1YmxpYyBvYmplY3RDb25maWdOYW1lOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW47XHJcbiAgICBwdWJsaWMgZm9yY2VSZWFkb25seTogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBtYXhMZW5ndGg6IG51bWJlcjtcclxuICAgIHB1YmxpYyBkZWNpbWFsczogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyByZWRFcnJvckJhY2tncm91bmQ6IGJvb2xlYW47XHJcblxyXG4gICAgcHJvdGVjdGVkIGhlYWRlclRvb2x0aXBNZXNzYWdlczogc3RyaW5nW10gPSBbXTtcclxuICAgIHByb3RlY3RlZCBsaW5lVG9vbHRpcE1lc3NhZ2VzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgIHByaXZhdGUgX3JlbGF0aW9uOiBSZWxhdGlvbkFueVR5cGUgPSBOVUxMX0NVU1RPTUVSX0ZVTExfT0JKRUNUO1xyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlO1xyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25MaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvID0gbmV3IFRyYW5zYWN0aW9uTGluZUluZm8oKTtcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uSW5mbzogVHJhbnNhY3Rpb25JbmZvID0gbmV3IFRyYW5zYWN0aW9uSW5mbygpO1xyXG4gICAgcHJpdmF0ZSBfb3JkZXJMaW5lU2V0czogT3JkZXJMaW5lU2V0SW5mb1tdID0gW107XHJcbiAgICBwcml2YXRlIF90cmFuc2FjdGlvblRvdGFsOiBUcmFuc2FjdGlvblRvdGFsID0gbmV3IFRyYW5zYWN0aW9uVG90YWwoKTtcclxuICAgIHByaXZhdGUgX3NlbGVjdGVkOiBib29sZWFuO1xyXG4gICAgcHJpdmF0ZSBfYmFzZVN1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgICBwcml2YXRlIF9jZmdOYW1lOiBzdHJpbmc7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcclxuICAgICAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgc2NyZWVuQ29uZmlnU2VydmljZTogVHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgaW1hZ2VTZXJ2aWNlOiBUcmFuc2FjdGlvbkltYWdlU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgZGljdGlvbmFyeVNlcnZpY2U6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCB0cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fYmFzZVN1YnMucHVzaChcclxuICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS50cmFuc2FjdGlvbkxpbmVWaXNpYmlsaXR5Q2hhbmdlLnN1YnNjcmliZSgoZGF0YTogeyBsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvLCB2aXNpYmxlOiBib29sZWFuIH0pID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChkYXRhICYmIHRoaXMudHJhbnNhY3Rpb25MaW5lICYmIGRhdGEubGluZS5saW5lTnIgPT09IHRoaXMudHJhbnNhY3Rpb25MaW5lLmxpbmVOcikge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmlzaWJpbGl0eVNldChkYXRhLnZpc2libGUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgdGhpcy5zY3JlZW5Db25maWdTZXJ2aWNlLmNvbmZpZ1NldC5zdWJzY3JpYmUoKGNvbmZpZ09iamVjdHM6IHN0cmluZ1tdKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoY29uZmlnT2JqZWN0cyAmJiBjb25maWdPYmplY3RzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZ1NldCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fYmFzZVN1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGhhbmRsZUNvbW1pdCh2YWx1ZTogYW55KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgaWYgKGF3YWl0IHRoaXMubG9ja1RyYW5zYWN0aW9uKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5jb21taXR0aW5nID0gdHJ1ZTtcclxuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2U6IGJvb2xlYW4gPSBhd2FpdCB0aGlzLmNvbW1pdCh2YWx1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuY29tbWl0dGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBkZWxldGVUcmFuc2FjdGlvbkxpbmVDbGljayhldmVudDogTW91c2VFdmVudCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgaWYgKGF3YWl0IHRoaXMubG9ja1RyYW5zYWN0aW9uKCkpIHtcclxuICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZGVsZXRlVHJhbnNhY3Rpb25MaW5lKHRoaXMudHJhbnNhY3Rpb25JbmZvLnV1aWQsIHRoaXMudHJhbnNhY3Rpb25MaW5lLnV1aWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlVmlzaWJpbGl0eUNoYW5nZShsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvLCB2aXNpYmxlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS50cmFuc2FjdGlvbkxpbmVWaXNpYmlsaXR5Q2hhbmdlLm5leHQoe2xpbmUsIHZpc2libGV9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgY29tbWl0KHZhbHVlOiBhbnkpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCB2aXNpYmlsaXR5U2V0KHZpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZpc2libGUgPSB2aXNpYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBjb25maWdTZXQoKTogdm9pZCB7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uU2V0KCk6IHZvaWQge1xyXG4gICAgICAgIC8vIG92ZXJyaWRkZW4gYnkgZGVzY2VuZGVudHNcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgcmVsYXRpb25TZXQoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gb3ZlcnJpZGRlbiBieSBkZXNjZW5kZW50c1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCB0cmFuc2FjdGlvbkxpbmVTZXQoKTogdm9pZCB7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gb3ZlcnJpZGRlbiBieSBkZXNjZW5kZW50c1xyXG4gICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uSW5mb1NldCgpOiB2b2lkIHtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgb3JkZXJMaW5lU2V0c1NldCgpOiB2b2lkIHtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgYWRkTGluZVRvb2x0aXBNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmxpbmVUb29sdGlwTWVzc2FnZXMuaW5kZXhPZihtZXNzYWdlKSA8IDApIHtcclxuICAgICAgICAgICAgdGhpcy5saW5lVG9vbHRpcE1lc3NhZ2VzLnB1c2goYDxpPiR7bWVzc2FnZX08L2k+YCk7XHJcbiAgICAgICAgICAgIHRoaXMucHJlcGFyZVRvb2x0aXBNZXNzYWdlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBhZGRIZWFkZXJUb29sdGlwTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5oZWFkZXJUb29sdGlwTWVzc2FnZXMuaW5kZXhPZihtZXNzYWdlKSA8IDApIHtcclxuICAgICAgICAgICAgdGhpcy5oZWFkZXJUb29sdGlwTWVzc2FnZXMucHVzaChgPGk+JHttZXNzYWdlfTwvaT5gKTtcclxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlVG9vbHRpcE1lc3NhZ2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHByZXBhcmVUb29sdGlwTWVzc2FnZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRvb2x0aXBNZXNzYWdlID0gJyc7XHJcbiAgICAgICAgbGV0IHRvb2x0aXBzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICAgIGlmICh0aGlzLmhlYWRlclRvb2x0aXBNZXNzYWdlcy5sZW5ndGggPiAwIHx8IHRoaXMubGluZVRvb2x0aXBNZXNzYWdlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRvb2x0aXBzID0gdGhpcy5oZWFkZXJUb29sdGlwTWVzc2FnZXMuY29uY2F0KHRoaXMubGluZVRvb2x0aXBNZXNzYWdlcyk7XHJcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcE1lc3NhZ2UgPSBgJHt0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldCgnRklFTERfSVNfUkVBRE9OTFlfQkVDQVVTRScpfTwvYnI+PC9icj4ke3Rvb2x0aXBzLmpvaW4oJzwvYnI+Jyl9YDtcclxuICAgICAgICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIG92ZXJyaWRkZW4gYnkgZGVzY2VuZGVudHNcclxuICAgIHByb3RlY3RlZCB0cmFuc2FjdGlvblRvdGFsU2V0KCk6IHZvaWQge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZGV0ZWN0Q2hhbmdlcygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgYXN5bmMgbG9ja1RyYW5zYWN0aW9uKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGlmICh0aGlzLmxvY2tBbmRTYXZlICYmIHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS50cnlUb0xvY2tUcmFuc2FjdGlvbih0aGlzLnRyYW5zYWN0aW9uSW5mby5pZCwgdGhpcy50cmFuc2FjdGlvbkluZm8udmVyc2lvbik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBhc3luYyByb2xsYmFjaygpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgICAvLyB0b2RvOiBzaG91bGQgYmUgYW4gdW5sb2NrIGZ1bmN0aW9uIGluIHRoZSBiYWNrZW5kLCBidXQgdGhhdCBkb2Vzbid0IGV4aXN0IHlldFxyXG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5yb2xsYmFjaygpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBfY2hlY2tIZWFkZXJSZWFkb25seSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmhlYWRlclRvb2x0aXBNZXNzYWdlcy5sZW5ndGggPSAwO1xyXG4gICAgICAgIHRoaXMuaGVhZGVyUmVhZG9ubHkgPSB0aGlzLmhlYWRlclJlYWRvbmx5IHx8IHRoaXMuZnVsbHlJbnZvaWNlZCB8fCB0aGlzLmZ1bGx5RGVsaXZlcmVkO1xyXG4gICAgICAgIGlmICh0aGlzLmZ1bGx5SW52b2ljZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5hZGRIZWFkZXJUb29sdGlwTWVzc2FnZSh0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldCgnQ09NUExFVEVMWV9JTlZPSUNFRCcpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuZnVsbHlEZWxpdmVyZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5hZGRIZWFkZXJUb29sdGlwTWVzc2FnZSh0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldCgnQ09NUExFVEVMWV9ERUxJVkVSRUQnKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=
382
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUV4RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDekYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBRzNGLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUVuRixPQUFPLEVBQUMsWUFBWSxF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ZSxjQUMzQixLQUFLO3NCQUdMLEtBQUs7dUJBRUwsV0FBVyxTQUFDLG1CQUFtQixjQUMvQixLQUFLO3VCQVlMLFdBQVcsU0FBQyxpQkFBaUIsY0FDN0IsS0FBSztxQkFHTCxXQUFXLFNBQUMsNkJBQTZCOzZCQUd6QyxNQUFNO3FCQUdOLFdBQVcsU0FBQyxlQUFlO3dCQUczQixXQUFXLFNBQUMsa0JBQWtCO3lCQU85QixXQUFXLFNBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby1yZXNwb25zZS5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbmZvfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25LaW5kfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS90cmFuc2FjdGlvbi1raW5kLmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1saW5lLWluZm8uYm8nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uVG90YWx9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi10b3RhbC5ibyc7XHJcbmltcG9ydCB7TGluZU9wZXJhdGlvblN0YXR1c30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2xpbmUtb3BlcmF0aW9uLXN0YXR1cy5ibyc7XHJcbmltcG9ydCB7UmVsYXRpb25BbnlUeXBlfSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tYW55LXR5cGUnO1xyXG5pbXBvcnQge05VTExfQ1VTVE9NRVJfRlVMTF9PQkpFQ1R9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9udWwtcmVsYXRpb24tb2JqZWN0JztcclxuaW1wb3J0IHtSZWxhdGlvbk5hbWVLaW5kfSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvZW51bS9yZWxhdGlvbi1uYW1lLWtpbmQuZW51bSc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9IGZyb20gJy4uLy4uLy4uL2VudW0vdHJhbnNhY3Rpb24tdHlwZS1jYXRlZ29yeS5lbnVtJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbWFnZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24taW1hZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtSZWxhdGlvbktpbmR9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9lbnVtL3JlbGF0aW9uLWtpbmQuZW51bSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25EZWxpdmVyeUNvc3RMaW5lSW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWRlbGl2ZXJ5LWNvc3QtbGluZS1pbmZvLmJvJztcclxuaW1wb3J0IHtPcmRlckxpbmVTZXRJbmZvfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvb3JkZXItbGluZS1zZXQtaW5mby5ibyc7XHJcbmltcG9ydCB7U2NyZWVuQ29uZmlnQWRhcHRlckNvbXBvbmVudH0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25DZmdOYW1lfSBmcm9tICcuLi8uLi8uLi9lbnVtL3RyYW5zYWN0aW9uLWNmZy1uYW1lLmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2NyZWVuLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBTY3JlZW5Db25maWdBZGFwdGVyQ29tcG9uZW50IHtcclxuICAgIHB1YmxpYyByZWFkb25seSBjZmdOYW1lczogdHlwZW9mIFRyYW5zYWN0aW9uQ2ZnTmFtZSA9IFRyYW5zYWN0aW9uQ2ZnTmFtZTtcclxuICAgIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IHJlbEtpbmQ6IHR5cGVvZiBSZWxhdGlvbktpbmQgPSBSZWxhdGlvbktpbmQ7XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNLaW5kOiB0eXBlb2YgVHJhbnNhY3Rpb25LaW5kID0gVHJhbnNhY3Rpb25LaW5kO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGNhdGVnb3J5OiB0eXBlb2YgVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkgPSBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBjZmdOYW1lKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl9jZmdOYW1lID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5jb25maWdTZXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGNmZ05hbWUoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY2ZnTmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCB0cmFuc2FjdGlvbih2YWx1ZTogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UpIHtcclxuICAgICAgICB0aGlzLl90cmFuc2FjdGlvbiA9IHZhbHVlO1xyXG4gICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbikge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uSW5mbyA9IHRoaXMuX3RyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mbztcclxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25LaW5kID0gdGhpcy50cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25LaW5kO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc1NlcnZpY2UgPSB0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25LaW5kID09PSBUcmFuc2FjdGlvbktpbmQuU2VydmljZU9yZGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvbkxpbmVzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZXMgPSB0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvbkxpbmVzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbi5kZWxpdmVyeUNvc3RMaW5lcykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kZWxpdmVyeUNvc3RMaW5lcyA9IHRoaXMuX3RyYW5zYWN0aW9uLmRlbGl2ZXJ5Q29zdExpbmVzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvblRvdGFsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uVG90YWwgPSB0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvblRvdGFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbi5saW5lT3BlcmF0aW9uU3RhdHVzZXMpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubGluZU9wZXJhdGlvblN0YXR1c2VzID0gdGhpcy5fdHJhbnNhY3Rpb24ubGluZU9wZXJhdGlvblN0YXR1c2VzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8gJiYgdGhpcy5fdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnV1aWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25TZXQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmhhc011bHRpcGxlTGluZXMgPSB0aGlzLnRyYW5zYWN0aW9uTGluZXMubGVuZ3RoICsgdGhpcy5kZWxpdmVyeUNvc3RMaW5lcy5sZW5ndGggPiAxO1xyXG4gICAgICAgICAgICB0aGlzLmNhbkFsbExpbmVzQmVEZWxpdmVyZWQgPSB0aGlzLnRyYW5zYWN0aW9uTGluZXMuZmlsdGVyKGwgPT4gbC5hcnRpY2xlTGluZVN0YXR1cyA/IChsLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5VG9EZWxpdmVyID09PSAwKSA6IGZhbHNlKS5sZW5ndGggPT09IDA7XHJcbiAgICAgICAgICAgIHRoaXMuY2FuQWxsTGluZXNCZUludm9pY2VkID0gdGhpcy50cmFuc2FjdGlvbkxpbmVzLmZpbHRlcihsID0+IGwuYXJ0aWNsZUxpbmVTdGF0dXMgPyAobC5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVRvSW52b2ljZSA9PT0gMCkgOiBmYWxzZSkubGVuZ3RoID09PSAwO1xyXG4gICAgICAgICAgICB0aGlzLmhhc0xpbmVzVG9EZWxpdmVyID0gdGhpcy50cmFuc2FjdGlvbkluZm8uYWxsb3dQYXJ0aWFsRGVsaXZlcnkgP1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmVzLmZpbHRlcihsID0+IGwuYXJ0aWNsZUxpbmVTdGF0dXMgPyBsLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5VG9EZWxpdmVyICE9PSAwIDogZmFsc2UpLmxlbmd0aCA+IDAgOlxyXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmVzLmZpbHRlcihsID0+IGwuYXJ0aWNsZUxpbmVTdGF0dXMgPyBsLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5VG9EZWxpdmVyID09PSAwIDogZmFsc2UpLmxlbmd0aCA9PT0gMDtcclxuICAgICAgICAgICAgdGhpcy5oYXNMaW5lc1RvSW52b2ljZSA9IHRoaXMudHJhbnNhY3Rpb25JbmZvLmFsbG93UGFydGlhbERlbGl2ZXJ5ID9cclxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lcy5maWx0ZXIobCA9PiBsLmFydGljbGVMaW5lU3RhdHVzID8gbC5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVRvSW52b2ljZSAhPT0gMCA6IGZhbHNlKS5sZW5ndGggPiAwIDpcclxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lcy5maWx0ZXIobCA9PiBsLmFydGljbGVMaW5lU3RhdHVzID8gbC5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVRvSW52b2ljZSA9PT0gMCA6IGZhbHNlKS5sZW5ndGggPT09IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgdHJhbnNhY3Rpb24oKTogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2Uge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCB0cmFuc2FjdGlvbkxpbmUodmFsdWU6IFRyYW5zYWN0aW9uTGluZUluZm8pIHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25MaW5lID0gdmFsdWU7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbkxpbmUuc2FsZXNVbml0RGVjaW1hbHMpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGVjaW1hbHMgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuc2FsZXNVbml0RGVjaW1hbHM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLnNlbGVjdGVkID0gdGhpcy5fc2VsZWN0ZWQ7XHJcbiAgICAgICAgICAgIHRoaXMuaXNUZXh0ID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmlzVGV4dDtcclxuICAgICAgICAgICAgdGhpcy5pc0FydGljbGUgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuaXNBcnRpY2xlO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVIYXNMb2dpc3RpY2FsU3RhdGUgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiZcclxuICAgICAgICAgICAgICAgICgodGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eURlbGl2ZXJlZCcpICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eURlbGl2ZXJlZCAhPT0gMCkgfHxcclxuICAgICAgICAgICAgICAgICAgICAodGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eUludm9pY2VkJykgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5SW52b2ljZWQgIT09IDApIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgKHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlQaWNrZWQnKSAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlQaWNrZWQgIT09IDApIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgKHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlUb0JlUGlja2VkJykgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5VG9CZVBpY2tlZCAhPT0gMCkgfHxcclxuICAgICAgICAgICAgICAgICAgICAodGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eUFsbG9jYXRlZCcpICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eUFsbG9jYXRlZCA8IDApKTtcclxuICAgICAgICAgICAgdGhpcy5saW5lSXNPcmRlcmVkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgnaXNGdWxseU9yZGVyZWQnKSAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaXNGdWxseU9yZGVyZWQ7XHJcbiAgICAgICAgICAgIHRoaXMubGluZUlzRGVsaXZlcmVkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgnaXNGdWxseURlbGl2ZXJlZCcpICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5pc0Z1bGx5RGVsaXZlcmVkO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVJc0ludm9pY2VkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgnaXNGdWxseUludm9pY2VkJykgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmlzRnVsbHlJbnZvaWNlZDtcclxuICAgICAgICAgICAgdGhpcy5saW5lSXNSZWNlaXZlZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ2lzRnVsbHlSZWNlaXZlZCcpICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5pc0Z1bGx5UmVjZWl2ZWQ7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVRvSW52b2ljZSA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5VG9JbnZvaWNlJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUb0ludm9pY2UgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eUludm9pY2VkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlJbnZvaWNlZCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5SW52b2ljZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVRvUmVjZWl2ZSA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5VG9SZWNlaXZlJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUb1JlY2VpdmUgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVJlY2VpdmVkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlSZWNlaXZlZCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5UmVjZWl2ZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVRvRGVsaXZlciA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5VG9EZWxpdmVyJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUb0RlbGl2ZXIgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eURlbGl2ZXJlZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5RGVsaXZlcmVkJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlEZWxpdmVyZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVRvQWxsb2NhdGUgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVRvQWxsb2NhdGUnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVRvQWxsb2NhdGUgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eUFsbG9jYXRlZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5QWxsb2NhdGVkJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlBbGxvY2F0ZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eU9yZGVyZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eU9yZGVyZWQnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eU9yZGVyZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVBsYW5uaW5nUmVxdWVzdGVkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlQbGFubmluZ1JlcXVlc3RlZCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5UGxhbm5pbmdSZXF1ZXN0ZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVBsYW5uaW5nUHJlZmVycmVkRGF0ZUVudGVyZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVBsYW5uaW5nUHJlZmVycmVkRGF0ZUVudGVyZWQnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVBsYW5uaW5nUHJlZmVycmVkRGF0ZUVudGVyZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVRvQmVQaWNrZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVRvQmVQaWNrZWQnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVRvQmVQaWNrZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVBpY2tlZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5UGlja2VkJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlQaWNrZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVBsYW5uaW5nRmluYWwgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVBsYW5uaW5nRmluYWwnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVBsYW5uaW5nRmluYWwgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVJlY2VpdmVkVW5wcm9jZXNzZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVJlY2VpdmVkVW5wcm9jZXNzZWQnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVJlY2VpdmVkVW5wcm9jZXNzZWQgOiAwO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdHlQdXJjaGFzZUNvbmZpcm1lZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5UHVyY2hhc2VDb25maXJtZWQnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVB1cmNoYXNlQ29uZmlybWVkIDogMDtcclxuICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdHlUcmFuc3BvcnROb3RpZmljYXRpb24gPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVRyYW5zcG9ydE5vdGlmaWNhdGlvbicpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5VHJhbnNwb3J0Tm90aWZpY2F0aW9uIDogMDtcclxuICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdHlJbnZvaWNlQ29udHJvbCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5SW52b2ljZUNvbnRyb2wnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eUludm9pY2VDb250cm9sIDogMDtcclxuICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmVTZXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCB0cmFuc2FjdGlvbkxpbmUoKTogVHJhbnNhY3Rpb25MaW5lSW5mbyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uTGluZTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCB0cmFuc2FjdGlvbkluZm8odmFsdWU6IFRyYW5zYWN0aW9uSW5mbykge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmhlYWRlclJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcE1lc3NhZ2UgPSBcIlwiO1xyXG4gICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkluZm8gPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbktpbmQgPSB0aGlzLl90cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25LaW5kO1xyXG4gICAgICAgICAgICB0aGlzLmZ1bGx5SW52b2ljZWQgPVxyXG4gICAgICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25JbmZvICYmXHJcbiAgICAgICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkluZm8uaGVhZGVySW5mb1N0YXR1cyAmJlxyXG4gICAgICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25JbmZvLmhlYWRlckluZm9TdGF0dXMuaGFzT3duUHJvcGVydHkoJ2lzRnVsbHlJbnZvaWNlZCcpICYmXHJcbiAgICAgICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkluZm8uaGVhZGVySW5mb1N0YXR1cy5pc0Z1bGx5SW52b2ljZWQ7XHJcbiAgICAgICAgICAgIHRoaXMuZnVsbHlEZWxpdmVyZWQgPVxyXG4gICAgICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25JbmZvICYmXHJcbiAgICAgICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkluZm8uaGVhZGVySW5mb1N0YXR1cyAmJlxyXG4gICAgICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25JbmZvLmhlYWRlckluZm9TdGF0dXMuaGFzT3duUHJvcGVydHkoJ2lzRnVsbHlEZWxpdmVyZWQnKSAmJlxyXG4gICAgICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25JbmZvLmhlYWRlckluZm9TdGF0dXMuaXNGdWxseURlbGl2ZXJlZDtcclxuICAgICAgICAgICAgdGhpcy5fY2hlY2tIZWFkZXJSZWFkb25seSgpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuX3RyYW5zYWN0aW9uSW5mby5vcmRlckxpbmVTZXRzKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5vcmRlckxpbmVTZXRzID0gdGhpcy5fdHJhbnNhY3Rpb25JbmZvLm9yZGVyTGluZVNldHNcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uSW5mb1NldCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHRyYW5zYWN0aW9uSW5mbygpOiBUcmFuc2FjdGlvbkluZm8ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbkluZm87XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgb3JkZXJMaW5lU2V0cyh2YWx1ZTogT3JkZXJMaW5lU2V0SW5mb1tdKSB7XHJcbiAgICAgIHRoaXMuX29yZGVyTGluZVNldHMgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IG9yZGVyTGluZVNldHMoKTogT3JkZXJMaW5lU2V0SW5mb1tdIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX29yZGVyTGluZVNldHM7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgdHJhbnNhY3Rpb25Ub3RhbCh2YWx1ZTogVHJhbnNhY3Rpb25Ub3RhbCkge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvblRvdGFsID0gdmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25Ub3RhbFNldCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHRyYW5zYWN0aW9uVG90YWwoKTogVHJhbnNhY3Rpb25Ub3RhbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uVG90YWw7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgcmVsYXRpb24odmFsdWU6IFJlbGF0aW9uQW55VHlwZSkge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9yZWxhdGlvbiA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLnJlbGF0aW9uS2luZCA9IHRoaXMuX3JlbGF0aW9uLnJlbGF0aW9uVHlwZTtcclxuICAgICAgICAgICAgdGhpcy5yZWxhdGlvblR5cGUgPSB0aGlzLl9yZWxhdGlvbi50eXBlO1xyXG4gICAgICAgICAgICB0aGlzLnJlbGF0aW9uU2V0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgcmVsYXRpb24oKTogUmVsYXRpb25BbnlUeXBlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcmVsYXRpb247XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBsb2NrQW5kU2F2ZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBleHBhbmRlZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5wcmV2aWV3JylcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgcHJldmlldzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaXNGaXJzdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1zZWxlY3RlZCcpXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBzZWxlY3RlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkID0gdmFsdWU7XHJcbiAgICAgICAgaWYgKHRoaXMudHJhbnNhY3Rpb25MaW5lKSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLnNlbGVjdGVkID0gdGhpcy5fc2VsZWN0ZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgc2VsZWN0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MucmVhZC1vbmx5JylcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10cmFuc2FjdGlvbi1oaWRkZW5cIilcclxuICAgIHB1YmxpYyBoaWRkZW46IGJvb2xlYW47XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVsYXRpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxSZWxhdGlvbkFueVR5cGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZWxhdGlvbkFueVR5cGU+KCk7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy10ZXh0JylcclxuICAgIHB1YmxpYyBpc1RleHQ6IGJvb2xlYW47XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1hcnRpY2xlJylcclxuICAgIHB1YmxpYyBpc0FydGljbGU6IGJvb2xlYW47XHJcblxyXG4gICAgcHVibGljIGdldCBtb2RlbCgpOiBUcmFuc2FjdGlvbkxpbmVJbmZvIHwgVHJhbnNhY3Rpb25JbmZvIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmhhc093blByb3BlcnR5KCdsaW5lTnInKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZSA6IHRoaXMuX3RyYW5zYWN0aW9uSW5mbztcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzcy5zaG93LWxvYWRlclwiKVxyXG4gICAgcHVibGljIHNob3dMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwdWJsaWMgaXNTZXJ2aWNlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgbGluZU9wZXJhdGlvblN0YXR1c2VzOiBMaW5lT3BlcmF0aW9uU3RhdHVzW10gPSBbXTtcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkxpbmVzOiBUcmFuc2FjdGlvbkxpbmVJbmZvW10gPSBbXTtcclxuICAgIHB1YmxpYyBkZWxpdmVyeUNvc3RMaW5lczogVHJhbnNhY3Rpb25EZWxpdmVyeUNvc3RMaW5lSW5mb1tdID0gW107XHJcbiAgICBwdWJsaWMgcmVsYXRpb25LaW5kOiBSZWxhdGlvbktpbmQgPSBSZWxhdGlvbktpbmQuQ3VzdG9tZXI7XHJcbiAgICBwdWJsaWMgcmVsYXRpb25UeXBlOiBSZWxhdGlvbk5hbWVLaW5kID0gUmVsYXRpb25OYW1lS2luZC5Qcml2YXRlO1xyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uS2luZDogVHJhbnNhY3Rpb25LaW5kID0gVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXI7XHJcbiAgICBwdWJsaWMgdmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGhlYWRlclJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgY29tbWl0dGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIHRvb2x0aXBNZXNzYWdlOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgZnVsbHlJbnZvaWNlZDogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBmdWxseURlbGl2ZXJlZDogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBoYXNNdWx0aXBsZUxpbmVzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgY2FuQWxsTGluZXNCZURlbGl2ZXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGNhbkFsbExpbmVzQmVJbnZvaWNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGhhc0xpbmVzVG9EZWxpdmVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaGFzTGluZXNUb0ludm9pY2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwdWJsaWMgbGluZUhhc0xvZ2lzdGljYWxTdGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGxpbmVJc09yZGVyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBsaW5lSXNEZWxpdmVyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBsaW5lSXNJbnZvaWNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGxpbmVJc1JlY2VpdmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5VG9JbnZvaWNlOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eUludm9pY2VkOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eVRvUmVjZWl2ZTogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlSZWNlaXZlZDogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlUb0RlbGl2ZXI6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5RGVsaXZlcmVkOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eVRvQWxsb2NhdGU6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5QWxsb2NhdGVkOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eU9yZGVyZWQ6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5UGxhbm5pbmdSZXF1ZXN0ZWQ6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5UGxhbm5pbmdQcmVmZXJyZWREYXRlRW50ZXJlZDogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlUb0JlUGlja2VkOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eVBpY2tlZDogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlQbGFubmluZ0ZpbmFsOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eVJlY2VpdmVkVW5wcm9jZXNzZWQ6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5UHVyY2hhc2VDb25maXJtZWQ6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5VHJhbnNwb3J0Tm90aWZpY2F0aW9uOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eUludm9pY2VDb250cm9sOiBudW1iZXIgPSAwO1xyXG5cclxuICAgIHB1YmxpYyBvYmplY3RDb25maWdOYW1lOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW47XHJcbiAgICBwdWJsaWMgZm9yY2VSZWFkb25seTogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBtYXhMZW5ndGg6IG51bWJlcjtcclxuICAgIHB1YmxpYyBkZWNpbWFsczogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyByZWRFcnJvckJhY2tncm91bmQ6IGJvb2xlYW47XHJcblxyXG4gICAgcHJvdGVjdGVkIGhlYWRlclRvb2x0aXBNZXNzYWdlczogc3RyaW5nW10gPSBbXTtcclxuICAgIHByb3RlY3RlZCBsaW5lVG9vbHRpcE1lc3NhZ2VzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgIHByaXZhdGUgX3JlbGF0aW9uOiBSZWxhdGlvbkFueVR5cGUgPSBOVUxMX0NVU1RPTUVSX0ZVTExfT0JKRUNUO1xyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlO1xyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25MaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvID0gbmV3IFRyYW5zYWN0aW9uTGluZUluZm8oKTtcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uSW5mbzogVHJhbnNhY3Rpb25JbmZvID0gbmV3IFRyYW5zYWN0aW9uSW5mbygpO1xyXG4gICAgcHJpdmF0ZSBfb3JkZXJMaW5lU2V0czogT3JkZXJMaW5lU2V0SW5mb1tdID0gW107XHJcbiAgICBwcml2YXRlIF90cmFuc2FjdGlvblRvdGFsOiBUcmFuc2FjdGlvblRvdGFsID0gbmV3IFRyYW5zYWN0aW9uVG90YWwoKTtcclxuICAgIHByaXZhdGUgX3NlbGVjdGVkOiBib29sZWFuO1xyXG4gICAgcHJpdmF0ZSBfYmFzZVN1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgICBwcml2YXRlIF9jZmdOYW1lOiBzdHJpbmc7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcclxuICAgICAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgc2NyZWVuQ29uZmlnU2VydmljZTogVHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgaW1hZ2VTZXJ2aWNlOiBUcmFuc2FjdGlvbkltYWdlU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgZGljdGlvbmFyeVNlcnZpY2U6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCB0cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fYmFzZVN1YnMucHVzaChcclxuICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS50cmFuc2FjdGlvbkxpbmVWaXNpYmlsaXR5Q2hhbmdlLnN1YnNjcmliZSgoZGF0YTogeyBsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvLCB2aXNpYmxlOiBib29sZWFuIH0pID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChkYXRhICYmIHRoaXMudHJhbnNhY3Rpb25MaW5lICYmIGRhdGEubGluZS5saW5lTnIgPT09IHRoaXMudHJhbnNhY3Rpb25MaW5lLmxpbmVOcikge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmlzaWJpbGl0eVNldChkYXRhLnZpc2libGUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgdGhpcy5zY3JlZW5Db25maWdTZXJ2aWNlLmNvbmZpZ1NldC5zdWJzY3JpYmUoKGNvbmZpZ09iamVjdHM6IHN0cmluZ1tdKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoY29uZmlnT2JqZWN0cyAmJiBjb25maWdPYmplY3RzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZ1NldCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fYmFzZVN1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGhhbmRsZUNvbW1pdCh2YWx1ZTogYW55KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgaWYgKGF3YWl0IHRoaXMubG9ja1RyYW5zYWN0aW9uKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5jb21taXR0aW5nID0gdHJ1ZTtcclxuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2U6IGJvb2xlYW4gPSBhd2FpdCB0aGlzLmNvbW1pdCh2YWx1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuY29tbWl0dGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBkZWxldGVUcmFuc2FjdGlvbkxpbmVDbGljayhldmVudDogTW91c2VFdmVudCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgaWYgKGF3YWl0IHRoaXMubG9ja1RyYW5zYWN0aW9uKCkpIHtcclxuICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZGVsZXRlVHJhbnNhY3Rpb25MaW5lKHRoaXMudHJhbnNhY3Rpb25JbmZvLnV1aWQsIHRoaXMudHJhbnNhY3Rpb25MaW5lLnV1aWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlVmlzaWJpbGl0eUNoYW5nZShsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvLCB2aXNpYmxlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS50cmFuc2FjdGlvbkxpbmVWaXNpYmlsaXR5Q2hhbmdlLm5leHQoe2xpbmUsIHZpc2libGV9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgY29tbWl0KHZhbHVlOiBhbnkpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCB2aXNpYmlsaXR5U2V0KHZpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZpc2libGUgPSB2aXNpYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBjb25maWdTZXQoKTogdm9pZCB7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uU2V0KCk6IHZvaWQge1xyXG4gICAgICAgIC8vIG92ZXJyaWRkZW4gYnkgZGVzY2VuZGVudHNcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgcmVsYXRpb25TZXQoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gb3ZlcnJpZGRlbiBieSBkZXNjZW5kZW50c1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCB0cmFuc2FjdGlvbkxpbmVTZXQoKTogdm9pZCB7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gb3ZlcnJpZGRlbiBieSBkZXNjZW5kZW50c1xyXG4gICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uSW5mb1NldCgpOiB2b2lkIHtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgb3JkZXJMaW5lU2V0c1NldCgpOiB2b2lkIHtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgYWRkTGluZVRvb2x0aXBNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmxpbmVUb29sdGlwTWVzc2FnZXMuaW5kZXhPZihtZXNzYWdlKSA8IDApIHtcclxuICAgICAgICAgICAgdGhpcy5saW5lVG9vbHRpcE1lc3NhZ2VzLnB1c2goYDxpPiR7bWVzc2FnZX08L2k+YCk7XHJcbiAgICAgICAgICAgIHRoaXMucHJlcGFyZVRvb2x0aXBNZXNzYWdlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBhZGRIZWFkZXJUb29sdGlwTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5oZWFkZXJUb29sdGlwTWVzc2FnZXMuaW5kZXhPZihtZXNzYWdlKSA8IDApIHtcclxuICAgICAgICAgICAgdGhpcy5oZWFkZXJUb29sdGlwTWVzc2FnZXMucHVzaChgPGk+JHttZXNzYWdlfTwvaT5gKTtcclxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlVG9vbHRpcE1lc3NhZ2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHByZXBhcmVUb29sdGlwTWVzc2FnZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRvb2x0aXBNZXNzYWdlID0gJyc7XHJcbiAgICAgICAgbGV0IHRvb2x0aXBzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICAgIGlmICh0aGlzLmhlYWRlclRvb2x0aXBNZXNzYWdlcy5sZW5ndGggPiAwIHx8IHRoaXMubGluZVRvb2x0aXBNZXNzYWdlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRvb2x0aXBzID0gdGhpcy5oZWFkZXJUb29sdGlwTWVzc2FnZXMuY29uY2F0KHRoaXMubGluZVRvb2x0aXBNZXNzYWdlcyk7XHJcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcE1lc3NhZ2UgPSBgJHt0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldCgnRklFTERfSVNfUkVBRE9OTFlfQkVDQVVTRScpfTwvYnI+PC9icj4ke3Rvb2x0aXBzLmpvaW4oJzwvYnI+Jyl9YDtcclxuICAgICAgICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIG92ZXJyaWRkZW4gYnkgZGVzY2VuZGVudHNcclxuICAgIHByb3RlY3RlZCB0cmFuc2FjdGlvblRvdGFsU2V0KCk6IHZvaWQge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZGV0ZWN0Q2hhbmdlcygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgYXN5bmMgbG9ja1RyYW5zYWN0aW9uKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGlmICh0aGlzLmxvY2tBbmRTYXZlICYmIHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS50cnlUb0xvY2tUcmFuc2FjdGlvbih0aGlzLnRyYW5zYWN0aW9uSW5mby5pZCwgdGhpcy50cmFuc2FjdGlvbkluZm8udmVyc2lvbik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBhc3luYyByb2xsYmFjaygpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgICAvLyB0b2RvOiBzaG91bGQgYmUgYW4gdW5sb2NrIGZ1bmN0aW9uIGluIHRoZSBiYWNrZW5kLCBidXQgdGhhdCBkb2Vzbid0IGV4aXN0IHlldFxyXG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5yb2xsYmFjaygpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBfY2hlY2tIZWFkZXJSZWFkb25seSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmhlYWRlclRvb2x0aXBNZXNzYWdlcy5sZW5ndGggPSAwO1xyXG4gICAgICAgIHRoaXMuaGVhZGVyUmVhZG9ubHkgPSB0aGlzLmhlYWRlclJlYWRvbmx5IHx8IHRoaXMuZnVsbHlJbnZvaWNlZCB8fCB0aGlzLmZ1bGx5RGVsaXZlcmVkO1xyXG4gICAgICAgIGlmICh0aGlzLmZ1bGx5SW52b2ljZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5hZGRIZWFkZXJUb29sdGlwTWVzc2FnZSh0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldCgnQ09NUExFVEVMWV9JTlZPSUNFRCcpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuZnVsbHlEZWxpdmVyZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5hZGRIZWFkZXJUb29sdGlwTWVzc2FnZSh0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldCgnQ09NUExFVEVMWV9ERUxJVkVSRUQnKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=
@@ -45,7 +45,7 @@ export class DialogCatalogComponent {
45
45
  }
46
46
  ngOnInit() {
47
47
  return __awaiter(this, void 0, void 0, function* () {
48
- this.catalogSettings = this._transactionService.optionsService.settings;
48
+ this.catalogSettings = Object.assign({}, this._transactionService.optionsService.settings);
49
49
  if (this.catalogSettings) {
50
50
  this.catalogSettings.createWebOrder = false;
51
51
  this.catalogSettings.options = this.options;
@@ -268,4 +268,4 @@ DialogCatalogComponent.propDecorators = {
268
268
  addExternalArticleClicked: [{ type: Output }],
269
269
  showClass: [{ type: HostBinding, args: ["class.co-dialog-catalog",] }]
270
270
  };
271
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNhdGFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvZGlhbG9nL2NhdGFsb2cvZGlhbG9nLWNhdGFsb2cvZGlhbG9nLWNhdGFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEgsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBSXRFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9FLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQzFHLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQ3pILE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUluRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDakUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDckcsT0FBTyxFQUFDLDhCQUE4QixFQUFFLHVCQUF1QixFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFrRnZJLE1B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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZEVDtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsY0FBYztvQkFDZCx1QkFBdUI7b0JBQ3ZCLDhCQUE4QjtvQkFDOUIsc0JBQXNCO29CQUN0QixtQkFBbUI7aUJBQ3BCO2dCQUNELFVBQVUsRUFBRTtvQkFDVixPQUFPLENBQUMsaUJBQWlCLEVBQUU7d0JBQ3pCLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLGtCQUFrQixFQUFDLENBQUMsQ0FBQzt3QkFDckQsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsZUFBZSxFQUFDLENBQUMsQ0FBQzt3QkFDbkQsVUFBVSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO3FCQUMzRCxDQUFDO2lCQUNIO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFsR08sa0JBQWtCO1lBQ0csY0FBYztZQUFuQyxtQkFBbUI7WUFVbkIsY0FBYztZQUlkLGFBQWE7WUFWYixnQkFBZ0I7Ozt5Q0FpR3JCLEtBQUs7c0JBR0wsS0FBSzt5QkFHTCxLQUFLOzZCQUdMLEtBQUs7MEJBR0wsS0FBSzt5QkFHTCxNQUFNOzZCQUdOLE1BQU07NkJBTU4sTUFBTTtnQ0FJTixNQUFNO3VDQUdOLE1BQU07d0NBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QXJ0aWNsZUV4dGVuZGVkfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWV4dGVuZGVkLmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7Q2F0YWxvZ0V2ZW50U2VydmljZSwgQ2F0YWxvZ1NlcnZpY2V9IGZyb20gJ0Bjb2xpam5pdC9jYXRhbG9nJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge0V4dGVybmFsU291cmNlfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9leHRlcm5hbC1zb3VyY2UuYm8nO1xyXG5pbXBvcnQge0V4dGVybmFsU291cmNlVmlld21vZGVsfSBmcm9tICdAY29saWpuaXQvY2F0YWxvZy9saWIvbW9kZWwvZXh0ZXJuYWwtc291cmNlLXZpZXdtb2RlbCc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uLy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQge0NhdGFsb2dEZWZpbml0aW9ufSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9jYXRhbG9nLWRlZmluaXRpb24uYm8nO1xyXG5pbXBvcnQge0V4dGVybmFsQ2F0YWxvZ1N0YXJ0dXBJbmZvfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9leHRlcm5hbC1jYXRhbG9nLXN0YXJ0dXAtaW5mbyc7XHJcbmltcG9ydCB7RXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm9SZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9leHRlcm5hbC1jYXRhbG9nLXN0YXJ0dXAtaW5mby1yZXF1ZXN0JztcclxuaW1wb3J0IHtBcnRpY2xlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZS9hcnRpY2xlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby1yZXNwb25zZS5ibyc7XHJcbmltcG9ydCB7T3JkZXJMaW5lU2V0SW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL29yZGVyLWxpbmUtc2V0LWluZm8uYm8nO1xyXG5pbXBvcnQge0FydGljbGVMaXN0T2JqZWN0RXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtbGlzdC1vYmplY3QtZXh0ZW5kZWQuYm8nO1xyXG5pbXBvcnQge0RpYWxvZ1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2UvZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQge0V4dGVybmFsQ2F0YWxvZ1R5cGVzfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9leHRlcm5hbC1jYXRhbG9nLXR5cGVzLmVudW0nO1xyXG5pbXBvcnQge1Byb2R1Y3RDb25uZWN0b3JBZGFwdGVyU2VydmljZSwgUHJvZHVjdENvbm5lY3RvclNlcnZpY2UsIFByb2R1Y3RFdmVudFNlcnZpY2UsIFByb2R1Y3RTZXR0aW5nc1NlcnZpY2V9IGZyb20gJ0Bjb2xpam5pdC9wcm9kdWN0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLWRpYWxvZy1jYXRhbG9nXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby1kaWFsb2cgKGNsb3NlQ2xpY2spPVwiY2xvc2VDbGljay5lbWl0KCRldmVudClcIiBbQC5kaXNhYmxlZF09XCJkZXN0cm95ZWRcIj5cclxuICAgICAgPGNvLWljb24gKm5nSWY9XCJzaG93RXh0ZXJuYWxDYXRhbG9nXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd1BvaW50TGVmdClcIlxyXG4gICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQmFja0NsaWNrKCRldmVudClcIj48L2NvLWljb24+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2hvd0V4dGVybmFsQ2F0YWxvZ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctY2F0YWxvZy1wcm9kdWN0LXdyYXBwZXJcIiBbY2xhc3Muc2hvdy1wcm9kdWN0XT1cInNob3dQcm9kdWN0XCI+XHJcbiAgICAgICAgICA8Y28tY2F0YWxvZy1zZWFyY2hcclxuICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0NBVEFMT0cnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgIFtzdWJUaXRsZV09XCInU0VBUkNIX0JZX0FSVElDTEVOVU1CRVJfTkFNRV9PUl9ERVNDUklQVElPTicgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgW3NlYXJjaFBsYWNlaG9sZGVyXT1cIidTRUFSQ0hfQllfQVJUSUNMRU5VTUJFUl9PUl9ERVNDUklQVElPTicgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgW2NyZWF0ZUZyb3plbkFydGljbGVdPVwiaGFuZGxlQWRkQXJ0aWNsZUludGVybmFsbHlcIlxyXG4gICAgICAgICAgICAgIFtzaG93TmF2aWdhdGlvbl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbc2V0dGluZ3NdPVwiY2F0YWxvZ1NldHRpbmdzXCJcclxuICAgICAgICAgICAgICAob25FeHRlcm5hbFNvdXJjZUNsaWNrKT1cImhhbmRsZUV4dGVybmFsU291cmNlQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKG9uQWRkQXJ0aWNsZUJ1dHRvbkNsaWNrKT1cImhhbmRsZUFkZEFydGljbGVDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAob25Mb29rQXRBcnRpY2xlQnV0dG9uQ2xpY2spPVwiaGFuZGxlQXJ0aWNsZUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChvbkFydGljbGVDbGljayk9XCJoYW5kbGVBcnRpY2xlQ2xpY2soJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPC9jby1jYXRhbG9nLXNlYXJjaD5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXRhbG9nLWFydGljbGUtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cImJhY2stYnV0dG9uLXByb2R1Y3RcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRMZWZ0KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93UHJvZHVjdCA9IGZhbHNlXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICA8YXBwLWlvbmUtcHJvZHVjdCAqbmdJZj1cInNob3dQcm9kdWN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NrdV09XCJza3VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2V0dGluZ3NdPVwiY2F0YWxvZ1NldHRpbmdzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hhbmRsZUFkZEFydGljbGVJbnRlcm5hbGx5XT1cImhhbmRsZUFkZEFydGljbGVJbnRlcm5hbGx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uQWRkVG9DYXJ0KT1cImhhbmRsZUFkZEFydGljbGVGcm9tQXJ0aWNsZUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICA+PC9hcHAtaW9uZS1wcm9kdWN0PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0V4dGVybmFsQ2F0YWxvZ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctY2F0YWxvZy1wcm9kdWN0LXdyYXBwZXJcIiBbY2xhc3Muc2hvdy1wcm9kdWN0XT1cInNob3dQcm9kdWN0XCI+XHJcblxyXG4gICAgICAgICAgPGNvLWNhdGFsb2ctZXh0ZXJuYWwtc291cmNlXHJcbiAgICAgICAgICAgICAgW2V4dGVybmFsQ2F0YWxvZ1N0YXJ0dXBJbmZvXT1cImNhdGFsb2dJbmZvXCJcclxuICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0NBVEFMT0cnIHwgbG9jYWxpemUgfCBhcHBlbmQ6ICcgJyB8IGFwcGVuZDogZXh0ZXJuYWxDYXRhbG9nTmFtZVwiXHJcbiAgICAgICAgICAgICAgW3N1YlRpdGxlXT1cIidTRUFSQ0hfQllfQVJUSUNMRU5VTUJFUl9OQU1FX09SX0RFU0NSSVBUSU9OJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwiJ1NFQVJDSF9CWV9BUlRJQ0xFTlVNQkVSX09SX0RFU0NSSVBUSU9OJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICBbbmFtZV09XCJleHRlcm5hbENhdGFsb2dOYW1lXCJcclxuICAgICAgICAgICAgICBbb3B0aW9uc109XCJleHRlcm5hbENhdGFsb2dPcHRpb25zXCJcclxuICAgICAgICAgICAgICBbc2hvd05hdmlnYXRpb25dPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgIChhcnRpY2xlQ2xpY2spPVwiaGFuZGxlQ2F0RmFybUFydGljbGVDbGlja2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChhZGRBcnRpY2xlQ2xpY2spPVwiaGFuZGxlQWRkQ2F0RmFybUFydGljbGVDbGlja2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChpRnJhbWVGZWVkYmFja1JlY2VpdmVkKT1cImhhbmRsZUlGcmFtZUZlZWRiYWNrKCRldmVudClcIlxyXG4gICAgICAgICAgPjwvY28tY2F0YWxvZy1leHRlcm5hbC1zb3VyY2U+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhdGFsb2ctYXJ0aWNsZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwiYmFjay1idXR0b24tcHJvZHVjdFwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludExlZnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dQcm9kdWN0ID0gZmFsc2VcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgIDxjby1wcm9kdWN0LWV4dGVybmFsLXNvdXJjZSAqbmdJZj1cInNob3dQcm9kdWN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtleHRlcm5hbFNvdXJjZV09XCJleHRlcm5hbFNvdXJjZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2t1XT1cImNhdFNrdVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYWRkVG9DYXJ0KT1cImhhbmRsZUFkZENhdEZhcm1BcnRpY2xlQ2xpY2tlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgPjwvY28tcHJvZHVjdC1leHRlcm5hbC1zb3VyY2U+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2NvLWRpYWxvZz5cclxuICAgIDxjby1kaWFsb2cgKm5nSWY9XCJhcnRpY2xlRm9yU3RvY2sgJiYgc2hvd1N0b2NrXCIgKGNsb3NlQ2xpY2spPVwiY2FuY2VsU3RvY2tCdXR0b25DbGljaygpXCI+XHJcbiAgICAgIDxjby1zdG9jayBbYXJ0aWNsZV09XCJhcnRpY2xlRm9yU3RvY2tcIiAoY2FuY2VsQnV0dG9uQ2xpY2tlZCk9XCJjYW5jZWxTdG9ja0J1dHRvbkNsaWNrKClcIj48L2NvLXN0b2NrPlxyXG4gICAgPC9jby1kaWFsb2c+XHJcbiAgYCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIENhdGFsb2dTZXJ2aWNlLFxyXG4gICAgUHJvZHVjdENvbm5lY3RvclNlcnZpY2UsXHJcbiAgICBQcm9kdWN0Q29ubmVjdG9yQWRhcHRlclNlcnZpY2UsXHJcbiAgICBQcm9kdWN0U2V0dGluZ3NTZXJ2aWNlLFxyXG4gICAgUHJvZHVjdEV2ZW50U2VydmljZVxyXG4gIF0sXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcihcInNob3dIaWRlUHJvZHVjdFwiLCBbXHJcbiAgICAgIHN0YXRlKFwidHJ1ZVwiLCBzdHlsZSh7dHJhbnNmb3JtOiBcInRyYW5zbGF0ZVgoLTUwJSlcIn0pKSxcclxuICAgICAgc3RhdGUoXCJmYWxzZVwiLCBzdHlsZSh7dHJhbnNmb3JtOiBcInRyYW5zbGF0ZVgoMClcIn0pKSxcclxuICAgICAgdHJhbnNpdGlvbihcImZhbHNlIDw9PiB0cnVlXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKSlcclxuICAgIF0pXHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEaWFsb2dDYXRhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBoYW5kbGVBZGRBcnRpY2xlSW50ZXJuYWxseTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG9wdGlvbnM6IGFueTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGFyYW1ldGVyczogYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93TmF2aWdhdGlvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNsb3NlQ2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGFydGljbGVDbGlja2VkOiBFdmVudEVtaXR0ZXI8QXJ0aWNsZUV4dGVuZGVkPiA9IG5ldyBFdmVudEVtaXR0ZXI8QXJ0aWNsZUV4dGVuZGVkPigpO1xyXG5cclxuICAvKkBPdXRwdXQoKVxyXG4gIHB1YmxpYyBoYW5kbGVBZGRBcnRpY2xlQ2xpY2tlZDogRXZlbnRFbWl0dGVyPEFydGljbGVFeHRlbmRlZD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFydGljbGVFeHRlbmRlZD4oKTsqL1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgaUZyYW1lRmVlZGJhY2s6IEV2ZW50RW1pdHRlcjx7anNvblN0cmluZzogc3RyaW5nLCBjYXRhbG9nOiBudW1iZXIsIHNvdXJjZVR5cGU6IHN0cmluZ30+XHJcbiAgICAgID0gbmV3IEV2ZW50RW1pdHRlcjx7anNvblN0cmluZzogc3RyaW5nLCBjYXRhbG9nOiBudW1iZXIsIHNvdXJjZVR5cGU6IHN0cmluZ30+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhZGRBcnRpY2xlQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHthcnRpY2xlOiBzdHJpbmcgfCBBcnRpY2xlRXh0ZW5kZWQsIHF1YW50aXR5OiBudW1iZXJ9PiA9IG5ldyBFdmVudEVtaXR0ZXI8e2FydGljbGU6IHN0cmluZyB8IEFydGljbGVFeHRlbmRlZCwgcXVhbnRpdHk6IG51bWJlcn0+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhZGRDYXRGYXJtQXJ0aWNsZUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjx7anNvblN0cmluZzogc3RyaW5nLCBjYXRhbG9nOiBudW1iZXJ9PiA9IG5ldyBFdmVudEVtaXR0ZXI8e2pzb25TdHJpbmc6IHN0cmluZywgY2F0YWxvZzogbnVtYmVyfT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGFkZEV4dGVybmFsQXJ0aWNsZUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWRpYWxvZy1jYXRhbG9nXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNhdGFsb2dTZXR0aW5nczogYW55O1xyXG4gIHB1YmxpYyBleHRlcm5hbENhdGFsb2dOYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIHNob3dFeHRlcm5hbENhdGFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgZXh0ZXJuYWxTb3VyY2U6IEV4dGVybmFsU291cmNlO1xyXG4gIHB1YmxpYyBjYXRhbG9nRGVmaW5pdGlvbjogQ2F0YWxvZ0RlZmluaXRpb247XHJcbiAgcHVibGljIGFydGljbGVGb3JTdG9jazogQXJ0aWNsZUV4dGVuZGVkO1xyXG4gIHB1YmxpYyBzaG93U3RvY2s6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd1Byb2R1Y3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd0V4dGVybmFsUHJvZHVjdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBza3U6IHN0cmluZztcclxuICBwdWJsaWMgY2F0U2t1OiBzdHJpbmc7XHJcbiAgcHVibGljIGNhdEFydE5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgZGVzdHJveWVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGV4dGVybmFsQ2F0YWxvZ09wdGlvbnMgPSB7XHJcbiAgICBzZWFyY2hPblN0YXJ0OiB0cnVlXHJcbiAgfVxyXG4gIHB1YmxpYyBjYXRhbG9nSW5mbzogRXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm87XHJcblxyXG4gIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgICBwcml2YXRlIF90cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICAgICAgcHJpdmF0ZSBfY2F0YWxvZ1NlcnZpY2U6IENhdGFsb2dTZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIF9jYXRhbG9nRXZlbnRTZXJ2aWNlOiBDYXRhbG9nRXZlbnRTZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIF9hcnRpY2xlU2VydmljZTogQXJ0aWNsZVNlcnZpY2UsXHJcbiAgICAgIHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuY2F0YWxvZ1NldHRpbmdzID0gdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLm9wdGlvbnNTZXJ2aWNlLnNldHRpbmdzO1xyXG4gICAgaWYgKHRoaXMuY2F0YWxvZ1NldHRpbmdzKSB7XHJcbiAgICAgIHRoaXMuY2F0YWxvZ1NldHRpbmdzLmNyZWF0ZVdlYk9yZGVyID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2F0YWxvZ1NldHRpbmdzLm9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XHJcbiAgICAgIHRoaXMuY2F0YWxvZ1NldHRpbmdzLmNhdGFsb2dQYXJhbWV0ZXJzID0gdGhpcy5wYXJhbWV0ZXJzO1xyXG4gICAgICBhd2FpdCB0aGlzLl9jYXRhbG9nU2VydmljZS5pbml0KHRoaXMuY2F0YWxvZ1NldHRpbmdzLCB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgIHRoaXMuX2NhdGFsb2dFdmVudFNlcnZpY2Uuc3RvY2tEZXRhaWxzQ2xpY2suc3Vic2NyaWJlKChhcnRpY2xlOiBBcnRpY2xlRXh0ZW5kZWQpID0+IHtcclxuICAgICAgICB0aGlzLmhhbmRsZVN0b2NrQnV0dG9uQ2xpY2soYXJ0aWNsZSk7XHJcbiAgICAgIH0pLFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmRlc3Ryb3llZCA9IHRydWU7XHJcbiAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVN0b2NrQnV0dG9uQ2xpY2soYXJ0aWNsZTogQXJ0aWNsZUV4dGVuZGVkKTogdm9pZCB7XHJcbiAgICB0aGlzLmFydGljbGVGb3JTdG9jayA9IGFydGljbGU7XHJcbiAgICB0aGlzLnNob3dTdG9jayA9ICF0aGlzLnNob3dTdG9jaztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjYW5jZWxTdG9ja0J1dHRvbkNsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93U3RvY2sgPSAhdGhpcy5zaG93U3RvY2s7XHJcbiAgICB0aGlzLmFydGljbGVGb3JTdG9jayA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyAgaGFuZGxlRXh0ZXJuYWxTb3VyY2VDbGljayhzb3VyY2U/OiBFeHRlcm5hbFNvdXJjZVZpZXdtb2RlbCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHNvdXJjZSkge1xyXG4gICAgICB0aGlzLmNhdGFsb2dEZWZpbml0aW9uID0gc291cmNlLmNhdGFsb2dEZWZpbml0aW9uO1xyXG4gICAgICB0aGlzLmV4dGVybmFsU291cmNlID0gc291cmNlLmV4dGVybmFsU291cmNlO1xyXG4gICAgICBsZXQgaW5mbzogRXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm8gPSBuZXcgRXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm8oKTtcclxuXHJcbiAgICAgIGlmKHRoaXMuY2hlY2tJZk9wZW5pbmdJc0FsbG93ZWQoKSkge1xyXG4gICAgICAgIGNvbnN0IHJlcXVlc3Q6IEV4dGVybmFsQ2F0YWxvZ1N0YXJ0dXBJbmZvUmVxdWVzdCA9IHRoaXMuYnVpbGRFeHRlcm5hbENhdGFsb2dSZXF1ZXN0KCk7XHJcblxyXG4gICAgICAgIGluZm8gPSBhd2FpdCB0aGlzLl9hcnRpY2xlU2VydmljZS5nZXRXZWJWaWV3U3RhcnR1cEluZm8ocmVxdWVzdCk7XHJcbiAgICAgICAgdGhpcy5jYXRhbG9nSW5mbyA9IGluZm87XHJcbiAgICAgICAgdGhpcy5zaG93RXh0ZXJuYWxDYXRhbG9nID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLnNob3dUb2FzdChcIkVYVEVSTkFMX0NBVEFMT0dfSVRFTVNfQUxSRUFEWV9PUkRFUkVEXCIsIHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQXJ0aWNsZUNsaWNrKGFydGljbGU6IEFydGljbGVFeHRlbmRlZCk6IHZvaWQge1xyXG4gICAgIHRoaXMuc2t1ID0gYXJ0aWNsZS5hcnRpY2xlTnVtYmVyO1xyXG4gICAgIHRoaXMuc2hvd1Byb2R1Y3QgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUFkZEFydGljbGVDbGljayhqc29uOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuYWRkQXJ0aWNsZUNsaWNrZWQubmV4dCh7IGFydGljbGU6IGpzb24sIHF1YW50aXR5OiAxfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQWRkQXJ0aWNsZUZyb21BcnRpY2xlQ2xpY2soZGF0YToge2FydGljbGU6IHN0cmluZyB8IEFydGljbGVFeHRlbmRlZCwgcXVhbnRpdHk6IG51bWJlcn0pOiB2b2lkIHtcclxuICAgIHRoaXMuYWRkQXJ0aWNsZUNsaWNrZWQubmV4dChkYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVBZGRFeHRlcm5hbEFydGljbGVDbGljayhqc29uOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuYWRkRXh0ZXJuYWxBcnRpY2xlQ2xpY2tlZC5uZXh0KGpzb24pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUJhY2tDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93RXh0ZXJuYWxDYXRhbG9nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlSUZyYW1lRmVlZGJhY2soanNvbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmlGcmFtZUZlZWRiYWNrLmVtaXQoe2pzb25TdHJpbmc6IGpzb24sIGNhdGFsb2c6IHRoaXMuY2F0YWxvZ0RlZmluaXRpb24uZ2V0SWQoKSwgc291cmNlVHlwZTogdGhpcy5leHRlcm5hbFNvdXJjZS50eXBlfSk7XHJcbiAgICBpZih0aGlzLmV4dGVybmFsU291cmNlLnR5cGUgIT09IEV4dGVybmFsQ2F0YWxvZ1R5cGVzLldlYnNob3ApIHtcclxuICAgICAgdGhpcy5zaG93RXh0ZXJuYWxDYXRhbG9nID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2F0RmFybUFydGljbGVDbGlja2VkKGRhdGE6IHsgYXJ0aWNsZTogQXJ0aWNsZUxpc3RPYmplY3RFeHRlbmRlZCwgc2V0dGluZ3M6IGFueSB9KTogdm9pZCB7XHJcbiAgICB0aGlzLmNhdFNrdSA9IGRhdGEuYXJ0aWNsZS5hcnRpY2xlTnVtYmVyO1xyXG4gICAgdGhpcy5jYXRBcnROYW1lID0gZGF0YS5hcnRpY2xlLm5hbWU7XHJcbiAgICB0aGlzLnNob3dQcm9kdWN0ID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVBZGRDYXRGYXJtQXJ0aWNsZUNsaWNrZWQoanNvblN0cmluZzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmFkZENhdEZhcm1BcnRpY2xlQ2xpY2tlZC5lbWl0KHtqc29uU3RyaW5nOiBqc29uU3RyaW5nLCBjYXRhbG9nOiB0aGlzLmNhdGFsb2dEZWZpbml0aW9uLmdldElkKCl9KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja0lmT3BlbmluZ0lzQWxsb3dlZCgpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5vcmRlckxpbmVTZXRzICYmIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLm9yZGVyTGluZVNldHMubGVuZ3RoID4gMCkge1xyXG4gICAgICBsZXQgb3JkZXJMaW5lU2V0Q29kZXM6IHN0cmluZ1tdID1cclxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5vcmRlckxpbmVTZXRzLmZpbHRlcihvID0+IG8uY2F0YWxvZ0lkID0gdGhpcy5jYXRhbG9nRGVmaW5pdGlvbi5nZXRJZCgpKS5tYXAobyA9PiBvLm9yZGVyTGluZVNldENvZGUpO1xyXG4gICAgICAgIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lcy5mb3JFYWNoKGwgPT4ge1xyXG4gICAgICAgICAgaWYgKChvcmRlckxpbmVTZXRDb2Rlcy5maW5kSW5kZXgoYyA9PiBjID09PSBsLm9yZGVyTGluZVNldENvZGUpID49IDApXHJcbiAgICAgICAgICAgICYmIGwuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgbC5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlPcmRlcmVkJykgJiYgbC5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eU9yZGVyZWQgPiAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEV4dGVybmFsQ2F0YWxvZ1JlcXVlc3QoKTogRXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm9SZXF1ZXN0IHtcclxuICAgIGNvbnN0IHJlcXVlc3Q6IEV4dGVybmFsQ2F0YWxvZ1N0YXJ0dXBJbmZvUmVxdWVzdCA9IG5ldyBFeHRlcm5hbENhdGFsb2dTdGFydHVwSW5mb1JlcXVlc3QoKTtcclxuICAgIHJlcXVlc3QuY2F0YWxvZ0lkID0gdGhpcy5jYXRhbG9nRGVmaW5pdGlvbi5nZXRJZCgpO1xyXG4gICAgcmVxdWVzdC5wb3NFbXBsb3llZSA9IHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnNhbGVzUGVyc29uO1xyXG4gICAgcmVxdWVzdC5pb25lT3JkZXJOciA9IHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnRyYW5zYWN0aW9uTnIudG9TdHJpbmcoKTtcclxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5yZWxhdGlvbikge1xyXG4gICAgICByZXF1ZXN0LnBvc05hbWUgPSB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5yZWxhdGlvbi5mYW1pbHlOYW1lO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmVxdWVzdC5wb3NOYW1lID0gJ05OQicgLy9Ob2cgTmlldCBCZXBhYWxkXHJcbiAgICB9XHJcbiAgICB0aGlzLmV4cGFuZEV4dGVybmFsQ2F0YWxvZ1JlcXVlc3RJZk5lZWRlZChyZXF1ZXN0KTtcclxuICAgIHJldHVybiByZXF1ZXN0XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4cGFuZEV4dGVybmFsQ2F0YWxvZ1JlcXVlc3RJZk5lZWRlZChyZXF1ZXN0OiBFeHRlcm5hbENhdGFsb2dTdGFydHVwSW5mb1JlcXVlc3QpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5vcmRlckxpbmVTZXRzICYmIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLm9yZGVyTGluZVNldHMubGVuZ3RoID4gMCkge1xyXG4gICAgICBsZXQgb3JkZXJMaW5lU2V0OiBPcmRlckxpbmVTZXRJbmZvID0gdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ub3JkZXJMaW5lU2V0cy5maW5kKHNldCA9PiBzZXQuY2F0YWxvZ0lkID09PSB0aGlzLmNhdGFsb2dEZWZpbml0aW9uLmdldElkKCkpO1xyXG4gICAgICBpZiAob3JkZXJMaW5lU2V0KSB7XHJcbiAgICAgICAgcmVxdWVzdC5wb3NBdXBpbmcgPSBvcmRlckxpbmVTZXQuYXVwT3JkZXJOclxyXG4gICAgICAgIGlmIChyZXF1ZXN0LnBvc0F1cGluZykge1xyXG4gICAgICAgICAgcmVxdWVzdC5wb3NTdGF0dXMgPSAnQ2hhbmdlJztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKG9yZGVyTGluZVNldC52ZFByb2plY3RJZCkge1xyXG4gICAgICAgICAgcmVxdWVzdC5vcmRlcklkID0gb3JkZXJMaW5lU2V0LnZkUHJvamVjdElkO1xyXG4gICAgICAgIH0gZWxzZSBpZiAob3JkZXJMaW5lU2V0Lnd0UHJvamVjdE5yKSB7XHJcbiAgICAgICAgICByZXF1ZXN0Lm9yZGVySWQgPSBvcmRlckxpbmVTZXQud3RQcm9qZWN0TnI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
271
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNhdGFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvZGlhbG9nL2NhdGFsb2cvZGlhbG9nLWNhdGFsb2cvZGlhbG9nLWNhdGFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEgsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBSXRFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9FLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQzFHLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQ3pILE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUluRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDakUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDckcsT0FBTyxFQUFDLDhCQUE4QixFQUFFLHVCQUF1QixFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFrRnZJLE1B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USxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkRUO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxjQUFjO29CQUNkLHVCQUF1QjtvQkFDdkIsOEJBQThCO29CQUM5QixzQkFBc0I7b0JBQ3RCLG1CQUFtQjtpQkFDcEI7Z0JBQ0QsVUFBVSxFQUFFO29CQUNWLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRTt3QkFDekIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUMsQ0FBQyxDQUFDO3dCQUNyRCxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO3dCQUNuRCxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7cUJBQzNELENBQUM7aUJBQ0g7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQWxHTyxrQkFBa0I7WUFDRyxjQUFjO1lBQW5DLG1CQUFtQjtZQVVuQixjQUFjO1lBSWQsYUFBYTtZQVZiLGdCQUFnQjs7O3lDQWlHckIsS0FBSztzQkFHTCxLQUFLO3lCQUdMLEtBQUs7NkJBR0wsS0FBSzswQkFHTCxLQUFLO3lCQUdMLE1BQU07NkJBR04sTUFBTTs2QkFNTixNQUFNO2dDQUlOLE1BQU07dUNBR04sTUFBTTt3Q0FHTixNQUFNO3dCQUdOLFdBQVcsU0FBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQuYm8nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtDYXRhbG9nRXZlbnRTZXJ2aWNlLCBDYXRhbG9nU2VydmljZX0gZnJvbSAnQGNvbGlqbml0L2NhdGFsb2cnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7RXh0ZXJuYWxTb3VyY2V9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2V4dGVybmFsLXNvdXJjZS5ibyc7XHJcbmltcG9ydCB7RXh0ZXJuYWxTb3VyY2VWaWV3bW9kZWx9IGZyb20gJ0Bjb2xpam5pdC9jYXRhbG9nL2xpYi9tb2RlbC9leHRlcm5hbC1zb3VyY2Utdmlld21vZGVsJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge2FuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7Q2F0YWxvZ0RlZmluaXRpb259IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2NhdGFsb2ctZGVmaW5pdGlvbi5ibyc7XHJcbmltcG9ydCB7RXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm99IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2V4dGVybmFsLWNhdGFsb2ctc3RhcnR1cC1pbmZvJztcclxuaW1wb3J0IHtFeHRlcm5hbENhdGFsb2dTdGFydHVwSW5mb1JlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2V4dGVybmFsLWNhdGFsb2ctc3RhcnR1cC1pbmZvLXJlcXVlc3QnO1xyXG5pbXBvcnQge0FydGljbGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlL2FydGljbGUuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2V9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLXJlc3BvbnNlLmJvJztcclxuaW1wb3J0IHtPcmRlckxpbmVTZXRJbmZvfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvb3JkZXItbGluZS1zZXQtaW5mby5ibyc7XHJcbmltcG9ydCB7QXJ0aWNsZUxpc3RPYmplY3RFeHRlbmRlZH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1saXN0LW9iamVjdC1leHRlbmRlZC5ibyc7XHJcbmltcG9ydCB7RGlhbG9nU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZS9kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7RXh0ZXJuYWxDYXRhbG9nVHlwZXN9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL2V4dGVybmFsLWNhdGFsb2ctdHlwZXMuZW51bSc7XHJcbmltcG9ydCB7UHJvZHVjdENvbm5lY3RvckFkYXB0ZXJTZXJ2aWNlLCBQcm9kdWN0Q29ubmVjdG9yU2VydmljZSwgUHJvZHVjdEV2ZW50U2VydmljZSwgUHJvZHVjdFNldHRpbmdzU2VydmljZX0gZnJvbSAnQGNvbGlqbml0L3Byb2R1Y3QnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tZGlhbG9nLWNhdGFsb2dcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGNvLWRpYWxvZyAoY2xvc2VDbGljayk9XCJjbG9zZUNsaWNrLmVtaXQoJGV2ZW50KVwiIFtALmRpc2FibGVkXT1cImRlc3Ryb3llZFwiPlxyXG4gICAgICA8Y28taWNvbiAqbmdJZj1cInNob3dFeHRlcm5hbENhdGFsb2dcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRMZWZ0KVwiXHJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVCYWNrQ2xpY2soJGV2ZW50KVwiPjwvY28taWNvbj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzaG93RXh0ZXJuYWxDYXRhbG9nXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1jYXRhbG9nLXByb2R1Y3Qtd3JhcHBlclwiIFtjbGFzcy5zaG93LXByb2R1Y3RdPVwic2hvd1Byb2R1Y3RcIj5cclxuICAgICAgICAgIDxjby1jYXRhbG9nLXNlYXJjaFxyXG4gICAgICAgICAgICAgIFt0aXRsZV09XCInQ0FUQUxPRycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgW3N1YlRpdGxlXT1cIidTRUFSQ0hfQllfQVJUSUNMRU5VTUJFUl9OQU1FX09SX0RFU0NSSVBUSU9OJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwiJ1NFQVJDSF9CWV9BUlRJQ0xFTlVNQkVSX09SX0RFU0NSSVBUSU9OJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICBbY3JlYXRlRnJvemVuQXJ0aWNsZV09XCJoYW5kbGVBZGRBcnRpY2xlSW50ZXJuYWxseVwiXHJcbiAgICAgICAgICAgICAgW3Nob3dOYXZpZ2F0aW9uXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFtzZXR0aW5nc109XCJjYXRhbG9nU2V0dGluZ3NcIlxyXG4gICAgICAgICAgICAgIChvbkV4dGVybmFsU291cmNlQ2xpY2spPVwiaGFuZGxlRXh0ZXJuYWxTb3VyY2VDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAob25BZGRBcnRpY2xlQnV0dG9uQ2xpY2spPVwiaGFuZGxlQWRkQXJ0aWNsZUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChvbkxvb2tBdEFydGljbGVCdXR0b25DbGljayk9XCJoYW5kbGVBcnRpY2xlQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKG9uQXJ0aWNsZUNsaWNrKT1cImhhbmRsZUFydGljbGVDbGljaygkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8L2NvLWNhdGFsb2ctc2VhcmNoPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhdGFsb2ctYXJ0aWNsZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwiYmFjay1idXR0b24tcHJvZHVjdFwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludExlZnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dQcm9kdWN0ID0gZmFsc2VcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgIDxhcHAtaW9uZS1wcm9kdWN0ICpuZ0lmPVwic2hvd1Byb2R1Y3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2t1XT1cInNrdVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZXR0aW5nc109XCJjYXRhbG9nU2V0dGluZ3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGFuZGxlQWRkQXJ0aWNsZUludGVybmFsbHldPVwiaGFuZGxlQWRkQXJ0aWNsZUludGVybmFsbHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25BZGRUb0NhcnQpPVwiaGFuZGxlQWRkQXJ0aWNsZUZyb21BcnRpY2xlQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgID48L2FwcC1pb25lLXByb2R1Y3Q+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93RXh0ZXJuYWxDYXRhbG9nXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1jYXRhbG9nLXByb2R1Y3Qtd3JhcHBlclwiIFtjbGFzcy5zaG93LXByb2R1Y3RdPVwic2hvd1Byb2R1Y3RcIj5cclxuXHJcbiAgICAgICAgICA8Y28tY2F0YWxvZy1leHRlcm5hbC1zb3VyY2VcclxuICAgICAgICAgICAgICBbZXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm9dPVwiY2F0YWxvZ0luZm9cIlxyXG4gICAgICAgICAgICAgIFt0aXRsZV09XCInQ0FUQUxPRycgfCBsb2NhbGl6ZSB8IGFwcGVuZDogJyAnIHwgYXBwZW5kOiBleHRlcm5hbENhdGFsb2dOYW1lXCJcclxuICAgICAgICAgICAgICBbc3ViVGl0bGVdPVwiJ1NFQVJDSF9CWV9BUlRJQ0xFTlVNQkVSX05BTUVfT1JfREVTQ1JJUFRJT04nIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgIFtzZWFyY2hQbGFjZWhvbGRlcl09XCInU0VBUkNIX0JZX0FSVElDTEVOVU1CRVJfT1JfREVTQ1JJUFRJT04nIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgIFtuYW1lXT1cImV4dGVybmFsQ2F0YWxvZ05hbWVcIlxyXG4gICAgICAgICAgICAgIFtvcHRpb25zXT1cImV4dGVybmFsQ2F0YWxvZ09wdGlvbnNcIlxyXG4gICAgICAgICAgICAgIFtzaG93TmF2aWdhdGlvbl09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgKGFydGljbGVDbGljayk9XCJoYW5kbGVDYXRGYXJtQXJ0aWNsZUNsaWNrZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKGFkZEFydGljbGVDbGljayk9XCJoYW5kbGVBZGRDYXRGYXJtQXJ0aWNsZUNsaWNrZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKGlGcmFtZUZlZWRiYWNrUmVjZWl2ZWQpPVwiaGFuZGxlSUZyYW1lRmVlZGJhY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICA+PC9jby1jYXRhbG9nLWV4dGVybmFsLXNvdXJjZT5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2F0YWxvZy1hcnRpY2xlLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJiYWNrLWJ1dHRvbi1wcm9kdWN0XCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd1BvaW50TGVmdClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd1Byb2R1Y3QgPSBmYWxzZVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgPGNvLXByb2R1Y3QtZXh0ZXJuYWwtc291cmNlICpuZ0lmPVwic2hvd1Byb2R1Y3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V4dGVybmFsU291cmNlXT1cImV4dGVybmFsU291cmNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtza3VdPVwiY2F0U2t1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhZGRUb0NhcnQpPVwiaGFuZGxlQWRkQ2F0RmFybUFydGljbGVDbGlja2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICA+PC9jby1wcm9kdWN0LWV4dGVybmFsLXNvdXJjZT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvY28tZGlhbG9nPlxyXG4gICAgPGNvLWRpYWxvZyAqbmdJZj1cImFydGljbGVGb3JTdG9jayAmJiBzaG93U3RvY2tcIiAoY2xvc2VDbGljayk9XCJjYW5jZWxTdG9ja0J1dHRvbkNsaWNrKClcIj5cclxuICAgICAgPGNvLXN0b2NrIFthcnRpY2xlXT1cImFydGljbGVGb3JTdG9ja1wiIChjYW5jZWxCdXR0b25DbGlja2VkKT1cImNhbmNlbFN0b2NrQnV0dG9uQ2xpY2soKVwiPjwvY28tc3RvY2s+XHJcbiAgICA8L2NvLWRpYWxvZz5cclxuICBgLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgQ2F0YWxvZ1NlcnZpY2UsXHJcbiAgICBQcm9kdWN0Q29ubmVjdG9yU2VydmljZSxcclxuICAgIFByb2R1Y3RDb25uZWN0b3JBZGFwdGVyU2VydmljZSxcclxuICAgIFByb2R1Y3RTZXR0aW5nc1NlcnZpY2UsXHJcbiAgICBQcm9kdWN0RXZlbnRTZXJ2aWNlXHJcbiAgXSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKFwic2hvd0hpZGVQcm9kdWN0XCIsIFtcclxuICAgICAgc3RhdGUoXCJ0cnVlXCIsIHN0eWxlKHt0cmFuc2Zvcm06IFwidHJhbnNsYXRlWCgtNTAlKVwifSkpLFxyXG4gICAgICBzdGF0ZShcImZhbHNlXCIsIHN0eWxlKHt0cmFuc2Zvcm06IFwidHJhbnNsYXRlWCgwKVwifSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKFwiZmFsc2UgPD0+IHRydWVcIiwgYW5pbWF0ZShcIjIwMG1zIGVhc2UtaW4tb3V0XCIpKVxyXG4gICAgXSlcclxuICBdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIERpYWxvZ0NhdGFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGhhbmRsZUFkZEFydGljbGVJbnRlcm5hbGx5OiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgb3B0aW9uczogYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwYXJhbWV0ZXJzOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dOYXZpZ2F0aW9uOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2xvc2VDbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxBcnRpY2xlRXh0ZW5kZWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBcnRpY2xlRXh0ZW5kZWQ+KCk7XHJcblxyXG4gIC8qQE91dHB1dCgpXHJcbiAgcHVibGljIGhhbmRsZUFkZEFydGljbGVDbGlja2VkOiBFdmVudEVtaXR0ZXI8QXJ0aWNsZUV4dGVuZGVkPiA9IG5ldyBFdmVudEVtaXR0ZXI8QXJ0aWNsZUV4dGVuZGVkPigpOyovXHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBpRnJhbWVGZWVkYmFjazogRXZlbnRFbWl0dGVyPHtqc29uU3RyaW5nOiBzdHJpbmcsIGNhdGFsb2c6IG51bWJlciwgc291cmNlVHlwZTogc3RyaW5nfT5cclxuICAgICAgPSBuZXcgRXZlbnRFbWl0dGVyPHtqc29uU3RyaW5nOiBzdHJpbmcsIGNhdGFsb2c6IG51bWJlciwgc291cmNlVHlwZTogc3RyaW5nfT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGFkZEFydGljbGVDbGlja2VkOiBFdmVudEVtaXR0ZXI8e2FydGljbGU6IHN0cmluZyB8IEFydGljbGVFeHRlbmRlZCwgcXVhbnRpdHk6IG51bWJlcn0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7YXJ0aWNsZTogc3RyaW5nIHwgQXJ0aWNsZUV4dGVuZGVkLCBxdWFudGl0eTogbnVtYmVyfT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGFkZENhdEZhcm1BcnRpY2xlQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHtqc29uU3RyaW5nOiBzdHJpbmcsIGNhdGFsb2c6IG51bWJlcn0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7anNvblN0cmluZzogc3RyaW5nLCBjYXRhbG9nOiBudW1iZXJ9PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgYWRkRXh0ZXJuYWxBcnRpY2xlQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tZGlhbG9nLWNhdGFsb2dcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2F0YWxvZ1NldHRpbmdzOiBhbnk7XHJcbiAgcHVibGljIGV4dGVybmFsQ2F0YWxvZ05hbWU6IHN0cmluZztcclxuICBwdWJsaWMgc2hvd0V4dGVybmFsQ2F0YWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBleHRlcm5hbFNvdXJjZTogRXh0ZXJuYWxTb3VyY2U7XHJcbiAgcHVibGljIGNhdGFsb2dEZWZpbml0aW9uOiBDYXRhbG9nRGVmaW5pdGlvbjtcclxuICBwdWJsaWMgYXJ0aWNsZUZvclN0b2NrOiBBcnRpY2xlRXh0ZW5kZWQ7XHJcbiAgcHVibGljIHNob3dTdG9jazogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93UHJvZHVjdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93RXh0ZXJuYWxQcm9kdWN0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNrdTogc3RyaW5nO1xyXG4gIHB1YmxpYyBjYXRTa3U6IHN0cmluZztcclxuICBwdWJsaWMgY2F0QXJ0TmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBkZXN0cm95ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgZXh0ZXJuYWxDYXRhbG9nT3B0aW9ucyA9IHtcclxuICAgIHNlYXJjaE9uU3RhcnQ6IHRydWVcclxuICB9XHJcbiAgcHVibGljIGNhdGFsb2dJbmZvOiBFeHRlcm5hbENhdGFsb2dTdGFydHVwSW5mbztcclxuXHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIF9jYXRhbG9nU2VydmljZTogQ2F0YWxvZ1NlcnZpY2UsXHJcbiAgICAgIHByaXZhdGUgX2NhdGFsb2dFdmVudFNlcnZpY2U6IENhdGFsb2dFdmVudFNlcnZpY2UsXHJcbiAgICAgIHByaXZhdGUgX2FydGljbGVTZXJ2aWNlOiBBcnRpY2xlU2VydmljZSxcclxuICAgICAgcHJpdmF0ZSBfZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuICAgICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5jYXRhbG9nU2V0dGluZ3MgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2Uub3B0aW9uc1NlcnZpY2Uuc2V0dGluZ3MpO1xyXG4gICAgaWYgKHRoaXMuY2F0YWxvZ1NldHRpbmdzKSB7XHJcbiAgICAgIHRoaXMuY2F0YWxvZ1NldHRpbmdzLmNyZWF0ZVdlYk9yZGVyID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2F0YWxvZ1NldHRpbmdzLm9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XHJcbiAgICAgIHRoaXMuY2F0YWxvZ1NldHRpbmdzLmNhdGFsb2dQYXJhbWV0ZXJzID0gdGhpcy5wYXJhbWV0ZXJzO1xyXG4gICAgICBhd2FpdCB0aGlzLl9jYXRhbG9nU2VydmljZS5pbml0KHRoaXMuY2F0YWxvZ1NldHRpbmdzLCB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgIHRoaXMuX2NhdGFsb2dFdmVudFNlcnZpY2Uuc3RvY2tEZXRhaWxzQ2xpY2suc3Vic2NyaWJlKChhcnRpY2xlOiBBcnRpY2xlRXh0ZW5kZWQpID0+IHtcclxuICAgICAgICB0aGlzLmhhbmRsZVN0b2NrQnV0dG9uQ2xpY2soYXJ0aWNsZSk7XHJcbiAgICAgIH0pLFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmRlc3Ryb3llZCA9IHRydWU7XHJcbiAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVN0b2NrQnV0dG9uQ2xpY2soYXJ0aWNsZTogQXJ0aWNsZUV4dGVuZGVkKTogdm9pZCB7XHJcbiAgICB0aGlzLmFydGljbGVGb3JTdG9jayA9IGFydGljbGU7XHJcbiAgICB0aGlzLnNob3dTdG9jayA9ICF0aGlzLnNob3dTdG9jaztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjYW5jZWxTdG9ja0J1dHRvbkNsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93U3RvY2sgPSAhdGhpcy5zaG93U3RvY2s7XHJcbiAgICB0aGlzLmFydGljbGVGb3JTdG9jayA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyAgaGFuZGxlRXh0ZXJuYWxTb3VyY2VDbGljayhzb3VyY2U/OiBFeHRlcm5hbFNvdXJjZVZpZXdtb2RlbCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHNvdXJjZSkge1xyXG4gICAgICB0aGlzLmNhdGFsb2dEZWZpbml0aW9uID0gc291cmNlLmNhdGFsb2dEZWZpbml0aW9uO1xyXG4gICAgICB0aGlzLmV4dGVybmFsU291cmNlID0gc291cmNlLmV4dGVybmFsU291cmNlO1xyXG4gICAgICBsZXQgaW5mbzogRXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm8gPSBuZXcgRXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm8oKTtcclxuXHJcbiAgICAgIGlmKHRoaXMuY2hlY2tJZk9wZW5pbmdJc0FsbG93ZWQoKSkge1xyXG4gICAgICAgIGNvbnN0IHJlcXVlc3Q6IEV4dGVybmFsQ2F0YWxvZ1N0YXJ0dXBJbmZvUmVxdWVzdCA9IHRoaXMuYnVpbGRFeHRlcm5hbENhdGFsb2dSZXF1ZXN0KCk7XHJcblxyXG4gICAgICAgIGluZm8gPSBhd2FpdCB0aGlzLl9hcnRpY2xlU2VydmljZS5nZXRXZWJWaWV3U3RhcnR1cEluZm8ocmVxdWVzdCk7XHJcbiAgICAgICAgdGhpcy5jYXRhbG9nSW5mbyA9IGluZm87XHJcbiAgICAgICAgdGhpcy5zaG93RXh0ZXJuYWxDYXRhbG9nID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLnNob3dUb2FzdChcIkVYVEVSTkFMX0NBVEFMT0dfSVRFTVNfQUxSRUFEWV9PUkRFUkVEXCIsIHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQXJ0aWNsZUNsaWNrKGFydGljbGU6IEFydGljbGVFeHRlbmRlZCk6IHZvaWQge1xyXG4gICAgIHRoaXMuc2t1ID0gYXJ0aWNsZS5hcnRpY2xlTnVtYmVyO1xyXG4gICAgIHRoaXMuc2hvd1Byb2R1Y3QgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUFkZEFydGljbGVDbGljayhqc29uOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuYWRkQXJ0aWNsZUNsaWNrZWQubmV4dCh7IGFydGljbGU6IGpzb24sIHF1YW50aXR5OiAxfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQWRkQXJ0aWNsZUZyb21BcnRpY2xlQ2xpY2soZGF0YToge2FydGljbGU6IHN0cmluZyB8IEFydGljbGVFeHRlbmRlZCwgcXVhbnRpdHk6IG51bWJlcn0pOiB2b2lkIHtcclxuICAgIHRoaXMuYWRkQXJ0aWNsZUNsaWNrZWQubmV4dChkYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVBZGRFeHRlcm5hbEFydGljbGVDbGljayhqc29uOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuYWRkRXh0ZXJuYWxBcnRpY2xlQ2xpY2tlZC5uZXh0KGpzb24pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUJhY2tDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93RXh0ZXJuYWxDYXRhbG9nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlSUZyYW1lRmVlZGJhY2soanNvbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmlGcmFtZUZlZWRiYWNrLmVtaXQoe2pzb25TdHJpbmc6IGpzb24sIGNhdGFsb2c6IHRoaXMuY2F0YWxvZ0RlZmluaXRpb24uZ2V0SWQoKSwgc291cmNlVHlwZTogdGhpcy5leHRlcm5hbFNvdXJjZS50eXBlfSk7XHJcbiAgICBpZih0aGlzLmV4dGVybmFsU291cmNlLnR5cGUgIT09IEV4dGVybmFsQ2F0YWxvZ1R5cGVzLldlYnNob3ApIHtcclxuICAgICAgdGhpcy5zaG93RXh0ZXJuYWxDYXRhbG9nID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2F0RmFybUFydGljbGVDbGlja2VkKGRhdGE6IHsgYXJ0aWNsZTogQXJ0aWNsZUxpc3RPYmplY3RFeHRlbmRlZCwgc2V0dGluZ3M6IGFueSB9KTogdm9pZCB7XHJcbiAgICB0aGlzLmNhdFNrdSA9IGRhdGEuYXJ0aWNsZS5hcnRpY2xlTnVtYmVyO1xyXG4gICAgdGhpcy5jYXRBcnROYW1lID0gZGF0YS5hcnRpY2xlLm5hbWU7XHJcbiAgICB0aGlzLnNob3dQcm9kdWN0ID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVBZGRDYXRGYXJtQXJ0aWNsZUNsaWNrZWQoanNvblN0cmluZzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmFkZENhdEZhcm1BcnRpY2xlQ2xpY2tlZC5lbWl0KHtqc29uU3RyaW5nOiBqc29uU3RyaW5nLCBjYXRhbG9nOiB0aGlzLmNhdGFsb2dEZWZpbml0aW9uLmdldElkKCl9KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja0lmT3BlbmluZ0lzQWxsb3dlZCgpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5vcmRlckxpbmVTZXRzICYmIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLm9yZGVyTGluZVNldHMubGVuZ3RoID4gMCkge1xyXG4gICAgICBsZXQgb3JkZXJMaW5lU2V0Q29kZXM6IHN0cmluZ1tdID1cclxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5vcmRlckxpbmVTZXRzLmZpbHRlcihvID0+IG8uY2F0YWxvZ0lkID0gdGhpcy5jYXRhbG9nRGVmaW5pdGlvbi5nZXRJZCgpKS5tYXAobyA9PiBvLm9yZGVyTGluZVNldENvZGUpO1xyXG4gICAgICAgIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lcy5mb3JFYWNoKGwgPT4ge1xyXG4gICAgICAgICAgaWYgKChvcmRlckxpbmVTZXRDb2Rlcy5maW5kSW5kZXgoYyA9PiBjID09PSBsLm9yZGVyTGluZVNldENvZGUpID49IDApXHJcbiAgICAgICAgICAgICYmIGwuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgbC5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlPcmRlcmVkJykgJiYgbC5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eU9yZGVyZWQgPiAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEV4dGVybmFsQ2F0YWxvZ1JlcXVlc3QoKTogRXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm9SZXF1ZXN0IHtcclxuICAgIGNvbnN0IHJlcXVlc3Q6IEV4dGVybmFsQ2F0YWxvZ1N0YXJ0dXBJbmZvUmVxdWVzdCA9IG5ldyBFeHRlcm5hbENhdGFsb2dTdGFydHVwSW5mb1JlcXVlc3QoKTtcclxuICAgIHJlcXVlc3QuY2F0YWxvZ0lkID0gdGhpcy5jYXRhbG9nRGVmaW5pdGlvbi5nZXRJZCgpO1xyXG4gICAgcmVxdWVzdC5wb3NFbXBsb3llZSA9IHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnNhbGVzUGVyc29uO1xyXG4gICAgcmVxdWVzdC5pb25lT3JkZXJOciA9IHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnRyYW5zYWN0aW9uTnIudG9TdHJpbmcoKTtcclxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5yZWxhdGlvbikge1xyXG4gICAgICByZXF1ZXN0LnBvc05hbWUgPSB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5yZWxhdGlvbi5mYW1pbHlOYW1lO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmVxdWVzdC5wb3NOYW1lID0gJ05OQicgLy9Ob2cgTmlldCBCZXBhYWxkXHJcbiAgICB9XHJcbiAgICB0aGlzLmV4cGFuZEV4dGVybmFsQ2F0YWxvZ1JlcXVlc3RJZk5lZWRlZChyZXF1ZXN0KTtcclxuICAgIHJldHVybiByZXF1ZXN0XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4cGFuZEV4dGVybmFsQ2F0YWxvZ1JlcXVlc3RJZk5lZWRlZChyZXF1ZXN0OiBFeHRlcm5hbENhdGFsb2dTdGFydHVwSW5mb1JlcXVlc3QpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5vcmRlckxpbmVTZXRzICYmIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLm9yZGVyTGluZVNldHMubGVuZ3RoID4gMCkge1xyXG4gICAgICBsZXQgb3JkZXJMaW5lU2V0OiBPcmRlckxpbmVTZXRJbmZvID0gdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ub3JkZXJMaW5lU2V0cy5maW5kKHNldCA9PiBzZXQuY2F0YWxvZ0lkID09PSB0aGlzLmNhdGFsb2dEZWZpbml0aW9uLmdldElkKCkpO1xyXG4gICAgICBpZiAob3JkZXJMaW5lU2V0KSB7XHJcbiAgICAgICAgcmVxdWVzdC5wb3NBdXBpbmcgPSBvcmRlckxpbmVTZXQuYXVwT3JkZXJOclxyXG4gICAgICAgIGlmIChyZXF1ZXN0LnBvc0F1cGluZykge1xyXG4gICAgICAgICAgcmVxdWVzdC5wb3NTdGF0dXMgPSAnQ2hhbmdlJztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKG9yZGVyTGluZVNldC52ZFByb2plY3RJZCkge1xyXG4gICAgICAgICAgcmVxdWVzdC5vcmRlcklkID0gb3JkZXJMaW5lU2V0LnZkUHJvamVjdElkO1xyXG4gICAgICAgIH0gZWxzZSBpZiAob3JkZXJMaW5lU2V0Lnd0UHJvamVjdE5yKSB7XHJcbiAgICAgICAgICByZXF1ZXN0Lm9yZGVySWQgPSBvcmRlckxpbmVTZXQud3RQcm9qZWN0TnI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -40,19 +40,21 @@ ShoppingCartPreviewComponent.decorators = [
40
40
  [preview]="true"
41
41
  ></co-transaction-lines>
42
42
  </div>
43
- <div class="preview-totals-wrapper">
44
- <co-transaction-totals
45
- [transactionInfo]="service.currentTransaction.transactionInfo"
46
- [transactionTotal]="service.currentTransaction.transactionTotal"
47
- ></co-transaction-totals>
48
- </div>
49
- <div class="cart-buttons">
50
- <a class="button-edit-cart" [textContent]="'EDIT_CART' | localize"
51
- (click)="editCartClick.emit()"
52
- ></a>
53
- <co-button *ngIf="showCheckoutButton" class="button-checkout" [label]="'SHOPPING_CART_CHECKOUT' | localize"
54
- [disabled]="!service.articleAmount"
55
- (click)="checkout.emit()"></co-button>
43
+ <div class="cart-bottom-wrapper">
44
+ <div class="preview-totals-wrapper">
45
+ <co-transaction-totals
46
+ [transactionInfo]="service.currentTransaction.transactionInfo"
47
+ [transactionTotal]="service.currentTransaction.transactionTotal"
48
+ ></co-transaction-totals>
49
+ </div>
50
+ <div class="cart-buttons">
51
+ <a class="button-edit-cart" [textContent]="'EDIT_CART' | localize"
52
+ (click)="editCartClick.emit()"
53
+ ></a>
54
+ <co-button *ngIf="showCheckoutButton" class="button-checkout" [label]="'SHOPPING_CART_CHECKOUT' | localize"
55
+ [disabled]="!service.articleAmount"
56
+ (click)="checkout.emit()"></co-button>
57
+ </div>
56
58
  </div>
57
59
  </ng-container>
58
60
  `,
@@ -74,4 +76,4 @@ ShoppingCartPreviewComponent.propDecorators = {
74
76
  editCartClick: [{ type: Output }],
75
77
  showClass: [{ type: HostBinding, args: ["class.co-shopping-cart-preview",] }]
76
78
  };
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcHBpbmctY2FydC1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3Nob3BwaW5nLWNhcnQtcHJldmlldy9zaG9wcGluZy1jYXJ0LXByZXZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsNkJBQTZCLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUU5RixPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUM3RyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFxQzFGLE1BQU0sT0FBTyw0QkFBNEI7SUF3QnZDLFlBQ1MsT0FBMkIsRUFDeEIsMkJBQWtFO1FBRHJFLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQ3hCLGdDQUEyQixHQUEzQiwyQkFBMkIsQ0FBdUM7UUF6QjlELG9CQUFlLEdBQTJCLGVBQWUsQ0FBQztRQUMxRCxVQUFLLEdBQWdCLElBQUksQ0FBQztRQUduQyx1QkFBa0IsR0FBWSxJQUFJLENBQUM7UUFJbkMsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFHL0IsYUFBUSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBR3hELGtCQUFhLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFPN0QsdUJBQWtCLEdBQVksS0FBSyxDQUFDO0lBTTNDLENBQUM7SUFWTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBVUQsUUFBUTtRQUNOLG9EQUFvRDtRQUNwRCxJQUFJLENBQUMsMkJBQTJCLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQW9DLEVBQUUsRUFBRTtZQUMzSCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7O1lBdEVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMEJBQTBCO2dCQUNwQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJUO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxFQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUM7b0JBQzdELEVBQUMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLFdBQVcsRUFBRSxxQ0FBcUMsRUFBQztpQkFDN0Y7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQXpDTyxrQkFBa0I7WUFJbEIscUNBQXFDOzs7aUNBMEMxQyxLQUFLOzRCQUdMLFdBQVcsU0FBQyxrQkFBa0IsY0FDOUIsS0FBSzt1QkFHTCxNQUFNOzRCQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLGdDQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge0Jhc2VNb2R1bGVTY3JlZW5Db25maWdTZXJ2aWNlLCBCYXNlTW9kdWxlU2VydmljZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7T2JqZWN0Q29uZmlndXJhdGlvbn0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvb2JqZWN0LWNvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2NyZWVuLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25LaW5kfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS90cmFuc2FjdGlvbi1raW5kLmVudW0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tc2hvcHBpbmctY2FydC1wcmV2aWV3XCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzY3JlZW5Db25maWdMb2FkZWRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcnQtaGVhZGVyXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJ0LWhlYWRlci1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInQ0FSVCcgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJ0LWxpbmVzIG5hcnJvdy1zY3JvbGxiYXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZXNcclxuICAgICAgICAgIFt0cmFuc2FjdGlvbl09XCJzZXJ2aWNlLmN1cnJlbnRUcmFuc2FjdGlvblwiXHJcbiAgICAgICAgICBbcHJldmlld109XCJ0cnVlXCJcclxuICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lcz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3LXRvdGFscy13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLXRvdGFsc1xyXG4gICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJzZXJ2aWNlLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgW3RyYW5zYWN0aW9uVG90YWxdPVwic2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25Ub3RhbFwiXHJcbiAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tdG90YWxzPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcnQtYnV0dG9uc1wiPlxyXG4gICAgICAgIDxhIGNsYXNzPVwiYnV0dG9uLWVkaXQtY2FydFwiIFt0ZXh0Q29udGVudF09XCInRURJVF9DQVJUJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAoY2xpY2spPVwiZWRpdENhcnRDbGljay5lbWl0KClcIlxyXG4gICAgICAgID48L2E+XHJcbiAgICAgICAgPGNvLWJ1dHRvbiAqbmdJZj1cInNob3dDaGVja291dEJ1dHRvblwiIGNsYXNzPVwiYnV0dG9uLWNoZWNrb3V0XCIgW2xhYmVsXT1cIidTSE9QUElOR19DQVJUX0NIRUNLT1VUJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhc2VydmljZS5hcnRpY2xlQW1vdW50XCJcclxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGVja291dC5lbWl0KClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICBgLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge3Byb3ZpZGU6IEJhc2VNb2R1bGVTZXJ2aWNlLCB1c2VFeGlzdGluZzogVHJhbnNhY3Rpb25TZXJ2aWNlfSxcclxuICAgIHtwcm92aWRlOiBCYXNlTW9kdWxlU2NyZWVuQ29uZmlnU2VydmljZSwgdXNlRXhpc3Rpbmc6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9XHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaG9wcGluZ0NhcnRQcmV2aWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNhY3Rpb25LaW5kOiB0eXBlb2YgVHJhbnNhY3Rpb25LaW5kID0gVHJhbnNhY3Rpb25LaW5kO1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93Q2hlY2tvdXRCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5ib3JkZXJsZXNzXCIpXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgd2l0aG91dEJvcmRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2hlY2tvdXQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGVkaXRDYXJ0Q2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tc2hvcHBpbmctY2FydC1wcmV2aWV3XCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNjcmVlbkNvbmZpZ0xvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICAgIHByaXZhdGUgX3NjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIC8vIGJlaW5nIHNldCBmcm9tIHNob3BwaW5nIGNhcnQsIHNvIGxvYWQgY29uZmlnIGhlcmVcclxuICAgIHRoaXMuX3NjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLmxvYWRDb25maWcoW3RoaXMudHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXJdKS50aGVuKChjb25maWdPYmplY3RzOiBPYmplY3RDb25maWd1cmF0aW9uW10pID0+IHtcclxuICAgICAgdGhpcy5zY3JlZW5Db25maWdMb2FkZWQgPSB0cnVlO1xyXG4gICAgfSlcclxuICB9XHJcbn1cclxuIl19
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcHBpbmctY2FydC1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3Nob3BwaW5nLWNhcnQtcHJldmlldy9zaG9wcGluZy1jYXJ0LXByZXZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsNkJBQTZCLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUU5RixPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUM3RyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMkRBQTJELENBQUM7QUF1QzFGLE1BQU0sT0FBTyw0QkFBNEI7SUF3QnZDLFlBQ1MsT0FBMkIsRUFDeEIsMkJBQWtFO1FBRHJFLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQ3hCLGdDQUEyQixHQUEzQiwyQkFBMkIsQ0FBdUM7UUF6QjlELG9CQUFlLEdBQTJCLGVBQWUsQ0FBQztRQUMxRCxVQUFLLEdBQWdCLElBQUksQ0FBQztRQUduQyx1QkFBa0IsR0FBWSxJQUFJLENBQUM7UUFJbkMsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFHL0IsYUFBUSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBR3hELGtCQUFhLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFPN0QsdUJBQWtCLEdBQVksS0FBSyxDQUFDO0lBTTNDLENBQUM7SUFWTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBVUQsUUFBUTtRQUNOLG9EQUFvRDtRQUNwRCxJQUFJLENBQUMsMkJBQTJCLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQW9DLEVBQUUsRUFBRTtZQUMzSCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7O1lBeEVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMEJBQTBCO2dCQUNwQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0QlQ7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBQztvQkFDN0QsRUFBQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsV0FBVyxFQUFFLHFDQUFxQyxFQUFDO2lCQUM3RjtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBM0NPLGtCQUFrQjtZQUlsQixxQ0FBcUM7OztpQ0E0QzFDLEtBQUs7NEJBR0wsV0FBVyxTQUFDLGtCQUFrQixjQUM5QixLQUFLO3VCQUdMLE1BQU07NEJBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7QmFzZU1vZHVsZVNjcmVlbkNvbmZpZ1NlcnZpY2UsIEJhc2VNb2R1bGVTZXJ2aWNlfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtPYmplY3RDb25maWd1cmF0aW9ufSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9tb2RlbC9vYmplY3QtY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1zY3JlZW4tY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbktpbmR9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3RyYW5zYWN0aW9uLWtpbmQuZW51bSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1zaG9wcGluZy1jYXJ0LXByZXZpZXdcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNjcmVlbkNvbmZpZ0xvYWRlZFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FydC1oZWFkZXJcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImNhcnQtaGVhZGVyLWxhYmVsXCIgW3RleHRDb250ZW50XT1cIidDQVJUJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcnQtbGluZXMgbmFycm93LXNjcm9sbGJhclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lc1xyXG4gICAgICAgICAgW3RyYW5zYWN0aW9uXT1cInNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uXCJcclxuICAgICAgICAgIFtwcmV2aWV3XT1cInRydWVcIlxyXG4gICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmVzPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcnQtYm90dG9tLXdyYXBwZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJldmlldy10b3RhbHMtd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLXRvdGFsc1xyXG4gICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICAgIFt0cmFuc2FjdGlvblRvdGFsXT1cInNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uVG90YWxcIlxyXG4gICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tdG90YWxzPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJ0LWJ1dHRvbnNcIj5cclxuICAgICAgICAgIDxhIGNsYXNzPVwiYnV0dG9uLWVkaXQtY2FydFwiIFt0ZXh0Q29udGVudF09XCInRURJVF9DQVJUJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgIChjbGljayk9XCJlZGl0Q2FydENsaWNrLmVtaXQoKVwiXHJcbiAgICAgICAgICA+PC9hPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiAqbmdJZj1cInNob3dDaGVja291dEJ1dHRvblwiIGNsYXNzPVwiYnV0dG9uLWNoZWNrb3V0XCIgW2xhYmVsXT1cIidTSE9QUElOR19DQVJUX0NIRUNLT1VUJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFzZXJ2aWNlLmFydGljbGVBbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hlY2tvdXQuZW1pdCgpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgYCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtwcm92aWRlOiBCYXNlTW9kdWxlU2VydmljZSwgdXNlRXhpc3Rpbmc6IFRyYW5zYWN0aW9uU2VydmljZX0sXHJcbiAgICB7cHJvdmlkZTogQmFzZU1vZHVsZVNjcmVlbkNvbmZpZ1NlcnZpY2UsIHVzZUV4aXN0aW5nOiBUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfVxyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2hvcHBpbmdDYXJ0UHJldmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zYWN0aW9uS2luZDogdHlwZW9mIFRyYW5zYWN0aW9uS2luZCA9IFRyYW5zYWN0aW9uS2luZDtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0NoZWNrb3V0QnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuYm9yZGVybGVzc1wiKVxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHdpdGhvdXRCb3JkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNoZWNrb3V0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBlZGl0Q2FydENsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXNob3BwaW5nLWNhcnQtcHJldmlld1wiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzY3JlZW5Db25maWdMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgc2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIF9zY3JlZW5Db25maWd1cmF0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICAvLyBiZWluZyBzZXQgZnJvbSBzaG9wcGluZyBjYXJ0LCBzbyBsb2FkIGNvbmZpZyBoZXJlXHJcbiAgICB0aGlzLl9zY3JlZW5Db25maWd1cmF0aW9uU2VydmljZS5sb2FkQ29uZmlnKFt0aGlzLnRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyXSkudGhlbigoY29uZmlnT2JqZWN0czogT2JqZWN0Q29uZmlndXJhdGlvbltdKSA9PiB7XHJcbiAgICAgIHRoaXMuc2NyZWVuQ29uZmlnTG9hZGVkID0gdHJ1ZTtcclxuICAgIH0pXHJcbiAgfVxyXG59XHJcbiJdfQ==