@colijnit/transaction 12.1.12 → 12.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/colijnit-transaction.umd.js +2683 -1143
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.d.ts +120 -85
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/colijnit-transaction.js +121 -86
- package/esm2015/lib/assets/dictionary/text.properties.js +78 -2
- package/esm2015/lib/component/avatar/avatar.component.js +61 -0
- package/esm2015/lib/component/avatar/avatar.module.js +21 -0
- package/esm2015/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +30 -32
- package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +21 -22
- package/esm2015/lib/component/checkout/checkout.component.js +5 -5
- package/esm2015/lib/component/checkout/checkout.module.js +3 -3
- package/esm2015/lib/component/core/base/components/transaction-header-block/transaction-header-block.component.js +38 -0
- package/esm2015/lib/component/core/base/components/transaction-header-block/transaction-header-block.module.js +19 -0
- package/esm2015/lib/component/core/base/transaction-grid-base.component.js +50 -0
- package/esm2015/lib/component/core/core.module.js +3 -6
- package/esm2015/lib/component/core/icon/icon.component.js +1 -1
- package/esm2015/lib/component/core/stock-status-indicator/stock-status-indicator.component.js +1 -1
- package/esm2015/lib/component/delivery-type-tile/delivery-type-tile.component.js +10 -12
- package/esm2015/lib/component/shopping-cart/shopping-cart.component.js +7 -2
- package/esm2015/lib/component/transaction/transaction.component.js +35 -37
- package/esm2015/lib/component/transaction/transaction.module.js +15 -9
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.js +29 -0
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar.component.js +54 -0
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar.module.js +28 -0
- package/esm2015/lib/component/transaction-confirmation-history/transaction-confirmation-history.module.js +2 -2
- package/esm2015/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.component.js +47 -0
- package/esm2015/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.module.js +28 -0
- package/esm2015/lib/component/transaction-grid/transaction-grid/transaction-grid.component.js +83 -0
- package/esm2015/lib/component/transaction-grid/transaction-grid/transaction-grid.module.js +19 -0
- package/esm2015/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.component.js +47 -0
- package/esm2015/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.module.js +27 -0
- package/esm2015/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component.js +76 -0
- package/esm2015/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.module.js +30 -0
- package/esm2015/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.component.js +51 -0
- package/esm2015/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.module.js +29 -0
- package/esm2015/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.js +42 -0
- package/esm2015/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module.js +28 -0
- package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.component.js +40 -0
- package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.module.js +29 -0
- package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.js +75 -0
- package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.module.js +28 -0
- package/esm2015/lib/component/transaction-header/transaction-header-order/transaction-header-order.component.js +37 -0
- package/esm2015/lib/component/transaction-header/transaction-header-order/transaction-header-order.module.js +26 -0
- package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +41 -0
- package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.module.js +25 -0
- package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.js +36 -0
- package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.module.js +21 -0
- package/esm2015/lib/component/transaction-header/transaction-header.component.js +6 -11
- package/esm2015/lib/component/transaction-header/transaction-header.module.js +8 -6
- package/esm2015/lib/component/transaction-line/transaction-line.component.js +26 -29
- package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.js +19 -27
- package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.module.js +6 -4
- package/esm2015/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component.js +1 -1
- package/esm2015/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.js +44 -0
- package/esm2015/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.module.js +31 -0
- package/esm2015/lib/component/transaction-lines/transaction-lines.component.js +8 -5
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.js +72 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.js +33 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.js +28 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.module.js +25 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.js +23 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.module.js +23 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.js +27 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.module.js +24 -0
- package/esm2015/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.component.js +10 -2
- package/esm2015/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.module.js +3 -2
- package/esm2015/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.module.js +2 -2
- package/esm2015/lib/component/transaction-search/service/filter-request.service.js +59 -0
- package/esm2015/lib/component/transaction-search/service/transaction-search.service.js +33 -0
- package/esm2015/lib/component/transaction-search/transaction-filter/transaction-filter.component.js +90 -0
- package/esm2015/lib/component/transaction-search/transaction-filter/transaction-filter.module.js +34 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.component.js +42 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.module.js +19 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-content-article/transaction-filter-content-article.component.js +104 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-content-article/transaction-filter-content-article.module.js +25 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-content-logistics/transaction-filter-content-logistics.component.js +239 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-content-logistics/transaction-filter-content-logistics.module.js +28 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-content-order/transaction-filter-content-order.component.js +239 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-content-order/transaction-filter-content-order.module.js +30 -0
- package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.js +52 -0
- package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.module.js +28 -0
- package/esm2015/lib/component/transaction-search/transaction-search.component.js +56 -0
- package/esm2015/lib/component/transaction-search/transaction-search.module.js +25 -0
- package/esm2015/lib/component/transaction-search/transaction-tile/transaction-tile.component.js +80 -0
- package/esm2015/lib/component/transaction-search/transaction-tile/transaction-tile.module.js +28 -0
- package/esm2015/lib/component/view-mode-buttons/view-mode-buttons.component.js +59 -0
- package/esm2015/lib/component/view-mode-buttons/view-mode-buttons.module.js +23 -0
- package/esm2015/lib/enum/content-view-mode.enum.js +2 -1
- package/esm2015/lib/enum/icon.enum.js +16 -1
- package/esm2015/lib/enum/transaction-type-category.enum.js +16 -0
- package/esm2015/lib/model/filter-item.viewmodel.js +9 -0
- package/esm2015/lib/model/filter-viewmodel.js +11 -0
- package/esm2015/lib/model/icon-svg.js +16 -1
- package/esm2015/lib/model/transaction-bar-button.js +3 -0
- package/esm2015/lib/service/collection-cache.service.js +38 -0
- package/esm2015/lib/service/ione-connector-adapter.service.js +140 -6
- package/esm2015/lib/service/pending-reason.service.js +1 -21
- package/esm2015/lib/service/transaction-image.service.js +53 -0
- package/esm2015/lib/service/transaction-mapping.service.js +85 -0
- package/esm2015/lib/service/transaction.service.js +80 -180
- package/esm2015/public_api.js +15 -9
- package/fesm2015/colijnit-transaction.js +3662 -1636
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/lib/component/{seller-information/seller-information.component.d.ts → avatar/avatar.component.d.ts} +1 -1
- package/lib/component/avatar/avatar.module.d.ts +2 -0
- package/lib/component/{seller-information → avatar}/style/_layout.scss +5 -5
- package/lib/component/avatar/style/_material-definition.scss +2 -0
- package/lib/component/avatar/style/_theme.scss +7 -0
- package/lib/component/{order-confirmation-grid → avatar}/style/material.scss +0 -1
- package/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.d.ts +3 -5
- package/lib/component/checkout/checkout-overview-delivery-edit/style/material.scss +0 -1
- package/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.d.ts +0 -2
- package/lib/component/checkout/checkout-overview-relation-edit/style/material.scss +0 -1
- package/lib/component/checkout/checkout-relation-suggestions-list/style/material.scss +0 -1
- package/lib/component/checkout/checkout-relation-suggestions-list-item/style/material.scss +0 -1
- package/lib/component/checkout/style/material.scss +1 -2
- package/lib/component/confirmation-dialog/style/material.scss +0 -1
- package/lib/component/core/base/components/transaction-header-block/style/_layout.scss +53 -0
- package/lib/component/core/base/components/transaction-header-block/style/_material-definition.scss +20 -0
- package/lib/component/core/base/components/transaction-header-block/style/_theme.scss +11 -0
- package/lib/component/core/base/components/transaction-header-block/style/material.scss +4 -0
- package/lib/component/core/base/components/transaction-header-block/transaction-header-block.component.d.ts +8 -0
- package/lib/component/core/base/components/transaction-header-block/transaction-header-block.module.d.ts +2 -0
- package/lib/component/core/base/style/material.scss +0 -1
- package/lib/component/core/base/transaction-grid-base.component.d.ts +23 -0
- package/lib/component/core/characteristic-answer/characteristic-answer.component.scss +0 -1
- package/lib/component/core/icon/icon.component.scss +0 -1
- package/lib/component/core/image-display/style/material.scss +0 -1
- package/lib/component/core/stock-status-indicator/stock-status-indicator.component.scss +0 -1
- package/lib/component/delivery-type-tile/delivery-type-tile.component.d.ts +3 -5
- package/lib/component/delivery-type-tile/style/material.scss +0 -1
- package/lib/component/order-confirmation-create/style/material.scss +0 -1
- package/lib/component/payment/style/material.scss +0 -1
- package/lib/component/payment-tile/style/material.scss +0 -1
- package/lib/component/relation-address/style/material.scss +0 -1
- package/lib/component/relation-address-select/style/material.scss +0 -1
- package/lib/component/relation-address-tile/style/material.scss +0 -1
- package/lib/component/shared/transaction-article-text/style/material.scss +0 -1
- package/lib/component/shared/transaction-article-text-overview/style/material.scss +0 -1
- package/lib/component/shopping-cart/style/material.scss +0 -1
- package/lib/component/shopping-cart-OLD/shopping-cart-manager/shopping-cart-manager.component.scss +0 -1
- package/lib/component/shopping-cart-preview/style/material.scss +0 -1
- package/lib/component/stepper/style/material.scss +0 -1
- package/lib/component/tile/style/material.scss +0 -1
- package/lib/component/transaction/style/_layout.scss +13 -13
- package/lib/component/transaction/style/_material-definition.scss +2 -6
- package/lib/component/transaction/style/_theme.scss +0 -18
- package/lib/component/transaction/style/material.scss +5 -5
- package/lib/component/transaction/transaction.component.d.ts +7 -7
- package/lib/component/transaction-button-bar/style/_layout.scss +47 -0
- package/lib/component/transaction-button-bar/style/_material-definition.scss +11 -0
- package/lib/component/transaction-button-bar/style/_theme.scss +14 -0
- package/lib/component/{order-grid → transaction-button-bar}/style/material.scss +0 -1
- package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.d.ts +9 -0
- package/lib/component/transaction-button-bar/transaction-button-bar.component.d.ts +17 -0
- package/lib/component/transaction-button-bar/transaction-button-bar.module.d.ts +2 -0
- package/lib/component/transaction-confirmation-history/style/material.scss +0 -1
- package/lib/component/transaction-grid/transaction-base-grid/style/_layout.scss +33 -0
- package/lib/component/transaction-grid/transaction-base-grid/style/_material-definition.scss +8 -0
- package/lib/component/transaction-grid/transaction-base-grid/style/_theme.scss +6 -0
- package/lib/component/{seller-information → transaction-grid/transaction-base-grid}/style/material.scss +0 -1
- package/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.component.d.ts +8 -0
- package/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.module.d.ts +2 -0
- package/lib/component/transaction-grid/transaction-grid/style/_layout.scss +6 -0
- package/lib/component/{transaction-history-grid → transaction-grid/transaction-grid}/style/_material-definition.scss +0 -0
- package/lib/component/transaction-grid/transaction-grid/style/_theme.scss +6 -0
- package/lib/component/transaction-grid/transaction-grid/style/material.scss +5 -0
- package/lib/component/transaction-grid/transaction-grid/transaction-grid.component.d.ts +25 -0
- package/lib/component/transaction-grid/transaction-grid/transaction-grid.module.d.ts +2 -0
- package/lib/component/{transaction-history-grid → transaction-grid/transaction-history-grid}/style/_layout.scss +1 -1
- package/lib/component/transaction-grid/transaction-history-grid/style/_material-definition.scss +0 -0
- package/lib/component/{transaction-history-grid → transaction-grid/transaction-history-grid}/style/_theme.scss +1 -1
- package/lib/component/{transaction-commit-bar → transaction-grid/transaction-history-grid}/style/material.scss +0 -1
- package/lib/component/{transaction-history-grid → transaction-grid/transaction-history-grid}/transaction-history-grid.component.d.ts +2 -2
- package/lib/component/{transaction-history-grid → transaction-grid/transaction-history-grid}/transaction-history-grid.module.d.ts +0 -0
- package/lib/component/{transaction-lines-grid → transaction-grid/transaction-lines-grid}/style/_layout.scss +5 -1
- package/lib/component/{transaction-lines-grid → transaction-grid/transaction-lines-grid}/style/_material-definition.scss +3 -0
- package/lib/component/{transaction-lines-grid → transaction-grid/transaction-lines-grid}/style/_theme.scss +1 -1
- package/lib/component/transaction-grid/transaction-lines-grid/style/material.scss +4 -0
- package/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component.d.ts +11 -0
- package/lib/component/{transaction-lines-grid → transaction-grid/transaction-lines-grid}/transaction-lines-grid.module.d.ts +0 -0
- package/lib/component/transaction-grid/transaction-order-confirmation-grid/style/_layout.scss +7 -0
- package/lib/component/{order-confirmation-grid → transaction-grid/transaction-order-confirmation-grid}/style/_material-definition.scss +0 -0
- package/lib/component/transaction-grid/transaction-order-confirmation-grid/style/_theme.scss +7 -0
- package/lib/component/transaction-grid/transaction-order-confirmation-grid/style/material.scss +3 -0
- package/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.component.d.ts +4 -0
- package/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.module.d.ts +2 -0
- package/lib/component/transaction-grid/transaction-received-goods-grid/style/_layout.scss +6 -0
- package/lib/component/transaction-grid/transaction-received-goods-grid/style/_material-definition.scss +0 -0
- package/lib/component/transaction-grid/transaction-received-goods-grid/style/_theme.scss +6 -0
- package/lib/component/transaction-grid/transaction-received-goods-grid/style/material.scss +4 -0
- package/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.d.ts +4 -0
- package/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module.d.ts +2 -0
- package/lib/component/transaction-header/transaction-header/style/_layout.scss +40 -0
- package/lib/component/transaction-header/transaction-header/style/_material-definition.scss +9 -0
- package/lib/component/transaction-header/transaction-header/style/_theme.scss +11 -0
- package/lib/component/transaction-header/transaction-header/style/material.scss +7 -0
- package/lib/component/transaction-header/transaction-header/transaction-header.component.d.ts +10 -0
- package/lib/component/transaction-header/transaction-header/transaction-header.module.d.ts +2 -0
- package/lib/component/transaction-header/transaction-header-delivery/style/_layout.scss +33 -0
- package/lib/component/transaction-header/transaction-header-delivery/style/_material-definition.scss +6 -0
- package/lib/component/transaction-header/transaction-header-delivery/style/_theme.scss +17 -0
- package/lib/component/transaction-header/transaction-header-delivery/style/material.scss +3 -0
- package/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.d.ts +15 -0
- package/lib/component/{transaction-header-delivery → transaction-header/transaction-header-delivery}/transaction-header-delivery.module.d.ts +0 -0
- package/lib/component/transaction-header/transaction-header-order/style/_layout.scss +7 -0
- package/lib/component/transaction-header/transaction-header-order/style/_material-definition.scss +0 -0
- package/lib/component/transaction-header/transaction-header-order/style/_theme.scss +6 -0
- package/lib/component/transaction-header/transaction-header-order/style/material.scss +4 -0
- package/lib/component/transaction-header/transaction-header-order/transaction-header-order.component.d.ts +4 -0
- package/lib/component/transaction-header/transaction-header-order/transaction-header-order.module.d.ts +2 -0
- package/lib/component/transaction-header/transaction-header-payment/style/_layout.scss +13 -0
- package/lib/component/transaction-header/transaction-header-payment/style/_material-definition.scss +4 -0
- package/lib/component/transaction-header/transaction-header-payment/style/_theme.scss +12 -0
- package/lib/component/transaction-header/transaction-header-payment/style/material.scss +5 -0
- package/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.d.ts +4 -0
- package/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.module.d.ts +2 -0
- package/lib/component/transaction-header/transaction-header-relation/style/_layout.scss +7 -0
- package/lib/component/transaction-header/transaction-header-relation/style/_material-definition.scss +0 -0
- package/lib/component/transaction-header/transaction-header-relation/style/_theme.scss +6 -0
- package/lib/component/transaction-header/transaction-header-relation/style/material.scss +4 -0
- package/lib/component/{transaction-header-relation → transaction-header/transaction-header-relation}/transaction-header-relation.component.d.ts +1 -1
- package/lib/component/{transaction-header-relation → transaction-header/transaction-header-relation}/transaction-header-relation.module.d.ts +0 -0
- package/lib/component/transaction-header/transaction-header.component.d.ts +0 -2
- package/lib/component/transaction-history-grid-status/style/material.scss +0 -1
- package/lib/component/transaction-line/style/_layout.scss +36 -0
- package/lib/component/transaction-line/style/material.scss +0 -1
- package/lib/component/transaction-line/transaction-line.component.d.ts +7 -4
- package/lib/component/transaction-line-grid/style/material.scss +0 -1
- package/lib/component/transaction-line-side-panel/style/_layout.scss +2 -2
- package/lib/component/transaction-line-side-panel/style/_material-definition.scss +2 -0
- package/lib/component/transaction-line-side-panel/style/material.scss +0 -1
- package/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.d.ts +5 -3
- package/lib/component/transaction-line-side-panel-default/style/material.scss +0 -1
- package/lib/component/transaction-line-side-panel-purchase/style/_layout.scss +6 -0
- package/lib/component/transaction-line-side-panel-purchase/style/_material-definition.scss +0 -0
- package/lib/component/transaction-line-side-panel-purchase/style/_theme.scss +6 -0
- package/lib/component/transaction-line-side-panel-purchase/style/material.scss +5 -0
- package/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.d.ts +8 -0
- package/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.module.d.ts +2 -0
- package/lib/component/transaction-lines/style/material.scss +0 -1
- package/lib/component/transaction-lines/transaction-lines.component.d.ts +3 -5
- package/lib/component/transaction-quick-access/transaction-quick-access/style/_layout.scss +11 -0
- package/lib/component/{transaction-commit-bar → transaction-quick-access/transaction-quick-access}/style/_material-definition.scss +0 -0
- package/lib/component/{transaction-commit-bar → transaction-quick-access/transaction-quick-access}/style/_theme.scss +1 -1
- package/lib/component/transaction-quick-access/transaction-quick-access/style/material.scss +6 -0
- package/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.d.ts +21 -0
- package/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.d.ts +2 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/style/_layout.scss +9 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/style/_material-definition.scss +0 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/style/_theme.scss +6 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/style/material.scss +4 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.d.ts +4 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.module.d.ts +2 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-overview/style/_layout.scss +7 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-overview/style/_material-definition.scss +0 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-overview/style/_theme.scss +6 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-overview/style/material.scss +4 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.d.ts +4 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.module.d.ts +2 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/style/_layout.scss +9 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/style/_material-definition.scss +0 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/style/_theme.scss +6 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/style/material.scss +4 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.d.ts +4 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.module.d.ts +2 -0
- package/lib/component/transaction-receiving-goods-details/style/material.scss +0 -1
- package/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.component.d.ts +2 -0
- package/lib/component/transaction-receiving-goods-history/style/material.scss +0 -1
- package/lib/component/transaction-search/service/filter-request.service.d.ts +11 -0
- package/lib/component/transaction-search/service/transaction-search.service.d.ts +11 -0
- package/lib/component/transaction-search/style/_layout.scss +37 -0
- package/lib/component/transaction-search/style/_material-definition.scss +39 -0
- package/lib/component/transaction-search/style/_theme.scss +6 -0
- package/lib/component/transaction-search/style/material.scss +7 -0
- package/lib/component/transaction-search/transaction-filter/style/_layout.scss +53 -0
- package/lib/component/transaction-search/transaction-filter/style/_material-definition.scss +1 -0
- package/lib/component/transaction-search/transaction-filter/style/_theme.scss +8 -0
- package/lib/component/transaction-search/transaction-filter/style/material.scss +7 -0
- package/lib/component/transaction-search/transaction-filter/transaction-filter.component.d.ts +21 -0
- package/lib/component/transaction-search/transaction-filter/transaction-filter.module.d.ts +2 -0
- package/lib/component/transaction-search/transaction-filter-categories/style/_layout.scss +23 -0
- package/lib/component/transaction-search/transaction-filter-categories/style/_material-definition.scss +0 -0
- package/lib/component/transaction-search/transaction-filter-categories/style/_theme.scss +13 -0
- package/lib/component/transaction-search/transaction-filter-categories/style/material.scss +3 -0
- package/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.component.d.ts +10 -0
- package/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.module.d.ts +2 -0
- package/lib/component/transaction-search/transaction-filter-content-article/style/_layout.scss +13 -0
- package/lib/component/transaction-search/transaction-filter-content-article/style/_material-definition.scss +1 -0
- package/lib/component/transaction-search/transaction-filter-content-article/style/_theme.scss +6 -0
- package/lib/component/transaction-search/transaction-filter-content-article/style/material.scss +4 -0
- package/lib/component/transaction-search/transaction-filter-content-article/transaction-filter-content-article.component.d.ts +27 -0
- package/lib/component/transaction-search/transaction-filter-content-article/transaction-filter-content-article.module.d.ts +2 -0
- package/lib/component/transaction-search/transaction-filter-content-logistics/style/_layout.scss +12 -0
- package/lib/component/transaction-search/transaction-filter-content-logistics/style/_material-definition.scss +0 -0
- package/lib/component/transaction-search/transaction-filter-content-logistics/style/_theme.scss +6 -0
- package/lib/component/transaction-search/transaction-filter-content-logistics/style/material.scss +4 -0
- package/lib/component/transaction-search/transaction-filter-content-logistics/transaction-filter-content-logistics.component.d.ts +38 -0
- package/lib/component/transaction-search/transaction-filter-content-logistics/transaction-filter-content-logistics.module.d.ts +2 -0
- package/lib/component/transaction-search/transaction-filter-content-order/style/_layout.scss +12 -0
- package/lib/component/transaction-search/transaction-filter-content-order/style/_material-definition.scss +1 -0
- package/lib/component/transaction-search/transaction-filter-content-order/style/_theme.scss +6 -0
- package/lib/component/transaction-search/transaction-filter-content-order/style/material.scss +4 -0
- package/lib/component/transaction-search/transaction-filter-content-order/transaction-filter-content-order.component.d.ts +64 -0
- package/lib/component/transaction-search/transaction-filter-content-order/transaction-filter-content-order.module.d.ts +2 -0
- package/lib/component/transaction-search/transaction-search-result/style/_layout.scss +26 -0
- package/lib/component/transaction-search/transaction-search-result/style/_material-definition.scss +1 -0
- package/lib/component/transaction-search/transaction-search-result/style/_theme.scss +6 -0
- package/lib/component/transaction-search/transaction-search-result/style/material.scss +3 -0
- package/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.d.ts +15 -0
- package/lib/component/transaction-search/transaction-search-result/transaction-search-result.module.d.ts +2 -0
- package/lib/component/transaction-search/transaction-search.component.d.ts +12 -0
- package/lib/component/transaction-search/transaction-search.module.d.ts +2 -0
- package/lib/component/transaction-search/transaction-tile/style/_layout.scss +91 -0
- package/lib/component/transaction-search/transaction-tile/style/_material-definition.scss +0 -0
- package/lib/component/transaction-search/transaction-tile/style/_theme.scss +46 -0
- package/lib/component/transaction-search/transaction-tile/style/material.scss +5 -0
- package/lib/component/transaction-search/transaction-tile/transaction-tile.component.d.ts +13 -0
- package/lib/component/transaction-search/transaction-tile/transaction-tile.module.d.ts +2 -0
- package/lib/component/transaction-totals/style/material.scss +0 -1
- package/lib/component/view-mode-buttons/style/_layout.scss +20 -0
- package/lib/component/view-mode-buttons/style/_material-definition.scss +5 -0
- package/lib/component/view-mode-buttons/style/_theme.scss +22 -0
- package/lib/component/view-mode-buttons/style/material.scss +3 -0
- package/lib/component/view-mode-buttons/view-mode-buttons.component.d.ts +16 -0
- package/lib/component/view-mode-buttons/view-mode-buttons.module.d.ts +2 -0
- package/lib/enum/content-view-mode.enum.d.ts +2 -1
- package/lib/enum/icon.enum.d.ts +15 -0
- package/lib/enum/transaction-type-category.enum.d.ts +14 -0
- package/lib/model/filter-item.viewmodel.d.ts +7 -0
- package/lib/model/filter-viewmodel.d.ts +8 -0
- package/lib/model/transaction-bar-button.d.ts +7 -0
- package/lib/service/collection-cache.service.d.ts +6 -0
- package/lib/service/ione-connector-adapter.service.d.ts +20 -2
- package/lib/service/pending-reason.service.d.ts +0 -3
- package/lib/service/transaction-image.service.d.ts +10 -0
- package/lib/service/transaction-mapping.service.d.ts +14 -0
- package/lib/service/transaction.service.d.ts +42 -29
- package/lib/style/_variables.scss +41 -36
- package/lib/style/transaction-globals.scss +23 -0
- package/package.json +6 -3
- package/public_api.d.ts +14 -8
- package/esm2015/lib/component/core/base/default-ok-cancel-buttons.component.js +0 -41
- package/esm2015/lib/component/order-confirmation-grid/order-confirmation-grid.component.js +0 -70
- package/esm2015/lib/component/order-confirmation-grid/order-confirmation-grid.module.js +0 -29
- package/esm2015/lib/component/order-grid/order-grid.component.js +0 -99
- package/esm2015/lib/component/order-grid/order-grid.module.js +0 -28
- package/esm2015/lib/component/seller-information/seller-information.component.js +0 -61
- package/esm2015/lib/component/seller-information/seller-information.module.js +0 -21
- package/esm2015/lib/component/transaction-commit-bar/transaction-commit-bar.component.js +0 -46
- package/esm2015/lib/component/transaction-commit-bar/transaction-commit-bar.module.js +0 -27
- package/esm2015/lib/component/transaction-header-contact/transaction-header-contact.component.js +0 -34
- package/esm2015/lib/component/transaction-header-contact/transaction-header-contact.module.js +0 -19
- package/esm2015/lib/component/transaction-header-delivery/transaction-header-delivery.component.js +0 -60
- package/esm2015/lib/component/transaction-header-delivery/transaction-header-delivery.module.js +0 -21
- package/esm2015/lib/component/transaction-header-relation/transaction-header-relation.component.js +0 -35
- package/esm2015/lib/component/transaction-header-relation/transaction-header-relation.module.js +0 -19
- package/esm2015/lib/component/transaction-history-grid/transaction-history-grid.component.js +0 -47
- package/esm2015/lib/component/transaction-history-grid/transaction-history-grid.module.js +0 -27
- package/esm2015/lib/component/transaction-lines-grid/transaction-lines-grid.component.js +0 -63
- package/esm2015/lib/component/transaction-lines-grid/transaction-lines-grid.module.js +0 -27
- package/esm2015/lib/component/transaction-nav-bar/transaction-nav-bar-button/transaction-nav-bar-button.component.js +0 -29
- package/esm2015/lib/component/transaction-nav-bar/transaction-nav-bar.component.js +0 -65
- package/esm2015/lib/component/transaction-nav-bar/transaction-nav-bar.module.js +0 -26
- package/esm2015/lib/model/delivery-type.js +0 -3
- package/lib/component/core/base/default-ok-cancel-buttons.component.d.ts +0 -13
- package/lib/component/order-confirmation-grid/order-confirmation-grid.component.d.ts +0 -15
- package/lib/component/order-confirmation-grid/order-confirmation-grid.module.d.ts +0 -2
- package/lib/component/order-confirmation-grid/style/_layout.scss +0 -5
- package/lib/component/order-confirmation-grid/style/_theme.scss +0 -5
- package/lib/component/order-grid/order-grid.component.d.ts +0 -23
- package/lib/component/order-grid/order-grid.module.d.ts +0 -2
- package/lib/component/order-grid/style/_layout.scss +0 -21
- package/lib/component/order-grid/style/_material-definition.scss +0 -2
- package/lib/component/order-grid/style/_theme.scss +0 -6
- package/lib/component/seller-information/seller-information.module.d.ts +0 -2
- package/lib/component/seller-information/style/_material-definition.scss +0 -2
- package/lib/component/seller-information/style/_theme.scss +0 -7
- package/lib/component/transaction-commit-bar/style/_layout.scss +0 -16
- package/lib/component/transaction-commit-bar/transaction-commit-bar.component.d.ts +0 -11
- package/lib/component/transaction-commit-bar/transaction-commit-bar.module.d.ts +0 -2
- package/lib/component/transaction-header-contact/style/_layout.scss +0 -25
- package/lib/component/transaction-header-contact/style/_material-definition.scss +0 -7
- package/lib/component/transaction-header-contact/style/_theme.scss +0 -11
- package/lib/component/transaction-header-contact/style/material.scss +0 -4
- package/lib/component/transaction-header-contact/transaction-header-contact.component.d.ts +0 -4
- package/lib/component/transaction-header-contact/transaction-header-contact.module.d.ts +0 -2
- package/lib/component/transaction-header-delivery/style/_layout.scss +0 -54
- package/lib/component/transaction-header-delivery/style/_material-definition.scss +0 -12
- package/lib/component/transaction-header-delivery/style/_theme.scss +0 -24
- package/lib/component/transaction-header-delivery/style/material.scss +0 -4
- package/lib/component/transaction-header-delivery/transaction-header-delivery.component.d.ts +0 -13
- package/lib/component/transaction-header-relation/style/_layout.scss +0 -25
- package/lib/component/transaction-header-relation/style/_material-definition.scss +0 -7
- package/lib/component/transaction-header-relation/style/_theme.scss +0 -11
- package/lib/component/transaction-header-relation/style/material.scss +0 -4
- package/lib/component/transaction-history-grid/style/material.scss +0 -4
- package/lib/component/transaction-lines-grid/style/material.scss +0 -5
- package/lib/component/transaction-lines-grid/transaction-lines-grid.component.d.ts +0 -20
- package/lib/component/transaction-nav-bar/style/_layout.scss +0 -13
- package/lib/component/transaction-nav-bar/style/_material-definition.scss +0 -1
- package/lib/component/transaction-nav-bar/style/_theme.scss +0 -7
- package/lib/component/transaction-nav-bar/style/material.scss +0 -4
- package/lib/component/transaction-nav-bar/transaction-nav-bar-button/transaction-nav-bar-button.component.d.ts +0 -14
- package/lib/component/transaction-nav-bar/transaction-nav-bar-button/transaction-nav-bar-button.component.scss +0 -23
- package/lib/component/transaction-nav-bar/transaction-nav-bar.component.d.ts +0 -18
- package/lib/component/transaction-nav-bar/transaction-nav-bar.module.d.ts +0 -2
- package/lib/model/delivery-type.d.ts +0 -7
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Component, HostBinding, Input, ViewEncapsulation } from "@angular/core";
|
|
2
|
+
import { TransactionService } from "../../service/transaction.service";
|
|
3
|
+
import { RelationRequest } from "@colijnit/transactionapi/build/model/relation-request";
|
|
4
|
+
export class AvatarComponent {
|
|
5
|
+
constructor(_service) {
|
|
6
|
+
this._service = _service;
|
|
7
|
+
}
|
|
8
|
+
set relationId(value) {
|
|
9
|
+
this._relationId = value;
|
|
10
|
+
this._getRelation();
|
|
11
|
+
}
|
|
12
|
+
get relationId() {
|
|
13
|
+
return this._relationId;
|
|
14
|
+
}
|
|
15
|
+
showClass() {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
_getRelation() {
|
|
19
|
+
if (!isNaN(this._relationId)) {
|
|
20
|
+
const request = new RelationRequest();
|
|
21
|
+
request.relationId = this._relationId;
|
|
22
|
+
this._service.getRelationListObjects(request).then((data) => {
|
|
23
|
+
if (data && data.length > 0) {
|
|
24
|
+
this.relation = data[0];
|
|
25
|
+
if (this.relation && this.relation.image && this.relation.image.documentId) {
|
|
26
|
+
this._service.getDocumentContent(this.relation.image.documentId)
|
|
27
|
+
.then((content) => {
|
|
28
|
+
this.image = content;
|
|
29
|
+
})
|
|
30
|
+
.catch((e) => {
|
|
31
|
+
this.image = "";
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
AvatarComponent.decorators = [
|
|
40
|
+
{ type: Component, args: [{
|
|
41
|
+
selector: "co-avatar",
|
|
42
|
+
template: `
|
|
43
|
+
<co-image-display [model]="image" *ngIf="image; else showInitials"></co-image-display>
|
|
44
|
+
<ng-template #showInitials>
|
|
45
|
+
<svg viewBox="0 0 30 30">
|
|
46
|
+
<text x="50%" y="50%" dominant-baseline="central" text-anchor="middle">{{ relation?.displayInitials }}</text>
|
|
47
|
+
</svg>
|
|
48
|
+
</ng-template>
|
|
49
|
+
`,
|
|
50
|
+
encapsulation: ViewEncapsulation.None
|
|
51
|
+
},] }
|
|
52
|
+
];
|
|
53
|
+
AvatarComponent.ctorParameters = () => [
|
|
54
|
+
{ type: TransactionService }
|
|
55
|
+
];
|
|
56
|
+
AvatarComponent.propDecorators = {
|
|
57
|
+
relationId: [{ type: Input }],
|
|
58
|
+
relation: [{ type: Input }],
|
|
59
|
+
showClass: [{ type: HostBinding, args: ["class.co-avatar",] }]
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUVyRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sdURBQXVELENBQUM7QUFjdEYsTUFBTSxPQUFPLGVBQWU7SUF3QjFCLFlBQ1UsUUFBNEI7UUFBNUIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7SUFFdEMsQ0FBQztJQXpCRCxJQUNXLFVBQVUsQ0FBQyxLQUFhO1FBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBTU0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQVdPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDNUIsTUFBTSxPQUFPLEdBQW9CLElBQUksZUFBZSxFQUFFLENBQUM7WUFDdkQsT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQzFELElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDeEIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRTt3QkFDMUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7NkJBQzdELElBQUksQ0FBQyxDQUFDLE9BQWUsRUFBRSxFQUFFOzRCQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQzt3QkFDdkIsQ0FBQyxDQUFDOzZCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFOzRCQUNYLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO3dCQUNsQixDQUFDLENBQUMsQ0FBQTtxQkFDTDtpQkFDRjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOzs7WUE1REYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQixRQUFRLEVBQUU7Ozs7Ozs7R0FPVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBZk8sa0JBQWtCOzs7eUJBa0J2QixLQUFLO3VCQVVMLEtBQUs7d0JBR0wsV0FBVyxTQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZVwiO1xyXG5pbXBvcnQge1JlbGF0aW9uTGlzdE9iamVjdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1saXN0LW9iamVjdC5ib1wiO1xyXG5pbXBvcnQge1JlbGF0aW9uUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1yZXF1ZXN0XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1hdmF0YXJcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGNvLWltYWdlLWRpc3BsYXkgW21vZGVsXT1cImltYWdlXCIgKm5nSWY9XCJpbWFnZTsgZWxzZSBzaG93SW5pdGlhbHNcIj48L2NvLWltYWdlLWRpc3BsYXk+XHJcbiAgICA8bmctdGVtcGxhdGUgI3Nob3dJbml0aWFscz5cclxuICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDMwIDMwXCI+XHJcbiAgICAgICAgPHRleHQgeD1cIjUwJVwiIHk9XCI1MCVcIiBkb21pbmFudC1iYXNlbGluZT1cImNlbnRyYWxcIiB0ZXh0LWFuY2hvcj1cIm1pZGRsZVwiPnt7IHJlbGF0aW9uPy5kaXNwbGF5SW5pdGlhbHMgfX08L3RleHQ+XHJcbiAgICAgIDwvc3ZnPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEF2YXRhckNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCByZWxhdGlvbklkKHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMuX3JlbGF0aW9uSWQgPSB2YWx1ZTtcclxuICAgIHRoaXMuX2dldFJlbGF0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHJlbGF0aW9uSWQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9yZWxhdGlvbklkO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVsYXRpb246IFJlbGF0aW9uTGlzdE9iamVjdDtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tYXZhdGFyXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGltYWdlOiBzdHJpbmc7XHJcblxyXG4gIHByaXZhdGUgX3JlbGF0aW9uSWQ6IG51bWJlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldFJlbGF0aW9uKCk6IHZvaWQge1xyXG4gICAgaWYgKCFpc05hTih0aGlzLl9yZWxhdGlvbklkKSkge1xyXG4gICAgICBjb25zdCByZXF1ZXN0OiBSZWxhdGlvblJlcXVlc3QgPSBuZXcgUmVsYXRpb25SZXF1ZXN0KCk7XHJcbiAgICAgIHJlcXVlc3QucmVsYXRpb25JZCA9IHRoaXMuX3JlbGF0aW9uSWQ7XHJcbiAgICAgIHRoaXMuX3NlcnZpY2UuZ2V0UmVsYXRpb25MaXN0T2JqZWN0cyhyZXF1ZXN0KS50aGVuKChkYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGEgJiYgZGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLnJlbGF0aW9uID0gZGF0YVswXTtcclxuICAgICAgICAgIGlmICh0aGlzLnJlbGF0aW9uICYmIHRoaXMucmVsYXRpb24uaW1hZ2UgJiYgdGhpcy5yZWxhdGlvbi5pbWFnZS5kb2N1bWVudElkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NlcnZpY2UuZ2V0RG9jdW1lbnRDb250ZW50KHRoaXMucmVsYXRpb24uaW1hZ2UuZG9jdW1lbnRJZClcclxuICAgICAgICAgICAgICAudGhlbigoY29udGVudDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmltYWdlID0gY29udGVudDtcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgIC5jYXRjaCgoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbWFnZSA9IFwiXCI7XHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { NgModule } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { AvatarComponent } from "./avatar.component";
|
|
4
|
+
import { CoreModule } from "../core/core.module";
|
|
5
|
+
export class AvatarModule {
|
|
6
|
+
}
|
|
7
|
+
AvatarModule.decorators = [
|
|
8
|
+
{ type: NgModule, args: [{
|
|
9
|
+
imports: [
|
|
10
|
+
CommonModule,
|
|
11
|
+
CoreModule
|
|
12
|
+
],
|
|
13
|
+
declarations: [
|
|
14
|
+
AvatarComponent
|
|
15
|
+
],
|
|
16
|
+
exports: [
|
|
17
|
+
AvatarComponent
|
|
18
|
+
]
|
|
19
|
+
},] }
|
|
20
|
+
];
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L2F2YXRhci9hdmF0YXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFjL0MsTUFBTSxPQUFPLFlBQVk7OztZQVp4QixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osVUFBVTtpQkFDWDtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osZUFBZTtpQkFDaEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGVBQWU7aUJBQ2hCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge0F2YXRhckNvbXBvbmVudH0gZnJvbSBcIi4vYXZhdGFyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0NvcmVNb2R1bGV9IGZyb20gXCIuLi9jb3JlL2NvcmUubW9kdWxlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIENvcmVNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgQXZhdGFyQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBBdmF0YXJDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdmF0YXJNb2R1bGUge1xyXG5cclxufVxyXG4iXX0=
|
|
@@ -17,11 +17,11 @@ export class CheckoutOverviewDeliveryEditComponent {
|
|
|
17
17
|
this.icons = Icon;
|
|
18
18
|
this.validSubmit = new EventEmitter();
|
|
19
19
|
this.invalidSubmit = new EventEmitter();
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
];
|
|
20
|
+
// public deliveryTypes: DeliveryType[] = [
|
|
21
|
+
// {code: '1', description: 'Bezorgen', icon: this.icons.DeliveryTruck, price: 89},
|
|
22
|
+
// {code: '2', description: 'Bezorgen & monteren', icon: this.icons.CalendarDay, price: 119},
|
|
23
|
+
// {code: '3', description: 'Meenemen', icon: this.icons.Truck},
|
|
24
|
+
// ];
|
|
25
25
|
this.deliveryOptionList = [];
|
|
26
26
|
this.deliveryOptions = [];
|
|
27
27
|
this.deliveryOptionFields = { text: "description", value: "code" };
|
|
@@ -29,6 +29,7 @@ export class CheckoutOverviewDeliveryEditComponent {
|
|
|
29
29
|
this.deliveryMethodFields = { text: "description", value: "code" };
|
|
30
30
|
this.deliveryTypeIdx = 0;
|
|
31
31
|
this.changeLocationPopup = false;
|
|
32
|
+
this.transactionDefinitive = false;
|
|
32
33
|
this.preferredDateOptions = [
|
|
33
34
|
{ text: "NOT_AFTER", value: ">" },
|
|
34
35
|
{ text: "NOT_BEFORE", value: "<" },
|
|
@@ -69,7 +70,7 @@ export class CheckoutOverviewDeliveryEditComponent {
|
|
|
69
70
|
this.deliveryCosts = this.calculateDeliveryCosts();
|
|
70
71
|
this.assemblyCosts = this.calculateAssemblyCosts();
|
|
71
72
|
this.service.getDeliveryMethods().then((methods) => {
|
|
72
|
-
this.deliveryMethods = methods;
|
|
73
|
+
this.deliveryMethods = methods.filter(m => m.webshop);
|
|
73
74
|
});
|
|
74
75
|
this.service.getDeliveryOptions().then((options) => {
|
|
75
76
|
this.deliveryOptionList = options;
|
|
@@ -82,13 +83,13 @@ export class CheckoutOverviewDeliveryEditComponent {
|
|
|
82
83
|
submit() {
|
|
83
84
|
return this._formMasterService.submitSlaves();
|
|
84
85
|
}
|
|
85
|
-
handleDeliveryMethodChange(
|
|
86
|
+
handleDeliveryMethodChange(deliveryMethod) {
|
|
86
87
|
return __awaiter(this, void 0, void 0, function* () {
|
|
87
|
-
|
|
88
|
-
|
|
88
|
+
this.transaction.transactionLines.forEach((tl) => {
|
|
89
|
+
tl.deliveryMethodCode = deliveryMethod.code;
|
|
90
|
+
});
|
|
89
91
|
if (deliveryMethod) {
|
|
90
92
|
this.deliveryOptions = this.selectDeliveryOptionsByDeliveryMethod(deliveryMethod);
|
|
91
|
-
this.deliveryOptionsRequest.deliveryOptions = [];
|
|
92
93
|
}
|
|
93
94
|
});
|
|
94
95
|
}
|
|
@@ -114,6 +115,14 @@ export class CheckoutOverviewDeliveryEditComponent {
|
|
|
114
115
|
onChangeLocationCancelClick() {
|
|
115
116
|
this.changeLocationPopup = false;
|
|
116
117
|
}
|
|
118
|
+
handleTransactionDefinitive(definitive) {
|
|
119
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
120
|
+
const success = yield this.service.updateHeaderTransactionDefinitive(this.transaction.transactionInfo.uuid, definitive);
|
|
121
|
+
if (!success) {
|
|
122
|
+
this.transactionDefinitive = !definitive;
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
}
|
|
117
126
|
calculateDeliveryCosts() {
|
|
118
127
|
return 0;
|
|
119
128
|
}
|
|
@@ -139,37 +148,27 @@ CheckoutOverviewDeliveryEditComponent.decorators = [
|
|
|
139
148
|
[tileHeight]="100"
|
|
140
149
|
[selectedIndex]="deliveryTypeIdx"
|
|
141
150
|
(indexSelected)="setIndexDeliveryType($event)">
|
|
142
|
-
<co-delivery-type-tile #carouselItem *ngFor="let
|
|
143
|
-
[
|
|
151
|
+
<co-delivery-type-tile #carouselItem *ngFor="let method of deliveryMethods; let index = index"
|
|
152
|
+
[method]="method"
|
|
144
153
|
[selected]="deliveryTypeIdx === index"
|
|
154
|
+
(selectedChange)="handleDeliveryMethodChange($event)"
|
|
145
155
|
></co-delivery-type-tile>
|
|
146
156
|
</co-carousel-3d>
|
|
147
157
|
</div>
|
|
148
158
|
<div class="checkout-data-row">
|
|
149
|
-
<co-input-date [
|
|
159
|
+
<co-input-date [placeholder]="'DELIVERY_DATE' | localize" [required]="true"></co-input-date>
|
|
150
160
|
</div>
|
|
151
161
|
<div class="checkout-data-row">
|
|
152
|
-
<co-input-date [
|
|
162
|
+
<co-input-date [placeholder]="'PREFERRED_DATE' | localize"></co-input-date>
|
|
153
163
|
</div>
|
|
154
164
|
<div class="checkout-data-row">
|
|
155
|
-
<co-input-checkbox [
|
|
165
|
+
<co-input-checkbox [label]="'PART_DELIVERIES' | localize"></co-input-checkbox>
|
|
156
166
|
</div>
|
|
157
167
|
<div class="checkout-data-row">
|
|
158
168
|
<co-collapsible [headerTitle]="'ADD_DELIVERY_OPTION' | localize" [iconData]="iconService.getIcon(icons.TriangleDown)">
|
|
159
|
-
<div class="checkout-data-row">
|
|
160
|
-
<co-drop-down-list
|
|
161
|
-
[collection]="deliveryMethods"
|
|
162
|
-
[fields]="deliveryMethodFields"
|
|
163
|
-
[required]="true"
|
|
164
|
-
[model]="deliveryOptionsRequest.deliveryMethod"
|
|
165
|
-
(modelChange)="handleDeliveryMethodChange($event)"
|
|
166
|
-
[placeholder]="'DELIVERY_METHOD' | localize"></co-drop-down-list>
|
|
167
|
-
<co-input-text [placeholder]="'TOTAL_ASSEMBLY_TIME' | localize"></co-input-text>
|
|
168
|
-
</div>
|
|
169
169
|
<div class="checkout-data-row">
|
|
170
170
|
<co-input-listbox
|
|
171
171
|
[placeholder]="'DELIVERY_OPTIONS' | localize"
|
|
172
|
-
[(model)]="deliveryOptionsRequest.deliveryOptions"
|
|
173
172
|
[collection]="deliveryOptions"
|
|
174
173
|
[fields]="deliveryOptionFields"
|
|
175
174
|
[showCheckbox]="true"
|
|
@@ -180,17 +179,17 @@ CheckoutOverviewDeliveryEditComponent.decorators = [
|
|
|
180
179
|
<div class="checkout-data-row">
|
|
181
180
|
<co-collapsible [headerTitle]="'ADD_REMARK' | localize" [iconData]="iconService.getIcon(icons.TriangleDown)">
|
|
182
181
|
<div class="checkout-data-row">
|
|
183
|
-
<co-input-textarea [
|
|
182
|
+
<co-input-textarea [placeholder]="'REMARKS' | localize"></co-input-textarea>
|
|
184
183
|
</div>
|
|
185
184
|
</co-collapsible>
|
|
186
185
|
</div>
|
|
187
186
|
<div class="checkout-data-row">
|
|
188
187
|
<co-collapsible [headerTitle]="'ADD_REFERENCE' | localize" [iconData]="iconService.getIcon(icons.TriangleDown)">
|
|
189
188
|
<div class="checkout-data-row">
|
|
190
|
-
<co-input-text [
|
|
189
|
+
<co-input-text [placeholder]="'REFERENCE' | localize"></co-input-text>
|
|
191
190
|
</div>
|
|
192
191
|
<div class="checkout-data-row">
|
|
193
|
-
<co-input-text [
|
|
192
|
+
<co-input-text [placeholder]="'REFERENCE_RELATION' | localize"></co-input-text>
|
|
194
193
|
</div>
|
|
195
194
|
</co-collapsible>
|
|
196
195
|
</div>
|
|
@@ -224,6 +223,7 @@ CheckoutOverviewDeliveryEditComponent.decorators = [
|
|
|
224
223
|
</div>
|
|
225
224
|
<div class="checkout-data-column">
|
|
226
225
|
<div class="checkout-data-row">
|
|
226
|
+
<co-input-checkbox [model]="transactionDefinitive" (modelChange)="handleTransactionDefinitive($event)" [label]="'ORDER_DEFINITIVE' | localize"></co-input-checkbox>
|
|
227
227
|
<co-input-text [model]="'NOG_NIET_GEIMPLEMENTEERD'" [placeholder]="'BRANCH' | localize"></co-input-text>
|
|
228
228
|
<co-input-text [model]="'NOG_NIET_GEIMPLEMENTEERD'" [placeholder]="'ADMINISTRATIVE_MANAGER' | localize"></co-input-text>
|
|
229
229
|
</div>
|
|
@@ -231,7 +231,6 @@ CheckoutOverviewDeliveryEditComponent.decorators = [
|
|
|
231
231
|
<co-drop-down-list
|
|
232
232
|
[collection]="marketing"
|
|
233
233
|
[fields]="marketingFields"
|
|
234
|
-
[(model)]="deliveryOptionsRequest.marketingCode"
|
|
235
234
|
[placeholder]="'MARKETING' | localize"></co-drop-down-list>
|
|
236
235
|
</div>
|
|
237
236
|
<div class="checkout-data-row">
|
|
@@ -266,10 +265,9 @@ CheckoutOverviewDeliveryEditComponent.ctorParameters = () => [
|
|
|
266
265
|
{ type: IconCacheService }
|
|
267
266
|
];
|
|
268
267
|
CheckoutOverviewDeliveryEditComponent.propDecorators = {
|
|
269
|
-
deliveryOptionsRequest: [{ type: Input }],
|
|
270
268
|
transaction: [{ type: Input }],
|
|
271
269
|
validSubmit: [{ type: Output }],
|
|
272
270
|
invalidSubmit: [{ type: Output }],
|
|
273
271
|
showClass: [{ type: HostBinding, args: ["class.co-checkout-overview-delivery-edit",] }]
|
|
274
272
|
};
|
|
275
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtb3ZlcnZpZXctZGVsaXZlcnktZWRpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9jaGVja291dC9jaGVja291dC1vdmVydmlldy1kZWxpdmVyeS1lZGl0L2NoZWNrb3V0LW92ZXJ2aWV3LWRlbGl2ZXJ5LWVkaXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQU0vRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUV4RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUd0RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUUvRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQXlJckUsTUFBTSxPQUFPLHFDQUFxQztJQTRFaEQsWUFDVSxrQkFBcUMsRUFDckMsa0JBQXFDLEVBQ3JDLFVBQWlDLEVBQ2xDLE9BQTJCLEVBQzNCLFdBQTZCO1FBSjVCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFDckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQUNyQyxlQUFVLEdBQVYsVUFBVSxDQUF1QjtRQUNsQyxZ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QUM7SUFFTyxzQkFBc0I7UUFDNUIsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDOzs7WUExUkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQ0FBb0M7Z0JBQzlDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1SFQ7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULGlCQUFpQjtpQkFDbEI7Z0JBQ0QsVUFBVSxFQUFFO29CQUNWLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRTt3QkFDaEMsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO3dCQUM3QyxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7d0JBQzVDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7d0JBQ3JELFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7cUJBQ25ELENBQUM7aUJBQ0g7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQS9JTyxpQkFBaUI7WUFSakIsaUJBQWlCO1lBYWpCLHFCQUFxQjtZQVByQixrQkFBa0I7WUFTbEIsZ0JBQWdCOzs7cUNBNElyQixLQUFLOzBCQUdMLEtBQUs7MEJBR0wsTUFBTTs0QkFHTixNQUFNO3dCQUdOLFdBQVcsU0FBQywwQ0FBMEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7Rm9ybU1hc3RlclNlcnZpY2V9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XG5pbXBvcnQge0FkZHJlc3N9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvYWRkcmVzcy5ib1wiO1xuaW1wb3J0IHtHZW5kZXJUeXBlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vZ2VuZGVyLXR5cGUuZW51bVwiO1xuaW1wb3J0IHtNYXJrZXRpbmd9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvbWFya2V0aW5nLmJvXCI7XG5pbXBvcnQge0RlbGl2ZXJ5TWV0aG9kfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RlbGl2ZXJ5LW1ldGhvZC5ib1wiO1xuaW1wb3J0IHtEZWxpdmVyeU9wdGlvbn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9kZWxpdmVyeS1vcHRpb24uYm9cIjtcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XG5pbXBvcnQge1RleHRWYWx1ZUNvbnRhaW5lcn0gZnJvbSBcIi4uLy4uLy4uL21vZGVsL3RleHQtdmFsdWUtY29udGFpbmVyXCI7XG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2VcIjtcbmltcG9ydCB7VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2V9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby1yZXNwb25zZS5ib1wiO1xuaW1wb3J0IHtTZXRUcmFuc2FjdGlvbkRlbGl2ZXJ5T3B0aW9uc1JlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvc2V0LXRyYW5zYWN0aW9uLWRlbGl2ZXJ5LW9wdGlvbnMtcmVxdWVzdC5ib1wiO1xuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xuaW1wb3J0IHtCdXNpbmVzc09iamVjdEZhY3Rvcnl9IGZyb20gXCIuLi8uLi8uLi9mYWN0b3J5L2J1c2luZXNzLW9iamVjdC1mYWN0b3J5XCI7XG5pbXBvcnQge0RlbGl2ZXJ5VHlwZX0gZnJvbSBcIi4uLy4uLy4uL21vZGVsL2RlbGl2ZXJ5LXR5cGVcIjtcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJjby1jaGVja291dC1vdmVydmlldy1kZWxpdmVyeS1lZGl0XCIsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImRlbGl2ZXJ5LWVkaXQtY29udGVudFwiPlxuICAgICAgPGNvLWZvcm0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1mb3JtLXdyYXBwZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtc2VjdGlvbi13cmFwcGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtbGFiZWwtY29sdW1uXCI+XG4gICAgICAgICAgICAgIDxzcGFuPjAxPC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCIgW3RleHRDb250ZW50XT1cIidERUxJVkVSWV9EQVRBJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgICAgPGNvLWNhcm91c2VsLTNkIFt0aWxlV2lkdGhdPVwiMjAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpbGVIZWlnaHRdPVwiMTAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkSW5kZXhdPVwiZGVsaXZlcnlUeXBlSWR4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGluZGV4U2VsZWN0ZWQpPVwic2V0SW5kZXhEZWxpdmVyeVR5cGUoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgPGNvLWRlbGl2ZXJ5LXR5cGUtdGlsZSAjY2Fyb3VzZWxJdGVtICpuZ0Zvcj1cImxldCB0eXBlIG9mIGRlbGl2ZXJ5VHlwZXM7IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJkZWxpdmVyeVR5cGVJZHggPT09IGluZGV4XCJcbiAgICAgICAgICAgICAgICAgID48L2NvLWRlbGl2ZXJ5LXR5cGUtdGlsZT5cbiAgICAgICAgICAgICAgICA8L2NvLWNhcm91c2VsLTNkPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgICAgPGNvLWlucHV0LWRhdGUgWyhtb2RlbCldPVwiZGVsaXZlcnlPcHRpb25zUmVxdWVzdC5kZWxpdmVyeURhdGVcIiBbcGxhY2Vob2xkZXJdPVwiJ0RFTElWRVJZX0RBVEUnIHwgbG9jYWxpemVcIiBbcmVxdWlyZWRdPVwidHJ1ZVwiPjwvY28taW5wdXQtZGF0ZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC1kYXRlIFsobW9kZWwpXT1cImRlbGl2ZXJ5T3B0aW9uc1JlcXVlc3QucHJlZmVycmVkRGVsaXZlcnlEYXRlXCIgW3BsYWNlaG9sZGVyXT1cIidQUkVGRVJSRURfREFURScgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtZGF0ZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveCBbKG1vZGVsKV09XCJkZWxpdmVyeU9wdGlvbnNSZXF1ZXN0LmFsbG93UGFydGlhbERlbGl2ZXJ5XCIgW2xhYmVsXT1cIidQQVJUX0RFTElWRVJJRVMnIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LWNoZWNrYm94PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgICAgPGNvLWNvbGxhcHNpYmxlIFtoZWFkZXJUaXRsZV09XCInQUREX0RFTElWRVJZX09QVElPTicgfCBsb2NhbGl6ZVwiIFtpY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLlRyaWFuZ2xlRG93bilcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICA8Y28tZHJvcC1kb3duLWxpc3RcbiAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJkZWxpdmVyeU1ldGhvZHNcIlxuICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZHNdPVwiZGVsaXZlcnlNZXRob2RGaWVsZHNcIlxuICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwiZGVsaXZlcnlPcHRpb25zUmVxdWVzdC5kZWxpdmVyeU1ldGhvZFwiXG4gICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZURlbGl2ZXJ5TWV0aG9kQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInREVMSVZFUllfTUVUSE9EJyB8IGxvY2FsaXplXCI+PC9jby1kcm9wLWRvd24tbGlzdD5cbiAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgW3BsYWNlaG9sZGVyXT1cIidUT1RBTF9BU1NFTUJMWV9USU1FJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LWxpc3Rib3hcbiAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0RFTElWRVJZX09QVElPTlMnIHwgbG9jYWxpemVcIlxuICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImRlbGl2ZXJ5T3B0aW9uc1JlcXVlc3QuZGVsaXZlcnlPcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJkZWxpdmVyeU9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZHNdPVwiZGVsaXZlcnlPcHRpb25GaWVsZHNcIlxuICAgICAgICAgICAgICAgICAgICAgIFtzaG93Q2hlY2tib3hdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgID48L2NvLWlucHV0LWxpc3Rib3g+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2NvLWNvbGxhcHNpYmxlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgICAgPGNvLWNvbGxhcHNpYmxlIFtoZWFkZXJUaXRsZV09XCInQUREX1JFTUFSSycgfCBsb2NhbGl6ZVwiIFtpY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLlRyaWFuZ2xlRG93bilcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dGFyZWEgWyhtb2RlbCldPVwiZGVsaXZlcnlPcHRpb25zUmVxdWVzdC5yZW1hcmtcIiBbcGxhY2Vob2xkZXJdPVwiJ1JFTUFSS1MnIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LXRleHRhcmVhPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9jby1jb2xsYXBzaWJsZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICAgIDxjby1jb2xsYXBzaWJsZSBbaGVhZGVyVGl0bGVdPVwiJ0FERF9SRUZFUkVOQ0UnIHwgbG9jYWxpemVcIiBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5UcmlhbmdsZURvd24pXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwiZGVsaXZlcnlPcHRpb25zUmVxdWVzdC5vd25SZWZlcmVuY2VcIiBbcGxhY2Vob2xkZXJdPVwiJ1JFRkVSRU5DRScgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cImRlbGl2ZXJ5T3B0aW9uc1JlcXVlc3QucmVsYXRpb25SZWZlcmVuY2VcIiBbcGxhY2Vob2xkZXJdPVwiJ1JFRkVSRU5DRV9SRUxBVElPTicgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvY28tY29sbGFwc2libGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgICAgICA8Y28taW5wdXQtZGF0ZSBbbW9kZWxdPVwiJ05PR19OSUVUX0dFSU1QTEVNRU5URUVSRCdcIiBbcGxhY2Vob2xkZXJdPVwiJ0FTU0VNQkxZX0RBVEUnIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LWRhdGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LXNlY3Rpb24td3JhcHBlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWxhYmVsLWNvbHVtblwiPlxuICAgICAgICAgICAgICA8c3Bhbj4wMjwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiIFt0ZXh0Q29udGVudF09XCInRE9XTlBBWU1FTlQnIHwgbG9jYWxpemVcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLWNvbHVtblwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbbW9kZWxdPVwiJ05PR19OSUVUX0dFSU1QTEVNRU5URUVSRCdcIiBbcGxhY2Vob2xkZXJdPVwiJ0RPV05QQVlNRU5UX1BFUkNFTlRBR0UnIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LXRleHQ+XG4gICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgW21vZGVsXT1cIidOT0dfTklFVF9HRUlNUExFTUVOVEVFUkQnXCIgW3BsYWNlaG9sZGVyXT1cIidET1dOUEFZTUVOVF9BTU9VTlQnIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LXRleHQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbbW9kZWxdPVwiJ05PR19OSUVUX0dFSU1QTEVNRU5URUVSRCdcIiBbcGxhY2Vob2xkZXJdPVwiJ0RPV05QQVlNRU5UX0JZX0JSJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgW21vZGVsXT1cIidOT0dfTklFVF9HRUlNUExFTUVOVEVFUkQnXCIgW3BsYWNlaG9sZGVyXT1cIidET1dOUEFZTUVOVF9PTl9ERUxJVkVSWScgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtc2VjdGlvbi13cmFwcGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtbGFiZWwtY29sdW1uXCI+XG4gICAgICAgICAgICAgIDxzcGFuPjAzPC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCIgW3RleHRDb250ZW50XT1cIidPUkRFUl9EQVRBJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgW21vZGVsXT1cIidOT0dfTklFVF9HRUlNUExFTUVOVEVFUkQnXCIgW3BsYWNlaG9sZGVyXT1cIidCUkFOQ0gnIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LXRleHQ+XG4gICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgW21vZGVsXT1cIidOT0dfTklFVF9HRUlNUExFTUVOVEVFUkQnXCIgW3BsYWNlaG9sZGVyXT1cIidBRE1JTklTVFJBVElWRV9NQU5BR0VSJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgICAgPGNvLWRyb3AtZG93bi1saXN0XG4gICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJtYXJrZXRpbmdcIlxuICAgICAgICAgICAgICAgICAgW2ZpZWxkc109XCJtYXJrZXRpbmdGaWVsZHNcIlxuICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiZGVsaXZlcnlPcHRpb25zUmVxdWVzdC5tYXJrZXRpbmdDb2RlXCJcbiAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInTUFSS0VUSU5HJyB8IGxvY2FsaXplXCI+PC9jby1kcm9wLWRvd24tbGlzdD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9jby1mb3JtPlxuICAgIDwvZGl2PlxuICBgLFxuICBwcm92aWRlcnM6IFtcbiAgICBGb3JtTWFzdGVyU2VydmljZVxuICBdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcihcInNob3dIaWRlSW52b2ljZUFkZHJlc3NcIiwgW1xuICAgICAgc3RhdGUoXCJ2b2lkXCIsIHN0eWxlKHtoZWlnaHQ6IDAsIG9wYWNpdHk6IDB9KSksXG4gICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe2hlaWdodDogXCIqXCIsIG9wYWNpdHk6IDF9KSksXG4gICAgICB0cmFuc2l0aW9uKFwidm9pZCA9PiAqXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKSksXG4gICAgICB0cmFuc2l0aW9uKFwiKiA9PiB2b2lkXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLW91dFwiKSlcbiAgICBdKVxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrb3V0T3ZlcnZpZXdEZWxpdmVyeUVkaXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZGVsaXZlcnlPcHRpb25zUmVxdWVzdDogU2V0VHJhbnNhY3Rpb25EZWxpdmVyeU9wdGlvbnNSZXF1ZXN0O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyB2YWxpZFN1Ym1pdDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgaW52YWxpZFN1Ym1pdDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWNoZWNrb3V0LW92ZXJ2aWV3LWRlbGl2ZXJ5LWVkaXRcIilcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBkZWxpdmVyeVR5cGVzOiBEZWxpdmVyeVR5cGVbXSA9IFtcbiAgICB7Y29kZTogJzEnLCBkZXNjcmlwdGlvbjogJ0Jlem9yZ2VuJywgaWNvbjogdGhpcy5pY29ucy5EZWxpdmVyeVRydWNrLCBwcmljZTogODl9LFxuICAgIHtjb2RlOiAnMicsIGRlc2NyaXB0aW9uOiAnQmV6b3JnZW4gJiBtb250ZXJlbicsIGljb246IHRoaXMuaWNvbnMuQ2FsZW5kYXJEYXksIHByaWNlOiAxMTl9LFxuICAgIHtjb2RlOiAnMycsIGRlc2NyaXB0aW9uOiAnTWVlbmVtZW4nLCBpY29uOiB0aGlzLmljb25zLlRydWNrfSxcbiAgXTtcbiAgcHVibGljIGRlbGl2ZXJ5T3B0aW9uTGlzdDogRGVsaXZlcnlPcHRpb25bXSA9IFtdO1xuICBwdWJsaWMgZGVsaXZlcnlPcHRpb25zOiBEZWxpdmVyeU9wdGlvbltdID0gW107XG4gIHB1YmxpYyBkZWxpdmVyeU9wdGlvbkZpZWxkczogVGV4dFZhbHVlQ29udGFpbmVyID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwiY29kZVwifTtcbiAgcHVibGljIGRlbGl2ZXJ5TWV0aG9kczogRGVsaXZlcnlNZXRob2RbXSA9IFtdO1xuICBwdWJsaWMgZGVsaXZlcnlNZXRob2RGaWVsZHM6IFRleHRWYWx1ZUNvbnRhaW5lciA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcImNvZGVcIn07XG4gIHB1YmxpYyBkZWxpdmVyeVR5cGVJZHg6IG51bWJlciA9IDA7XG5cbiAgcHVibGljIGNoYW5nZUxvY2F0aW9uUG9wdXA6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIG5ld0FkZHJlc3M6IEFkZHJlc3M7XG4gIHB1YmxpYyBwcmVmZXJyZWREYXRlT3B0aW9uczogVGV4dFZhbHVlQ29udGFpbmVyW10gPSBbXG4gICAge3RleHQ6IFwiTk9UX0FGVEVSXCIsIHZhbHVlOiBcIj5cIn0sXG4gICAge3RleHQ6IFwiTk9UX0JFRk9SRVwiLCB2YWx1ZTogXCI8XCJ9LFxuICAgIHt0ZXh0OiBcIk9OX0RBVEVcIiwgdmFsdWU6IFwiPVwifSxcbiAgXTtcbiAgcHVibGljIGFkZHJlc3NUb0VkaXQ6IEFkZHJlc3M7XG4gIHB1YmxpYyBwcmVmZXJyZWREYXRlOiBEYXRlID0gbmV3IERhdGUoKTtcbiAgcHVibGljIGdlbmRlcjogR2VuZGVyVHlwZTtcbiAgcHVibGljIG1hcmtldGluZzogTWFya2V0aW5nW10gPSBbXTtcbiAgcHVibGljIG1hcmtldGluZ0ZpZWxkczogT2JqZWN0ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwiY29kZVwifTtcbiAgcHVibGljIG1hcmtldGluZ0NvZGU6IHN0cmluZztcbiAgcHVibGljIGFzc2VtYmx5Q29zdHM6IG51bWJlcjtcbiAgcHVibGljIGRlbGl2ZXJ5Q29zdHM6IG51bWJlcjtcblxuICAvLyBUT0RPOiBEZXplIHZlbGRlbiBub2cgb3BuZW1lbiBpbiBUcmFuc2FjdGlvbiEhXG4gIHB1YmxpYyBkZWxpdmVyeURhdGVGaW5hbDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgYXNzZW1ibHlEYXRlOiBEYXRlID0gbmV3IERhdGUoKTtcbiAgcHVibGljIHRvdGFsQXNzZW1ibHlUaW1lOiBzdHJpbmcgPSBcIlwiO1xuICBwdWJsaWMgZHJvcHNoaXBtZW50OiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGdldCBkZWxpdmVyeURhdGUoKTogRGF0ZSB7XG4gICAgaWYgKHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmRlbGl2ZXJ5RGF0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5kZWxpdmVyeURhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8uZGVsaXZlcnlEYXRlO1xuICB9XG5cbiAgcHVibGljIHNldCBkZWxpdmVyeURhdGUodmFsdWU6IERhdGUpIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5kZWxpdmVyeURhdGUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHJlZmVycmVkRGVsaXZlcnlEYXRlKCk6IERhdGUge1xuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5wcmVmZXJyZWREZWxpdmVyeURhdGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ucHJlZmVycmVkRGVsaXZlcnlEYXRlID0gbmV3IERhdGUoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnByZWZlcnJlZERlbGl2ZXJ5RGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgcHJlZmVycmVkRGVsaXZlcnlEYXRlKHZhbHVlOiBEYXRlKSB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ucHJlZmVycmVkRGVsaXZlcnlEYXRlID0gdmFsdWU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9kaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfZm9ybU1hc3RlclNlcnZpY2U6IEZvcm1NYXN0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2JvRmFjdG9yeTogQnVzaW5lc3NPYmplY3RGYWN0b3J5LFxuICAgIHB1YmxpYyBzZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXG4gICAgcHVibGljIGljb25TZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgcHVibGljIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuZGVsaXZlcnlDb3N0cyA9IHRoaXMuY2FsY3VsYXRlRGVsaXZlcnlDb3N0cygpO1xuICAgIHRoaXMuYXNzZW1ibHlDb3N0cyA9IHRoaXMuY2FsY3VsYXRlQXNzZW1ibHlDb3N0cygpO1xuICAgIHRoaXMuc2VydmljZS5nZXREZWxpdmVyeU1ldGhvZHMoKS50aGVuKChtZXRob2RzOiBEZWxpdmVyeU1ldGhvZFtdKSA9PiB7XG4gICAgICB0aGlzLmRlbGl2ZXJ5TWV0aG9kcyA9IG1ldGhvZHM7XG4gICAgfSk7XG4gICAgdGhpcy5zZXJ2aWNlLmdldERlbGl2ZXJ5T3B0aW9ucygpLnRoZW4oKG9wdGlvbnM6IERlbGl2ZXJ5T3B0aW9uW10pID0+IHtcbiAgICAgIHRoaXMuZGVsaXZlcnlPcHRpb25MaXN0ID0gb3B0aW9ucztcbiAgICB9KTtcbiAgICB0aGlzLnNlcnZpY2UuZ2V0TWFya2V0aW5nQ29kZXMoKS50aGVuKChtYXJrZXRpbmdDb2RlczogTWFya2V0aW5nW10pID0+IHtcbiAgICAgIHRoaXMubWFya2V0aW5nID0gbWFya2V0aW5nQ29kZXM7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3VibWl0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9mb3JtTWFzdGVyU2VydmljZS5zdWJtaXRTbGF2ZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVEZWxpdmVyeU1ldGhvZENoYW5nZShkZWxpdmVyeU1ldGhvZElkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBkZWxpdmVyeU1ldGhvZDogRGVsaXZlcnlNZXRob2QgPSB0aGlzLnNlbGVjdERlbGl2ZXJ5TWV0aG9kQnlJZChkZWxpdmVyeU1ldGhvZElkKTtcbiAgICB0aGlzLmRlbGl2ZXJ5T3B0aW9uc1JlcXVlc3QuZGVsaXZlcnlNZXRob2QgPSBkZWxpdmVyeU1ldGhvZElkO1xuICAgIGlmIChkZWxpdmVyeU1ldGhvZCkge1xuICAgICAgdGhpcy5kZWxpdmVyeU9wdGlvbnMgPSB0aGlzLnNlbGVjdERlbGl2ZXJ5T3B0aW9uc0J5RGVsaXZlcnlNZXRob2QoZGVsaXZlcnlNZXRob2QpO1xuICAgICAgdGhpcy5kZWxpdmVyeU9wdGlvbnNSZXF1ZXN0LmRlbGl2ZXJ5T3B0aW9ucyA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRJbmRleERlbGl2ZXJ5VHlwZShpZHg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuZGVsaXZlcnlUeXBlSWR4ID0gaWR4O1xuICAgIC8vIHRoaXMuc2VsZWN0QWRkcmVzcyh0aGlzLnJlbGF0aW9uLmFkZHJlc3Nlc1tpZHhdKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3REZWxpdmVyeU9wdGlvbnNCeURlbGl2ZXJ5TWV0aG9kKGRlbGl2ZXJ5TWV0aG9kOiBEZWxpdmVyeU1ldGhvZCk6IERlbGl2ZXJ5T3B0aW9uW10ge1xuICAgIHJldHVybiB0aGlzLmRlbGl2ZXJ5T3B0aW9uTGlzdC5maWx0ZXIoZGVsaXZlcnlPcHRpb24gPT4gZGVsaXZlcnlNZXRob2QuZGVsaXZlcnlPcHRpb25zLmluZGV4T2YoZGVsaXZlcnlPcHRpb24uY29kZSkgIT09IC0xKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3REZWxpdmVyeU1ldGhvZEJ5SWQoZGVsaXZlcnlNZXRob2RJZDogc3RyaW5nKTogRGVsaXZlcnlNZXRob2Qge1xuICAgIHJldHVybiB0aGlzLmRlbGl2ZXJ5TWV0aG9kcy5maW5kKGRlbGl2ZXJ5ID0+IGRlbGl2ZXJ5LmNvZGUgPT09IGRlbGl2ZXJ5TWV0aG9kSWQpO1xuICB9XG5cbiAgcHVibGljIGlzRGVsaXZlcnlPcHRpb25DaGVja2VkKGRlbGl2ZXJ5T3B0aW9uSXRlbTogRGVsaXZlcnlPcHRpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmRlbGl2ZXJ5T3B0aW9ucy5pbmRleE9mKGRlbGl2ZXJ5T3B0aW9uSXRlbS5jb2RlLCAwKSA9PT0gMCk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlUHJlZmVycmVkRGVsaXZlcnlEYXRlMihwcmVmZXJyZWREYXRlT3B0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5wcmVmZXJyZWREZWxpdmVyeURhdGUyID0gcHJlZmVycmVkRGF0ZU9wdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBvbk1hcmtldGluZ0NvZGVDaGFuZ2UobWFya2V0aW5nQ29kZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ubWFya2V0aW5nQ29kZSA9IG1hcmtldGluZ0NvZGU7XG4gIH1cblxuICBwdWJsaWMgb25DaGFuZ2VMb2NhdGlvbkNhbmNlbENsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlTG9jYXRpb25Qb3B1cCA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVEZWxpdmVyeUNvc3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZUFzc2VtYmx5Q29zdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gMDtcbiAgfVxufVxuIl19
|
|
273
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtb3ZlcnZpZXctZGVsaXZlcnktZWRpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9jaGVja291dC9jaGVja291dC1vdmVydmlldy1kZWxpdmVyeS1lZGl0L2NoZWNrb3V0LW92ZXJ2aWV3LWRlbGl2ZXJ5LWVkaXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQU0vRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUV4RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUV0RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQWdJckUsTUFBTSxPQUFPLHFDQUFxQztJQThFaEQsWUFDVSxrQkFBcUMsRUFDckMsa0JBQXFDLEVBQ3JDLFVBQWlDLEVBQ2xDLE9BQTJCLEVBQzNCLFdBQTZCO1FBSjVCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFDckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQUNyQyxlQUFVLEdBQVYsVUFBVSxDQUF1QjtRQUNsQyxZ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QUNYLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDOzs7WUF6UkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQ0FBb0M7Z0JBQzlDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZHVDtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsaUJBQWlCO2lCQUNsQjtnQkFDRCxVQUFVLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLHdCQUF3QixFQUFFO3dCQUNoQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7d0JBQzdDLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDNUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQzt3QkFDckQsVUFBVSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztxQkFDbkQsQ0FBQztpQkFDSDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBcElPLGlCQUFpQjtZQVJqQixpQkFBaUI7WUFZakIscUJBQXFCO1lBTnJCLGtCQUFrQjtZQU9sQixnQkFBZ0I7OzswQkFzSXJCLEtBQUs7MEJBR0wsTUFBTTs0QkFHTixNQUFNO3dCQUdOLFdBQVcsU0FBQywwQ0FBMEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7Rm9ybU1hc3RlclNlcnZpY2V9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XG5pbXBvcnQge0FkZHJlc3N9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvYWRkcmVzcy5ib1wiO1xuaW1wb3J0IHtHZW5kZXJUeXBlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vZ2VuZGVyLXR5cGUuZW51bVwiO1xuaW1wb3J0IHtNYXJrZXRpbmd9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvbWFya2V0aW5nLmJvXCI7XG5pbXBvcnQge0RlbGl2ZXJ5TWV0aG9kfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RlbGl2ZXJ5LW1ldGhvZC5ib1wiO1xuaW1wb3J0IHtEZWxpdmVyeU9wdGlvbn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9kZWxpdmVyeS1vcHRpb24uYm9cIjtcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XG5pbXBvcnQge1RleHRWYWx1ZUNvbnRhaW5lcn0gZnJvbSBcIi4uLy4uLy4uL21vZGVsL3RleHQtdmFsdWUtY29udGFpbmVyXCI7XG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2VcIjtcbmltcG9ydCB7VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2V9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby1yZXNwb25zZS5ib1wiO1xuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xuaW1wb3J0IHtCdXNpbmVzc09iamVjdEZhY3Rvcnl9IGZyb20gXCIuLi8uLi8uLi9mYWN0b3J5L2J1c2luZXNzLW9iamVjdC1mYWN0b3J5XCI7XG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVJbmZvfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWxpbmUtaW5mby5ib1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiY28tY2hlY2tvdXQtb3ZlcnZpZXctZGVsaXZlcnktZWRpdFwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJkZWxpdmVyeS1lZGl0LWNvbnRlbnRcIj5cbiAgICAgIDxjby1mb3JtPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZm9ybS13cmFwcGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LXNlY3Rpb24td3JhcHBlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWxhYmVsLWNvbHVtblwiPlxuICAgICAgICAgICAgICA8c3Bhbj4wMTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiIFt0ZXh0Q29udGVudF09XCInREVMSVZFUllfREFUQScgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtY29sdW1uXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICAgIDxjby1jYXJvdXNlbC0zZCBbdGlsZVdpZHRoXT1cIjIwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aWxlSGVpZ2h0XT1cIjEwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZEluZGV4XT1cImRlbGl2ZXJ5VHlwZUlkeFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbmRleFNlbGVjdGVkKT1cInNldEluZGV4RGVsaXZlcnlUeXBlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgIDxjby1kZWxpdmVyeS10eXBlLXRpbGUgI2Nhcm91c2VsSXRlbSAqbmdGb3I9XCJsZXQgbWV0aG9kIG9mIGRlbGl2ZXJ5TWV0aG9kczsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWV0aG9kXT1cIm1ldGhvZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJkZWxpdmVyeVR5cGVJZHggPT09IGluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cImhhbmRsZURlbGl2ZXJ5TWV0aG9kQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgPjwvY28tZGVsaXZlcnktdHlwZS10aWxlPlxuICAgICAgICAgICAgICAgIDwvY28tY2Fyb3VzZWwtM2Q+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgICAgICA8Y28taW5wdXQtZGF0ZSBbcGxhY2Vob2xkZXJdPVwiJ0RFTElWRVJZX0RBVEUnIHwgbG9jYWxpemVcIiBbcmVxdWlyZWRdPVwidHJ1ZVwiPjwvY28taW5wdXQtZGF0ZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC1kYXRlIFtwbGFjZWhvbGRlcl09XCInUFJFRkVSUkVEX0RBVEUnIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LWRhdGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3ggW2xhYmVsXT1cIidQQVJUX0RFTElWRVJJRVMnIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LWNoZWNrYm94PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgICAgPGNvLWNvbGxhcHNpYmxlIFtoZWFkZXJUaXRsZV09XCInQUREX0RFTElWRVJZX09QVElPTicgfCBsb2NhbGl6ZVwiIFtpY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLlRyaWFuZ2xlRG93bilcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtbGlzdGJveFxuICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInREVMSVZFUllfT1BUSU9OUycgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwiZGVsaXZlcnlPcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZmllbGRzXT1cImRlbGl2ZXJ5T3B0aW9uRmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc2hvd0NoZWNrYm94XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC1saXN0Ym94PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9jby1jb2xsYXBzaWJsZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICAgIDxjby1jb2xsYXBzaWJsZSBbaGVhZGVyVGl0bGVdPVwiJ0FERF9SRU1BUksnIHwgbG9jYWxpemVcIiBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5UcmlhbmdsZURvd24pXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHRhcmVhIFtwbGFjZWhvbGRlcl09XCInUkVNQVJLUycgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dGFyZWE+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2NvLWNvbGxhcHNpYmxlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgICAgPGNvLWNvbGxhcHNpYmxlIFtoZWFkZXJUaXRsZV09XCInQUREX1JFRkVSRU5DRScgfCBsb2NhbGl6ZVwiIFtpY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLlRyaWFuZ2xlRG93bilcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbcGxhY2Vob2xkZXJdPVwiJ1JFRkVSRU5DRScgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFtwbGFjZWhvbGRlcl09XCInUkVGRVJFTkNFX1JFTEFUSU9OJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9jby1jb2xsYXBzaWJsZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC1kYXRlIFttb2RlbF09XCInTk9HX05JRVRfR0VJTVBMRU1FTlRFRVJEJ1wiIFtwbGFjZWhvbGRlcl09XCInQVNTRU1CTFlfREFURScgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtZGF0ZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtc2VjdGlvbi13cmFwcGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtbGFiZWwtY29sdW1uXCI+XG4gICAgICAgICAgICAgIDxzcGFuPjAyPC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCIgW3RleHRDb250ZW50XT1cIidET1dOUEFZTUVOVCcgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtY29sdW1uXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFttb2RlbF09XCInTk9HX05JRVRfR0VJTVBMRU1FTlRFRVJEJ1wiIFtwbGFjZWhvbGRlcl09XCInRE9XTlBBWU1FTlRfUEVSQ0VOVEFHRScgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cbiAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbbW9kZWxdPVwiJ05PR19OSUVUX0dFSU1QTEVNRU5URUVSRCdcIiBbcGxhY2Vob2xkZXJdPVwiJ0RPV05QQVlNRU5UX0FNT1VOVCcgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFttb2RlbF09XCInTk9HX05JRVRfR0VJTVBMRU1FTlRFRVJEJ1wiIFtwbGFjZWhvbGRlcl09XCInRE9XTlBBWU1FTlRfQllfQlInIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LXRleHQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbbW9kZWxdPVwiJ05PR19OSUVUX0dFSU1QTEVNRU5URUVSRCdcIiBbcGxhY2Vob2xkZXJdPVwiJ0RPV05QQVlNRU5UX09OX0RFTElWRVJZJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1zZWN0aW9uLXdyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1sYWJlbC1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgPHNwYW4+MDM8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ09SREVSX0RBVEEnIHwgbG9jYWxpemVcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLWNvbHVtblwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3ggW21vZGVsXT1cInRyYW5zYWN0aW9uRGVmaW5pdGl2ZVwiIChtb2RlbENoYW5nZSk9XCJoYW5kbGVUcmFuc2FjdGlvbkRlZmluaXRpdmUoJGV2ZW50KVwiIFtsYWJlbF09XCInT1JERVJfREVGSU5JVElWRScgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgW21vZGVsXT1cIidOT0dfTklFVF9HRUlNUExFTUVOVEVFUkQnXCIgW3BsYWNlaG9sZGVyXT1cIidCUkFOQ0gnIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LXRleHQ+XG4gICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgW21vZGVsXT1cIidOT0dfTklFVF9HRUlNUExFTUVOVEVFUkQnXCIgW3BsYWNlaG9sZGVyXT1cIidBRE1JTklTVFJBVElWRV9NQU5BR0VSJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgICAgPGNvLWRyb3AtZG93bi1saXN0XG4gICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJtYXJrZXRpbmdcIlxuICAgICAgICAgICAgICAgICAgW2ZpZWxkc109XCJtYXJrZXRpbmdGaWVsZHNcIlxuICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidNQVJLRVRJTkcnIHwgbG9jYWxpemVcIj48L2NvLWRyb3AtZG93bi1saXN0PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2NvLWZvcm0+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHByb3ZpZGVyczogW1xuICAgIEZvcm1NYXN0ZXJTZXJ2aWNlXG4gIF0sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKFwic2hvd0hpZGVJbnZvaWNlQWRkcmVzc1wiLCBbXG4gICAgICBzdGF0ZShcInZvaWRcIiwgc3R5bGUoe2hlaWdodDogMCwgb3BhY2l0eTogMH0pKSxcbiAgICAgIHN0YXRlKFwiKlwiLCBzdHlsZSh7aGVpZ2h0OiBcIipcIiwgb3BhY2l0eTogMX0pKSxcbiAgICAgIHRyYW5zaXRpb24oXCJ2b2lkID0+ICpcIiwgYW5pbWF0ZShcIjIwMG1zIGVhc2UtaW4tb3V0XCIpKSxcbiAgICAgIHRyYW5zaXRpb24oXCIqID0+IHZvaWRcIiwgYW5pbWF0ZShcIjIwMG1zIGVhc2Utb3V0XCIpKVxuICAgIF0pXG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tvdXRPdmVydmlld0RlbGl2ZXJ5RWRpdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xuXG4gIC8vIEBJbnB1dCgpXG4gIC8vIHB1YmxpYyBkZWxpdmVyeU9wdGlvbnNSZXF1ZXN0OiBTZXRUcmFuc2FjdGlvbkRlbGl2ZXJ5T3B0aW9uc1JlcXVlc3Q7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHZhbGlkU3VibWl0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBpbnZhbGlkU3VibWl0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tY2hlY2tvdXQtb3ZlcnZpZXctZGVsaXZlcnktZWRpdFwiKVxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gcHVibGljIGRlbGl2ZXJ5VHlwZXM6IERlbGl2ZXJ5VHlwZVtdID0gW1xuICAvLyAgIHtjb2RlOiAnMScsIGRlc2NyaXB0aW9uOiAnQmV6b3JnZW4nLCBpY29uOiB0aGlzLmljb25zLkRlbGl2ZXJ5VHJ1Y2ssIHByaWNlOiA4OX0sXG4gIC8vICAge2NvZGU6ICcyJywgZGVzY3JpcHRpb246ICdCZXpvcmdlbiAmIG1vbnRlcmVuJywgaWNvbjogdGhpcy5pY29ucy5DYWxlbmRhckRheSwgcHJpY2U6IDExOX0sXG4gIC8vICAge2NvZGU6ICczJywgZGVzY3JpcHRpb246ICdNZWVuZW1lbicsIGljb246IHRoaXMuaWNvbnMuVHJ1Y2t9LFxuICAvLyBdO1xuICBwdWJsaWMgZGVsaXZlcnlPcHRpb25MaXN0OiBEZWxpdmVyeU9wdGlvbltdID0gW107XG4gIHB1YmxpYyBkZWxpdmVyeU9wdGlvbnM6IERlbGl2ZXJ5T3B0aW9uW10gPSBbXTtcbiAgcHVibGljIGRlbGl2ZXJ5T3B0aW9uRmllbGRzOiBUZXh0VmFsdWVDb250YWluZXIgPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJjb2RlXCJ9O1xuICBwdWJsaWMgZGVsaXZlcnlNZXRob2RzOiBEZWxpdmVyeU1ldGhvZFtdID0gW107XG4gIHB1YmxpYyBkZWxpdmVyeU1ldGhvZEZpZWxkczogVGV4dFZhbHVlQ29udGFpbmVyID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwiY29kZVwifTtcbiAgcHVibGljIGRlbGl2ZXJ5VHlwZUlkeDogbnVtYmVyID0gMDtcblxuICBwdWJsaWMgY2hhbmdlTG9jYXRpb25Qb3B1cDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgdHJhbnNhY3Rpb25EZWZpbml0aXZlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIG5ld0FkZHJlc3M6IEFkZHJlc3M7XG4gIHB1YmxpYyBwcmVmZXJyZWREYXRlT3B0aW9uczogVGV4dFZhbHVlQ29udGFpbmVyW10gPSBbXG4gICAge3RleHQ6IFwiTk9UX0FGVEVSXCIsIHZhbHVlOiBcIj5cIn0sXG4gICAge3RleHQ6IFwiTk9UX0JFRk9SRVwiLCB2YWx1ZTogXCI8XCJ9LFxuICAgIHt0ZXh0OiBcIk9OX0RBVEVcIiwgdmFsdWU6IFwiPVwifSxcbiAgXTtcbiAgcHVibGljIGFkZHJlc3NUb0VkaXQ6IEFkZHJlc3M7XG4gIHB1YmxpYyBwcmVmZXJyZWREYXRlOiBEYXRlID0gbmV3IERhdGUoKTtcbiAgcHVibGljIGdlbmRlcjogR2VuZGVyVHlwZTtcbiAgcHVibGljIG1hcmtldGluZzogTWFya2V0aW5nW10gPSBbXTtcbiAgcHVibGljIG1hcmtldGluZ0ZpZWxkczogT2JqZWN0ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwiY29kZVwifTtcbiAgcHVibGljIG1hcmtldGluZ0NvZGU6IHN0cmluZztcbiAgcHVibGljIGFzc2VtYmx5Q29zdHM6IG51bWJlcjtcbiAgcHVibGljIGRlbGl2ZXJ5Q29zdHM6IG51bWJlcjtcblxuICAvLyBUT0RPOiBEZXplIHZlbGRlbiBub2cgb3BuZW1lbiBpbiBUcmFuc2FjdGlvbiEhXG4gIHB1YmxpYyBkZWxpdmVyeURhdGVGaW5hbDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgYXNzZW1ibHlEYXRlOiBEYXRlID0gbmV3IERhdGUoKTtcbiAgcHVibGljIHRvdGFsQXNzZW1ibHlUaW1lOiBzdHJpbmcgPSBcIlwiO1xuICBwdWJsaWMgZHJvcHNoaXBtZW50OiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGdldCBkZWxpdmVyeURhdGUoKTogRGF0ZSB7XG4gICAgaWYgKHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmRlbGl2ZXJ5RGF0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5kZWxpdmVyeURhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8uZGVsaXZlcnlEYXRlO1xuICB9XG5cbiAgcHVibGljIHNldCBkZWxpdmVyeURhdGUodmFsdWU6IERhdGUpIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5kZWxpdmVyeURhdGUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHJlZmVycmVkRGVsaXZlcnlEYXRlKCk6IERhdGUge1xuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5wcmVmZXJyZWREZWxpdmVyeURhdGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ucHJlZmVycmVkRGVsaXZlcnlEYXRlID0gbmV3IERhdGUoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnByZWZlcnJlZERlbGl2ZXJ5RGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgcHJlZmVycmVkRGVsaXZlcnlEYXRlKHZhbHVlOiBEYXRlKSB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ucHJlZmVycmVkRGVsaXZlcnlEYXRlID0gdmFsdWU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9kaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfZm9ybU1hc3RlclNlcnZpY2U6IEZvcm1NYXN0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2JvRmFjdG9yeTogQnVzaW5lc3NPYmplY3RGYWN0b3J5LFxuICAgIHB1YmxpYyBzZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXG4gICAgcHVibGljIGljb25TZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgcHVibGljIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuZGVsaXZlcnlDb3N0cyA9IHRoaXMuY2FsY3VsYXRlRGVsaXZlcnlDb3N0cygpO1xuICAgIHRoaXMuYXNzZW1ibHlDb3N0cyA9IHRoaXMuY2FsY3VsYXRlQXNzZW1ibHlDb3N0cygpO1xuICAgIHRoaXMuc2VydmljZS5nZXREZWxpdmVyeU1ldGhvZHMoKS50aGVuKChtZXRob2RzOiBEZWxpdmVyeU1ldGhvZFtdKSA9PiB7XG4gICAgICB0aGlzLmRlbGl2ZXJ5TWV0aG9kcyA9IG1ldGhvZHMuZmlsdGVyKG0gPT4gbS53ZWJzaG9wKTtcbiAgICB9KTtcbiAgICB0aGlzLnNlcnZpY2UuZ2V0RGVsaXZlcnlPcHRpb25zKCkudGhlbigob3B0aW9uczogRGVsaXZlcnlPcHRpb25bXSkgPT4ge1xuICAgICAgdGhpcy5kZWxpdmVyeU9wdGlvbkxpc3QgPSBvcHRpb25zO1xuICAgIH0pO1xuICAgIHRoaXMuc2VydmljZS5nZXRNYXJrZXRpbmdDb2RlcygpLnRoZW4oKG1hcmtldGluZ0NvZGVzOiBNYXJrZXRpbmdbXSkgPT4ge1xuICAgICAgdGhpcy5tYXJrZXRpbmcgPSBtYXJrZXRpbmdDb2RlcztcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJtaXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1NYXN0ZXJTZXJ2aWNlLnN1Ym1pdFNsYXZlcygpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGhhbmRsZURlbGl2ZXJ5TWV0aG9kQ2hhbmdlKGRlbGl2ZXJ5TWV0aG9kOiBEZWxpdmVyeU1ldGhvZCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lcy5mb3JFYWNoKCh0bDogVHJhbnNhY3Rpb25MaW5lSW5mbykgPT4ge1xuICAgICAgdGwuZGVsaXZlcnlNZXRob2RDb2RlID0gZGVsaXZlcnlNZXRob2QuY29kZTtcbiAgICB9KVxuICAgIGlmIChkZWxpdmVyeU1ldGhvZCkge1xuICAgICAgdGhpcy5kZWxpdmVyeU9wdGlvbnMgPSB0aGlzLnNlbGVjdERlbGl2ZXJ5T3B0aW9uc0J5RGVsaXZlcnlNZXRob2QoZGVsaXZlcnlNZXRob2QpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRJbmRleERlbGl2ZXJ5VHlwZShpZHg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuZGVsaXZlcnlUeXBlSWR4ID0gaWR4O1xuICAgIC8vIHRoaXMuc2VsZWN0QWRkcmVzcyh0aGlzLnJlbGF0aW9uLmFkZHJlc3Nlc1tpZHhdKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3REZWxpdmVyeU9wdGlvbnNCeURlbGl2ZXJ5TWV0aG9kKGRlbGl2ZXJ5TWV0aG9kOiBEZWxpdmVyeU1ldGhvZCk6IERlbGl2ZXJ5T3B0aW9uW10ge1xuICAgIHJldHVybiB0aGlzLmRlbGl2ZXJ5T3B0aW9uTGlzdC5maWx0ZXIoZGVsaXZlcnlPcHRpb24gPT4gZGVsaXZlcnlNZXRob2QuZGVsaXZlcnlPcHRpb25zLmluZGV4T2YoZGVsaXZlcnlPcHRpb24uY29kZSkgIT09IC0xKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3REZWxpdmVyeU1ldGhvZEJ5SWQoZGVsaXZlcnlNZXRob2RJZDogc3RyaW5nKTogRGVsaXZlcnlNZXRob2Qge1xuICAgIHJldHVybiB0aGlzLmRlbGl2ZXJ5TWV0aG9kcy5maW5kKGRlbGl2ZXJ5ID0+IGRlbGl2ZXJ5LmNvZGUgPT09IGRlbGl2ZXJ5TWV0aG9kSWQpO1xuICB9XG5cbiAgcHVibGljIGlzRGVsaXZlcnlPcHRpb25DaGVja2VkKGRlbGl2ZXJ5T3B0aW9uSXRlbTogRGVsaXZlcnlPcHRpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmRlbGl2ZXJ5T3B0aW9ucy5pbmRleE9mKGRlbGl2ZXJ5T3B0aW9uSXRlbS5jb2RlLCAwKSA9PT0gMCk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlUHJlZmVycmVkRGVsaXZlcnlEYXRlMihwcmVmZXJyZWREYXRlT3B0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5wcmVmZXJyZWREZWxpdmVyeURhdGUyID0gcHJlZmVycmVkRGF0ZU9wdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBvbk1hcmtldGluZ0NvZGVDaGFuZ2UobWFya2V0aW5nQ29kZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ubWFya2V0aW5nQ29kZSA9IG1hcmtldGluZ0NvZGU7XG4gIH1cblxuICBwdWJsaWMgb25DaGFuZ2VMb2NhdGlvbkNhbmNlbENsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlTG9jYXRpb25Qb3B1cCA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGhhbmRsZVRyYW5zYWN0aW9uRGVmaW5pdGl2ZShkZWZpbml0aXZlOiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgc3VjY2VzczogYm9vbGVhbiA9IGF3YWl0IHRoaXMuc2VydmljZS51cGRhdGVIZWFkZXJUcmFuc2FjdGlvbkRlZmluaXRpdmUodGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udXVpZCwgZGVmaW5pdGl2ZSk7XG4gICAgaWYgKCFzdWNjZXNzKSB7XG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRGVmaW5pdGl2ZSA9ICFkZWZpbml0aXZlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlRGVsaXZlcnlDb3N0cygpOiBudW1iZXIge1xuICAgIHJldHVybiAwO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVBc3NlbWJseUNvc3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIDA7XG4gIH1cbn1cbiJdfQ==
|