@colijnit/transaction 12.1.172 → 12.1.174

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 (110) hide show
  1. package/bundles/colijnit-transaction.umd.js +530 -265
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.d.ts +143 -145
  4. package/colijnit-transaction.metadata.json +1 -1
  5. package/esm2015/colijnit-transaction.js +144 -146
  6. package/esm2015/lib/component/add-product/add-product.component.js +53 -24
  7. package/esm2015/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +3 -3
  8. package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +3 -3
  9. package/esm2015/lib/component/core/base/transaction-base.component.js +5 -1
  10. package/esm2015/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.js +45 -12
  11. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.component.js +2 -3
  12. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component.js +1 -4
  13. package/esm2015/lib/component/quick-send-button/quick-send-button.component.js +5 -5
  14. package/esm2015/lib/component/relation/relation-addresses/relation-addresses.component.js +3 -3
  15. package/esm2015/lib/component/shared/transaction-article-text/transaction-article-text.component.js +4 -4
  16. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar.component.js +17 -4
  17. package/esm2015/lib/component/transaction-card/transaction-card-goods-allocation/transaction-card-goods-allocation.component.js +3 -2
  18. package/esm2015/lib/component/transaction-card/transaction-card-invoice/transaction-card-invoice.component.js +2 -1
  19. package/esm2015/lib/component/transaction-card/transaction-card-order-delivery/transaction-card-order-delivery.component.js +2 -1
  20. package/esm2015/lib/component/transaction-card/transaction-card-picked/transaction-card-picked.component.js +3 -2
  21. package/esm2015/lib/component/transaction-card/transaction-card-purchase/transaction-card-purchase.component.js +6 -1
  22. package/esm2015/lib/component/transaction-card/transaction-card-purchase/transaction-card-purchase.module.js +4 -2
  23. package/esm2015/lib/component/transaction-card/transaction-card-receive-goods/transaction-card-receive-goods.component.js +2 -1
  24. package/esm2015/lib/component/transaction-card/transaction-card-to-be-picked/transaction-card-to-be-picked.component.js +3 -2
  25. package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +2 -2
  26. package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-delivery.component.js +3 -3
  27. package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-order.component.js +3 -3
  28. package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-payment.component.js +3 -3
  29. package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-relation.component.js +3 -3
  30. package/esm2015/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.js +16 -5
  31. package/esm2015/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.component.js +2 -1
  32. package/esm2015/lib/component/transaction-line/transaction-invoice-line/transaction-invoice-line.component.js +2 -1
  33. package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.js +2 -1
  34. package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.js +1 -2
  35. package/esm2015/lib/component/transaction-line/transaction-picked-line/transaction-picked-line.component.js +2 -1
  36. package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line-base.component.js +2 -2
  37. package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.js +28 -13
  38. package/esm2015/lib/component/transaction-line/transaction-purchase-order-line/transaction-purchase-order-line.component.js +2 -1
  39. package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.js +11 -2
  40. package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.module.js +4 -2
  41. package/esm2015/lib/component/transaction-line/transaction-to-be-picked-line/transaction-to-be-picked-line.component.js +2 -1
  42. package/esm2015/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.js +2 -1
  43. package/esm2015/lib/component/transaction-line-fields/transaction-line-amount.component.js +1 -5
  44. package/esm2015/lib/component/transaction-line-fields/transaction-line-quantity.component.js +4 -3
  45. package/esm2015/lib/component/transaction-line-purchase-confirmation/transaction-line-purchase-confirmation.component.js +24 -9
  46. package/esm2015/lib/component/transaction-line-purchase-receive-goods/transaction-line-purchase-receive-goods.component.js +4 -3
  47. package/esm2015/lib/component/transaction-line-sales-allocation/transaction-line-sales-allocation.component.js +4 -3
  48. package/esm2015/lib/component/transaction-lines/transaction-lines.component.js +1 -2
  49. package/esm2015/lib/component/transaction-search/service/transaction-search.service.js +6 -1
  50. package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.component.js +16 -1
  51. package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.component.js +3 -2
  52. package/esm2015/lib/model/transaction-bar-button.js +1 -1
  53. package/esm2015/lib/res/dictionary/dictionaries.js +2 -2
  54. package/esm2015/lib/service/article-connector.service.js +39 -10
  55. package/esm2015/lib/service/transaction-base.service.js +2 -1
  56. package/esm2015/lib/service/transaction-connector-adapter.service.js +19 -1
  57. package/esm2015/lib/service/transaction-connector.service.js +11 -1
  58. package/esm2015/lib/service/transaction-event.service.js +2 -1
  59. package/esm2015/lib/service/transaction-mapping.service.js +13 -7
  60. package/esm2015/lib/service/transaction.service.js +22 -1
  61. package/esm2015/lib/transaction-version.js +3 -3
  62. package/esm2015/public_api.js +3 -1
  63. package/fesm2015/colijnit-transaction.js +351 -110
  64. package/fesm2015/colijnit-transaction.js.map +1 -1
  65. package/lib/component/add-product/add-product.component.d.ts +15 -2
  66. package/lib/component/core/base/components/characteristic-answer/style/_layout.scss +1 -1
  67. package/lib/component/core/base/components/warehouse/style/_layout.scss +1 -1
  68. package/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.d.ts +18 -7
  69. package/lib/component/dialog/transaction-header/dialog-transaction-header-branch/style/_layout.scss +1 -1
  70. package/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/style/_layout.scss +1 -1
  71. package/lib/component/dialog/transaction-header/dialog-transaction-header-discount/style/_layout.scss +1 -1
  72. package/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/_layout.scss +1 -1
  73. package/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/style/_layout.scss +1 -1
  74. package/lib/component/dialog/transaction-line/dialog-transaction-line-discount/style/_layout.scss +1 -1
  75. package/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/style/_layout.scss +1 -1
  76. package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/style/_layout.scss +1 -1
  77. package/lib/component/dialog/transaction-line/dialog-transaction-line-vat/style/_layout.scss +1 -1
  78. package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/style/_layout.scss +1 -1
  79. package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/style/_layout.scss +1 -1
  80. package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/_layout.scss +1 -1
  81. package/lib/component/quick-send-button/quick-send-button.component.d.ts +3 -3
  82. package/lib/component/quick-send-button/style/_layout.scss +6 -1
  83. package/lib/component/shared/transaction-article-text/style/_layout.scss +0 -1
  84. package/lib/component/shared/transaction-article-text/transaction-article-text.component.d.ts +4 -4
  85. package/lib/component/transaction-card/transaction-card-goods-allocation/transaction-card-goods-allocation.component.d.ts +1 -1
  86. package/lib/component/transaction-card/transaction-card-picked/transaction-card-picked.component.d.ts +1 -1
  87. package/lib/component/transaction-card/transaction-card-to-be-picked/transaction-card-to-be-picked.component.d.ts +1 -1
  88. package/lib/component/transaction-header/transaction-header-payment/style/_layout.scss +1 -1
  89. package/lib/component/transaction-internal/style/_layout.scss +0 -101
  90. package/lib/component/transaction-internal/style/_material-definition.scss +0 -19
  91. package/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.d.ts +5 -3
  92. package/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.d.ts +1 -0
  93. package/lib/component/transaction-line/transaction-purchase-order-line/style/_layout.scss +4 -4
  94. package/lib/component/transaction-line-fields/transaction-line-amount.component.d.ts +0 -1
  95. package/lib/component/transaction-line-fields/transaction-line-quantity.component.d.ts +1 -1
  96. package/lib/component/transaction-search/service/transaction-search.service.d.ts +2 -0
  97. package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.component.d.ts +6 -0
  98. package/lib/model/transaction-bar-button.d.ts +1 -0
  99. package/lib/res/dictionary/dictionaries.d.ts +4 -0
  100. package/lib/service/article-connector.service.d.ts +8 -3
  101. package/lib/service/transaction-base.service.d.ts +1 -0
  102. package/lib/service/transaction-connector-adapter.service.d.ts +4 -0
  103. package/lib/service/transaction-connector.service.d.ts +4 -0
  104. package/lib/service/transaction-event.service.d.ts +4 -0
  105. package/lib/service/transaction-mapping.service.d.ts +3 -0
  106. package/lib/service/transaction.service.d.ts +7 -0
  107. package/lib/style/_variables.scss +27 -0
  108. package/lib/style/transaction-globals.scss +112 -8
  109. package/package.json +5 -5
  110. package/public_api.d.ts +2 -0
@@ -22,6 +22,7 @@ export class TransactionEventService {
22
22
  this.selectAllLines = new Subject();
23
23
  this.transactionHeaderDirty = new Subject();
24
24
  this.transactionLineChanged = new Subject();
25
+ this.transactionLineCheckboxChanged = new Subject();
25
26
  this.transactionLineRefTransactionsChanged = new BehaviorSubject(undefined);
26
27
  this.transactionLineAdded = new BehaviorSubject(undefined);
27
28
  this.openArticleTextOverview = new Subject();
@@ -96,4 +97,4 @@ TransactionEventService.decorators = [
96
97
  { type: Injectable, args: [{ providedIn: "root" },] }
97
98
  ];
98
99
  TransactionEventService.ctorParameters = () => [];
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLGVBQWUsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFNOUMsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sd0NBQXdDLENBQUM7O0FBSS9FLE1BQU0sT0FBTyx1QkFBdUI7SUEyRmxDO1FBMUZnQixtQkFBYyxHQUE2RCxJQUFJLE9BQU8sRUFBbUQsQ0FBQztRQUMxSSw4QkFBeUIsR0FDdkMsSUFBSSxPQUFPLEVBQWlILENBQUM7UUFDL0csMkJBQXNCLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFDNUQsYUFBUSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzlDLG1DQUE4QixHQUFvQixJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQ3hFLHNDQUFpQyxHQUF3QyxJQUFJLE9BQU8sRUFBOEIsQ0FBQztRQUNuSCxtQkFBYyxHQUE4RCxJQUFJLE9BQU8sRUFBb0QsQ0FBQztRQUM1SSxnQkFBVyxHQUE4RCxJQUFJLE9BQU8sRUFBb0QsQ0FBQztRQUN6SSxxQkFBZ0IsR0FBMkYsSUFBSSxPQUFPLEVBQWlGLENBQUM7UUFDeE0sa0JBQWEsR0FBNEUsSUFBSSxPQUFPLEVBQWtFLENBQUM7UUFDdkssdUJBQWtCLEdBQW9ELElBQUksT0FBTyxFQUF3QyxDQUFDO1FBQzFILDJCQUFzQixHQUE0QixJQUFJLE9BQU8sRUFBa0IsQ0FBQztRQUNoRixzQkFBaUIsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUN2RCxrQkFBYSxHQUFvQixJQUFJLE9BQU8sRUFBVSxDQUFD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Q0FBQyxDQUFDO1FBQ3hKLDJCQUFzQixHQUEyRCxJQUFJLGVBQWUsQ0FBd0MsU0FBUyxDQUFDLENBQUM7UUFDdkosZ0NBQTJCLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFDakUsK0JBQTBCLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFDaEUsK0JBQTBCLEdBQW9CLElBQUksT0FBTyxFQUFVLENBQUM7UUFDcEUsNkJBQXdCLEdBQWlFLElBQUksT0FBTyxFQUF1RCxDQUFDO1FBQzVKLGVBQVUsR0FBcUIsSUFBSSxPQUFPLEVBQVcsQ0FBQztJQUd0RSxDQUFDOzs7O1lBN0ZGLFVBQVUsU0FBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtQb3NpdGlvbkdyaWRSb3d9IGZyb20gJy4uL2VudW0vcG9zaXRpb24tZ3JpZC1yb3cuZW51bSc7XG5pbXBvcnQge1Njcm9sbH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lSW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWxpbmUtaW5mby5ibyc7XG5pbXBvcnQge0J1c2luZXNzT2JqZWN0fSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9tb2RlbC9idXNpbmVzcy1vYmplY3QnO1xuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm9SZXNwb25zZX0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWluZm8tcmVzcG9uc2UuYm8nO1xuaW1wb3J0IHtUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0gZnJvbSAnLi4vZW51bS90cmFuc2FjdGlvbi10eXBlLWNhdGVnb3J5LmVudW0nO1xuaW1wb3J0IHtPcmRlckxpbmVTZXRJbmZvfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvb3JkZXItbGluZS1zZXQtaW5mby5ibyc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiBcInJvb3RcIn0pXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25FdmVudFNlcnZpY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgYWRkVG9DYXJ0QnlTa3U6IFN1YmplY3Q8e3NrdTogc3RyaW5nLCBhbW91bnQ6IG51bWJlciwgcG9wQ2FydDogYm9vbGVhbn0+ID0gbmV3IFN1YmplY3Q8e3NrdTogc3RyaW5nLCBhbW91bnQ6IG51bWJlciwgcG9wQ2FydDogYm9vbGVhbn0+KCk7XG4gIHB1YmxpYyByZWFkb25seSBhZGRUb0NhcnRCeVNlbGVjdG9yUmVzdWx0OiBTdWJqZWN0PHtzZWxlY3RvclJlc3VsdDoge2dvb2RJZDogbnVtYmVyLCBiYXNlR29vZElkOiBudW1iZXIsIHNlbGVjdG9yRGF0YTogYW55LCBxdWFudGl0eTogbnVtYmVyfSwgcG9wQ2FydDogYm9vbGVhbn0+ID1cbiAgICBuZXcgU3ViamVjdDx7c2VsZWN0b3JSZXN1bHQ6IHtnb29kSWQ6IG51bWJlciwgYmFzZUdvb2RJZDogbnVtYmVyLCBzZWxlY3RvckRhdGE6IGFueSwgcXVhbnRpdHk6IG51bWJlcn0sIHBvcENhcnQ6IGJvb2xlYW59PigpO1xuICBwdWJsaWMgcmVhZG9ubHkgb3BlblNob3BwaW5nQ2FydE1vZHVsZTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHB1YmxpYyByZWFkb25seSBsb2dnZWRJbjogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHB1YmxpYyByZWFkb25seSBhZGROZXdVc2VyVG9TaG9wcGluZ0NhcnRNb2R1bGU6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgcHVibGljIHJlYWRvbmx5IGFkZFVzZXJSZWxhdGlvblNob3BwaW5nQ2FydE1vZHVsZTogU3ViamVjdDx7dXNlcjogc3RyaW5nLCBwdzogc3RyaW5nfT4gPSBuZXcgU3ViamVjdDx7dXNlcjogc3RyaW5nLCBwdzogc3RyaW5nfT4oKTtcbiAgcHVibGljIHJlYWRvbmx5IGFkZEFydGljbGVMaW5lOiBTdWJqZWN0PHtsaW5lTnI6IG51bWJlciwgYmVmb3JlT3JBZnRlcjogUG9zaXRpb25HcmlkUm93fT4gPSBuZXcgU3ViamVjdDx7bGluZU5yOiBudW1iZXIsIGJlZm9yZU9yQWZ0ZXI6IFBvc2l0aW9uR3JpZFJvd30+KCk7XG4gIHB1YmxpYyByZWFkb25seSBhZGRUZXh0TGluZTogU3ViamVjdDx7bGluZU5yOiBudW1iZXIsIGJlZm9yZU9yQWZ0ZXI6IFBvc2l0aW9uR3JpZFJvd30+ID0gbmV3IFN1YmplY3Q8e2xpbmVOcjogbnVtYmVyLCBiZWZvcmVPckFmdGVyOiBQb3NpdGlvbkdyaWRSb3d9PigpO1xuICBwdWJsaWMgcmVhZG9ubHkgYWRkQXJ0aWNsZUxpbmVBdDogU3ViamVjdDx7c2t1OiBzdHJpbmcsIGFtb3VudDogbnVtYmVyLCBsaW5lTnI6IG51bWJlciwgYmVmb3JlT3JBZnRlcjogUG9zaXRpb25HcmlkUm93fT4gPSBuZXcgU3ViamVjdDx7c2t1OiBzdHJpbmcsIGFtb3VudDogbnVtYmVyLCBsaW5lTnI6IG51bWJlciwgYmVmb3JlT3JBZnRlcjogUG9zaXRpb25HcmlkUm93fT4oKTtcbiAgcHVibGljIHJlYWRvbmx5IGFkZFRleHRMaW5lQXQ6IFN1YmplY3Q8e3RleHQ6IHN0cmluZywgbGluZU5yOiBudW1iZXIsIGJlZm9yZU9yQWZ0ZXI6IFBvc2l0aW9uR3JpZFJvd30+ID0gbmV3IFN1YmplY3Q8e3RleHQ6IHN0cmluZywgbGluZU5yOiBudW1iZXIsIGJlZm9yZU9yQWZ0ZXI6IFBvc2l0aW9uR3JpZFJvd30+KCk7XG4gIHB1YmxpYyByZWFkb25seSBjaGFuZ2VMaW5lU2VxdWVuY2U6IFN1YmplY3Q8KHtmcm9tSW5kZXg6IG51bWJlciwgdG9JbmRleDogbnVtYmVyfSk+ID0gbmV3IFN1YmplY3Q8e2Zyb21JbmRleDogbnVtYmVyLCB0b0luZGV4OiBudW1iZXJ9PigpO1xuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNhY3Rpb25MaW5lQ2xpY2tlZDogU3ViamVjdDxCdXNpbmVzc09iamVjdD4gPSBuZXcgU3ViamVjdDxCdXNpbmVzc09iamVjdD4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHJpZ2h0U2lkZWJhckNsb3NlOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHNjcm9sbENvbnRlbnQ6IFN1YmplY3Q8U2Nyb2xsPiA9IG5ldyBTdWJqZWN0PFNjcm9sbD4oKTtcbiAgLy8gcHVibGljIHJlYWRvbmx5IGNvbW1pdFJlY2VpdmVQdXJjaGFzZU9yZGVyczogU3ViamVjdDx7ZGF0ZTogRGF0ZSwgaWQ6IHN0cmluZ30+ID0gbmV3IFN1YmplY3Q8e2RhdGU6IERhdGUsIGlkOiBzdHJpbmd9PigpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0QWxsTGluZXM6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNhY3Rpb25IZWFkZXJEaXJ0eTogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2FjdGlvbkxpbmVDaGFuZ2VkOiBTdWJqZWN0PFRyYW5zYWN0aW9uTGluZUluZm8+ID0gbmV3IFN1YmplY3Q8VHJhbnNhY3Rpb25MaW5lSW5mbz4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zYWN0aW9uTGluZVJlZlRyYW5zYWN0aW9uc0NoYW5nZWQ6IEJlaGF2aW9yU3ViamVjdDxUcmFuc2FjdGlvbkxpbmVJbmZvPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHJhbnNhY3Rpb25MaW5lSW5mbz4odW5kZWZpbmVkKTtcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zYWN0aW9uTGluZUFkZGVkOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPih1bmRlZmluZWQpO1xuICBwdWJsaWMgcmVhZG9ubHkgb3BlbkFydGljbGVUZXh0T3ZlcnZpZXc6IFN1YmplY3Q8VHJhbnNhY3Rpb25MaW5lSW5mbz4gPSBuZXcgU3ViamVjdDxUcmFuc2FjdGlvbkxpbmVJbmZvPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgYWRkQXJ0aWNsZVRleHQ6IFN1YmplY3Q8VHJhbnNhY3Rpb25MaW5lSW5mbz4gPSBuZXcgU3ViamVjdDxUcmFuc2FjdGlvbkxpbmVJbmZvPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgZWRpdEFydGljbGVUZXh0OiBTdWJqZWN0PFRyYW5zYWN0aW9uTGluZUluZm8+ID0gbmV3IFN1YmplY3Q8VHJhbnNhY3Rpb25MaW5lSW5mbz4oKTtcbiAgcHVibGljIHJlYWRvbmx5IGFkZFRyYW5zYWN0aW9uVGV4dDogU3ViamVjdDxUcmFuc2FjdGlvbkxpbmVJbmZvPiA9IG5ldyBTdWJqZWN0PFRyYW5zYWN0aW9uTGluZUluZm8+KCk7XG4gIHB1YmxpYyByZWFkb25seSBlZGl0VHJhbnNhY3Rpb25UZXh0OiBTdWJqZWN0PFRyYW5zYWN0aW9uTGluZUluZm8+ID0gbmV3IFN1YmplY3Q8VHJhbnNhY3Rpb25MaW5lSW5mbz4oKTtcbiAgcHVibGljIHJlYWRvbmx5IG9wZW5TaWRlUGFuZWw6IFN1YmplY3Q8VHJhbnNhY3Rpb25MaW5lSW5mbz4gPSBuZXcgU3ViamVjdDxUcmFuc2FjdGlvbkxpbmVJbmZvPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0QWxsU2FsZXNPcmRlckxpbmVzRm9yUHVyY2hhc2U6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0QWxsU2FsZXNPcmRlckxpbmVzRm9yRGVsaXZlcnk6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0QWxsU2FsZXNPcmRlckxpbmVzRm9ySW52b2ljZTogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RBbGxTYWxlc09yZGVyTGluZXNGb3JBbGxvY2F0aW9uOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdEFsbFNhbGVzT3JkZXJMaW5lc1RvUGljazogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RBbGxTYWxlc09yZGVyTGluZXNUb0JlUGlja2VkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdEFsbFB1cmNoYXNlT3JkZXJMaW5lc0ZvclJlY2VpdmVHb29kczogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHB1YmxpYyByZWFkb25seSB1cGRhdGluZ1NhbGVzT3JkZXJHZW5lcmF0ZVB1cmNoYXNlT3JkZXJzOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHVwZGF0aW5nU2FsZXNPcmRlckNvbmZpcm1hdGlvbjogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHB1YmxpYyByZWFkb25seSB1cGRhdGluZ1NhbGVzT3JkZXJHb29kc1RvQmVQaWNrZWQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgdXBkYXRpbmdTYWxlc09yZGVyR29vZHNQaWNrZWQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgdXBkYXRpbmdTYWxlc09yZGVyRGVsaXZlcnk6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgdXBkYXRpbmdTYWxlc09yZGVyUXVvdGF0aW9uOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHVwZGF0aW5nSW52b2ljZTogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHB1YmxpYyByZWFkb25seSB1cGRhdGluZ1B1cmNoYXNlT3JkZXJSZWNlaXZlR29vZHM6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgdXBkYXRpbmdQdXJjaGFzZU9yZGVyQWxsb2NhdGVHb29kczogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHB1YmxpYyByZWFkb25seSB1cGRhdGluZ1B1cmNoYXNlT3JkZXJDb25maXJtYXRpb246IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgYWxsb3dQYXJ0aWFsRGVsaXZlcnlDaGFuZ2VkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHNhbGVzT3JkZXJHZW5lcmF0ZVB1cmNoYXNlT3JkZXJzQ29tcGxldGVkQ2hhbmdlZDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih1bmRlZmluZWQpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2FsZXNPcmRlclBpY2tpbmdHb29kc0NvbXBsZXRlZENoYW5nZWQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odW5kZWZpbmVkKTtcbiAgcHVibGljIHJlYWRvbmx5IHNhbGVzT3JkZXJQaWNrZWRDb21wbGV0ZWRDaGFuZ2VkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHVuZGVmaW5lZCk7XG4gIHB1YmxpYyByZWFkb25seSBzYWxlc09yZGVyVG9CZVBpY2tlZENvbXBsZXRlZENoYW5nZWQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odW5kZWZpbmVkKTtcbiAgcHVibGljIHJlYWRvbmx5IHNhbGVzT3JkZXJEZWxpdmVyeUNvbXBsZXRlZENoYW5nZWQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odW5kZWZpbmVkKTtcbiAgcHVibGljIHJlYWRvbmx5IGludm9pY2VDb21wbGV0ZWRDaGFuZ2VkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHVuZGVmaW5lZCk7XG4gIHB1YmxpYyByZWFkb25seSBzYWxlc09yZGVyQWxsb2NhdGVHb29kc0NvbXBsZXRlZENoYW5nZWQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odW5kZWZpbmVkKTtcbiAgcHVibGljIHJlYWRvbmx5IHB1cmNoYXNlT3JkZXJSZWNlaXZlR29vZHNDb21wbGV0ZWRDaGFuZ2VkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHVuZGVmaW5lZCk7XG4gIHB1YmxpYyByZWFkb25seSBwdXJjaGFzZU9yZGVyQ29uZmlybWF0aW9uQ29tcGxldGVkQ2hhbmdlZDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih1bmRlZmluZWQpO1xuICBwdWJsaWMgcmVhZG9ubHkgb3ZlcndyaXRlUHVyY2hhc2VPcmRlckNvbmZpcm1hdGlvbkNvbXBsZXRlZENoYW5nZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2FsZXNPcmRlckNvbmZpcm1hdGlvblNlbnRDaGFuZ2VkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHVuZGVmaW5lZCk7XG4gIHB1YmxpYyByZWFkb25seSBjcmVhdGVUcmFuc2FjdGlvbjogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2FjdGlvblNldDogQmVoYXZpb3JTdWJqZWN0PFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+KHVuZGVmaW5lZCk7XG4gIHB1YmxpYyByZWFkb25seSBwdXJjaGFzZU9yZGVyTmF2aWdhdGlvbjogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2FsZXNRdW90YXRpb25PcmRlck5hdmlnYXRpb246IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHJlbGF0aW9uTmF2aWdhdGlvbjogU3ViamVjdDxudW1iZXI+ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgYXJ0aWNsZU5hdmlnYXRpb246IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zYWN0aW9uTmF2aWdhdGlvbjogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNhY3Rpb25EZWxldGVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zYWN0aW9uUGF5bWVudERvbmU6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgY29weU9yZGVyOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHVibGljIHJlYWRvbmx5IGhpc3RvcmljUmVwb3J0TGluZXNUb1Nob3c6IEJlaGF2aW9yU3ViamVjdDxUcmFuc2FjdGlvbkxpbmVJbmZvW10gfCBudWxsPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHJhbnNhY3Rpb25MaW5lSW5mb1tdIHwgbnVsbD4obnVsbCk7XG4gIHB1YmxpYyByZWFkb25seSB1cGRhdGVUcmFuc2FjdGlvblJlZmVyZW5jZXM6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNhY3Rpb25MaW5lVmlzaWJpbGl0eUNoYW5nZTogQmVoYXZpb3JTdWJqZWN0PHtsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvLCB2aXNpYmxlOiBib29sZWFufT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHtsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvOyB2aXNpYmxlOiBib29sZWFufT4odW5kZWZpbmVkKTtcbiAgcHVibGljIHJlYWRvbmx5IHNob3dFcnJvcjogU3ViamVjdDx7bWVzc2FnZTogc3RyaW5nLCBsb2NhbGl6ZTogYm9vbGVhbiwgZGV0YWlscz86IHN0cmluZ30+ID0gbmV3IFN1YmplY3Q8e21lc3NhZ2U6IHN0cmluZywgbG9jYWxpemU6IGJvb2xlYW4sIGRldGFpbHM/OiBzdHJpbmd9PigpXG5cbiAgcHVibGljIHJlYWRvbmx5IGhlYWRlclBvcHVwU2F2ZUJ1dHRvbkVuYWJsZUNoYW5nZTogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHB1YmxpYyByZWFkb25seSBoZWFkZXJQb3B1cFNhdmluZzogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHB1YmxpYyByZWFkb25seSBoZWFkZXJQb3B1cFNhdmVCdXR0b25DbGljazogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHB1YmxpYyByZWFkb25seSBoZWFkZXJQb3B1cFdhbnRzVG9DbG9zZTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHB1YmxpYyByZWFkb25seSBoZWFkZXJQb3B1cENsb3NlOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgYWRkRG9jdW1lbnRUb0xpbmVDbGlja2VkOiBTdWJqZWN0PFRyYW5zYWN0aW9uTGluZUluZm8+ID0gbmV3IFN1YmplY3Q8VHJhbnNhY3Rpb25MaW5lSW5mbz4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHJlb3BlbkV4dGVybmFsT3JkZXJDbGlja2VkOiBTdWJqZWN0PE9yZGVyTGluZVNldEluZm8+ID0gbmV3IFN1YmplY3Q8T3JkZXJMaW5lU2V0SW5mbz4oKTtcbiAgcHVibGljIHJlYWRvbmx5IGFjdGl2ZVJ1YnJpY0NoYW5nZTogQmVoYXZpb3JTdWJqZWN0PFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnk+KFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJPdmVydmlldyk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHF1YW50aXR5U2VsZWN0ZWRMaW5lQ2hhbmdlZDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih1bmRlZmluZWQpO1xuICBwdWJsaWMgcmVhZG9ubHkgbGluZVNlbGVjdGVkRm9yRGVsaXZlcnk6IEJlaGF2aW9yU3ViamVjdDx7bGluZVV1aWQ6IHN0cmluZywgc2VsZWN0ZWQ6IGJvb2xlYW59PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8e2xpbmVVdWlkOiBzdHJpbmcsIHNlbGVjdGVkOiBib29sZWFufT4odW5kZWZpbmVkKTtcbiAgcHVibGljIHJlYWRvbmx5IGxpbmVTZWxlY3RlZEZvckludm9pY2U6IEJlaGF2aW9yU3ViamVjdDx7bGluZVV1aWQ6IHN0cmluZywgc2VsZWN0ZWQ6IGJvb2xlYW59PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8e2xpbmVVdWlkOiBzdHJpbmcsIHNlbGVjdGVkOiBib29sZWFufT4odW5kZWZpbmVkKTtcbiAgcHVibGljIHJlYWRvbmx5IGFsbExpbmVzU2VsZWN0ZWRGb3JEZWxpdmVyeTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHB1YmxpYyByZWFkb25seSBhbGxMaW5lc1NlbGVjdGVkRm9ySW52b2ljZTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2FjdGlvbkxpbmVEcmFnZ2VkT3ZlcjogU3ViamVjdDxudW1iZXI+ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgb3JkZXJDb25maXJtYXRpb25Ecm9wcGVkOiBTdWJqZWN0PHtsaW5lTnI6IG51bWJlciwgYW5hbHlzaXNJZDogbnVtYmVyLCBjb2xvcjogc3RyaW5nfT4gPSBuZXcgU3ViamVjdDx7bGluZU5yOiBudW1iZXIsIGFuYWx5c2lzSWQ6IG51bWJlciwgY29sb3I6IHN0cmluZ30+KCk7XG4gIHB1YmxpYyByZWFkb25seSBzaG93TG9hZGVyOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxufVxuIl19
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLGVBQWUsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFNOUMsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sd0NBQXdDLENBQUM7O0FBSS9FLE1BQU0sT0FBTyx1QkFBdUI7SUE0RmxDO1FBM0ZnQixtQkFBYyxHQUE2RCxJQUFJLE9BQU8sRUFBbUQsQ0FBQztRQUMxSSw4QkFBeUIsR0FDdkMsSUFBSSxPQUFPLEVBQWlILENBQUM7UUFDL0csMkJBQXNCLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFDNUQsYUFBUSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzlDLG1DQUE4QixHQUFvQixJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQ3hFLHNDQUFpQyxHQUF3QyxJQUFJLE9BQU8sRUFBOEIsQ0FBQztRQUNuSCxtQkFBYyxHQUE4RCxJQUFJLE9BQU8sRUFBb0QsQ0FBQztRQUM1SSxnQkFBVyxHQUE4RCxJQUFJLE9BQU8sRUFBb0QsQ0FBQztRQUN6SSxxQkFBZ0IsR0FBMkYsSUFBSSxPQUFPLEVBQWlGLENBQUM7UUFDeE0sa0JBQWEsR0FBNEUsSUFBSSxPQUFPLEVBQWtFLENBQUM7UUFDdkssdUJBQWtCLEdBQW9ELElBQUksT0FBTyxFQUF3QyxDQUFDO1FBQzFILDJCQUFzQixHQUE0QixJQUFJLE9BQU8sRUFBa0IsQ0FBQztRQUNoRixzQkFBaUIsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUN2RCxrQkFBYSxHQUFvQixJQUFJLE9BQU8sRUFBVSxDQUFD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UUFDaEcsNEJBQXVCLEdBQTJELElBQUksZUFBZSxDQUF3QyxTQUFTLENBQUMsQ0FBQztRQUN4SiwyQkFBc0IsR0FBMkQsSUFBSSxlQUFlLENBQXdDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZKLGdDQUEyQixHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2pFLCtCQUEwQixHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2hFLCtCQUEwQixHQUFvQixJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQ3BFLDZCQUF3QixHQUFpRSxJQUFJLE9BQU8sRUFBdUQsQ0FBQztRQUM1SixlQUFVLEdBQXFCLElBQUksT0FBTyxFQUFXLENBQUM7SUFHdEUsQ0FBQzs7OztZQTlGRixVQUFVLFNBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7UG9zaXRpb25HcmlkUm93fSBmcm9tICcuLi9lbnVtL3Bvc2l0aW9uLWdyaWQtcm93LmVudW0nO1xuaW1wb3J0IHtTY3JvbGx9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1saW5lLWluZm8uYm8nO1xuaW1wb3J0IHtCdXNpbmVzc09iamVjdH0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvYnVzaW5lc3Mtb2JqZWN0JztcbmltcG9ydCB7VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2V9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLXJlc3BvbnNlLmJvJztcbmltcG9ydCB7VHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9IGZyb20gJy4uL2VudW0vdHJhbnNhY3Rpb24tdHlwZS1jYXRlZ29yeS5lbnVtJztcbmltcG9ydCB7T3JkZXJMaW5lU2V0SW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL29yZGVyLWxpbmUtc2V0LWluZm8uYm8nO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogXCJyb290XCJ9KVxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlIHtcbiAgcHVibGljIHJlYWRvbmx5IGFkZFRvQ2FydEJ5U2t1OiBTdWJqZWN0PHtza3U6IHN0cmluZywgYW1vdW50OiBudW1iZXIsIHBvcENhcnQ6IGJvb2xlYW59PiA9IG5ldyBTdWJqZWN0PHtza3U6IHN0cmluZywgYW1vdW50OiBudW1iZXIsIHBvcENhcnQ6IGJvb2xlYW59PigpO1xuICBwdWJsaWMgcmVhZG9ubHkgYWRkVG9DYXJ0QnlTZWxlY3RvclJlc3VsdDogU3ViamVjdDx7c2VsZWN0b3JSZXN1bHQ6IHtnb29kSWQ6IG51bWJlciwgYmFzZUdvb2RJZDogbnVtYmVyLCBzZWxlY3RvckRhdGE6IGFueSwgcXVhbnRpdHk6IG51bWJlcn0sIHBvcENhcnQ6IGJvb2xlYW59PiA9XG4gICAgbmV3IFN1YmplY3Q8e3NlbGVjdG9yUmVzdWx0OiB7Z29vZElkOiBudW1iZXIsIGJhc2VHb29kSWQ6IG51bWJlciwgc2VsZWN0b3JEYXRhOiBhbnksIHF1YW50aXR5OiBudW1iZXJ9LCBwb3BDYXJ0OiBib29sZWFufT4oKTtcbiAgcHVibGljIHJlYWRvbmx5IG9wZW5TaG9wcGluZ0NhcnRNb2R1bGU6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgbG9nZ2VkSW46IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgYWRkTmV3VXNlclRvU2hvcHBpbmdDYXJ0TW9kdWxlOiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIHB1YmxpYyByZWFkb25seSBhZGRVc2VyUmVsYXRpb25TaG9wcGluZ0NhcnRNb2R1bGU6IFN1YmplY3Q8e3VzZXI6IHN0cmluZywgcHc6IHN0cmluZ30+ID0gbmV3IFN1YmplY3Q8e3VzZXI6IHN0cmluZywgcHc6IHN0cmluZ30+KCk7XG4gIHB1YmxpYyByZWFkb25seSBhZGRBcnRpY2xlTGluZTogU3ViamVjdDx7bGluZU5yOiBudW1iZXIsIGJlZm9yZU9yQWZ0ZXI6IFBvc2l0aW9uR3JpZFJvd30+ID0gbmV3IFN1YmplY3Q8e2xpbmVOcjogbnVtYmVyLCBiZWZvcmVPckFmdGVyOiBQb3NpdGlvbkdyaWRSb3d9PigpO1xuICBwdWJsaWMgcmVhZG9ubHkgYWRkVGV4dExpbmU6IFN1YmplY3Q8e2xpbmVOcjogbnVtYmVyLCBiZWZvcmVPckFmdGVyOiBQb3NpdGlvbkdyaWRSb3d9PiA9IG5ldyBTdWJqZWN0PHtsaW5lTnI6IG51bWJlciwgYmVmb3JlT3JBZnRlcjogUG9zaXRpb25HcmlkUm93fT4oKTtcbiAgcHVibGljIHJlYWRvbmx5IGFkZEFydGljbGVMaW5lQXQ6IFN1YmplY3Q8e3NrdTogc3RyaW5nLCBhbW91bnQ6IG51bWJlciwgbGluZU5yOiBudW1iZXIsIGJlZm9yZU9yQWZ0ZXI6IFBvc2l0aW9uR3JpZFJvd30+ID0gbmV3IFN1YmplY3Q8e3NrdTogc3RyaW5nLCBhbW91bnQ6IG51bWJlciwgbGluZU5yOiBudW1iZXIsIGJlZm9yZU9yQWZ0ZXI6IFBvc2l0aW9uR3JpZFJvd30+KCk7XG4gIHB1YmxpYyByZWFkb25seSBhZGRUZXh0TGluZUF0OiBTdWJqZWN0PHt0ZXh0OiBzdHJpbmcsIGxpbmVOcjogbnVtYmVyLCBiZWZvcmVPckFmdGVyOiBQb3NpdGlvbkdyaWRSb3d9PiA9IG5ldyBTdWJqZWN0PHt0ZXh0OiBzdHJpbmcsIGxpbmVOcjogbnVtYmVyLCBiZWZvcmVPckFmdGVyOiBQb3NpdGlvbkdyaWRSb3d9PigpO1xuICBwdWJsaWMgcmVhZG9ubHkgY2hhbmdlTGluZVNlcXVlbmNlOiBTdWJqZWN0PCh7ZnJvbUluZGV4OiBudW1iZXIsIHRvSW5kZXg6IG51bWJlcn0pPiA9IG5ldyBTdWJqZWN0PHtmcm9tSW5kZXg6IG51bWJlciwgdG9JbmRleDogbnVtYmVyfT4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zYWN0aW9uTGluZUNsaWNrZWQ6IFN1YmplY3Q8QnVzaW5lc3NPYmplY3Q+ID0gbmV3IFN1YmplY3Q8QnVzaW5lc3NPYmplY3Q+KCk7XG4gIHB1YmxpYyByZWFkb25seSByaWdodFNpZGViYXJDbG9zZTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHB1YmxpYyByZWFkb25seSBzY3JvbGxDb250ZW50OiBTdWJqZWN0PFNjcm9sbD4gPSBuZXcgU3ViamVjdDxTY3JvbGw+KCk7XG4gIC8vIHB1YmxpYyByZWFkb25seSBjb21taXRSZWNlaXZlUHVyY2hhc2VPcmRlcnM6IFN1YmplY3Q8e2RhdGU6IERhdGUsIGlkOiBzdHJpbmd9PiA9IG5ldyBTdWJqZWN0PHtkYXRlOiBEYXRlLCBpZDogc3RyaW5nfT4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdEFsbExpbmVzOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zYWN0aW9uSGVhZGVyRGlydHk6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNhY3Rpb25MaW5lQ2hhbmdlZDogU3ViamVjdDxUcmFuc2FjdGlvbkxpbmVJbmZvPiA9IG5ldyBTdWJqZWN0PFRyYW5zYWN0aW9uTGluZUluZm8+KCk7XG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2FjdGlvbkxpbmVDaGVja2JveENoYW5nZWQ6IFN1YmplY3Q8e2xpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8sIGNoZWNrZWQ6IGJvb2xlYW59PiA9IG5ldyBTdWJqZWN0PHtsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvLCBjaGVja2VkOiBib29sZWFufT4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zYWN0aW9uTGluZVJlZlRyYW5zYWN0aW9uc0NoYW5nZWQ6IEJlaGF2aW9yU3ViamVjdDxUcmFuc2FjdGlvbkxpbmVJbmZvPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHJhbnNhY3Rpb25MaW5lSW5mbz4odW5kZWZpbmVkKTtcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zYWN0aW9uTGluZUFkZGVkOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPih1bmRlZmluZWQpO1xuICBwdWJsaWMgcmVhZG9ubHkgb3BlbkFydGljbGVUZXh0T3ZlcnZpZXc6IFN1YmplY3Q8VHJhbnNhY3Rpb25MaW5lSW5mbz4gPSBuZXcgU3ViamVjdDxUcmFuc2FjdGlvbkxpbmVJbmZvPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgYWRkQXJ0aWNsZVRleHQ6IFN1YmplY3Q8VHJhbnNhY3Rpb25MaW5lSW5mbz4gPSBuZXcgU3ViamVjdDxUcmFuc2FjdGlvbkxpbmVJbmZvPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgZWRpdEFydGljbGVUZXh0OiBTdWJqZWN0PFRyYW5zYWN0aW9uTGluZUluZm8+ID0gbmV3IFN1YmplY3Q8VHJhbnNhY3Rpb25MaW5lSW5mbz4oKTtcbiAgcHVibGljIHJlYWRvbmx5IGFkZFRyYW5zYWN0aW9uVGV4dDogU3ViamVjdDxUcmFuc2FjdGlvbkxpbmVJbmZvPiA9IG5ldyBTdWJqZWN0PFRyYW5zYWN0aW9uTGluZUluZm8+KCk7XG4gIHB1YmxpYyByZWFkb25seSBlZGl0VHJhbnNhY3Rpb25UZXh0OiBTdWJqZWN0PFRyYW5zYWN0aW9uTGluZUluZm8+ID0gbmV3IFN1YmplY3Q8VHJhbnNhY3Rpb25MaW5lSW5mbz4oKTtcbiAgcHVibGljIHJlYWRvbmx5IG9wZW5TaWRlUGFuZWw6IFN1YmplY3Q8VHJhbnNhY3Rpb25MaW5lSW5mbz4gPSBuZXcgU3ViamVjdDxUcmFuc2FjdGlvbkxpbmVJbmZvPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0QWxsU2FsZXNPcmRlckxpbmVzRm9yUHVyY2hhc2U6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0QWxsU2FsZXNPcmRlckxpbmVzRm9yRGVsaXZlcnk6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0QWxsU2FsZXNPcmRlckxpbmVzRm9ySW52b2ljZTogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RBbGxTYWxlc09yZGVyTGluZXNGb3JBbGxvY2F0aW9uOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdEFsbFNhbGVzT3JkZXJMaW5lc1RvUGljazogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RBbGxTYWxlc09yZGVyTGluZXNUb0JlUGlja2VkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdEFsbFB1cmNoYXNlT3JkZXJMaW5lc0ZvclJlY2VpdmVHb29kczogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHB1YmxpYyByZWFkb25seSB1cGRhdGluZ1NhbGVzT3JkZXJHZW5lcmF0ZVB1cmNoYXNlT3JkZXJzOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHVwZGF0aW5nU2FsZXNPcmRlckNvbmZpcm1hdGlvbjogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHB1YmxpYyByZWFkb25seSB1cGRhdGluZ1NhbGVzT3JkZXJHb29kc1RvQmVQaWNrZWQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgdXBkYXRpbmdTYWxlc09yZGVyR29vZHNQaWNrZWQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgdXBkYXRpbmdTYWxlc09yZGVyRGVsaXZlcnk6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgdXBkYXRpbmdTYWxlc09yZGVyUXVvdGF0aW9uOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHVwZGF0aW5nSW52b2ljZTogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHB1YmxpYyByZWFkb25seSB1cGRhdGluZ1B1cmNoYXNlT3JkZXJSZWNlaXZlR29vZHM6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgdXBkYXRpbmdQdXJjaGFzZU9yZGVyQWxsb2NhdGVHb29kczogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHB1YmxpYyByZWFkb25seSB1cGRhdGluZ1B1cmNoYXNlT3JkZXJDb25maXJtYXRpb246IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgYWxsb3dQYXJ0aWFsRGVsaXZlcnlDaGFuZ2VkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHNhbGVzT3JkZXJHZW5lcmF0ZVB1cmNoYXNlT3JkZXJzQ29tcGxldGVkQ2hhbmdlZDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih1bmRlZmluZWQpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2FsZXNPcmRlclBpY2tpbmdHb29kc0NvbXBsZXRlZENoYW5nZWQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odW5kZWZpbmVkKTtcbiAgcHVibGljIHJlYWRvbmx5IHNhbGVzT3JkZXJQaWNrZWRDb21wbGV0ZWRDaGFuZ2VkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHVuZGVmaW5lZCk7XG4gIHB1YmxpYyByZWFkb25seSBzYWxlc09yZGVyVG9CZVBpY2tlZENvbXBsZXRlZENoYW5nZWQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odW5kZWZpbmVkKTtcbiAgcHVibGljIHJlYWRvbmx5IHNhbGVzT3JkZXJEZWxpdmVyeUNvbXBsZXRlZENoYW5nZWQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odW5kZWZpbmVkKTtcbiAgcHVibGljIHJlYWRvbmx5IGludm9pY2VDb21wbGV0ZWRDaGFuZ2VkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHVuZGVmaW5lZCk7XG4gIHB1YmxpYyByZWFkb25seSBzYWxlc09yZGVyQWxsb2NhdGVHb29kc0NvbXBsZXRlZENoYW5nZWQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odW5kZWZpbmVkKTtcbiAgcHVibGljIHJlYWRvbmx5IHB1cmNoYXNlT3JkZXJSZWNlaXZlR29vZHNDb21wbGV0ZWRDaGFuZ2VkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHVuZGVmaW5lZCk7XG4gIHB1YmxpYyByZWFkb25seSBwdXJjaGFzZU9yZGVyQ29uZmlybWF0aW9uQ29tcGxldGVkQ2hhbmdlZDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih1bmRlZmluZWQpO1xuICBwdWJsaWMgcmVhZG9ubHkgb3ZlcndyaXRlUHVyY2hhc2VPcmRlckNvbmZpcm1hdGlvbkNvbXBsZXRlZENoYW5nZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2FsZXNPcmRlckNvbmZpcm1hdGlvblNlbnRDaGFuZ2VkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHVuZGVmaW5lZCk7XG4gIHB1YmxpYyByZWFkb25seSBjcmVhdGVUcmFuc2FjdGlvbjogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2FjdGlvblNldDogQmVoYXZpb3JTdWJqZWN0PFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+KHVuZGVmaW5lZCk7XG4gIHB1YmxpYyByZWFkb25seSBwdXJjaGFzZU9yZGVyTmF2aWdhdGlvbjogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2FsZXNRdW90YXRpb25PcmRlck5hdmlnYXRpb246IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHJlbGF0aW9uTmF2aWdhdGlvbjogU3ViamVjdDxudW1iZXI+ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgYXJ0aWNsZU5hdmlnYXRpb246IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zYWN0aW9uTmF2aWdhdGlvbjogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNhY3Rpb25EZWxldGVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zYWN0aW9uUGF5bWVudERvbmU6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgY29weU9yZGVyOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHVibGljIHJlYWRvbmx5IGhpc3RvcmljUmVwb3J0TGluZXNUb1Nob3c6IEJlaGF2aW9yU3ViamVjdDxUcmFuc2FjdGlvbkxpbmVJbmZvW10gfCBudWxsPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHJhbnNhY3Rpb25MaW5lSW5mb1tdIHwgbnVsbD4obnVsbCk7XG4gIHB1YmxpYyByZWFkb25seSB1cGRhdGVUcmFuc2FjdGlvblJlZmVyZW5jZXM6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNhY3Rpb25MaW5lVmlzaWJpbGl0eUNoYW5nZTogQmVoYXZpb3JTdWJqZWN0PHtsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvLCB2aXNpYmxlOiBib29sZWFufT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHtsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvOyB2aXNpYmxlOiBib29sZWFufT4odW5kZWZpbmVkKTtcbiAgcHVibGljIHJlYWRvbmx5IHNob3dFcnJvcjogU3ViamVjdDx7bWVzc2FnZTogc3RyaW5nLCBsb2NhbGl6ZTogYm9vbGVhbiwgZGV0YWlscz86IHN0cmluZ30+ID0gbmV3IFN1YmplY3Q8e21lc3NhZ2U6IHN0cmluZywgbG9jYWxpemU6IGJvb2xlYW4sIGRldGFpbHM/OiBzdHJpbmd9PigpXG5cbiAgcHVibGljIHJlYWRvbmx5IGhlYWRlclBvcHVwU2F2ZUJ1dHRvbkVuYWJsZUNoYW5nZTogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHB1YmxpYyByZWFkb25seSBoZWFkZXJQb3B1cFNhdmluZzogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHB1YmxpYyByZWFkb25seSBoZWFkZXJQb3B1cFNhdmVCdXR0b25DbGljazogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHB1YmxpYyByZWFkb25seSBoZWFkZXJQb3B1cFdhbnRzVG9DbG9zZTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHB1YmxpYyByZWFkb25seSBoZWFkZXJQb3B1cENsb3NlOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgYWRkRG9jdW1lbnRUb0xpbmVDbGlja2VkOiBTdWJqZWN0PFRyYW5zYWN0aW9uTGluZUluZm8+ID0gbmV3IFN1YmplY3Q8VHJhbnNhY3Rpb25MaW5lSW5mbz4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHJlb3BlbkV4dGVybmFsT3JkZXJDbGlja2VkOiBTdWJqZWN0PE9yZGVyTGluZVNldEluZm8+ID0gbmV3IFN1YmplY3Q8T3JkZXJMaW5lU2V0SW5mbz4oKTtcbiAgcHVibGljIHJlYWRvbmx5IGFjdGl2ZVJ1YnJpY0NoYW5nZTogQmVoYXZpb3JTdWJqZWN0PFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnk+KFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJPdmVydmlldyk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHF1YW50aXR5U2VsZWN0ZWRMaW5lQ2hhbmdlZDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih1bmRlZmluZWQpO1xuICBwdWJsaWMgcmVhZG9ubHkgbGluZVNlbGVjdGVkRm9yRGVsaXZlcnk6IEJlaGF2aW9yU3ViamVjdDx7bGluZVV1aWQ6IHN0cmluZywgc2VsZWN0ZWQ6IGJvb2xlYW59PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8e2xpbmVVdWlkOiBzdHJpbmcsIHNlbGVjdGVkOiBib29sZWFufT4odW5kZWZpbmVkKTtcbiAgcHVibGljIHJlYWRvbmx5IGxpbmVTZWxlY3RlZEZvckludm9pY2U6IEJlaGF2aW9yU3ViamVjdDx7bGluZVV1aWQ6IHN0cmluZywgc2VsZWN0ZWQ6IGJvb2xlYW59PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8e2xpbmVVdWlkOiBzdHJpbmcsIHNlbGVjdGVkOiBib29sZWFufT4odW5kZWZpbmVkKTtcbiAgcHVibGljIHJlYWRvbmx5IGFsbExpbmVzU2VsZWN0ZWRGb3JEZWxpdmVyeTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHB1YmxpYyByZWFkb25seSBhbGxMaW5lc1NlbGVjdGVkRm9ySW52b2ljZTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2FjdGlvbkxpbmVEcmFnZ2VkT3ZlcjogU3ViamVjdDxudW1iZXI+ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgb3JkZXJDb25maXJtYXRpb25Ecm9wcGVkOiBTdWJqZWN0PHtsaW5lTnI6IG51bWJlciwgYW5hbHlzaXNJZDogbnVtYmVyLCBjb2xvcjogc3RyaW5nfT4gPSBuZXcgU3ViamVjdDx7bGluZU5yOiBudW1iZXIsIGFuYWx5c2lzSWQ6IG51bWJlciwgY29sb3I6IHN0cmluZ30+KCk7XG4gIHB1YmxpYyByZWFkb25seSBzaG93TG9hZGVyOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxufVxuIl19
@@ -52,12 +52,15 @@ import { TransactionQuickAccessSalesQuotationComponent } from '../component/tran
52
52
  import { TransactionSearchSalesQuotationGridComponent } from '../component/transaction-search/transaction-search-grid/transaction-search-grid-sales-quotation-grid/transaction-search-sales-quotation-grid.component';
53
53
  import { TransactionSearchSalesQuotationTileComponent } from '../component/transaction-search/transaction-search-tile/transaction-search-sales-quotation-tile/transaction-search-sales-quotation-tile.component';
54
54
  import { TransactionCfgName } from '../enum/transaction-cfg-name.enum';
55
- import { TransactionCardGoodsAllocationComponent } from "../component/transaction-card/transaction-card-goods-allocation/transaction-card-goods-allocation.component";
56
- import { TransactionCardToBePickedComponent } from "../component/transaction-card/transaction-card-to-be-picked/transaction-card-to-be-picked.component";
57
- import { TransactionCardPickedComponent } from "../component/transaction-card/transaction-card-picked/transaction-card-picked.component";
55
+ import { TransactionCardGoodsAllocationComponent } from '../component/transaction-card/transaction-card-goods-allocation/transaction-card-goods-allocation.component';
56
+ import { TransactionCardToBePickedComponent } from '../component/transaction-card/transaction-card-to-be-picked/transaction-card-to-be-picked.component';
57
+ import { TransactionCardPickedComponent } from '../component/transaction-card/transaction-card-picked/transaction-card-picked.component';
58
+ import { TransactionService } from './transaction.service';
58
59
  import * as i0 from "@angular/core";
60
+ import * as i1 from "./transaction.service";
59
61
  export class TransactionMappingService {
60
- constructor() {
62
+ constructor(_transactionService) {
63
+ this._transactionService = _transactionService;
61
64
  this.cfgNames = TransactionCfgName;
62
65
  this._buttonBarTransaction = new Map([
63
66
  [TransactionKind.PurchaseOrder, [
@@ -71,7 +74,7 @@ export class TransactionMappingService {
71
74
  { title: 'OVERVIEW', icon: Icon.CartShoppingRegular, category: TransactionTypeCategory.SalesOrderOverview, component: TransactionSalesOverviewButtonBarButtonComponent, cfgName: this.cfgNames.RubricOverview },
72
75
  { title: 'PURCHASE', icon: Icon.PalletBoxesSharpRegular, category: TransactionTypeCategory.SalesOrderPurchase, component: TransactionSalesPurchaseButtonBarButtonComponent, cfgName: this.cfgNames.RubricPurchase },
73
76
  { title: 'ALLOCATION', icon: Icon.ShelvesRegular, category: TransactionTypeCategory.SalesOrderAllocation, component: TransactionSalesAllocationButtonBarButtonComponent, cfgName: this.cfgNames.RubricAllocate },
74
- { title: 'LOGISTICS', icon: Icon.BoxesPackingRegular, category: TransactionTypeCategory.SalesOrderLogistics, component: TransactionSalesPickingButtonBarButtonComponent, customClick: true, cfgName: this.cfgNames.RubricLogistics },
77
+ { title: 'LOGISTICS', icon: Icon.BoxesPackingRegular, category: TransactionTypeCategory.SalesOrderLogistics, component: TransactionSalesPickingButtonBarButtonComponent, customClick: true, cfgName: this.cfgNames.RubricLogistics, isVisibleFn: this._transactionService.logisticsButtonVisible },
75
78
  { title: 'PLANNING', icon: Icon.TruckMovingRegular, category: TransactionTypeCategory.SalesOrderPlanning, cfgName: this.cfgNames.RubricPlanning },
76
79
  { title: 'DELIVERY_NOTE', icon: Icon.MemoCircleCheckRegular, category: TransactionTypeCategory.SalesOrderDeliveryNote, component: TransactionSalesDeliveryButtonBarButtonComponent, cfgName: this.cfgNames.RubricDelivery },
77
80
  { title: 'INVOICE', icon: Icon.Invoice, category: TransactionTypeCategory.SalesOrderInvoice, component: TransactionSalesInvoiceButtonBarButtonComponent, cfgName: this.cfgNames.RubricInvoice }
@@ -242,10 +245,13 @@ export class TransactionMappingService {
242
245
  return entry;
243
246
  }
244
247
  }
245
- TransactionMappingService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TransactionMappingService_Factory() { return new TransactionMappingService(); }, token: TransactionMappingService, providedIn: "root" });
248
+ TransactionMappingService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TransactionMappingService_Factory() { return new TransactionMappingService(i0.ɵɵinject(i1.TransactionService)); }, token: TransactionMappingService, providedIn: "root" });
246
249
  TransactionMappingService.decorators = [
247
250
  { type: Injectable, args: [{
248
251
  providedIn: "root"
249
252
  },] }
250
253
  ];
251
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbWFwcGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9zZXJ2aWNlL3RyYW5zYWN0aW9uLW1hcHBpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFPLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUkxRixPQUFPLEVBQ0gsdUNBQXVDLEVBQzFDLE1BQU0sa0lBQWtJLENBQUM7QUFDMUksT0FBTyxFQUNILG9DQUFvQyxFQUN2QyxNQUFNLDRIQUE0SCxDQUFDO0FBQ3BJLE9BQU8sRUFDSCwyQ0FBMkMsRUFDOUMsTUFBTSxpSkFBaUosQ0FBQztBQUN6SixPQUFPLEVBQ0gsd0NBQXdDLEVBQzNDLE1BQU0sMklBQTJJLENBQUM7QUFDbkosT0FBTyxFQUNILDJDQUEyQyxFQUM5QyxNQUFNLGlKQUFpSixDQUFDO0FBQ3pKLE9BQU8sRUFDSCx3Q0FBd0MsRUFDM0MsTUFBTSwySUFBMkksQ0FBQztBQUVuSixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDdkMsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUNILGdEQUFnRCxFQUNuRCxNQUFNLHlJQUF5SSxDQUFDO0FBRWpKLE9BQU8sRUFDSCw0Q0FBNEMsRUFDL0MsTUFBTSxpSUFBaUksQ0FBQztBQUN6SSxPQUFPLEVBQ0gsdUNBQXVDLEVBQzFDLE1BQU0scUhBQXFILENBQUM7QUFFN0gsT0FBTyxFQUNILHlDQUF5QyxFQUM1QyxNQUFNLGlIQUFpSCxDQUFDO0FBQ3pILE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHVGQUF1RixDQUFDO0FBQ3BJLE9BQU8sRUFDSCxnQ0FBZ0MsRUFDbkMsTUFBTSw2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QUM7Z0JBQ1YsT0FBTzthQUNSO1FBQ0gsQ0FBQyxDQUFDLENBQUE7UUFDRixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxpQ0FBaUMsQ0FBQyxJQUFxQjtRQUM1RCxNQUFNLEdBQUcsR0FBNEI7WUFDbkMsSUFBSSxFQUFFLElBQUk7U0FBQyxDQUFBO1FBQ2IsSUFBSSxLQUErQyxDQUFDO1FBQ3BELElBQUksQ0FBQywrQkFBK0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3ZELElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxFQUFFO2dCQUN2QixLQUFLLEdBQUcsQ0FBQyxDQUFDO2dCQUNWLE9BQU87YUFDUjtRQUNILENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs7O1lBN01GLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgVHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25LaW5kfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS90cmFuc2FjdGlvbi1raW5kLmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRmlsdGVyQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50L2NvcmUvYmFzZS90cmFuc2FjdGlvbi1maWx0ZXItYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VhcmNoR3JpZEJhc2VDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudC9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tc2VhcmNoLWdyaWQtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VhcmNoVGlsZUJhc2VDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudC9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tc2VhcmNoLXRpbGUtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25QdXJjaGFzZU9yZGVyRmlsdGVyQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1maWx0ZXIvdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItZmlsdGVyL3RyYW5zYWN0aW9uLXB1cmNoYXNlLW9yZGVyLWZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25TYWxlc09yZGVyRmlsdGVyQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1maWx0ZXIvdHJhbnNhY3Rpb24tc2FsZXMtb3JkZXItZmlsdGVyL3RyYW5zYWN0aW9uLXNhbGVzLW9yZGVyLWZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25TZWFyY2hQdXJjaGFzZU9yZGVyR3JpZENvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1zZWFyY2gvdHJhbnNhY3Rpb24tc2VhcmNoLWdyaWQvdHJhbnNhY3Rpb24tc2VhcmNoLXB1cmNoYXNlLW9yZGVyLWdyaWQvdHJhbnNhY3Rpb24tc2VhcmNoLXB1cmNoYXNlLW9yZGVyLWdyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uU2VhcmNoU2FsZXNPcmRlckdyaWRDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tc2VhcmNoL3RyYW5zYWN0aW9uLXNlYXJjaC1ncmlkL3RyYW5zYWN0aW9uLXNlYXJjaC1zYWxlcy1vcmRlci1ncmlkL3RyYW5zYWN0aW9uLXNlYXJjaC1zYWxlcy1vcmRlci1ncmlkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblNlYXJjaFB1cmNoYXNlT3JkZXJUaWxlQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1zZWFyY2gtdGlsZS90cmFuc2FjdGlvbi1zZWFyY2gtcHVyY2hhc2Utb3JkZXItdGlsZS90cmFuc2FjdGlvbi1zZWFyY2gtcHVyY2hhc2Utb3JkZXItdGlsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25TZWFyY2hTYWxlc09yZGVyVGlsZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1zZWFyY2gvdHJhbnNhY3Rpb24tc2VhcmNoLXRpbGUvdHJhbnNhY3Rpb24tc2VhcmNoLXNhbGVzLW9yZGVyLXRpbGUvdHJhbnNhY3Rpb24tc2VhcmNoLXNhbGVzLW9yZGVyLXRpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkJhckJ1dHRvbn0gZnJvbSAnLi4vbW9kZWwvdHJhbnNhY3Rpb24tYmFyLWJ1dHRvbic7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSBmcm9tICcuLi9lbnVtL3RyYW5zYWN0aW9uLXR5cGUtY2F0ZWdvcnkuZW51bSc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblF1aWNrQWNjZXNzT3JkZXJDb25maXJtYXRpb25Db21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1vcmRlci1jb25maXJtYXRpb24vdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLW9yZGVyLWNvbmZpcm1hdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50L2NvcmUvYmFzZS90cmFuc2FjdGlvbi1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblF1aWNrQWNjZXNzUmVjZWl2ZWRHb29kc0NvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXJlY2VpdmVkLWdvb2RzL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1yZWNlaXZlZC1nb29kcy5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc092ZXJ2aWV3Q29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtb3ZlcnZpZXcvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLW92ZXJ2aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25HcmlkQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50L2NvcmUvYmFzZS90cmFuc2FjdGlvbi1ncmlkLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uT3JkZXJDb25maXJtYXRpb25HcmlkQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWdyaWQvdHJhbnNhY3Rpb24tb3JkZXItY29uZmlybWF0aW9uLWdyaWQvdHJhbnNhY3Rpb24tb3JkZXItY29uZmlybWF0aW9uLWdyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVzR3JpZENvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWdyaWQvdHJhbnNhY3Rpb24tbGluZXMtZ3JpZC90cmFuc2FjdGlvbi1saW5lcy1ncmlkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvbk92ZXJ2aWV3TGluZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLW92ZXJ2aWV3LWxpbmUvdHJhbnNhY3Rpb24tb3ZlcnZpZXctbGluZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25PcmRlckRlbGl2ZXJ5TGluZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLW9yZGVyLWRlbGl2ZXJ5LWxpbmUvdHJhbnNhY3Rpb24tb3JkZXItZGVsaXZlcnktbGluZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc09yZGVyRGVsaXZlcnlDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1vcmRlci1kZWxpdmVyeS90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtb3JkZXItZGVsaXZlcnkuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uUmVjZWl2ZUdvb2RzTGluZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLXJlY2VpdmUtZ29vZHMtbGluZS90cmFuc2FjdGlvbi1yZWNlaXZlLWdvb2RzLWxpbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uUHVyY2hhc2VMaW5lQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tcHVyY2hhc2UtbGluZS90cmFuc2FjdGlvbi1wdXJjaGFzZS1saW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblF1aWNrQWNjZXNzT3JkZXJQdXJjaGFzZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLW9yZGVyLXB1cmNoYXNlL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1vcmRlci1wdXJjaGFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25TYWxlc1B1cmNoYXNlQnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWJ1dHRvbi1iYXIvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci1idXR0b24vdHJhbnNhY3Rpb24tc2FsZXMtcHVyY2hhc2UtYnV0dG9uLWJhci1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uR29vZHNBbGxvY2F0aW9uTGluZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLWdvb2RzLWFsbG9jYXRpb24tbGluZS90cmFuc2FjdGlvbi1nb29kcy1hbGxvY2F0aW9uLWxpbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NHb29kc0FsbG9jYXRpb25Db21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1nb29kcy1hbGxvY2F0aW9uL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1nb29kcy1hbGxvY2F0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblF1aWNrQWNjZXNzUHVyY2hhc2VPcmRlck92ZXJ2aWV3Q29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MtcHVyY2hhc2Utb3JkZXItb3ZlcnZpZXcvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXB1cmNoYXNlLW9yZGVyLW92ZXJ2aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvbkNhcmRTYWxlc092ZXJ2aWV3Q29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWNhcmQvdHJhbnNhY3Rpb24tY2FyZC1zYWxlcy1vdmVydmlldy90cmFuc2FjdGlvbi1jYXJkLXNhbGVzLW92ZXJ2aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvbkNhcmRQdXJjaGFzZU92ZXJ2aWV3Q29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWNhcmQvdHJhbnNhY3Rpb24tY2FyZC1wdXJjaGFzZS1vdmVydmlldy90cmFuc2FjdGlvbi1jYXJkLXB1cmNoYXNlLW92ZXJ2aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblB1cmNoYXNlT3JkZXJMaW5lQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItbGluZS90cmFuc2FjdGlvbi1wdXJjaGFzZS1vcmRlci1saW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblB1cmNoYXNlT3ZlcnZpZXdMaW5lQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3ZlcnZpZXctbGluZS90cmFuc2FjdGlvbi1wdXJjaGFzZS1vdmVydmlldy1saW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblB1cmNoYXNlUmVjZWl2ZUdvb2RzQnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWJ1dHRvbi1iYXIvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci1idXR0b24vdHJhbnNhY3Rpb24tcHVyY2hhc2UtcmVjZWl2ZS1nb29kcy1idXR0b24tYmFyLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25TYWxlc0FsbG9jYXRpb25CdXR0b25CYXJCdXR0b25Db21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci90cmFuc2FjdGlvbi1idXR0b24tYmFyLWJ1dHRvbi90cmFuc2FjdGlvbi1zYWxlcy1hbGxvY2F0aW9uLWJ1dHRvbi1iYXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblB1cmNoYXNlQ29uZmlybWF0aW9uQnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWJ1dHRvbi1iYXIvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci1idXR0b24vdHJhbnNhY3Rpb24tcHVyY2hhc2UtY29uZmlybWF0aW9uLWJ1dHRvbi1iYXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblNhbGVzRGVsaXZlcnlCdXR0b25CYXJCdXR0b25Db21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci90cmFuc2FjdGlvbi1idXR0b24tYmFyLWJ1dHRvbi90cmFuc2FjdGlvbi1zYWxlcy1kZWxpdmVyeS1idXR0b24tYmFyLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc0ludm9pY2VDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1pbnZvaWNlL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1pbnZvaWNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbnZvaWNlTGluZUNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24taW52b2ljZS1saW5lL3RyYW5zYWN0aW9uLWludm9pY2UtbGluZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25QdXJjaGFzZUludm9pY2VCdXR0b25CYXJCdXR0b25Db21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci90cmFuc2FjdGlvbi1idXR0b24tYmFyLWJ1dHRvbi90cmFuc2FjdGlvbi1wdXJjaGFzZS1pbnZvaWNlLWJ1dHRvbi1iYXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblNhbGVzSW52b2ljZUJ1dHRvbkJhckJ1dHRvbkNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1idXR0b24tYmFyL3RyYW5zYWN0aW9uLWJ1dHRvbi1iYXItYnV0dG9uL3RyYW5zYWN0aW9uLXNhbGVzLWludm9pY2UtYnV0dG9uLWJhci1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uQ2FyZFJlY2VpdmVHb29kc0NvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXJkL3RyYW5zYWN0aW9uLWNhcmQtcmVjZWl2ZS1nb29kcy90cmFuc2FjdGlvbi1jYXJkLXJlY2VpdmUtZ29vZHMuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkNhcmRJbnZvaWNlQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tY2FyZC90cmFuc2FjdGlvbi1jYXJkLWludm9pY2UvdHJhbnNhY3Rpb24tY2FyZC1pbnZvaWNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25DYXJkUHVyY2hhc2VDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXJkL3RyYW5zYWN0aW9uLWNhcmQtcHVyY2hhc2UvdHJhbnNhY3Rpb24tY2FyZC1wdXJjaGFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25DYXJkT3JkZXJEZWxpdmVyeUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXJkL3RyYW5zYWN0aW9uLWNhcmQtb3JkZXItZGVsaXZlcnkvdHJhbnNhY3Rpb24tY2FyZC1vcmRlci1kZWxpdmVyeS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25TYWxlc1BpY2tpbmdCdXR0b25CYXJCdXR0b25Db21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci90cmFuc2FjdGlvbi1idXR0b24tYmFyLWJ1dHRvbi90cmFuc2FjdGlvbi1zYWxlcy1waWNraW5nLWJ1dHRvbi1iYXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25QaWNrZWRMaW5lQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1waWNrZWQtbGluZS90cmFuc2FjdGlvbi1waWNrZWQtbGluZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25Ub0JlUGlja2VkTGluZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLXRvLWJlLXBpY2tlZC1saW5lL3RyYW5zYWN0aW9uLXRvLWJlLXBpY2tlZC1saW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblF1aWNrQWNjZXNzVG9CZVBpY2tlZENvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXRvLWJlLXBpY2tlZC90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MtdG8tYmUtcGlja2VkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblF1aWNrQWNjZXNzUGlja2VkQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MtcGlja2VkL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1waWNrZWQuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uU2FsZXNPdmVydmlld0J1dHRvbkJhckJ1dHRvbkNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1idXR0b24tYmFyL3RyYW5zYWN0aW9uLWJ1dHRvbi1iYXItYnV0dG9uL3RyYW5zYWN0aW9uLXNhbGVzLW92ZXJ2aWV3LWJ1dHRvbi1iYXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvbkNhc2hSZWdpc3Rlck9yZGVyTGluZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItb3JkZXItbGluZS90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLW9yZGVyLWxpbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uU2FsZXNPcmRlclF1b3RhdGlvbkxpbmVDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1zYWxlcy1vcmRlci1xdW90YXRpb24tbGluZS90cmFuc2FjdGlvbi1zYWxlcy1vcmRlci1xdW90YXRpb24tbGluZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25TYWxlc1F1b3RhdGlvbkZpbHRlckNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1zZWFyY2gvdHJhbnNhY3Rpb24tZmlsdGVyL3RyYW5zYWN0aW9uLXNhbGVzLXF1b3RhdGlvbi1maWx0ZXIvdHJhbnNhY3Rpb24tc2FsZXMtcXVvdGF0aW9uLWZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1NhbGVzUXVvdGF0aW9uQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtc2FsZXMtcXVvdGF0aW9uL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1zYWxlcy1xdW90YXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uU2VhcmNoU2FsZXNRdW90YXRpb25HcmlkQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1zZWFyY2gtZ3JpZC90cmFuc2FjdGlvbi1zZWFyY2gtZ3JpZC1zYWxlcy1xdW90YXRpb24tZ3JpZC90cmFuc2FjdGlvbi1zZWFyY2gtc2FsZXMtcXVvdGF0aW9uLWdyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uU2VhcmNoU2FsZXNRdW90YXRpb25UaWxlQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1zZWFyY2gtdGlsZS90cmFuc2FjdGlvbi1zZWFyY2gtc2FsZXMtcXVvdGF0aW9uLXRpbGUvdHJhbnNhY3Rpb24tc2VhcmNoLXNhbGVzLXF1b3RhdGlvbi10aWxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25DZmdOYW1lfSBmcm9tICcuLi9lbnVtL3RyYW5zYWN0aW9uLWNmZy1uYW1lLmVudW0nO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uQ2FyZEdvb2RzQWxsb2NhdGlvbkNvbXBvbmVudFxyXG59IGZyb20gXCIuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tY2FyZC90cmFuc2FjdGlvbi1jYXJkLWdvb2RzLWFsbG9jYXRpb24vdHJhbnNhY3Rpb24tY2FyZC1nb29kcy1hbGxvY2F0aW9uLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uQ2FyZFRvQmVQaWNrZWRDb21wb25lbnRcclxufSBmcm9tIFwiLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWNhcmQvdHJhbnNhY3Rpb24tY2FyZC10by1iZS1waWNrZWQvdHJhbnNhY3Rpb24tY2FyZC10by1iZS1waWNrZWQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25DYXJkUGlja2VkQ29tcG9uZW50XHJcbn0gZnJvbSBcIi4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXJkL3RyYW5zYWN0aW9uLWNhcmQtcGlja2VkL3RyYW5zYWN0aW9uLWNhcmQtcGlja2VkLmNvbXBvbmVudFwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbk1hcHBpbmdTZXJ2aWNlIHtcclxuICBwdWJsaWMgcmVhZG9ubHkgY2ZnTmFtZXM6IHR5cGVvZiBUcmFuc2FjdGlvbkNmZ05hbWUgPSBUcmFuc2FjdGlvbkNmZ05hbWU7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2J1dHRvbkJhclRyYW5zYWN0aW9uOiBNYXA8VHJhbnNhY3Rpb25LaW5kLCBUcmFuc2FjdGlvbkJhckJ1dHRvbltdPiA9IG5ldyBNYXA8VHJhbnNhY3Rpb25LaW5kLCBUcmFuc2FjdGlvbkJhckJ1dHRvbltdPihbXHJcbiAgICBbVHJhbnNhY3Rpb25LaW5kLlB1cmNoYXNlT3JkZXIsIFtcclxuICAgICAge3RpdGxlOiAnT1ZFUlZJRVcnLCBpY29uOiBJY29uLkNhcnRTaG9wcGluZ1JlZ3VsYXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyT3ZlcnZpZXcsIGNmZ05hbWU6IHRoaXMuY2ZnTmFtZXMuUnVicmljT3ZlcnZpZXd9LFxyXG4gICAgICB7dGl0bGU6ICdDT05GSVJNQVRJT04nLCBpY29uOiBJY29uLk1lbW9DaXJjbGVDaGVja1JlZ3VsYXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyT3JkZXJDb25maXJtYXRpb24sIGNvbXBvbmVudDogVHJhbnNhY3Rpb25QdXJjaGFzZUNvbmZpcm1hdGlvbkJ1dHRvbkJhckJ1dHRvbkNvbXBvbmVudCwgY2ZnTmFtZTogdGhpcy5jZmdOYW1lcy5SdWJyaWNDb25maXJtYXRpb259LFxyXG4gICAgICB7dGl0bGU6ICdUUkFOU1BPUlQnLCBpY29uOiBJY29uLlRydWNrQ29udGFpbmVyU29saWQsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyVHJhbnNwb3J0LCBjZmdOYW1lOiB0aGlzLmNmZ05hbWVzLlJ1YnJpY1RyYW5zcG9ydH0sXHJcbiAgICAgIHt0aXRsZTogJ1JFQ0VJVkVEJywgaWNvbjogSWNvbi5DYXJ0RmxhdGJlZEJveGVzU29saWQsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyUmVjZWl2ZWRHb29kcywgY29tcG9uZW50OiBUcmFuc2FjdGlvblB1cmNoYXNlUmVjZWl2ZUdvb2RzQnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50LCBjZmdOYW1lOiB0aGlzLmNmZ05hbWVzLlJ1YnJpY1JlY2VpdmVkfSxcclxuICAgICAge3RpdGxlOiAnSU5WT0lDRV9DSEVDSycsIGljb246IEljb24uSW52b2ljZSwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJJbnZvaWNlQ2hlY2ssIGNvbXBvbmVudDogVHJhbnNhY3Rpb25QdXJjaGFzZUludm9pY2VCdXR0b25CYXJCdXR0b25Db21wb25lbnQsIGNmZ05hbWU6IHRoaXMuY2ZnTmFtZXMuUnVicmljSW52b2ljZUNoZWNrfVxyXG4gICAgXV0sXHJcbiAgICBbVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIFtcclxuICAgICAge3RpdGxlOiAnT1ZFUlZJRVcnLCBpY29uOiBJY29uLkNhcnRTaG9wcGluZ1JlZ3VsYXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyT3ZlcnZpZXcsIGNvbXBvbmVudDogVHJhbnNhY3Rpb25TYWxlc092ZXJ2aWV3QnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50LCBjZmdOYW1lOiB0aGlzLmNmZ05hbWVzLlJ1YnJpY092ZXJ2aWV3fSxcclxuICAgICAge3RpdGxlOiAnUFVSQ0hBU0UnLCBpY29uOiBJY29uLlBhbGxldEJveGVzU2hhcnBSZWd1bGFyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlclB1cmNoYXNlLCBjb21wb25lbnQ6IFRyYW5zYWN0aW9uU2FsZXNQdXJjaGFzZUJ1dHRvbkJhckJ1dHRvbkNvbXBvbmVudCwgY2ZnTmFtZTogdGhpcy5jZmdOYW1lcy5SdWJyaWNQdXJjaGFzZX0sXHJcbiAgICAgIHt0aXRsZTogJ0FMTE9DQVRJT04nLCBpY29uOiBJY29uLlNoZWx2ZXNSZWd1bGFyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlckFsbG9jYXRpb24sIGNvbXBvbmVudDogVHJhbnNhY3Rpb25TYWxlc0FsbG9jYXRpb25CdXR0b25CYXJCdXR0b25Db21wb25lbnQsIGNmZ05hbWU6IHRoaXMuY2ZnTmFtZXMuUnVicmljQWxsb2NhdGV9LFxyXG4gICAgICB7dGl0bGU6ICdMT0dJU1RJQ1MnLCBpY29uOiBJY29uLkJveGVzUGFja2luZ1JlZ3VsYXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyTG9naXN0aWNzLCBjb21wb25lbnQ6IFRyYW5zYWN0aW9uU2FsZXNQaWNraW5nQnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50LCBjdXN0b21DbGljazogdHJ1ZSwgY2ZnTmFtZTogdGhpcy5jZmdOYW1lcy5SdWJyaWNMb2dpc3RpY3N9LFxyXG4gICAgICB7dGl0bGU6ICdQTEFOTklORycsIGljb246IEljb24uVHJ1Y2tNb3ZpbmdSZWd1bGFyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlclBsYW5uaW5nLCBjZmdOYW1lOiB0aGlzLmNmZ05hbWVzLlJ1YnJpY1BsYW5uaW5nfSxcclxuICAgICAge3RpdGxlOiAnREVMSVZFUllfTk9URScsIGljb246IEljb24uTWVtb0NpcmNsZUNoZWNrUmVndWxhciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJEZWxpdmVyeU5vdGUsIGNvbXBvbmVudDogVHJhbnNhY3Rpb25TYWxlc0RlbGl2ZXJ5QnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50LCBjZmdOYW1lOiB0aGlzLmNmZ05hbWVzLlJ1YnJpY0RlbGl2ZXJ5fSxcclxuICAgICAge3RpdGxlOiAnSU5WT0lDRScsIGljb246IEljb24uSW52b2ljZSwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJJbnZvaWNlLCBjb21wb25lbnQ6IFRyYW5zYWN0aW9uU2FsZXNJbnZvaWNlQnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50LCBjZmdOYW1lOiB0aGlzLmNmZ05hbWVzLlJ1YnJpY0ludm9pY2V9XHJcbiAgICBdXSxcclxuICAgIFtUcmFuc2FjdGlvbktpbmQuU2FsZXNRdW90YXRpb24sIFtcclxuICAgICAge3RpdGxlOiAnT1ZFUlZJRVcnLCBpY29uOiBJY29uLkNhcnRTaG9wcGluZ1JlZ3VsYXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyUXVvdGF0aW9ufSxcclxuICAgIF1dLFxyXG4gIF0pO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF9xdWlja0FjY2Vzc0NvbXBvbmVudDogTWFwPHt0eXBlOiBUcmFuc2FjdGlvbktpbmQsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0sIFR5cGU8VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50Pj4gPVxyXG4gICAgbmV3IE1hcDx7dHlwZTogVHJhbnNhY3Rpb25LaW5kOyBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9LCBUeXBlPFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudD4+KFtcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuUHVyY2hhc2VPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJPdmVydmlld30sIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NQdXJjaGFzZU9yZGVyT3ZlcnZpZXdDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5QdXJjaGFzZU9yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlck9yZGVyQ29uZmlybWF0aW9ufSwgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc09yZGVyQ29uZmlybWF0aW9uQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuUHVyY2hhc2VPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJSZWNlaXZlZEdvb2RzfSwgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1JlY2VpdmVkR29vZHNDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlck92ZXJ2aWV3fSwgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc092ZXJ2aWV3Q29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJQdXJjaGFzZX0sIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NPcmRlclB1cmNoYXNlQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJBbGxvY2F0aW9ufSwgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc0dvb2RzQWxsb2NhdGlvbkNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyRGVsaXZlcnlOb3RlfSwgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc09yZGVyRGVsaXZlcnlDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlckludm9pY2V9LCBUcmFuc2FjdGlvblF1aWNrQWNjZXNzSW52b2ljZUNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyVG9CZVBpY2tlZH0sIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NUb0JlUGlja2VkQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJQaWNrZWR9LCBUcmFuc2FjdGlvblF1aWNrQWNjZXNzUGlja2VkQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNRdW90YXRpb24sIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyUXVvdGF0aW9ufSwgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1NhbGVzUXVvdGF0aW9uQ29tcG9uZW50XVxyXG4gICAgXSk7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX3RyYW5zYWN0aW9uR3JpZENvbXBvbmVudDogTWFwPHt0eXBlOiBUcmFuc2FjdGlvbktpbmQsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0sIFR5cGU8VHJhbnNhY3Rpb25HcmlkQmFzZUNvbXBvbmVudD4+ID1cclxuICAgIG5ldyBNYXA8e3R5cGU6IFRyYW5zYWN0aW9uS2luZDsgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSwgVHlwZTxUcmFuc2FjdGlvbkdyaWRCYXNlQ29tcG9uZW50Pj4oW1xyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5QdXJjaGFzZU9yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlck92ZXJ2aWV3fSwgVHJhbnNhY3Rpb25MaW5lc0dyaWRDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5QdXJjaGFzZU9yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlck9yZGVyQ29uZmlybWF0aW9ufSwgVHJhbnNhY3Rpb25PcmRlckNvbmZpcm1hdGlvbkdyaWRDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlck92ZXJ2aWV3fSwgVHJhbnNhY3Rpb25MaW5lc0dyaWRDb21wb25lbnRdXHJcbiAgICBdKTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfdHJhbnNhY3Rpb25MaW5lQ29tcG9uZW50OiBNYXA8e3R5cGU6IFRyYW5zYWN0aW9uS2luZCwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSwgVHlwZTxUcmFuc2FjdGlvbkJhc2VDb21wb25lbnQ+PiA9XHJcbiAgICBuZXcgTWFwPHt0eXBlOiBUcmFuc2FjdGlvbktpbmQ7IGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0sIFR5cGU8VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50Pj4oW1xyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlck92ZXJ2aWV3fSwgVHJhbnNhY3Rpb25PdmVydmlld0xpbmVDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlclB1cmNoYXNlfSwgVHJhbnNhY3Rpb25QdXJjaGFzZUxpbmVDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlckFsbG9jYXRpb259LCBUcmFuc2FjdGlvbkdvb2RzQWxsb2NhdGlvbkxpbmVDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlckRlbGl2ZXJ5Tm90ZX0sIFRyYW5zYWN0aW9uT3JkZXJEZWxpdmVyeUxpbmVDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlckludm9pY2V9LCBUcmFuc2FjdGlvbkludm9pY2VMaW5lQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJQaWNrZWR9LCBUcmFuc2FjdGlvblBpY2tlZExpbmVDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlclRvQmVQaWNrZWR9LCBUcmFuc2FjdGlvblRvQmVQaWNrZWRMaW5lQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuUHVyY2hhc2VPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJPdmVydmlld30sIFRyYW5zYWN0aW9uUHVyY2hhc2VPdmVydmlld0xpbmVDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5QdXJjaGFzZU9yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlclJlY2VpdmVkR29vZHN9LCBUcmFuc2FjdGlvblJlY2VpdmVHb29kc0xpbmVDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5QdXJjaGFzZU9yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlck9yZGVyQ29uZmlybWF0aW9ufSwgVHJhbnNhY3Rpb25QdXJjaGFzZU9yZGVyTGluZUNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLkNhc2hEZXNrLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlckNhc2hSZWdpc3Rlcn0sIFRyYW5zYWN0aW9uQ2FzaFJlZ2lzdGVyT3JkZXJMaW5lQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNRdW90YXRpb24sIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyUXVvdGF0aW9ufSwgVHJhbnNhY3Rpb25TYWxlc09yZGVyUXVvdGF0aW9uTGluZUNvbXBvbmVudF0sXHJcbiAgICBdKTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfdHJhbnNhY3Rpb25DYXJkQ29tcG9uZW50OiBNYXA8e3R5cGU6IFRyYW5zYWN0aW9uS2luZCwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSwgVHlwZTxUcmFuc2FjdGlvbkJhc2VDb21wb25lbnQ+PiA9XHJcbiAgICBuZXcgTWFwPHt0eXBlOiBUcmFuc2FjdGlvbktpbmQ7IGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0sIFR5cGU8VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50Pj4oW1xyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlck92ZXJ2aWV3fSwgVHJhbnNhY3Rpb25DYXJkU2FsZXNPdmVydmlld0NvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVySW52b2ljZX0sIFRyYW5zYWN0aW9uQ2FyZEludm9pY2VDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlclB1cmNoYXNlfSwgVHJhbnNhY3Rpb25DYXJkUHVyY2hhc2VDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlckRlbGl2ZXJ5Tm90ZX0sIFRyYW5zYWN0aW9uQ2FyZE9yZGVyRGVsaXZlcnlDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlckFsbG9jYXRpb259LCBUcmFuc2FjdGlvbkNhcmRHb29kc0FsbG9jYXRpb25Db21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlclRvQmVQaWNrZWR9LCBUcmFuc2FjdGlvbkNhcmRUb0JlUGlja2VkQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJQaWNrZWR9LCBUcmFuc2FjdGlvbkNhcmRQaWNrZWRDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5QdXJjaGFzZU9yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlck92ZXJ2aWV3fSwgVHJhbnNhY3Rpb25DYXJkUHVyY2hhc2VPdmVydmlld0NvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlB1cmNoYXNlT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyT3JkZXJDb25maXJtYXRpb259LCBUcmFuc2FjdGlvbkNhcmRQdXJjaGFzZU92ZXJ2aWV3Q29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuUHVyY2hhc2VPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJSZWNlaXZlZEdvb2RzfSwgVHJhbnNhY3Rpb25DYXJkUmVjZWl2ZUdvb2RzQ29tcG9uZW50XSxcclxuICAgIF0pO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF90cmFuc2FjdGlvbkZpbHRlckNvbXBvbmVudDogTWFwPHt0eXBlOiBUcmFuc2FjdGlvbktpbmR9LCBUeXBlPFRyYW5zYWN0aW9uRmlsdGVyQmFzZUNvbXBvbmVudD4+ID1cclxuICAgIG5ldyBNYXA8e3R5cGU6IFRyYW5zYWN0aW9uS2luZH0sIFR5cGU8VHJhbnNhY3Rpb25GaWx0ZXJCYXNlQ29tcG9uZW50Pj4oW1xyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyfSwgVHJhbnNhY3Rpb25TYWxlc09yZGVyRmlsdGVyQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuUHVyY2hhc2VPcmRlcn0sIFRyYW5zYWN0aW9uUHVyY2hhc2VPcmRlckZpbHRlckNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzUXVvdGF0aW9ufSwgVHJhbnNhY3Rpb25TYWxlc1F1b3RhdGlvbkZpbHRlckNvbXBvbmVudF1cclxuICAgIF0pO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF90cmFuc2FjdGlvblNlYXJjaEdyaWRDb21wb25lbnQ6IE1hcDx7dHlwZTogVHJhbnNhY3Rpb25LaW5kfSwgVHlwZTxUcmFuc2FjdGlvblNlYXJjaEdyaWRCYXNlQ29tcG9uZW50Pj4gPVxyXG4gICAgbmV3IE1hcDx7dHlwZTogVHJhbnNhY3Rpb25LaW5kfSwgVHlwZTxUcmFuc2FjdGlvblNlYXJjaEdyaWRCYXNlQ29tcG9uZW50Pj4oW1xyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyfSwgVHJhbnNhY3Rpb25TZWFyY2hTYWxlc09yZGVyR3JpZENvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlB1cmNoYXNlT3JkZXJ9LCBUcmFuc2FjdGlvblNlYXJjaFB1cmNoYXNlT3JkZXJHcmlkQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNRdW90YXRpb259LCBUcmFuc2FjdGlvblNlYXJjaFNhbGVzUXVvdGF0aW9uR3JpZENvbXBvbmVudF1cclxuICAgIF0pO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF90cmFuc2FjdGlvblNlYXJjaFRpbGVDb21wb25lbnQ6IE1hcDx7dHlwZTogVHJhbnNhY3Rpb25LaW5kfSwgVHlwZTxUcmFuc2FjdGlvblNlYXJjaFRpbGVCYXNlQ29tcG9uZW50Pj4gPVxyXG4gICAgbmV3IE1hcDx7dHlwZTogVHJhbnNhY3Rpb25LaW5kfSwgVHlwZTxUcmFuc2FjdGlvblNlYXJjaFRpbGVCYXNlQ29tcG9uZW50Pj4oW1xyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyfSwgVHJhbnNhY3Rpb25TZWFyY2hTYWxlc09yZGVyVGlsZUNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlB1cmNoYXNlT3JkZXJ9LCBUcmFuc2FjdGlvblNlYXJjaFB1cmNoYXNlT3JkZXJUaWxlQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNRdW90YXRpb259LCBUcmFuc2FjdGlvblNlYXJjaFNhbGVzUXVvdGF0aW9uVGlsZUNvbXBvbmVudF1cclxuICAgIF0pO1xyXG5cclxuICBwdWJsaWMgZ2V0QnV0dG9uQmFyKHR5cGU6IFRyYW5zYWN0aW9uS2luZCk6IFRyYW5zYWN0aW9uQmFyQnV0dG9uW10ge1xyXG4gICAgaWYgKHRoaXMuX2J1dHRvbkJhclRyYW5zYWN0aW9uLmhhcyh0eXBlKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYnV0dG9uQmFyVHJhbnNhY3Rpb24uZ2V0KHR5cGUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFtdO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFF1aWNrQWNjZXNzQ29tcG9uZW50KHR5cGU6IFRyYW5zYWN0aW9uS2luZCwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5KTogVHlwZTxUcmFuc2FjdGlvbkJhc2VDb21wb25lbnQ+IHtcclxuICAgIGNvbnN0IGtleToge3R5cGU6IFRyYW5zYWN0aW9uS2luZCwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSA9IHtcclxuICAgICAgdHlwZTogdHlwZSxcclxuICAgICAgY2F0ZWdvcnk6IGNhdGVnb3J5XHJcbiAgICB9XHJcbiAgICBsZXQgZW50cnk6IFR5cGU8VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50PjtcclxuICAgIHRoaXMuX3F1aWNrQWNjZXNzQ29tcG9uZW50LmZvckVhY2goKHYsIHQsIG0pID0+IHtcclxuICAgICAgaWYgKHQudHlwZSA9PT0ga2V5LnR5cGUgJiYgdC5jYXRlZ29yeSA9PT0ga2V5LmNhdGVnb3J5KSB7XHJcbiAgICAgICAgZW50cnkgPSB2O1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiBlbnRyeTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRUcmFuc2FjdGlvbkdyaWRDb21wb25lbnQodHlwZTogVHJhbnNhY3Rpb25LaW5kLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkpOiBUeXBlPFRyYW5zYWN0aW9uR3JpZEJhc2VDb21wb25lbnQ+IHtcclxuICAgIGNvbnN0IGtleToge3R5cGU6IFRyYW5zYWN0aW9uS2luZCwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSA9IHtcclxuICAgICAgdHlwZTogdHlwZSxcclxuICAgICAgY2F0ZWdvcnk6IGNhdGVnb3J5XHJcbiAgICB9XHJcbiAgICBsZXQgZW50cnk6IFR5cGU8VHJhbnNhY3Rpb25HcmlkQmFzZUNvbXBvbmVudD47XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvbkdyaWRDb21wb25lbnQuZm9yRWFjaCgodiwgdCwgbSkgPT4ge1xyXG4gICAgICBpZiAodC50eXBlID09PSBrZXkudHlwZSAmJiB0LmNhdGVnb3J5ID09PSBrZXkuY2F0ZWdvcnkpIHtcclxuICAgICAgICBlbnRyeSA9IHY7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIGVudHJ5O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRyYW5zYWN0aW9uTGluZUNvbXBvbmVudCh0eXBlOiBUcmFuc2FjdGlvbktpbmQsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeSk6IFR5cGU8VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50PiB7XHJcbiAgICBjb25zdCBrZXk6IHt0eXBlOiBUcmFuc2FjdGlvbktpbmQsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0gPSB7XHJcbiAgICAgIHR5cGU6IHR5cGUsXHJcbiAgICAgIGNhdGVnb3J5OiBjYXRlZ29yeVxyXG4gICAgfVxyXG4gICAgbGV0IGVudHJ5OiBUeXBlPFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudD47XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvbkxpbmVDb21wb25lbnQuZm9yRWFjaCgodiwgdCkgPT4ge1xyXG4gICAgICBpZiAodC50eXBlID09PSBrZXkudHlwZSAmJiB0LmNhdGVnb3J5ID09PSBrZXkuY2F0ZWdvcnkpIHtcclxuICAgICAgICBlbnRyeSA9IHY7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIGVudHJ5O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRyYW5zYWN0aW9uQ2FyZENvbXBvbmVudCh0eXBlOiBUcmFuc2FjdGlvbktpbmQsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeSk6IFR5cGU8VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50PiB7XHJcbiAgICBjb25zdCBrZXk6IHt0eXBlOiBUcmFuc2FjdGlvbktpbmQsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0gPSB7XHJcbiAgICAgIHR5cGU6IHR5cGUsXHJcbiAgICAgIGNhdGVnb3J5OiBjYXRlZ29yeVxyXG4gICAgfVxyXG4gICAgbGV0IGVudHJ5OiBUeXBlPFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudD47XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvbkNhcmRDb21wb25lbnQuZm9yRWFjaCgodiwgdCkgPT4ge1xyXG4gICAgICBpZiAodC50eXBlID09PSBrZXkudHlwZSAmJiB0LmNhdGVnb3J5ID09PSBrZXkuY2F0ZWdvcnkpIHtcclxuICAgICAgICBlbnRyeSA9IHY7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIGVudHJ5O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRyYW5zYWN0aW9uRmlsdGVyQ29tcG9uZW50KHR5cGU6IFRyYW5zYWN0aW9uS2luZCk6IFR5cGU8VHJhbnNhY3Rpb25GaWx0ZXJCYXNlQ29tcG9uZW50PiB7XHJcbiAgICBjb25zdCBrZXk6IHt0eXBlOiBUcmFuc2FjdGlvbktpbmR9ID0ge1xyXG4gICAgICB0eXBlOiB0eXBlfVxyXG4gICAgbGV0IGVudHJ5OiBUeXBlPFRyYW5zYWN0aW9uRmlsdGVyQmFzZUNvbXBvbmVudD47XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvbkZpbHRlckNvbXBvbmVudC5mb3JFYWNoKCh2LCB0LCBtKSA9PiB7XHJcbiAgICAgIGlmICh0LnR5cGUgPT09IGtleS50eXBlKSB7XHJcbiAgICAgICAgZW50cnkgPSB2O1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiBlbnRyeTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRUcmFuc2FjdGlvblNlYXJjaEdyaWRDb21wb25lbnQodHlwZTogVHJhbnNhY3Rpb25LaW5kKTogVHlwZTxUcmFuc2FjdGlvblNlYXJjaEdyaWRCYXNlQ29tcG9uZW50PiB7XHJcbiAgICBjb25zdCBrZXk6IHt0eXBlOiBUcmFuc2FjdGlvbktpbmR9ID0ge1xyXG4gICAgICB0eXBlOiB0eXBlfVxyXG4gICAgbGV0IGVudHJ5OiBUeXBlPFRyYW5zYWN0aW9uU2VhcmNoR3JpZEJhc2VDb21wb25lbnQ+O1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25TZWFyY2hHcmlkQ29tcG9uZW50LmZvckVhY2goKHYsIHQsIG0pID0+IHtcclxuICAgICAgaWYgKHQudHlwZSA9PT0ga2V5LnR5cGUpIHtcclxuICAgICAgICBlbnRyeSA9IHY7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIGVudHJ5O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRyYW5zYWN0aW9uU2VhcmNoVGlsZUNvbXBvbmVudCh0eXBlOiBUcmFuc2FjdGlvbktpbmQpOiBUeXBlPFRyYW5zYWN0aW9uU2VhcmNoVGlsZUJhc2VDb21wb25lbnQ+IHtcclxuICAgIGNvbnN0IGtleToge3R5cGU6IFRyYW5zYWN0aW9uS2luZH0gPSB7XHJcbiAgICAgIHR5cGU6IHR5cGV9XHJcbiAgICBsZXQgZW50cnk6IFR5cGU8VHJhbnNhY3Rpb25TZWFyY2hUaWxlQmFzZUNvbXBvbmVudD47XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvblNlYXJjaFRpbGVDb21wb25lbnQuZm9yRWFjaCgodiwgdCwgbSkgPT4ge1xyXG4gICAgICBpZiAodC50eXBlID09PSBrZXkudHlwZSkge1xyXG4gICAgICAgIGVudHJ5ID0gdjtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICByZXR1cm4gZW50cnk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
254
+ TransactionMappingService.ctorParameters = () => [
255
+ { type: TransactionService }
256
+ ];
257
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbWFwcGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9zZXJ2aWNlL3RyYW5zYWN0aW9uLW1hcHBpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFPLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUkxRixPQUFPLEVBQ0gsdUNBQXVDLEVBQzFDLE1BQU0sa0lBQWtJLENBQUM7QUFDMUksT0FBTyxFQUNILG9DQUFvQyxFQUN2QyxNQUFNLDRIQUE0SCxDQUFDO0FBQ3BJLE9BQU8sRUFDSCwyQ0FBMkMsRUFDOUMsTUFBTSxpSkFBaUosQ0FBQztBQUN6SixPQUFPLEVBQ0gsd0NBQXdDLEVBQzNDLE1BQU0sMklBQTJJLENBQUM7QUFDbkosT0FBTyxFQUNILDJDQUEyQyxFQUM5QyxNQUFNLGlKQUFpSixDQUFDO0FBQ3pKLE9BQU8sRUFDSCx3Q0FBd0MsRUFDM0MsTUFBTSwySUFBMkksQ0FBQztBQUVuSixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDdkMsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUNILGdEQUFnRCxFQUNuRCxNQUFNLHlJQUF5SSxDQUFDO0FBRWpKLE9BQU8sRUFDSCw0Q0FBNEMsRUFDL0MsTUFBTSxpSUFBaUksQ0FBQztBQUN6SSxPQUFPLEVBQ0gsdUNBQXVDLEVBQzFDLE1BQU0scUhBQXFILENBQUM7QUFFN0gsT0FBTyxFQUNILHlDQUF5QyxFQUM1QyxNQUFNLGlIQUFpSCxDQUFDO0FBQ3pILE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHVGQUF1RixDQUFDO0FBQ3BJLE9BQU8sRUFDSCxnQ0FBZ0MsRUFDbkMsTUFBTSw2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QUMsK0JBQStCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN2RCxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksRUFBRTtnQkFDdkIsS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDVixPQUFPO2FBQ1I7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUNGLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLGlDQUFpQyxDQUFDLElBQXFCO1FBQzVELE1BQU0sR0FBRyxHQUE0QjtZQUNuQyxJQUFJLEVBQUUsSUFBSTtTQUFDLENBQUE7UUFDYixJQUFJLEtBQStDLENBQUM7UUFDcEQsSUFBSSxDQUFDLCtCQUErQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDdkQsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLEVBQUU7Z0JBQ3ZCLEtBQUssR0FBRyxDQUFDLENBQUM7Z0JBQ1YsT0FBTzthQUNSO1FBQ0gsQ0FBQyxDQUFDLENBQUE7UUFDRixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Ozs7WUFoTkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFKTyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uS2luZH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vdHJhbnNhY3Rpb24ta2luZC5lbnVtJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkZpbHRlckJhc2VDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudC9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tZmlsdGVyLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlYXJjaEdyaWRCYXNlQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnQvY29yZS9iYXNlL3RyYW5zYWN0aW9uLXNlYXJjaC1ncmlkLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlYXJjaFRpbGVCYXNlQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnQvY29yZS9iYXNlL3RyYW5zYWN0aW9uLXNlYXJjaC10aWxlLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uUHVyY2hhc2VPcmRlckZpbHRlckNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1zZWFyY2gvdHJhbnNhY3Rpb24tZmlsdGVyL3RyYW5zYWN0aW9uLXB1cmNoYXNlLW9yZGVyLWZpbHRlci90cmFuc2FjdGlvbi1wdXJjaGFzZS1vcmRlci1maWx0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uU2FsZXNPcmRlckZpbHRlckNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1zZWFyY2gvdHJhbnNhY3Rpb24tZmlsdGVyL3RyYW5zYWN0aW9uLXNhbGVzLW9yZGVyLWZpbHRlci90cmFuc2FjdGlvbi1zYWxlcy1vcmRlci1maWx0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uU2VhcmNoUHVyY2hhc2VPcmRlckdyaWRDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tc2VhcmNoL3RyYW5zYWN0aW9uLXNlYXJjaC1ncmlkL3RyYW5zYWN0aW9uLXNlYXJjaC1wdXJjaGFzZS1vcmRlci1ncmlkL3RyYW5zYWN0aW9uLXNlYXJjaC1wdXJjaGFzZS1vcmRlci1ncmlkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblNlYXJjaFNhbGVzT3JkZXJHcmlkQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1zZWFyY2gtZ3JpZC90cmFuc2FjdGlvbi1zZWFyY2gtc2FsZXMtb3JkZXItZ3JpZC90cmFuc2FjdGlvbi1zZWFyY2gtc2FsZXMtb3JkZXItZ3JpZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25TZWFyY2hQdXJjaGFzZU9yZGVyVGlsZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1zZWFyY2gvdHJhbnNhY3Rpb24tc2VhcmNoLXRpbGUvdHJhbnNhY3Rpb24tc2VhcmNoLXB1cmNoYXNlLW9yZGVyLXRpbGUvdHJhbnNhY3Rpb24tc2VhcmNoLXB1cmNoYXNlLW9yZGVyLXRpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uU2VhcmNoU2FsZXNPcmRlclRpbGVDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tc2VhcmNoL3RyYW5zYWN0aW9uLXNlYXJjaC10aWxlL3RyYW5zYWN0aW9uLXNlYXJjaC1zYWxlcy1vcmRlci10aWxlL3RyYW5zYWN0aW9uLXNlYXJjaC1zYWxlcy1vcmRlci10aWxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25CYXJCdXR0b259IGZyb20gJy4uL21vZGVsL3RyYW5zYWN0aW9uLWJhci1idXR0b24nO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0gZnJvbSAnLi4vZW51bS90cmFuc2FjdGlvbi10eXBlLWNhdGVnb3J5LmVudW0nO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc09yZGVyQ29uZmlybWF0aW9uQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtb3JkZXItY29uZmlybWF0aW9uL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1vcmRlci1jb25maXJtYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkJhc2VDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudC9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1JlY2VpdmVkR29vZHNDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1yZWNlaXZlZC1nb29kcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MtcmVjZWl2ZWQtZ29vZHMuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NPdmVydmlld0NvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLW92ZXJ2aWV3L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1vdmVydmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uR3JpZEJhc2VDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudC9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tZ3JpZC1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvbk9yZGVyQ29uZmlybWF0aW9uR3JpZENvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1ncmlkL3RyYW5zYWN0aW9uLW9yZGVyLWNvbmZpcm1hdGlvbi1ncmlkL3RyYW5zYWN0aW9uLW9yZGVyLWNvbmZpcm1hdGlvbi1ncmlkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lc0dyaWRDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1ncmlkL3RyYW5zYWN0aW9uLWxpbmVzLWdyaWQvdHJhbnNhY3Rpb24tbGluZXMtZ3JpZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25PdmVydmlld0xpbmVDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1vdmVydmlldy1saW5lL3RyYW5zYWN0aW9uLW92ZXJ2aWV3LWxpbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uT3JkZXJEZWxpdmVyeUxpbmVDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1vcmRlci1kZWxpdmVyeS1saW5lL3RyYW5zYWN0aW9uLW9yZGVyLWRlbGl2ZXJ5LWxpbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NPcmRlckRlbGl2ZXJ5Q29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtb3JkZXItZGVsaXZlcnkvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLW9yZGVyLWRlbGl2ZXJ5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblJlY2VpdmVHb29kc0xpbmVDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1yZWNlaXZlLWdvb2RzLWxpbmUvdHJhbnNhY3Rpb24tcmVjZWl2ZS1nb29kcy1saW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblB1cmNoYXNlTGluZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLXB1cmNoYXNlLWxpbmUvdHJhbnNhY3Rpb24tcHVyY2hhc2UtbGluZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc09yZGVyUHVyY2hhc2VDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1vcmRlci1wdXJjaGFzZS90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtb3JkZXItcHVyY2hhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uU2FsZXNQdXJjaGFzZUJ1dHRvbkJhckJ1dHRvbkNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1idXR0b24tYmFyL3RyYW5zYWN0aW9uLWJ1dHRvbi1iYXItYnV0dG9uL3RyYW5zYWN0aW9uLXNhbGVzLXB1cmNoYXNlLWJ1dHRvbi1iYXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvbkdvb2RzQWxsb2NhdGlvbkxpbmVDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1nb29kcy1hbGxvY2F0aW9uLWxpbmUvdHJhbnNhY3Rpb24tZ29vZHMtYWxsb2NhdGlvbi1saW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblF1aWNrQWNjZXNzR29vZHNBbGxvY2F0aW9uQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MtZ29vZHMtYWxsb2NhdGlvbi90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MtZ29vZHMtYWxsb2NhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1B1cmNoYXNlT3JkZXJPdmVydmlld0NvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXB1cmNoYXNlLW9yZGVyLW92ZXJ2aWV3L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1wdXJjaGFzZS1vcmRlci1vdmVydmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25DYXJkU2FsZXNPdmVydmlld0NvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXJkL3RyYW5zYWN0aW9uLWNhcmQtc2FsZXMtb3ZlcnZpZXcvdHJhbnNhY3Rpb24tY2FyZC1zYWxlcy1vdmVydmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25DYXJkUHVyY2hhc2VPdmVydmlld0NvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXJkL3RyYW5zYWN0aW9uLWNhcmQtcHVyY2hhc2Utb3ZlcnZpZXcvdHJhbnNhY3Rpb24tY2FyZC1wdXJjaGFzZS1vdmVydmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25QdXJjaGFzZU9yZGVyTGluZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLXB1cmNoYXNlLW9yZGVyLWxpbmUvdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItbGluZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25QdXJjaGFzZU92ZXJ2aWV3TGluZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLXB1cmNoYXNlLW92ZXJ2aWV3LWxpbmUvdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3ZlcnZpZXctbGluZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25QdXJjaGFzZVJlY2VpdmVHb29kc0J1dHRvbkJhckJ1dHRvbkNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1idXR0b24tYmFyL3RyYW5zYWN0aW9uLWJ1dHRvbi1iYXItYnV0dG9uL3RyYW5zYWN0aW9uLXB1cmNoYXNlLXJlY2VpdmUtZ29vZHMtYnV0dG9uLWJhci1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uU2FsZXNBbGxvY2F0aW9uQnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWJ1dHRvbi1iYXIvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci1idXR0b24vdHJhbnNhY3Rpb24tc2FsZXMtYWxsb2NhdGlvbi1idXR0b24tYmFyLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25QdXJjaGFzZUNvbmZpcm1hdGlvbkJ1dHRvbkJhckJ1dHRvbkNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1idXR0b24tYmFyL3RyYW5zYWN0aW9uLWJ1dHRvbi1iYXItYnV0dG9uL3RyYW5zYWN0aW9uLXB1cmNoYXNlLWNvbmZpcm1hdGlvbi1idXR0b24tYmFyLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25TYWxlc0RlbGl2ZXJ5QnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWJ1dHRvbi1iYXIvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci1idXR0b24vdHJhbnNhY3Rpb24tc2FsZXMtZGVsaXZlcnktYnV0dG9uLWJhci1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NJbnZvaWNlQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MtaW52b2ljZS90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MtaW52b2ljZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW52b2ljZUxpbmVDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLWludm9pY2UtbGluZS90cmFuc2FjdGlvbi1pbnZvaWNlLWxpbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uUHVyY2hhc2VJbnZvaWNlQnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWJ1dHRvbi1iYXIvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci1idXR0b24vdHJhbnNhY3Rpb24tcHVyY2hhc2UtaW52b2ljZS1idXR0b24tYmFyLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25TYWxlc0ludm9pY2VCdXR0b25CYXJCdXR0b25Db21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci90cmFuc2FjdGlvbi1idXR0b24tYmFyLWJ1dHRvbi90cmFuc2FjdGlvbi1zYWxlcy1pbnZvaWNlLWJ1dHRvbi1iYXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvbkNhcmRSZWNlaXZlR29vZHNDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tY2FyZC90cmFuc2FjdGlvbi1jYXJkLXJlY2VpdmUtZ29vZHMvdHJhbnNhY3Rpb24tY2FyZC1yZWNlaXZlLWdvb2RzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25DYXJkSW52b2ljZUNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWNhcmQvdHJhbnNhY3Rpb24tY2FyZC1pbnZvaWNlL3RyYW5zYWN0aW9uLWNhcmQtaW52b2ljZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25DYXJkUHVyY2hhc2VDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tY2FyZC90cmFuc2FjdGlvbi1jYXJkLXB1cmNoYXNlL3RyYW5zYWN0aW9uLWNhcmQtcHVyY2hhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uQ2FyZE9yZGVyRGVsaXZlcnlDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tY2FyZC90cmFuc2FjdGlvbi1jYXJkLW9yZGVyLWRlbGl2ZXJ5L3RyYW5zYWN0aW9uLWNhcmQtb3JkZXItZGVsaXZlcnkuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uU2FsZXNQaWNraW5nQnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWJ1dHRvbi1iYXIvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci1idXR0b24vdHJhbnNhY3Rpb24tc2FsZXMtcGlja2luZy1idXR0b24tYmFyLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUGlja2VkTGluZUNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tcGlja2VkLWxpbmUvdHJhbnNhY3Rpb24tcGlja2VkLWxpbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uVG9CZVBpY2tlZExpbmVDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi10by1iZS1waWNrZWQtbGluZS90cmFuc2FjdGlvbi10by1iZS1waWNrZWQtbGluZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1RvQmVQaWNrZWRDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy10by1iZS1waWNrZWQvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXRvLWJlLXBpY2tlZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1BpY2tlZENvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXBpY2tlZC90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MtcGlja2VkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblNhbGVzT3ZlcnZpZXdCdXR0b25CYXJCdXR0b25Db21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci90cmFuc2FjdGlvbi1idXR0b24tYmFyLWJ1dHRvbi90cmFuc2FjdGlvbi1zYWxlcy1vdmVydmlldy1idXR0b24tYmFyLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25DYXNoUmVnaXN0ZXJPcmRlckxpbmVDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLW9yZGVyLWxpbmUvdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci1saW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblNhbGVzT3JkZXJRdW90YXRpb25MaW5lQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tc2FsZXMtb3JkZXItcXVvdGF0aW9uLWxpbmUvdHJhbnNhY3Rpb24tc2FsZXMtb3JkZXItcXVvdGF0aW9uLWxpbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uU2FsZXNRdW90YXRpb25GaWx0ZXJDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tc2VhcmNoL3RyYW5zYWN0aW9uLWZpbHRlci90cmFuc2FjdGlvbi1zYWxlcy1xdW90YXRpb24tZmlsdGVyL3RyYW5zYWN0aW9uLXNhbGVzLXF1b3RhdGlvbi1maWx0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NTYWxlc1F1b3RhdGlvbkNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNhbGVzLXF1b3RhdGlvbi90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtc2FsZXMtcXVvdGF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblNlYXJjaFNhbGVzUXVvdGF0aW9uR3JpZENvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1zZWFyY2gvdHJhbnNhY3Rpb24tc2VhcmNoLWdyaWQvdHJhbnNhY3Rpb24tc2VhcmNoLWdyaWQtc2FsZXMtcXVvdGF0aW9uLWdyaWQvdHJhbnNhY3Rpb24tc2VhcmNoLXNhbGVzLXF1b3RhdGlvbi1ncmlkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblNlYXJjaFNhbGVzUXVvdGF0aW9uVGlsZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1zZWFyY2gvdHJhbnNhY3Rpb24tc2VhcmNoLXRpbGUvdHJhbnNhY3Rpb24tc2VhcmNoLXNhbGVzLXF1b3RhdGlvbi10aWxlL3RyYW5zYWN0aW9uLXNlYXJjaC1zYWxlcy1xdW90YXRpb24tdGlsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQ2ZnTmFtZX0gZnJvbSAnLi4vZW51bS90cmFuc2FjdGlvbi1jZmctbmFtZS5lbnVtJztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uQ2FyZEdvb2RzQWxsb2NhdGlvbkNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXJkL3RyYW5zYWN0aW9uLWNhcmQtZ29vZHMtYWxsb2NhdGlvbi90cmFuc2FjdGlvbi1jYXJkLWdvb2RzLWFsbG9jYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uQ2FyZFRvQmVQaWNrZWRDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tY2FyZC90cmFuc2FjdGlvbi1jYXJkLXRvLWJlLXBpY2tlZC90cmFuc2FjdGlvbi1jYXJkLXRvLWJlLXBpY2tlZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQ2FyZFBpY2tlZENvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWNhcmQvdHJhbnNhY3Rpb24tY2FyZC1waWNrZWQvdHJhbnNhY3Rpb24tY2FyZC1waWNrZWQuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4vdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uTWFwcGluZ1NlcnZpY2Uge1xyXG4gIHB1YmxpYyByZWFkb25seSBjZmdOYW1lczogdHlwZW9mIFRyYW5zYWN0aW9uQ2ZnTmFtZSA9IFRyYW5zYWN0aW9uQ2ZnTmFtZTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfYnV0dG9uQmFyVHJhbnNhY3Rpb246IE1hcDxUcmFuc2FjdGlvbktpbmQsIFRyYW5zYWN0aW9uQmFyQnV0dG9uW10+ID0gbmV3IE1hcDxUcmFuc2FjdGlvbktpbmQsIFRyYW5zYWN0aW9uQmFyQnV0dG9uW10+KFtcclxuICAgIFtUcmFuc2FjdGlvbktpbmQuUHVyY2hhc2VPcmRlciwgW1xyXG4gICAgICB7dGl0bGU6ICdPVkVSVklFVycsIGljb246IEljb24uQ2FydFNob3BwaW5nUmVndWxhciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJPdmVydmlldywgY2ZnTmFtZTogdGhpcy5jZmdOYW1lcy5SdWJyaWNPdmVydmlld30sXHJcbiAgICAgIHt0aXRsZTogJ0NPTkZJUk1BVElPTicsIGljb246IEljb24uTWVtb0NpcmNsZUNoZWNrUmVndWxhciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJPcmRlckNvbmZpcm1hdGlvbiwgY29tcG9uZW50OiBUcmFuc2FjdGlvblB1cmNoYXNlQ29uZmlybWF0aW9uQnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50LCBjZmdOYW1lOiB0aGlzLmNmZ05hbWVzLlJ1YnJpY0NvbmZpcm1hdGlvbn0sXHJcbiAgICAgIHt0aXRsZTogJ1RSQU5TUE9SVCcsIGljb246IEljb24uVHJ1Y2tDb250YWluZXJTb2xpZCwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJUcmFuc3BvcnQsIGNmZ05hbWU6IHRoaXMuY2ZnTmFtZXMuUnVicmljVHJhbnNwb3J0fSxcclxuICAgICAge3RpdGxlOiAnUkVDRUlWRUQnLCBpY29uOiBJY29uLkNhcnRGbGF0YmVkQm94ZXNTb2xpZCwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJSZWNlaXZlZEdvb2RzLCBjb21wb25lbnQ6IFRyYW5zYWN0aW9uUHVyY2hhc2VSZWNlaXZlR29vZHNCdXR0b25CYXJCdXR0b25Db21wb25lbnQsIGNmZ05hbWU6IHRoaXMuY2ZnTmFtZXMuUnVicmljUmVjZWl2ZWR9LFxyXG4gICAgICB7dGl0bGU6ICdJTlZPSUNFX0NIRUNLJywgaWNvbjogSWNvbi5JbnZvaWNlLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlckludm9pY2VDaGVjaywgY29tcG9uZW50OiBUcmFuc2FjdGlvblB1cmNoYXNlSW52b2ljZUJ1dHRvbkJhckJ1dHRvbkNvbXBvbmVudCwgY2ZnTmFtZTogdGhpcy5jZmdOYW1lcy5SdWJyaWNJbnZvaWNlQ2hlY2t9XHJcbiAgICBdXSxcclxuICAgIFtUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgW1xyXG4gICAgICB7dGl0bGU6ICdPVkVSVklFVycsIGljb246IEljb24uQ2FydFNob3BwaW5nUmVndWxhciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJPdmVydmlldywgY29tcG9uZW50OiBUcmFuc2FjdGlvblNhbGVzT3ZlcnZpZXdCdXR0b25CYXJCdXR0b25Db21wb25lbnQsIGNmZ05hbWU6IHRoaXMuY2ZnTmFtZXMuUnVicmljT3ZlcnZpZXd9LFxyXG4gICAgICB7dGl0bGU6ICdQVVJDSEFTRScsIGljb246IEljb24uUGFsbGV0Qm94ZXNTaGFycFJlZ3VsYXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyUHVyY2hhc2UsIGNvbXBvbmVudDogVHJhbnNhY3Rpb25TYWxlc1B1cmNoYXNlQnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50LCBjZmdOYW1lOiB0aGlzLmNmZ05hbWVzLlJ1YnJpY1B1cmNoYXNlfSxcclxuICAgICAge3RpdGxlOiAnQUxMT0NBVElPTicsIGljb246IEljb24uU2hlbHZlc1JlZ3VsYXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyQWxsb2NhdGlvbiwgY29tcG9uZW50OiBUcmFuc2FjdGlvblNhbGVzQWxsb2NhdGlvbkJ1dHRvbkJhckJ1dHRvbkNvbXBvbmVudCwgY2ZnTmFtZTogdGhpcy5jZmdOYW1lcy5SdWJyaWNBbGxvY2F0ZX0sXHJcbiAgICAgIHt0aXRsZTogJ0xPR0lTVElDUycsIGljb246IEljb24uQm94ZXNQYWNraW5nUmVndWxhciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJMb2dpc3RpY3MsIGNvbXBvbmVudDogVHJhbnNhY3Rpb25TYWxlc1BpY2tpbmdCdXR0b25CYXJCdXR0b25Db21wb25lbnQsIGN1c3RvbUNsaWNrOiB0cnVlLCBjZmdOYW1lOiB0aGlzLmNmZ05hbWVzLlJ1YnJpY0xvZ2lzdGljcywgaXNWaXNpYmxlRm46IHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5sb2dpc3RpY3NCdXR0b25WaXNpYmxlfSxcclxuICAgICAge3RpdGxlOiAnUExBTk5JTkcnLCBpY29uOiBJY29uLlRydWNrTW92aW5nUmVndWxhciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJQbGFubmluZywgY2ZnTmFtZTogdGhpcy5jZmdOYW1lcy5SdWJyaWNQbGFubmluZ30sXHJcbiAgICAgIHt0aXRsZTogJ0RFTElWRVJZX05PVEUnLCBpY29uOiBJY29uLk1lbW9DaXJjbGVDaGVja1JlZ3VsYXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyRGVsaXZlcnlOb3RlLCBjb21wb25lbnQ6IFRyYW5zYWN0aW9uU2FsZXNEZWxpdmVyeUJ1dHRvbkJhckJ1dHRvbkNvbXBvbmVudCwgY2ZnTmFtZTogdGhpcy5jZmdOYW1lcy5SdWJyaWNEZWxpdmVyeX0sXHJcbiAgICAgIHt0aXRsZTogJ0lOVk9JQ0UnLCBpY29uOiBJY29uLkludm9pY2UsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVySW52b2ljZSwgY29tcG9uZW50OiBUcmFuc2FjdGlvblNhbGVzSW52b2ljZUJ1dHRvbkJhckJ1dHRvbkNvbXBvbmVudCwgY2ZnTmFtZTogdGhpcy5jZmdOYW1lcy5SdWJyaWNJbnZvaWNlfVxyXG4gICAgXV0sXHJcbiAgICBbVHJhbnNhY3Rpb25LaW5kLlNhbGVzUXVvdGF0aW9uLCBbXHJcbiAgICAgIHt0aXRsZTogJ09WRVJWSUVXJywgaWNvbjogSWNvbi5DYXJ0U2hvcHBpbmdSZWd1bGFyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlclF1b3RhdGlvbn0sXHJcbiAgICBdXSxcclxuICBdKTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfcXVpY2tBY2Nlc3NDb21wb25lbnQ6IE1hcDx7dHlwZTogVHJhbnNhY3Rpb25LaW5kLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9LCBUeXBlPFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudD4+ID1cclxuICAgIG5ldyBNYXA8e3R5cGU6IFRyYW5zYWN0aW9uS2luZDsgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSwgVHlwZTxUcmFuc2FjdGlvbkJhc2VDb21wb25lbnQ+PihbXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlB1cmNoYXNlT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyT3ZlcnZpZXd9LCBUcmFuc2FjdGlvblF1aWNrQWNjZXNzUHVyY2hhc2VPcmRlck92ZXJ2aWV3Q29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuUHVyY2hhc2VPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJPcmRlckNvbmZpcm1hdGlvbn0sIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NPcmRlckNvbmZpcm1hdGlvbkNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlB1cmNoYXNlT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyUmVjZWl2ZWRHb29kc30sIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NSZWNlaXZlZEdvb2RzQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJPdmVydmlld30sIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NPdmVydmlld0NvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyUHVyY2hhc2V9LCBUcmFuc2FjdGlvblF1aWNrQWNjZXNzT3JkZXJQdXJjaGFzZUNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyQWxsb2NhdGlvbn0sIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NHb29kc0FsbG9jYXRpb25Db21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlckRlbGl2ZXJ5Tm90ZX0sIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NPcmRlckRlbGl2ZXJ5Q29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJJbnZvaWNlfSwgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc0ludm9pY2VDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlclRvQmVQaWNrZWR9LCBUcmFuc2FjdGlvblF1aWNrQWNjZXNzVG9CZVBpY2tlZENvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyUGlja2VkfSwgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1BpY2tlZENvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzUXVvdGF0aW9uLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlclF1b3RhdGlvbn0sIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NTYWxlc1F1b3RhdGlvbkNvbXBvbmVudF1cclxuICAgIF0pO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF90cmFuc2FjdGlvbkdyaWRDb21wb25lbnQ6IE1hcDx7dHlwZTogVHJhbnNhY3Rpb25LaW5kLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9LCBUeXBlPFRyYW5zYWN0aW9uR3JpZEJhc2VDb21wb25lbnQ+PiA9XHJcbiAgICBuZXcgTWFwPHt0eXBlOiBUcmFuc2FjdGlvbktpbmQ7IGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0sIFR5cGU8VHJhbnNhY3Rpb25HcmlkQmFzZUNvbXBvbmVudD4+KFtcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuUHVyY2hhc2VPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJPdmVydmlld30sIFRyYW5zYWN0aW9uTGluZXNHcmlkQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuUHVyY2hhc2VPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJPcmRlckNvbmZpcm1hdGlvbn0sIFRyYW5zYWN0aW9uT3JkZXJDb25maXJtYXRpb25HcmlkQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJPdmVydmlld30sIFRyYW5zYWN0aW9uTGluZXNHcmlkQ29tcG9uZW50XVxyXG4gICAgXSk7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX3RyYW5zYWN0aW9uTGluZUNvbXBvbmVudDogTWFwPHt0eXBlOiBUcmFuc2FjdGlvbktpbmQsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0sIFR5cGU8VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50Pj4gPVxyXG4gICAgbmV3IE1hcDx7dHlwZTogVHJhbnNhY3Rpb25LaW5kOyBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9LCBUeXBlPFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudD4+KFtcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJPdmVydmlld30sIFRyYW5zYWN0aW9uT3ZlcnZpZXdMaW5lQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJQdXJjaGFzZX0sIFRyYW5zYWN0aW9uUHVyY2hhc2VMaW5lQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJBbGxvY2F0aW9ufSwgVHJhbnNhY3Rpb25Hb29kc0FsbG9jYXRpb25MaW5lQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJEZWxpdmVyeU5vdGV9LCBUcmFuc2FjdGlvbk9yZGVyRGVsaXZlcnlMaW5lQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJJbnZvaWNlfSwgVHJhbnNhY3Rpb25JbnZvaWNlTGluZUNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyUGlja2VkfSwgVHJhbnNhY3Rpb25QaWNrZWRMaW5lQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJUb0JlUGlja2VkfSwgVHJhbnNhY3Rpb25Ub0JlUGlja2VkTGluZUNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlB1cmNoYXNlT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyT3ZlcnZpZXd9LCBUcmFuc2FjdGlvblB1cmNoYXNlT3ZlcnZpZXdMaW5lQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuUHVyY2hhc2VPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJSZWNlaXZlZEdvb2RzfSwgVHJhbnNhY3Rpb25SZWNlaXZlR29vZHNMaW5lQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuUHVyY2hhc2VPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJPcmRlckNvbmZpcm1hdGlvbn0sIFRyYW5zYWN0aW9uUHVyY2hhc2VPcmRlckxpbmVDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5DYXNoRGVzaywgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJDYXNoUmVnaXN0ZXJ9LCBUcmFuc2FjdGlvbkNhc2hSZWdpc3Rlck9yZGVyTGluZUNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzUXVvdGF0aW9uLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlclF1b3RhdGlvbn0sIFRyYW5zYWN0aW9uU2FsZXNPcmRlclF1b3RhdGlvbkxpbmVDb21wb25lbnRdLFxyXG4gICAgXSk7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX3RyYW5zYWN0aW9uQ2FyZENvbXBvbmVudDogTWFwPHt0eXBlOiBUcmFuc2FjdGlvbktpbmQsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0sIFR5cGU8VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50Pj4gPVxyXG4gICAgbmV3IE1hcDx7dHlwZTogVHJhbnNhY3Rpb25LaW5kOyBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9LCBUeXBlPFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudD4+KFtcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJPdmVydmlld30sIFRyYW5zYWN0aW9uQ2FyZFNhbGVzT3ZlcnZpZXdDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlckludm9pY2V9LCBUcmFuc2FjdGlvbkNhcmRJbnZvaWNlQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJQdXJjaGFzZX0sIFRyYW5zYWN0aW9uQ2FyZFB1cmNoYXNlQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJEZWxpdmVyeU5vdGV9LCBUcmFuc2FjdGlvbkNhcmRPcmRlckRlbGl2ZXJ5Q29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJBbGxvY2F0aW9ufSwgVHJhbnNhY3Rpb25DYXJkR29vZHNBbGxvY2F0aW9uQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJUb0JlUGlja2VkfSwgVHJhbnNhY3Rpb25DYXJkVG9CZVBpY2tlZENvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyUGlja2VkfSwgVHJhbnNhY3Rpb25DYXJkUGlja2VkQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuUHVyY2hhc2VPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJPdmVydmlld30sIFRyYW5zYWN0aW9uQ2FyZFB1cmNoYXNlT3ZlcnZpZXdDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5QdXJjaGFzZU9yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlck9yZGVyQ29uZmlybWF0aW9ufSwgVHJhbnNhY3Rpb25DYXJkUHVyY2hhc2VPdmVydmlld0NvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlB1cmNoYXNlT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyUmVjZWl2ZWRHb29kc30sIFRyYW5zYWN0aW9uQ2FyZFJlY2VpdmVHb29kc0NvbXBvbmVudF0sXHJcbiAgICBdKTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfdHJhbnNhY3Rpb25GaWx0ZXJDb21wb25lbnQ6IE1hcDx7dHlwZTogVHJhbnNhY3Rpb25LaW5kfSwgVHlwZTxUcmFuc2FjdGlvbkZpbHRlckJhc2VDb21wb25lbnQ+PiA9XHJcbiAgICBuZXcgTWFwPHt0eXBlOiBUcmFuc2FjdGlvbktpbmR9LCBUeXBlPFRyYW5zYWN0aW9uRmlsdGVyQmFzZUNvbXBvbmVudD4+KFtcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlcn0sIFRyYW5zYWN0aW9uU2FsZXNPcmRlckZpbHRlckNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlB1cmNoYXNlT3JkZXJ9LCBUcmFuc2FjdGlvblB1cmNoYXNlT3JkZXJGaWx0ZXJDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc1F1b3RhdGlvbn0sIFRyYW5zYWN0aW9uU2FsZXNRdW90YXRpb25GaWx0ZXJDb21wb25lbnRdXHJcbiAgICBdKTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfdHJhbnNhY3Rpb25TZWFyY2hHcmlkQ29tcG9uZW50OiBNYXA8e3R5cGU6IFRyYW5zYWN0aW9uS2luZH0sIFR5cGU8VHJhbnNhY3Rpb25TZWFyY2hHcmlkQmFzZUNvbXBvbmVudD4+ID1cclxuICAgIG5ldyBNYXA8e3R5cGU6IFRyYW5zYWN0aW9uS2luZH0sIFR5cGU8VHJhbnNhY3Rpb25TZWFyY2hHcmlkQmFzZUNvbXBvbmVudD4+KFtcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlcn0sIFRyYW5zYWN0aW9uU2VhcmNoU2FsZXNPcmRlckdyaWRDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5QdXJjaGFzZU9yZGVyfSwgVHJhbnNhY3Rpb25TZWFyY2hQdXJjaGFzZU9yZGVyR3JpZENvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzUXVvdGF0aW9ufSwgVHJhbnNhY3Rpb25TZWFyY2hTYWxlc1F1b3RhdGlvbkdyaWRDb21wb25lbnRdXHJcbiAgICBdKTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfdHJhbnNhY3Rpb25TZWFyY2hUaWxlQ29tcG9uZW50OiBNYXA8e3R5cGU6IFRyYW5zYWN0aW9uS2luZH0sIFR5cGU8VHJhbnNhY3Rpb25TZWFyY2hUaWxlQmFzZUNvbXBvbmVudD4+ID1cclxuICAgIG5ldyBNYXA8e3R5cGU6IFRyYW5zYWN0aW9uS2luZH0sIFR5cGU8VHJhbnNhY3Rpb25TZWFyY2hUaWxlQmFzZUNvbXBvbmVudD4+KFtcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlcn0sIFRyYW5zYWN0aW9uU2VhcmNoU2FsZXNPcmRlclRpbGVDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5QdXJjaGFzZU9yZGVyfSwgVHJhbnNhY3Rpb25TZWFyY2hQdXJjaGFzZU9yZGVyVGlsZUNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzUXVvdGF0aW9ufSwgVHJhbnNhY3Rpb25TZWFyY2hTYWxlc1F1b3RhdGlvblRpbGVDb21wb25lbnRdXHJcbiAgICBdKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRCdXR0b25CYXIodHlwZTogVHJhbnNhY3Rpb25LaW5kKTogVHJhbnNhY3Rpb25CYXJCdXR0b25bXSB7XHJcbiAgICBpZiAodGhpcy5fYnV0dG9uQmFyVHJhbnNhY3Rpb24uaGFzKHR5cGUpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9idXR0b25CYXJUcmFuc2FjdGlvbi5nZXQodHlwZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gW107XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UXVpY2tBY2Nlc3NDb21wb25lbnQodHlwZTogVHJhbnNhY3Rpb25LaW5kLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkpOiBUeXBlPFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudD4ge1xyXG4gICAgY29uc3Qga2V5OiB7dHlwZTogVHJhbnNhY3Rpb25LaW5kLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9ID0ge1xyXG4gICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICBjYXRlZ29yeTogY2F0ZWdvcnlcclxuICAgIH1cclxuICAgIGxldCBlbnRyeTogVHlwZTxUcmFuc2FjdGlvbkJhc2VDb21wb25lbnQ+O1xyXG4gICAgdGhpcy5fcXVpY2tBY2Nlc3NDb21wb25lbnQuZm9yRWFjaCgodiwgdCwgbSkgPT4ge1xyXG4gICAgICBpZiAodC50eXBlID09PSBrZXkudHlwZSAmJiB0LmNhdGVnb3J5ID09PSBrZXkuY2F0ZWdvcnkpIHtcclxuICAgICAgICBlbnRyeSA9IHY7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIGVudHJ5O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRyYW5zYWN0aW9uR3JpZENvbXBvbmVudCh0eXBlOiBUcmFuc2FjdGlvbktpbmQsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeSk6IFR5cGU8VHJhbnNhY3Rpb25HcmlkQmFzZUNvbXBvbmVudD4ge1xyXG4gICAgY29uc3Qga2V5OiB7dHlwZTogVHJhbnNhY3Rpb25LaW5kLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9ID0ge1xyXG4gICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICBjYXRlZ29yeTogY2F0ZWdvcnlcclxuICAgIH1cclxuICAgIGxldCBlbnRyeTogVHlwZTxUcmFuc2FjdGlvbkdyaWRCYXNlQ29tcG9uZW50PjtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uR3JpZENvbXBvbmVudC5mb3JFYWNoKCh2LCB0LCBtKSA9PiB7XHJcbiAgICAgIGlmICh0LnR5cGUgPT09IGtleS50eXBlICYmIHQuY2F0ZWdvcnkgPT09IGtleS5jYXRlZ29yeSkge1xyXG4gICAgICAgIGVudHJ5ID0gdjtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICByZXR1cm4gZW50cnk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0VHJhbnNhY3Rpb25MaW5lQ29tcG9uZW50KHR5cGU6IFRyYW5zYWN0aW9uS2luZCwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5KTogVHlwZTxUcmFuc2FjdGlvbkJhc2VDb21wb25lbnQ+IHtcclxuICAgIGNvbnN0IGtleToge3R5cGU6IFRyYW5zYWN0aW9uS2luZCwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSA9IHtcclxuICAgICAgdHlwZTogdHlwZSxcclxuICAgICAgY2F0ZWdvcnk6IGNhdGVnb3J5XHJcbiAgICB9XHJcbiAgICBsZXQgZW50cnk6IFR5cGU8VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50PjtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uTGluZUNvbXBvbmVudC5mb3JFYWNoKCh2LCB0KSA9PiB7XHJcbiAgICAgIGlmICh0LnR5cGUgPT09IGtleS50eXBlICYmIHQuY2F0ZWdvcnkgPT09IGtleS5jYXRlZ29yeSkge1xyXG4gICAgICAgIGVudHJ5ID0gdjtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICByZXR1cm4gZW50cnk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0VHJhbnNhY3Rpb25DYXJkQ29tcG9uZW50KHR5cGU6IFRyYW5zYWN0aW9uS2luZCwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5KTogVHlwZTxUcmFuc2FjdGlvbkJhc2VDb21wb25lbnQ+IHtcclxuICAgIGNvbnN0IGtleToge3R5cGU6IFRyYW5zYWN0aW9uS2luZCwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSA9IHtcclxuICAgICAgdHlwZTogdHlwZSxcclxuICAgICAgY2F0ZWdvcnk6IGNhdGVnb3J5XHJcbiAgICB9XHJcbiAgICBsZXQgZW50cnk6IFR5cGU8VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50PjtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uQ2FyZENvbXBvbmVudC5mb3JFYWNoKCh2LCB0KSA9PiB7XHJcbiAgICAgIGlmICh0LnR5cGUgPT09IGtleS50eXBlICYmIHQuY2F0ZWdvcnkgPT09IGtleS5jYXRlZ29yeSkge1xyXG4gICAgICAgIGVudHJ5ID0gdjtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICByZXR1cm4gZW50cnk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0VHJhbnNhY3Rpb25GaWx0ZXJDb21wb25lbnQodHlwZTogVHJhbnNhY3Rpb25LaW5kKTogVHlwZTxUcmFuc2FjdGlvbkZpbHRlckJhc2VDb21wb25lbnQ+IHtcclxuICAgIGNvbnN0IGtleToge3R5cGU6IFRyYW5zYWN0aW9uS2luZH0gPSB7XHJcbiAgICAgIHR5cGU6IHR5cGV9XHJcbiAgICBsZXQgZW50cnk6IFR5cGU8VHJhbnNhY3Rpb25GaWx0ZXJCYXNlQ29tcG9uZW50PjtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uRmlsdGVyQ29tcG9uZW50LmZvckVhY2goKHYsIHQsIG0pID0+IHtcclxuICAgICAgaWYgKHQudHlwZSA9PT0ga2V5LnR5cGUpIHtcclxuICAgICAgICBlbnRyeSA9IHY7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIGVudHJ5O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRyYW5zYWN0aW9uU2VhcmNoR3JpZENvbXBvbmVudCh0eXBlOiBUcmFuc2FjdGlvbktpbmQpOiBUeXBlPFRyYW5zYWN0aW9uU2VhcmNoR3JpZEJhc2VDb21wb25lbnQ+IHtcclxuICAgIGNvbnN0IGtleToge3R5cGU6IFRyYW5zYWN0aW9uS2luZH0gPSB7XHJcbiAgICAgIHR5cGU6IHR5cGV9XHJcbiAgICBsZXQgZW50cnk6IFR5cGU8VHJhbnNhY3Rpb25TZWFyY2hHcmlkQmFzZUNvbXBvbmVudD47XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvblNlYXJjaEdyaWRDb21wb25lbnQuZm9yRWFjaCgodiwgdCwgbSkgPT4ge1xyXG4gICAgICBpZiAodC50eXBlID09PSBrZXkudHlwZSkge1xyXG4gICAgICAgIGVudHJ5ID0gdjtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICByZXR1cm4gZW50cnk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0VHJhbnNhY3Rpb25TZWFyY2hUaWxlQ29tcG9uZW50KHR5cGU6IFRyYW5zYWN0aW9uS2luZCk6IFR5cGU8VHJhbnNhY3Rpb25TZWFyY2hUaWxlQmFzZUNvbXBvbmVudD4ge1xyXG4gICAgY29uc3Qga2V5OiB7dHlwZTogVHJhbnNhY3Rpb25LaW5kfSA9IHtcclxuICAgICAgdHlwZTogdHlwZX1cclxuICAgIGxldCBlbnRyeTogVHlwZTxUcmFuc2FjdGlvblNlYXJjaFRpbGVCYXNlQ29tcG9uZW50PjtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uU2VhcmNoVGlsZUNvbXBvbmVudC5mb3JFYWNoKCh2LCB0LCBtKSA9PiB7XHJcbiAgICAgIGlmICh0LnR5cGUgPT09IGtleS50eXBlKSB7XHJcbiAgICAgICAgZW50cnkgPSB2O1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiBlbnRyeTtcclxuICB9XHJcbn1cclxuIl19