@colijnit/transaction 12.1.77 → 12.1.78
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/.browserslistrc +18 -0
- package/.editorconfig +16 -0
- package/.eslintrc.json +49 -0
- package/README.md +13 -10
- package/angular.json +165 -0
- package/custom_webpack.config.js +6 -0
- package/e2e/protractor.conf.js +32 -0
- package/e2e/src/app.e2e-spec.ts +23 -0
- package/e2e/src/app.po.ts +11 -0
- package/e2e/tsconfig.json +13 -0
- package/import.bat +8 -0
- package/karma.conf.js +32 -0
- package/move-assets.js +14 -0
- package/package.json +92 -45
- package/projects/transaction/README.md +24 -0
- package/projects/transaction/karma.conf.js +44 -0
- package/projects/transaction/ng-package.json +13 -0
- package/projects/transaction/package.json +44 -0
- package/{lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.scss → projects/transaction/src/lib/assets/.gitkeep} +0 -0
- package/projects/transaction/src/lib/assets/dictionary/text.properties.ts +748 -0
- package/projects/transaction/src/lib/assets/icons/arrow_point_down.svg +6 -0
- package/projects/transaction/src/lib/assets/icons/arrow_point_left.svg +8 -0
- package/projects/transaction/src/lib/assets/icons/arrow_point_right.svg +8 -0
- package/projects/transaction/src/lib/assets/icons/article.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/at_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/barcode_regular.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/barcode_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/bars_filter.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/calendar_day.svg +37 -0
- package/projects/transaction/src/lib/assets/icons/calendar_day_regular.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/cancel.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/cart_check.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/cart_flatbed_boxes_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/cart_shopping_solid.svg +5 -0
- package/projects/transaction/src/lib/assets/icons/cash_register.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/credit_card_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/delivery_truck.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/edit_pencil.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/ellipsis_light.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/ellipsis_vertical_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/expand_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/file_circle_info_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/file_export_regular.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/file_export_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/file_pdf_regular.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/file_pdf_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/gear_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/grip_dots_vertical_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/ideal_logo.svg +38 -0
- package/projects/transaction/src/lib/assets/icons/inbox_in_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/list_regular.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/list_view.svg +8 -0
- package/projects/transaction/src/lib/assets/icons/location_dot_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/lock.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/lock_keyhole_open_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/lock_keyhole_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/magnifier.svg +12 -0
- package/projects/transaction/src/lib/assets/icons/map_marker.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/master_detail.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/memo_circle_check_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/menu.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/message_sms_regular.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/message_sms_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/object_intersect_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/pallet_boxes_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/pdf.svg +15 -0
- package/projects/transaction/src/lib/assets/icons/percent_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/plus_round.svg +9 -0
- package/projects/transaction/src/lib/assets/icons/plus_simple.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/print_regular.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/print_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/purchase.svg +15 -0
- package/projects/transaction/src/lib/assets/icons/resize.svg +3 -0
- package/projects/transaction/src/lib/assets/icons/share_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/shelves_light.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/shelves_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/side_panel.svg +7 -0
- package/projects/transaction/src/lib/assets/icons/slide_in.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/square_full.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/square_full_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/sync_alt.svg +3 -0
- package/projects/transaction/src/lib/assets/icons/tag.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/text_size_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/text_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/thick_lines.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/thin_lines.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/trash_bin.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/trash_can_light.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/triangle_down.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/triangle_up.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/truck.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/truck_arrow_right_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/truck_container_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/truck_fast_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/truck_moving_solid.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/txt.svg +9 -0
- package/projects/transaction/src/lib/assets/icons/unlock.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/warehouse.svg +1 -0
- package/projects/transaction/src/lib/assets/icons/x_solid.svg +1 -0
- package/projects/transaction/src/lib/cache/cache-field.ts +91 -0
- package/projects/transaction/src/lib/cache/parameter-cache-field.ts +63 -0
- package/projects/transaction/src/lib/cache/service/business-object-cache-manager.service.ts +194 -0
- package/projects/transaction/src/lib/cache/service/select-multiple-cache.service.ts +36 -0
- package/projects/transaction/src/lib/cache/service/select-multiple-parameterized-cache.service.ts +46 -0
- package/projects/transaction/src/lib/cache/service/select-single-cache.service.ts +28 -0
- package/projects/transaction/src/lib/component/animated-checkbox/animated-checkbox.component.ts +26 -0
- package/projects/transaction/src/lib/component/animated-checkbox/animated-checkbox.module.ts +19 -0
- package/{lib → projects/transaction/src/lib}/component/animated-checkbox/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/animated-checkbox/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/animated-checkbox/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/animated-checkbox/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/avatar/avatar.component.ts +120 -0
- package/projects/transaction/src/lib/component/avatar/avatar.module.ts +20 -0
- package/{lib → projects/transaction/src/lib}/component/avatar/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/avatar/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/avatar/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/avatar/style/material.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-login/checkout-login.component.scss +0 -0
- package/projects/transaction/src/lib/component/checkout/checkout-login/checkout-login.component.ts +115 -0
- package/{lib/component/core/base/components/characteristic-answer/style/_material-definition.scss → projects/transaction/src/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.scss} +0 -0
- package/projects/transaction/src/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.ts +50 -0
- package/projects/transaction/src/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.ts +296 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-delivery-edit/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-delivery-edit/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-delivery-edit/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-delivery-edit/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.ts +107 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-payment/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-payment/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-payment/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-payment/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.ts +256 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-relation-edit/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-relation-edit/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-relation-edit/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-relation-edit/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/checkout/checkout.component.ts +205 -0
- package/projects/transaction/src/lib/component/checkout/checkout.module.ts +144 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/checkout/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/confirmation-dialog/confirmation-dialog.component.ts +72 -0
- package/projects/transaction/src/lib/component/confirmation-dialog/confirmation-dialog.module.ts +23 -0
- package/{lib → projects/transaction/src/lib}/component/confirmation-dialog/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/confirmation-dialog/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/confirmation-dialog/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/confirmation-dialog/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/core/base/components/characteristic-answer/characteristic-answer.component.ts +87 -0
- package/projects/transaction/src/lib/component/core/base/components/characteristic-answer/characteristic-answer.module.ts +25 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/characteristic-answer/style/_layout.scss +0 -0
- package/{lib/component/core/base/components/default-ok-cancel-buttons → projects/transaction/src/lib/component/core/base/components/characteristic-answer}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/characteristic-answer/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/characteristic-answer/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.component.ts +46 -0
- package/projects/transaction/src/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.module.ts +20 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/default-ok-cancel-buttons/style/_layout.scss +0 -0
- package/{lib/component/core/base/components/warehouse → projects/transaction/src/lib/component/core/base/components/default-ok-cancel-buttons}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/default-ok-cancel-buttons/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/default-ok-cancel-buttons/style/material.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/transaction-header-block/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/transaction-header-block/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/transaction-header-block/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/transaction-header-block/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/core/base/components/transaction-header-block/transaction-header-block.component.ts +51 -0
- package/projects/transaction/src/lib/component/core/base/components/transaction-header-block/transaction-header-block.module.ts +17 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/warehouse/style/_layout.scss +0 -0
- package/{lib/component/dialog/catalog/dialog-catalog → projects/transaction/src/lib/component/core/base/components/warehouse}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/warehouse/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/base/components/warehouse/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/core/base/components/warehouse/warehouse.component.ts +65 -0
- package/projects/transaction/src/lib/component/core/base/components/warehouse/warehouse.module.ts +24 -0
- package/projects/transaction/src/lib/component/core/base/dialog-base.component.ts +8 -0
- package/projects/transaction/src/lib/component/core/base/dialog-transaction-base.component.ts +44 -0
- package/projects/transaction/src/lib/component/core/base/dynamic-base-component.ts +8 -0
- package/projects/transaction/src/lib/component/core/base/transaction-base.component.ts +188 -0
- package/projects/transaction/src/lib/component/core/base/transaction-filter-base.component.ts +70 -0
- package/projects/transaction/src/lib/component/core/base/transaction-filter-content-base.component.ts +49 -0
- package/projects/transaction/src/lib/component/core/base/transaction-filter-popup-base.component.ts +113 -0
- package/projects/transaction/src/lib/component/core/base/transaction-grid-base.component.ts +54 -0
- package/projects/transaction/src/lib/component/core/base/transaction-header-filter-popup-base.component.ts +124 -0
- package/projects/transaction/src/lib/component/core/base/transaction-input-field-base.component.ts +54 -0
- package/projects/transaction/src/lib/component/core/base/transaction-lines-grid-view-base.component.ts +6 -0
- package/projects/transaction/src/lib/component/core/base/transaction-lines-list-view-base.component.ts +6 -0
- package/projects/transaction/src/lib/component/core/base/transaction-search-grid-base.component.ts +24 -0
- package/projects/transaction/src/lib/component/core/base/transaction-search-tile-base.component.ts +30 -0
- package/projects/transaction/src/lib/component/core/characteristic-answer/characteristic-answer.component.ts +104 -0
- package/projects/transaction/src/lib/component/core/core.module.ts +47 -0
- package/projects/transaction/src/lib/component/core/directive/lazy-render-master.directive.ts +47 -0
- package/projects/transaction/src/lib/component/core/directive/lazy-render.directive.ts +37 -0
- package/projects/transaction/src/lib/component/core/directive/template-wrapper.directive.ts +72 -0
- package/projects/transaction/src/lib/component/core/enum/app-popup-button-type.enum.ts +9 -0
- package/projects/transaction/src/lib/component/core/enum/app-popup-type.enum.ts +6 -0
- package/{lib → projects/transaction/src/lib}/component/core/icon/icon.component.scss +0 -0
- package/projects/transaction/src/lib/component/core/icon/icon.component.ts +33 -0
- package/projects/transaction/src/lib/component/core/image-display/image-display.component.ts +27 -0
- package/{lib → projects/transaction/src/lib}/component/core/image-display/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/image-display/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/image-display/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/image-display/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/core/relation/customer-groups.component.ts +47 -0
- package/{lib → projects/transaction/src/lib}/component/core/relation/relation-customer-groups.component.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/core/stock-status-indicator/stock-status-indicator.component.scss +0 -0
- package/projects/transaction/src/lib/component/core/stock-status-indicator/stock-status-indicator.component.ts +25 -0
- package/projects/transaction/src/lib/component/delivery-type-tile/delivery-type-tile.component.ts +48 -0
- package/projects/transaction/src/lib/component/delivery-type-tile/delivery-type-tile.module.ts +25 -0
- package/{lib → projects/transaction/src/lib}/component/delivery-type-tile/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/delivery-type-tile/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/delivery-type-tile/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/delivery-type-tile/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.ts +53 -0
- package/projects/transaction/src/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.module.ts +21 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/catalog/dialog-catalog/style/_layout.scss +0 -0
- package/{lib/component/dialog/transaction-header/dialog-transaction-header-branch → projects/transaction/src/lib/component/dialog/catalog/dialog-catalog}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/catalog/dialog-catalog/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/catalog/dialog-catalog/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/dialog-header-search/dialog-header-search.component.ts +40 -0
- package/projects/transaction/src/lib/component/dialog/dialog-header-search/dialog-header-search.module.ts +21 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/dialog-header-search/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/dialog-header-search/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/dialog-header-search/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/dialog-header-search/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-branch/dialog-transaction-header-branch.component.ts +24 -0
- package/projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-branch/dialog-transaction-header-branch.module.ts +23 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-branch/style/_layout.scss +0 -0
- package/{lib/component/discount → projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-branch}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-branch/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-branch/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.component.ts +35 -0
- package/projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-delivery-method/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-delivery-method/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-delivery-method/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-delivery-method/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.component.ts +70 -0
- package/projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.module.ts +27 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-discount/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-discount/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-discount/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-discount/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.component.ts +33 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.component.ts +34 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-delivery-method/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-delivery-method/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-delivery-method/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-delivery-method/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.component.ts +93 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.module.ts +34 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-discount/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-discount/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-discount/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-discount/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.component.ts +34 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-price-list/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-price-list/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-price-list/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-price-list/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.component.ts +34 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-supplier/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-supplier/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-supplier/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-supplier/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.component.ts +35 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-vat/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-vat/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-vat/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-vat/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.component.ts +33 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component.ts +84 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.module.ts +29 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.component.ts +42 -0
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/discount/discount.component.ts +120 -0
- package/projects/transaction/src/lib/component/discount/discount.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/discount/style/_layout.scss +0 -0
- package/{lib/component/payment-qr-code → projects/transaction/src/lib/component/discount}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/discount/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/discount/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/down-payment/down-payment.component.ts +77 -0
- package/projects/transaction/src/lib/component/down-payment/down-payment.module.ts +25 -0
- package/{lib → projects/transaction/src/lib}/component/down-payment/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/down-payment/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/down-payment/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/down-payment/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/editable-label/editable-label.component.ts +74 -0
- package/projects/transaction/src/lib/component/editable-label/editable-label.module.ts +18 -0
- package/{lib → projects/transaction/src/lib}/component/editable-label/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/editable-label/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/editable-label/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/editable-label/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/loader/loader.component.ts +49 -0
- package/projects/transaction/src/lib/component/loader/loader.module.ts +17 -0
- package/{lib → projects/transaction/src/lib}/component/loader/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/loader/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/loader/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/loader/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/order-confirmation-create/order-confirmation-create.component.ts +42 -0
- package/projects/transaction/src/lib/component/order-confirmation-create/order-confirmation-create.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/order-confirmation-create/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/order-confirmation-create/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/order-confirmation-create/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/order-confirmation-create/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/payment/payment.component.ts +264 -0
- package/projects/transaction/src/lib/component/payment/payment.module.ts +36 -0
- package/{lib → projects/transaction/src/lib}/component/payment/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/payment/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/payment/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/payment/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/payment-qr-code/payment-qr-code.component.ts +24 -0
- package/projects/transaction/src/lib/component/payment-qr-code/payment-qr-code.module.ts +21 -0
- package/{lib → projects/transaction/src/lib}/component/payment-qr-code/style/_layout.scss +0 -0
- package/{lib/component/payment-tile → projects/transaction/src/lib/component/payment-qr-code}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/payment-qr-code/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/payment-qr-code/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/payment-tile/payment-tile.component.ts +38 -0
- package/projects/transaction/src/lib/component/payment-tile/payment-tile.module.ts +24 -0
- package/{lib → projects/transaction/src/lib}/component/payment-tile/style/_layout.scss +0 -0
- package/{lib/component/relation/relation-suggestions-list → projects/transaction/src/lib/component/payment-tile}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/payment-tile/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/payment-tile/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/quick-send-button/quick-send-button.component.ts +60 -0
- package/projects/transaction/src/lib/component/quick-send-button/quick-send-button.module.ts +25 -0
- package/{lib → projects/transaction/src/lib}/component/quick-send-button/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/quick-send-button/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/quick-send-button/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/quick-send-button/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/relation/relation-address/relation-address.component.ts +113 -0
- package/projects/transaction/src/lib/component/relation/relation-address/relation-address.module.ts +28 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-address/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-address/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-address/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-address/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/relation/relation-address-select/relation-address-select.component.ts +158 -0
- package/projects/transaction/src/lib/component/relation/relation-address-select/relation-address-select.module.ts +32 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-address-select/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-address-select/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-address-select/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-address-select/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/relation/relation-address-tile/relation-address-tile.component.ts +70 -0
- package/projects/transaction/src/lib/component/relation/relation-address-tile/relation-address-tile.module.ts +31 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-address-tile/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-address-tile/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-address-tile/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-address-tile/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/relation/relation-addresses/relation-addresses.component.ts +123 -0
- package/projects/transaction/src/lib/component/relation/relation-addresses/relation-addresses.module.ts +32 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-addresses/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-addresses/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-addresses/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-addresses/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/relation/relation-base.component.ts +33 -0
- package/projects/transaction/src/lib/component/relation/relation-contact-details/relation-contact-details.component.ts +65 -0
- package/projects/transaction/src/lib/component/relation/relation-contact-details/relation-contact-details.module.ts +22 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-contact-details/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-contact-details/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-contact-details/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-contact-details/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/relation/relation-general/relation-general.component.ts +237 -0
- package/projects/transaction/src/lib/component/relation/relation-general/relation-general.module.ts +25 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-general/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-general/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-general/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-general/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/relation/relation-preferences/relation-preferences.component.ts +64 -0
- package/projects/transaction/src/lib/component/relation/relation-preferences/relation-preferences.module.ts +19 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-preferences/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-preferences/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-preferences/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-preferences/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/relation/relation-suggestions-list/relation-suggestions-list.component.ts +28 -0
- package/projects/transaction/src/lib/component/relation/relation-suggestions-list/relation-suggestions-list.module.ts +19 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-suggestions-list/style/_layout.scss +0 -0
- package/{lib/component/relation/relation-type → projects/transaction/src/lib/component/relation/relation-suggestions-list}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-suggestions-list/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-suggestions-list/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.component.ts +33 -0
- package/projects/transaction/src/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.module.ts +17 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-suggestions-list-item/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-suggestions-list-item/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-suggestions-list-item/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-suggestions-list-item/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/relation/relation-type/relation-type.component.ts +48 -0
- package/projects/transaction/src/lib/component/relation/relation-type/relation-type.module.ts +21 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-type/style/_layout.scss +0 -0
- package/{lib/component/transaction-allocate-goods-history → projects/transaction/src/lib/component/relation/relation-type}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-type/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/relation/relation-type/style/material.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shared/transaction-article-text/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shared/transaction-article-text/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shared/transaction-article-text/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shared/transaction-article-text/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/shared/transaction-article-text/transaction-article-text.component.ts +181 -0
- package/projects/transaction/src/lib/component/shared/transaction-article-text/transaction-article-text.module.ts +40 -0
- package/{lib → projects/transaction/src/lib}/component/shared/transaction-article-text-overview/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shared/transaction-article-text-overview/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shared/transaction-article-text-overview/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shared/transaction-article-text-overview/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.ts +145 -0
- package/projects/transaction/src/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.ts +27 -0
- package/projects/transaction/src/lib/component/shopping-cart/shopping-cart.component.ts +73 -0
- package/projects/transaction/src/lib/component/shopping-cart/shopping-cart.module.ts +25 -0
- package/{lib → projects/transaction/src/lib}/component/shopping-cart/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shopping-cart/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shopping-cart/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shopping-cart/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/shopping-cart-OLD/ione-shopping-cart.component.ts +190 -0
- package/projects/transaction/src/lib/component/shopping-cart-OLD/ione-shopping-cart.module.ts +81 -0
- package/{lib → projects/transaction/src/lib}/component/shopping-cart-OLD/shopping-cart-manager/shopping-cart-manager.component.scss +0 -0
- package/projects/transaction/src/lib/component/shopping-cart-OLD/shopping-cart-manager/shopping-cart-manager.component.ts +508 -0
- package/projects/transaction/src/lib/component/shopping-cart-preview/shopping-cart-preview.component.ts +59 -0
- package/projects/transaction/src/lib/component/shopping-cart-preview/shopping-cart-preview.module.ts +27 -0
- package/{lib → projects/transaction/src/lib}/component/shopping-cart-preview/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shopping-cart-preview/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shopping-cart-preview/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/shopping-cart-preview/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/stepper/component/stepper-step.component.ts +45 -0
- package/projects/transaction/src/lib/component/stepper/stepper.component.ts +148 -0
- package/projects/transaction/src/lib/component/stepper/stepper.module.ts +28 -0
- package/{lib → projects/transaction/src/lib}/component/stepper/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/stepper/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/stepper/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/stepper/style/material.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/tile/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/tile/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/tile/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/tile/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/tile/tile.component.ts +31 -0
- package/projects/transaction/src/lib/component/tile/tile.module.ts +18 -0
- package/projects/transaction/src/lib/component/toast/style/_layout.scss +24 -0
- package/projects/transaction/src/lib/component/toast/style/_material-definition.scss +6 -0
- package/projects/transaction/src/lib/component/toast/style/_theme.scss +10 -0
- package/{lib/component/transaction-allocate-goods-history → projects/transaction/src/lib/component/toast}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/toast/toast.component.ts +35 -0
- package/projects/transaction/src/lib/component/toast/toast.module.ts +17 -0
- package/projects/transaction/src/lib/component/transaction/style/_layout.scss +56 -0
- package/{lib → projects/transaction/src/lib}/component/transaction/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction/style/_theme.scss +0 -0
- package/projects/transaction/src/lib/component/transaction/style/material.scss +14 -0
- package/projects/transaction/src/lib/component/transaction/transaction.component.ts +206 -0
- package/projects/transaction/src/lib/component/transaction/transaction.module.ts +68 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-allocate-goods-history/style/_layout.scss +0 -0
- package/{lib/component/transaction-grid/transaction-available-stock-grid → projects/transaction/src/lib/component/transaction-allocate-goods-history}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-allocate-goods-history/style/_theme.scss +0 -0
- package/{lib/component/transaction-line-checkbox-list → projects/transaction/src/lib/component/transaction-allocate-goods-history}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.component.ts +95 -0
- package/projects/transaction/src/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-button-bar/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-button-bar/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-button-bar/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-button-bar/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button-base.component.ts +45 -0
- package/projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.ts +76 -0
- package/projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-purchase-button-bar-button.component.ts +40 -0
- package/projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar.component.ts +63 -0
- package/projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar.module.ts +33 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card/style/_layout.scss +12 -0
- package/{lib/component/transaction-line-side-panel-purchase → projects/transaction/src/lib/component/transaction-card/transaction-card}/style/_material-definition.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card/style/_theme.scss +4 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card/style/material.scss +7 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card/transaction-card.component.ts +125 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card/transaction-card.module.ts +28 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-footer/style/_layout.scss +25 -0
- package/{lib/component/transaction-grid/transaction-grid → projects/transaction/src/lib/component/transaction-card/transaction-card-footer}/style/_material-definition.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-footer/style/_theme.scss +4 -0
- package/{lib/component/transaction-grid/transaction-received-goods-grid → projects/transaction/src/lib/component/transaction-card/transaction-card-footer}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-footer/transaction-card-footer.component.ts +59 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-footer/transaction-card-footer.module.ts +24 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-header/style/_layout.scss +66 -0
- package/{lib/component/transaction-grid/transaction-received-goods-grid → projects/transaction/src/lib/component/transaction-card/transaction-card-header}/style/_material-definition.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-header/style/_theme.scss +4 -0
- package/{lib/component/transaction-header-fields/transaction-header-delivery-options → projects/transaction/src/lib/component/transaction-card/transaction-card-header}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-header/transaction-card-header.component.ts +68 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-header/transaction-card-header.module.ts +31 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-purchase-overview/style/_layout.scss +67 -0
- package/{lib/component/transaction-line-fields/transaction-line-price → projects/transaction/src/lib/component/transaction-card/transaction-card-purchase-overview}/style/_material-definition.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-purchase-overview/style/_theme.scss +4 -0
- package/{lib/component/transaction-line-fields/transaction-line-price → projects/transaction/src/lib/component/transaction-card/transaction-card-purchase-overview}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-purchase-overview/transaction-card-purchase-overview.component.ts +64 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-purchase-overview/transaction-card-purchase-overview.module.ts +44 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-sales-overview/style/_layout.scss +4 -0
- package/{lib/component/transaction-line-grid → projects/transaction/src/lib/component/transaction-card/transaction-card-sales-overview}/style/_material-definition.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-sales-overview/style/_theme.scss +4 -0
- package/{lib/component/transaction-line/transaction-base-line → projects/transaction/src/lib/component/transaction-card/transaction-card-sales-overview}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-sales-overview/transaction-card-sales-overview.component.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-sales-overview/transaction-card-sales-overview.module.ts +18 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-confirmation-details/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-confirmation-details/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-confirmation-details/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-confirmation-details/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-confirmation-details/transaction-confirmation-details.component.ts +148 -0
- package/projects/transaction/src/lib/component/transaction-confirmation-details/transaction-confirmation-details.module.ts +40 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-confirmation-history/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-confirmation-history/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-confirmation-history/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-confirmation-history/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.ts +129 -0
- package/projects/transaction/src/lib/component/transaction-confirmation-history/transaction-confirmation-history.module.ts +38 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-available-stock-grid/style/_layout.scss +0 -0
- package/{lib/component/transaction-line-side-panel-sales → projects/transaction/src/lib/component/transaction-grid/transaction-available-stock-grid}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-available-stock-grid/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-available-stock-grid/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.component.ts +107 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.module.ts +23 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-base-grid/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-base-grid/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-base-grid/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-base-grid/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.component.ts +49 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.module.ts +31 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-grid/style/_layout.scss +0 -0
- package/{lib/component/transaction-line/transaction-goods-allocation-line → projects/transaction/src/lib/component/transaction-grid/transaction-grid}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-grid/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-grid/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-grid/transaction-grid.component.ts +91 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-grid/transaction-grid.module.ts +17 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-history-grid/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-history-grid/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-history-grid/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-history-grid/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.component.ts +102 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-lines-grid/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-lines-grid/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-lines-grid/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-lines-grid/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component.ts +119 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.module.ts +48 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-order-confirmation-grid/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-order-confirmation-grid/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-order-confirmation-grid/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-order-confirmation-grid/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.component.ts +48 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.module.ts +28 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-received-goods-grid/style/_layout.scss +0 -0
- package/{lib/component/transaction-line/transaction-order-delivery-line → projects/transaction/src/lib/component/transaction-grid/transaction-received-goods-grid}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-received-goods-grid/style/_theme.scss +0 -0
- package/{lib/component/transaction-line/transaction-goods-allocation-line → projects/transaction/src/lib/component/transaction-grid/transaction-received-goods-grid}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.ts +165 -0
- package/projects/transaction/src/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module.ts +41 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/style/material.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-header/transaction-header/transaction-header.component.ts +51 -0
- package/projects/transaction/src/lib/component/transaction-header/transaction-header/transaction-header.module.ts +28 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-delivery/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-delivery/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-delivery/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-delivery/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.ts +128 -0
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.module.ts +45 -0
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-order/style/_layout.scss +55 -0
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-order/style/_material-definition.scss +13 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-order/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-order/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-order/transaction-header-order.component.ts +51 -0
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-order/transaction-header-order.module.ts +30 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-payment/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-payment/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-payment/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-payment/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.ts +118 -0
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.module.ts +33 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-relation/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-relation/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-relation/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-relation/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.ts +235 -0
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.module.ts +43 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.ts +60 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-administrative-relation.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-branch.component.ts +76 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-branch.module.ts +24 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-definitive.component.ts +41 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-definitive.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-date.component.ts +46 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-date.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-method.component.ts +94 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-method.module.ts +27 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header-fields/transaction-header-delivery-options/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header-fields/transaction-header-delivery-options/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-header-fields/transaction-header-delivery-options/style/_theme.scss +0 -0
- package/{lib/component/transaction-line/transaction-order-delivery-line → projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-options}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.component.ts +77 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-amount.component.ts +50 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-amount.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-button.component.ts +51 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-button.module.ts +24 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-percentage.component.ts +50 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-percentage.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.component.ts +51 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-downpayment-amount.component.ts +49 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-downpayment-amount.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.component.ts +49 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-marketing.component.ts +48 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-marketing.module.ts +24 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.ts +47 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-partial-delivery.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.component.ts +51 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-reference.component.ts +48 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-reference.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-relation-reference.component.ts +48 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-relation-reference.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-remarks.component.ts +48 -0
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-remarks.module.ts +21 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-history-grid-status/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-history-grid-status/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-history-grid-status/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-history-grid-status/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-history-grid-status/transaction-history-grid-status.component.ts +51 -0
- package/projects/transaction/src/lib/component/transaction-history-grid-status/transaction-history-grid-status.module.ts +21 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-base-line/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-base-line/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-base-line/style/_theme.scss +0 -0
- package/{lib/component/transaction-line/transaction-receive-goods-line → projects/transaction/src/lib/component/transaction-line/transaction-base-line}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.ts +93 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-base-line/transaction-base-line.module.ts +28 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-goods-allocation-line/service/transaction-allocate-goods.service.ts +67 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-goods-allocation-line/style/_layout.scss +0 -0
- package/{lib/component/transaction-search/transaction-filter-historic-state → projects/transaction/src/lib/component/transaction-line/transaction-goods-allocation-line}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-goods-allocation-line/style/_theme.scss +0 -0
- package/{lib/component/transaction-quick-access/transaction-quick-access-goods-allocation → projects/transaction/src/lib/component/transaction-line/transaction-goods-allocation-line}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.component.ts +115 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.module.ts +35 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-line/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-line/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-line/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-line/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-line/transaction-line.component.ts +143 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-line/transaction-line.module.ts +20 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-order-delivery-line/service/transaction-order-delivery.service.ts +70 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-order-delivery-line/style/_layout.scss +0 -0
- package/{lib/component/transaction-search/transaction-filter-item → projects/transaction/src/lib/component/transaction-line/transaction-order-delivery-line}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-order-delivery-line/style/_theme.scss +0 -0
- package/{lib/component/transaction-quick-access/transaction-quick-access-order-confirmation → projects/transaction/src/lib/component/transaction-line/transaction-order-delivery-line}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.ts +178 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.module.ts +41 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-overview-line/style/_layout.scss +0 -0
- package/{lib/component/transaction-search/transaction-filter/transaction-filter → projects/transaction/src/lib/component/transaction-line/transaction-overview-line}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-overview-line/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-overview-line/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.ts +95 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.module.ts +60 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-purchase-line/style/_layout.scss +0 -0
- package/{lib/component/transaction-search/transaction-search-grid/transaction-search-grid → projects/transaction/src/lib/component/transaction-line/transaction-purchase-line}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-purchase-line/style/_theme.scss +0 -0
- package/{lib/component/transaction-quick-access/transaction-quick-access-order-delivery → projects/transaction/src/lib/component/transaction-line/transaction-purchase-line}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.ts +105 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.module.ts +44 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line/service/transaction-receive-goods.service.ts +73 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line/style/_layout.scss +41 -0
- package/{lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid → projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-receive-goods-line/style/_theme.scss +0 -0
- package/{lib/component/transaction-quick-access/transaction-quick-access-order-purchase → projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.ts +130 -0
- package/projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.module.ts +46 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-action-buttons/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-action-buttons/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-action-buttons/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-action-buttons/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.ts +224 -0
- package/projects/transaction/src/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.module.ts +30 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-checkbox-list/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-checkbox-list/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-checkbox-list/style/_theme.scss +0 -0
- package/{lib/component/transaction-line-image-and-description → projects/transaction/src/lib/component/transaction-line-checkbox-list}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.component.ts +58 -0
- package/projects/transaction/src/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.module.ts +23 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-amount.component.ts +46 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-amount.module.ts +19 -0
- package/{lib/component/transaction-line/transaction-overview-line/style/_material-definition.scss → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-assembly-time.component.ts} +0 -0
- package/{lib/component/transaction-line/transaction-purchase-line/style/_material-definition.scss → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-assembly-time.module.ts} +0 -0
- package/{lib/component/transaction-line/transaction-receive-goods-line/style/_material-definition.scss → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-collection-code.component.ts} +0 -0
- package/{lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/style/_material-definition.scss → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-collection-code.module.ts} +0 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-commission-button.component.ts +51 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-commission-button.module.ts +22 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-commission-code.component.ts +55 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-commission-code.module.ts +24 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-button.component.ts +58 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-button.module.ts +22 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-date-button.component.ts +34 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-date-button.module.ts +22 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-date.component.ts +56 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-date.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-method.component.ts +51 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-method.module.ts +24 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-description.component.ts +61 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-description.module.ts +22 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-discount-amount.component.ts +49 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-discount-amount.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-discount-button.component.ts +53 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-discount-button.module.ts +24 -0
- package/{lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/style/_material-definition.scss → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-edit-time.component.ts} +0 -0
- package/{lib/component/transaction-quick-access/transaction-quick-access-order-delivery/style/_material-definition.scss → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-edit-time.module.ts} +0 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-line-discount.component.ts +49 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-line-discount.module.ts +21 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-fields/transaction-line-price/style/_layout.scss +0 -0
- package/{lib/component/transaction-quick-access/transaction-quick-access-order-purchase → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-fields/transaction-line-price/style/_theme.scss +0 -0
- package/{lib/component/transaction-line/transaction-purchase-line → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.component.ts +90 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price-list.component.ts +49 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price-list.module.ts +24 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantity.component.ts +35 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantity.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantum-discount.component.ts +49 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantum-discount.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-reference.component.ts +47 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-reference.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-special-discount.component.ts +49 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-special-discount.module.ts +21 -0
- package/{lib/component/transaction-quick-access/transaction-quick-access-received-goods/style/_material-definition.scss → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier-article-number.component.ts} +0 -0
- package/{lib/component/transaction-search/transaction-filter-categories/style/_material-definition.scss → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier-article-number.module.ts} +0 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier-button.component.ts +56 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier-button.module.ts +27 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier.component.ts +56 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier.module.ts +23 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-vat-button.component.ts +55 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-vat-button.module.ts +20 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-vat.component.ts +45 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-vat.module.ts +26 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-button.component.ts +61 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-button.module.ts +22 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.component.ts +57 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.module.ts +20 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.ts +46 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-location.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse.component.ts +48 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse.module.ts +25 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-grid/style/_layout.scss +0 -0
- package/{lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics → projects/transaction/src/lib/component/transaction-line-grid}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-grid/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-grid/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line-grid/transaction-line-grid.component.ts +20 -0
- package/projects/transaction/src/lib/component/transaction-line-grid/transaction-line-grid.module.ts +19 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-image-and-description/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-image-and-description/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-image-and-description/style/_theme.scss +0 -0
- package/{lib/component/transaction-line-side-panel-sales → projects/transaction/src/lib/component/transaction-line-image-and-description}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.component.ts +102 -0
- package/projects/transaction/src/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.ts +125 -0
- package/projects/transaction/src/lib/component/transaction-line-side-panel/transaction-line-side-panel.module.ts +43 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-default/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-default/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-default/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-default/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component.ts +120 -0
- package/projects/transaction/src/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.module.ts +58 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-purchase/style/_layout.scss +0 -0
- package/{lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics → projects/transaction/src/lib/component/transaction-line-side-panel-purchase}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-purchase/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-purchase/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.ts +123 -0
- package/projects/transaction/src/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.module.ts +39 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-sales/style/_layout.scss +0 -0
- package/{lib/component/transaction-search/transaction-filter-content → projects/transaction/src/lib/component/transaction-line-side-panel-sales}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-sales/style/_theme.scss +0 -0
- package/{lib/component/transaction-line-statusbar → projects/transaction/src/lib/component/transaction-line-side-panel-sales}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.component.ts +85 -0
- package/projects/transaction/src/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module.ts +30 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-statusbar/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-statusbar/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-line-statusbar/style/_theme.scss +0 -0
- package/{lib/component/transaction-side-panel-edit-request-details → projects/transaction/src/lib/component/transaction-line-statusbar}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-line-statusbar/transaction-line-statusbar.component.ts +110 -0
- package/projects/transaction/src/lib/component/transaction-line-statusbar/transaction-line-statusbar.module.ts +21 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-lines/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-lines/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-lines/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-lines/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-lines/transaction-lines.component.ts +180 -0
- package/projects/transaction/src/lib/component/transaction-lines/transaction-lines.module.ts +30 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.ts +107 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.ts +42 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-goods-allocation/style/_layout.scss +0 -0
- package/{lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile → projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-goods-allocation/style/_theme.scss +0 -0
- package/{lib/component/transaction-quick-access/transaction-quick-access-overview → projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.component.ts +68 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.module.ts +24 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-order-confirmation/style/_layout.scss +0 -0
- package/{lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile → projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-order-confirmation/style/_theme.scss +0 -0
- package/{lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview → projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.ts +41 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.module.ts +27 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-order-delivery/style/_layout.scss +0 -0
- package/{lib/component/transaction-search/transaction-search-tile/transaction-search-tile → projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-delivery}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-order-delivery/style/_theme.scss +0 -0
- package/{lib/component/transaction-quick-access/transaction-quick-access-received-goods → projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-delivery}/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.ts +120 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.module.ts +28 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-order-purchase/style/_layout.scss +0 -0
- package/{lib/component/transaction-tile → projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-purchase}/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-order-purchase/style/_theme.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/style/material.scss +4 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.ts +54 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.module.ts +26 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-overview/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-overview/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-overview/style/_theme.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-overview/style/material.scss +4 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.ts +139 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.module.ts +29 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/style/_theme.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/style/material.scss +4 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.component.ts +133 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.module.ts +27 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-received-goods/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-received-goods/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-received-goods/style/_theme.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-received-goods/style/material.scss +4 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.ts +96 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.module.ts +31 -0
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.ts +132 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-receiving-goods-history/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-receiving-goods-history/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-receiving-goods-history/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-receiving-goods-history/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.ts +90 -0
- package/projects/transaction/src/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.module.ts +28 -0
- package/projects/transaction/src/lib/component/transaction-search/service/filter-request.service.ts +194 -0
- package/projects/transaction/src/lib/component/transaction-search/service/transaction-search.service.ts +134 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/style/material.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-filter/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-filter/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-filter/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-filter/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.component.ts +119 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.module.ts +17 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-purchase-order-filter/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-purchase-order-filter/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-purchase-order-filter/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-purchase-order-filter/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.component.ts +51 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.module.ts +40 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-sales-order-filter/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-sales-order-filter/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-sales-order-filter/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-sales-order-filter/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.component.ts +51 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.module.ts +38 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-categories/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-categories/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-categories/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-categories/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.component.ts +44 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.module.ts +17 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/enum/search-placeholder.enum.ts +25 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component.ts +155 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.module.ts +27 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.component.ts +249 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.module.ts +33 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component.ts +246 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.module.ts +38 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.ts +145 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.module.ts +27 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.component.ts +248 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.module.ts +33 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.ts +274 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.module.ts +38 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/style/material.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-historic-state/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-historic-state/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-historic-state/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-historic-state/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.component.ts +70 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.module.ts +24 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-item/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-item/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-item/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-item/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.component.ts +71 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.module.ts +21 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-grid/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-grid/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-grid/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.component.ts +104 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.module.ts +17 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.component.ts +80 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.module.ts +23 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.component.ts +80 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.module.ts +25 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-header/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-header/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-header/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-header/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-header/transaction-search-header.component.ts +135 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-header/transaction-search-header.module.ts +25 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-result/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-result/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-result/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-result/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.ts +136 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-result/transaction-search-result.module.ts +42 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.component.ts +65 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.module.ts +27 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.component.ts +72 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.module.ts +30 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-tile/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-tile/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-tile/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.component.ts +118 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.module.ts +17 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-statusbar/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-statusbar/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-statusbar/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-statusbar/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.component.ts +90 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.module.ts +21 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search.component.ts +166 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search.module.ts +34 -0
- package/projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/components/allocation-request.component.ts +143 -0
- package/projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/components/confirm-request.component.ts +0 -0
- package/projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/components/receive-goods-request.component.ts +207 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-side-panel-edit-request-details/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-side-panel-edit-request-details/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-side-panel-edit-request-details/style/_theme.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/style/material.scss +4 -0
- package/projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.component.ts +63 -0
- package/projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.module.ts +42 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-tile/style/_layout.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-tile/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-tile/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-tile/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-tile/transaction-tile.component.ts +117 -0
- package/projects/transaction/src/lib/component/transaction-tile/transaction-tile.module.ts +27 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-totals/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-totals/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-totals/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/transaction-totals/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-totals/transaction-totals.component.ts +55 -0
- package/projects/transaction/src/lib/component/transaction-totals/transaction-totals.module.ts +23 -0
- package/{lib → projects/transaction/src/lib}/component/view-mode-buttons/style/_layout.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/view-mode-buttons/style/_material-definition.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/view-mode-buttons/style/_theme.scss +0 -0
- package/{lib → projects/transaction/src/lib}/component/view-mode-buttons/style/material.scss +0 -0
- package/projects/transaction/src/lib/component/view-mode-buttons/view-mode-buttons.component.ts +63 -0
- package/projects/transaction/src/lib/component/view-mode-buttons/view-mode-buttons.module.ts +21 -0
- package/projects/transaction/src/lib/enum/content-view-mode.enum.ts +9 -0
- package/projects/transaction/src/lib/enum/direction.enum.ts +7 -0
- package/projects/transaction/src/lib/enum/icon.enum.ts +83 -0
- package/projects/transaction/src/lib/enum/language-code.enum.ts +6 -0
- package/projects/transaction/src/lib/enum/order-discount-type.enum.ts +5 -0
- package/projects/transaction/src/lib/enum/position-grid-row.enum.ts +4 -0
- package/projects/transaction/src/lib/enum/search-view-mode.enum.ts +5 -0
- package/projects/transaction/src/lib/enum/searchbar-view-mode.enum.ts +5 -0
- package/projects/transaction/src/lib/enum/status-type.enum.ts +5 -0
- package/projects/transaction/src/lib/enum/time-size.type.ts +8 -0
- package/projects/transaction/src/lib/enum/transaction-type-category.enum.ts +15 -0
- package/projects/transaction/src/lib/interface/dialog-response.interface.ts +6 -0
- package/projects/transaction/src/lib/model/Settings.ts +20 -0
- package/projects/transaction/src/lib/model/article-characteristic-text-question-answer.ts +8 -0
- package/projects/transaction/src/lib/model/delivery-type.ts +8 -0
- package/projects/transaction/src/lib/model/down-payment-view-model.ts +13 -0
- package/projects/transaction/src/lib/model/extended-transaction-line-view-model.ts +12 -0
- package/projects/transaction/src/lib/model/filter-item.viewmodel.ts +13 -0
- package/projects/transaction/src/lib/model/filter-viewmodel.ts +11 -0
- package/projects/transaction/src/lib/model/icon-svg.ts +83 -0
- package/projects/transaction/src/lib/model/payment.viewmodel.ts +10 -0
- package/projects/transaction/src/lib/model/received-goods-view-model.ts +17 -0
- package/projects/transaction/src/lib/model/relation-any-type.ts +5 -0
- package/projects/transaction/src/lib/model/standard-text.ts +5 -0
- package/projects/transaction/src/lib/model/text-value-container.ts +4 -0
- package/projects/transaction/src/lib/model/transaction-bar-button.ts +11 -0
- package/projects/transaction/src/lib/model/transaction-search-result.ts +6 -0
- package/projects/transaction/src/lib/pipe/append.pipe.ts +17 -0
- package/projects/transaction/src/lib/pipe/co-currency.pipe.ts +45 -0
- package/projects/transaction/src/lib/pipe/date-duration.pipe.ts +51 -0
- package/projects/transaction/src/lib/pipe/delivery-time.pipe.ts +34 -0
- package/projects/transaction/src/lib/pipe/localize.pipe.ts +23 -0
- package/projects/transaction/src/lib/pipe/pipe.module.ts +34 -0
- package/projects/transaction/src/lib/pipe/safe-html.pipe.ts +14 -0
- package/projects/transaction/src/lib/pipe/safe-style.pipe.ts +14 -0
- package/projects/transaction/src/lib/provider/token/all-icons.token.ts +4 -0
- package/projects/transaction/src/lib/service/article-connector.service.ts +93 -0
- package/projects/transaction/src/lib/service/article.service.ts +22 -0
- package/projects/transaction/src/lib/service/dialog.service.ts +143 -0
- package/projects/transaction/src/lib/service/dictionary.service.ts +86 -0
- package/projects/transaction/src/lib/service/dynamic-component.service.ts +101 -0
- package/projects/transaction/src/lib/service/error.service.ts +63 -0
- package/projects/transaction/src/lib/service/icon-cache.service.ts +51 -0
- package/projects/transaction/src/lib/service/options.service.ts +66 -0
- package/projects/transaction/src/lib/service/payment.service.ts +93 -0
- package/projects/transaction/src/lib/service/pending-reason.service.ts +323 -0
- package/projects/transaction/src/lib/service/relation-connector.service.ts +202 -0
- package/projects/transaction/src/lib/service/relation.service.ts +168 -0
- package/projects/transaction/src/lib/service/shared-connector.service.ts +47 -0
- package/projects/transaction/src/lib/service/shared.service.ts +40 -0
- package/projects/transaction/src/lib/service/transaction-connector-adapter.service.ts +1695 -0
- package/projects/transaction/src/lib/service/transaction-connector.service.ts +648 -0
- package/projects/transaction/src/lib/service/transaction-event.service.ts +35 -0
- package/projects/transaction/src/lib/service/transaction-image.service.ts +42 -0
- package/projects/transaction/src/lib/service/transaction-initializer.service.ts +29 -0
- package/projects/transaction/src/lib/service/transaction-mapping.service.ts +230 -0
- package/projects/transaction/src/lib/service/transaction.service.ts +848 -0
- package/{lib → projects/transaction/src/lib}/style/_mixin.scss +0 -0
- package/{lib → projects/transaction/src/lib}/style/_variables.scss +0 -0
- package/{lib → projects/transaction/src/lib}/style/transaction-globals.scss +0 -0
- package/projects/transaction/src/public_api.ts +50 -0
- package/projects/transaction/src/test.ts +25 -0
- package/projects/transaction/tsconfig.lib.json +20 -0
- package/projects/transaction/tsconfig.lib.prod.json +16 -0
- package/projects/transaction/tsconfig.spec.json +17 -0
- package/publish.bat +7 -0
- package/script/merge-icons.js +39 -0
- package/src/app/app-transaction.component.ts +18 -0
- package/src/app/app.component.scss +45 -0
- package/src/app/app.component.ts +327 -0
- package/src/app/app.module.ts +62 -0
- package/src/environments/environment.prod.ts +3 -0
- package/src/environments/environment.ts +16 -0
- package/src/favicon.ico +0 -0
- package/src/index.html +15 -0
- package/src/main.ts +14 -0
- package/src/polyfills.ts +63 -0
- package/src/styles.scss +93 -0
- package/src/test.ts +25 -0
- package/src/transaction.unit.test.ts +60 -0
- package/tsconfig.app.json +15 -0
- package/tsconfig.json +42 -0
- package/tsconfig.spec.json +18 -0
- package/webpack.config.js +18 -0
- package/bundles/colijnit-transaction.umd.js +0 -25632
- package/bundles/colijnit-transaction.umd.js.map +0 -1
- package/colijnit-transaction.d.ts +0 -346
- package/colijnit-transaction.metadata.json +0 -1
- package/esm2015/colijnit-transaction.js +0 -347
- package/esm2015/lib/assets/dictionary/text.properties.js +0 -749
- package/esm2015/lib/cache/cache-field.js +0 -75
- package/esm2015/lib/cache/parameter-cache-field.js +0 -54
- package/esm2015/lib/cache/service/business-object-cache-manager.service.js +0 -150
- package/esm2015/lib/cache/service/select-multiple-cache.service.js +0 -38
- package/esm2015/lib/cache/service/select-multiple-parameterized-cache.service.js +0 -47
- package/esm2015/lib/cache/service/select-single-cache.service.js +0 -30
- package/esm2015/lib/component/animated-checkbox/animated-checkbox.component.js +0 -27
- package/esm2015/lib/component/animated-checkbox/animated-checkbox.module.js +0 -21
- package/esm2015/lib/component/avatar/avatar.component.js +0 -106
- package/esm2015/lib/component/avatar/avatar.module.js +0 -21
- package/esm2015/lib/component/checkout/checkout-login/checkout-login.component.js +0 -106
- package/esm2015/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.js +0 -47
- package/esm2015/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +0 -267
- package/esm2015/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.js +0 -101
- package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +0 -219
- package/esm2015/lib/component/checkout/checkout.component.js +0 -180
- package/esm2015/lib/component/checkout/checkout.module.js +0 -124
- package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.component.js +0 -67
- package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.module.js +0 -25
- package/esm2015/lib/component/core/base/components/characteristic-answer/characteristic-answer.component.js +0 -83
- package/esm2015/lib/component/core/base/components/characteristic-answer/characteristic-answer.module.js +0 -26
- package/esm2015/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.component.js +0 -41
- package/esm2015/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.module.js +0 -21
- package/esm2015/lib/component/core/base/components/transaction-header-block/transaction-header-block.component.js +0 -47
- package/esm2015/lib/component/core/base/components/transaction-header-block/transaction-header-block.module.js +0 -19
- package/esm2015/lib/component/core/base/components/warehouse/warehouse.component.js +0 -64
- package/esm2015/lib/component/core/base/components/warehouse/warehouse.module.js +0 -26
- package/esm2015/lib/component/core/base/dialog-base.component.js +0 -6
- package/esm2015/lib/component/core/base/dialog-transaction-header-base.component.js +0 -33
- package/esm2015/lib/component/core/base/dialog-transaction-line-base.component.js +0 -37
- package/esm2015/lib/component/core/base/dynamic-base-component.js +0 -8
- package/esm2015/lib/component/core/base/transaction-base.component.js +0 -103
- package/esm2015/lib/component/core/base/transaction-filter-base.component.js +0 -61
- package/esm2015/lib/component/core/base/transaction-filter-content-base.component.js +0 -44
- package/esm2015/lib/component/core/base/transaction-filter-popup-base.component.js +0 -110
- package/esm2015/lib/component/core/base/transaction-grid-base.component.js +0 -53
- package/esm2015/lib/component/core/base/transaction-header-base.component.js +0 -47
- package/esm2015/lib/component/core/base/transaction-header-filter-popup-base.component.js +0 -111
- package/esm2015/lib/component/core/base/transaction-line-base.component.js +0 -51
- package/esm2015/lib/component/core/base/transaction-lines-line-base.component.js +0 -44
- package/esm2015/lib/component/core/base/transaction-search-grid-base.component.js +0 -25
- package/esm2015/lib/component/core/base/transaction-search-tile-base.component.js +0 -28
- package/esm2015/lib/component/core/core.module.js +0 -48
- package/esm2015/lib/component/core/directive/lazy-render-master.directive.js +0 -43
- package/esm2015/lib/component/core/directive/lazy-render.directive.js +0 -29
- package/esm2015/lib/component/core/enum/app-popup-button-type.enum.js +0 -11
- package/esm2015/lib/component/core/enum/app-popup-type.enum.js +0 -8
- package/esm2015/lib/component/core/icon/icon.component.js +0 -31
- package/esm2015/lib/component/core/image-display/image-display.component.js +0 -29
- package/esm2015/lib/component/core/relation/customer-groups.component.js +0 -46
- package/esm2015/lib/component/core/stock-status-indicator/stock-status-indicator.component.js +0 -24
- package/esm2015/lib/component/delivery-type-tile/delivery-type-tile.component.js +0 -47
- package/esm2015/lib/component/delivery-type-tile/delivery-type-tile.module.js +0 -26
- package/esm2015/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.js +0 -47
- package/esm2015/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.module.js +0 -23
- package/esm2015/lib/component/dialog/dialog-header-search/dialog-header-search.component.js +0 -37
- package/esm2015/lib/component/dialog/dialog-header-search/dialog-header-search.module.js +0 -23
- package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.component.js +0 -37
- package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.module.js +0 -28
- package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.component.js +0 -78
- package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.module.js +0 -29
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.component.js +0 -36
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.module.js +0 -28
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.component.js +0 -37
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.module.js +0 -28
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.component.js +0 -95
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.module.js +0 -36
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.component.js +0 -36
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.module.js +0 -28
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.component.js +0 -37
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.module.js +0 -28
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.component.js +0 -37
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.module.js +0 -28
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.component.js +0 -37
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.module.js +0 -28
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component.js +0 -80
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.module.js +0 -31
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.component.js +0 -44
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.module.js +0 -28
- package/esm2015/lib/component/discount/discount.component.js +0 -110
- package/esm2015/lib/component/discount/discount.module.js +0 -29
- package/esm2015/lib/component/down-payment/down-payment.component.js +0 -71
- package/esm2015/lib/component/down-payment/down-payment.module.js +0 -27
- package/esm2015/lib/component/editable-label/editable-label.component.js +0 -65
- package/esm2015/lib/component/editable-label/editable-label.module.js +0 -21
- package/esm2015/lib/component/loader/loader.component.js +0 -51
- package/esm2015/lib/component/loader/loader.module.js +0 -19
- package/esm2015/lib/component/payment/payment.component.js +0 -242
- package/esm2015/lib/component/payment/payment.module.js +0 -37
- package/esm2015/lib/component/payment-qr-code/payment-qr-code.component.js +0 -23
- package/esm2015/lib/component/payment-qr-code/payment-qr-code.module.js +0 -23
- package/esm2015/lib/component/payment-tile/payment-tile.component.js +0 -34
- package/esm2015/lib/component/payment-tile/payment-tile.module.js +0 -25
- package/esm2015/lib/component/quick-send-button/quick-send-button.component.js +0 -50
- package/esm2015/lib/component/quick-send-button/quick-send-button.module.js +0 -27
- package/esm2015/lib/component/relation/relation-address/relation-address.component.js +0 -111
- package/esm2015/lib/component/relation/relation-address/relation-address.module.js +0 -29
- package/esm2015/lib/component/relation/relation-address-select/relation-address-select.component.js +0 -145
- package/esm2015/lib/component/relation/relation-address-select/relation-address-select.module.js +0 -33
- package/esm2015/lib/component/relation/relation-address-tile/relation-address-tile.component.js +0 -65
- package/esm2015/lib/component/relation/relation-address-tile/relation-address-tile.module.js +0 -32
- package/esm2015/lib/component/relation/relation-addresses/relation-addresses.component.js +0 -112
- package/esm2015/lib/component/relation/relation-addresses/relation-addresses.module.js +0 -34
- package/esm2015/lib/component/relation/relation-base.component.js +0 -34
- package/esm2015/lib/component/relation/relation-contact-details/relation-contact-details.component.js +0 -65
- package/esm2015/lib/component/relation/relation-contact-details/relation-contact-details.module.js +0 -24
- package/esm2015/lib/component/relation/relation-general/relation-general.component.js +0 -225
- package/esm2015/lib/component/relation/relation-general/relation-general.module.js +0 -27
- package/esm2015/lib/component/relation/relation-preferences/relation-preferences.component.js +0 -68
- package/esm2015/lib/component/relation/relation-preferences/relation-preferences.module.js +0 -21
- package/esm2015/lib/component/relation/relation-suggestions-list/relation-suggestions-list.component.js +0 -30
- package/esm2015/lib/component/relation/relation-suggestions-list/relation-suggestions-list.module.js +0 -21
- package/esm2015/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.component.js +0 -33
- package/esm2015/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.module.js +0 -19
- package/esm2015/lib/component/relation/relation-type/relation-type.component.js +0 -47
- package/esm2015/lib/component/relation/relation-type/relation-type.module.js +0 -23
- package/esm2015/lib/component/shared/transaction-article-text/transaction-article-text.component.js +0 -165
- package/esm2015/lib/component/shared/transaction-article-text/transaction-article-text.module.js +0 -34
- package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.js +0 -126
- package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.js +0 -30
- package/esm2015/lib/component/shopping-cart/shopping-cart.component.js +0 -69
- package/esm2015/lib/component/shopping-cart/shopping-cart.module.js +0 -27
- package/esm2015/lib/component/shopping-cart-preview/shopping-cart-preview.component.js +0 -59
- package/esm2015/lib/component/shopping-cart-preview/shopping-cart-preview.module.js +0 -29
- package/esm2015/lib/component/stepper/component/stepper-step.component.js +0 -40
- package/esm2015/lib/component/stepper/stepper.component.js +0 -126
- package/esm2015/lib/component/stepper/stepper.module.js +0 -29
- package/esm2015/lib/component/tile/tile.component.js +0 -32
- package/esm2015/lib/component/tile/tile.module.js +0 -19
- package/esm2015/lib/component/transaction/transaction.component.js +0 -177
- package/esm2015/lib/component/transaction/transaction.module.js +0 -67
- package/esm2015/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.component.js +0 -81
- package/esm2015/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.module.js +0 -25
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button-base.component.js +0 -37
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.js +0 -73
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-purchase-button-bar-button.component.js +0 -40
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar.component.js +0 -57
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar.module.js +0 -35
- package/esm2015/lib/component/transaction-confirmation-details/transaction-confirmation-details.component.js +0 -137
- package/esm2015/lib/component/transaction-confirmation-details/transaction-confirmation-details.module.js +0 -34
- package/esm2015/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.js +0 -113
- package/esm2015/lib/component/transaction-confirmation-history/transaction-confirmation-history.module.js +0 -33
- package/esm2015/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.component.js +0 -94
- package/esm2015/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.module.js +0 -24
- package/esm2015/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.component.js +0 -55
- package/esm2015/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.module.js +0 -30
- package/esm2015/lib/component/transaction-grid/transaction-grid/transaction-grid.component.js +0 -85
- package/esm2015/lib/component/transaction-grid/transaction-grid/transaction-grid.module.js +0 -19
- package/esm2015/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.component.js +0 -90
- package/esm2015/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.module.js +0 -28
- package/esm2015/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component.js +0 -117
- package/esm2015/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.module.js +0 -48
- package/esm2015/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.component.js +0 -51
- package/esm2015/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.module.js +0 -29
- package/esm2015/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.js +0 -155
- package/esm2015/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module.js +0 -34
- package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.component.js +0 -50
- package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.module.js +0 -31
- package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.js +0 -126
- package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.module.js +0 -48
- package/esm2015/lib/component/transaction-header/transaction-header-order/transaction-header-order.component.js +0 -71
- package/esm2015/lib/component/transaction-header/transaction-header-order/transaction-header-order.module.js +0 -31
- package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +0 -119
- package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.module.js +0 -35
- package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.js +0 -230
- package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.module.js +0 -46
- package/esm2015/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.js +0 -62
- package/esm2015/lib/component/transaction-header-fields/transaction-header-administrative-relation.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-branch.component.js +0 -78
- package/esm2015/lib/component/transaction-header-fields/transaction-header-branch.module.js +0 -26
- package/esm2015/lib/component/transaction-header-fields/transaction-header-definitive.component.js +0 -48
- package/esm2015/lib/component/transaction-header-fields/transaction-header-definitive.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-date.component.js +0 -86
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-date.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-method.component.js +0 -97
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-method.module.js +0 -29
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.component.js +0 -74
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-amount.component.js +0 -84
- package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-amount.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-percentage.component.js +0 -84
- package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-percentage.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.component.js +0 -85
- package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-amount.component.js +0 -83
- package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-amount.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.component.js +0 -83
- package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-marketing.component.js +0 -51
- package/esm2015/lib/component/transaction-header-fields/transaction-header-marketing.module.js +0 -26
- package/esm2015/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.js +0 -54
- package/esm2015/lib/component/transaction-header-fields/transaction-header-partial-delivery.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.component.js +0 -86
- package/esm2015/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-reference.component.js +0 -82
- package/esm2015/lib/component/transaction-header-fields/transaction-header-reference.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-relation-reference.component.js +0 -82
- package/esm2015/lib/component/transaction-header-fields/transaction-header-relation-reference.module.js +0 -23
- package/esm2015/lib/component/transaction-header-fields/transaction-header-remarks.component.js +0 -82
- package/esm2015/lib/component/transaction-header-fields/transaction-header-remarks.module.js +0 -23
- package/esm2015/lib/component/transaction-history-grid-status/transaction-history-grid-status.component.js +0 -49
- package/esm2015/lib/component/transaction-history-grid-status/transaction-history-grid-status.module.js +0 -23
- package/esm2015/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.js +0 -92
- package/esm2015/lib/component/transaction-line/transaction-base-line/transaction-base-line.module.js +0 -26
- package/esm2015/lib/component/transaction-line/transaction-goods-allocation-line/service/transaction-allocate-goods.service.js +0 -63
- package/esm2015/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.component.js +0 -109
- package/esm2015/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.module.js +0 -33
- package/esm2015/lib/component/transaction-line/transaction-line/transaction-line.component.js +0 -100
- package/esm2015/lib/component/transaction-line/transaction-line/transaction-line.module.js +0 -21
- package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/service/transaction-order-delivery.service.js +0 -15
- package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.js +0 -122
- package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.module.js +0 -36
- package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.js +0 -123
- package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.module.js +0 -59
- package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.js +0 -93
- package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.module.js +0 -46
- package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/service/transaction-receive-goods.service.js +0 -68
- package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.js +0 -115
- package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.module.js +0 -34
- package/esm2015/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.js +0 -192
- package/esm2015/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.module.js +0 -30
- package/esm2015/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.component.js +0 -53
- package/esm2015/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.module.js +0 -25
- package/esm2015/lib/component/transaction-line-fields/transaction-line-amount.component.js +0 -47
- package/esm2015/lib/component/transaction-line-fields/transaction-line-amount.module.js +0 -21
- package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-button.component.js +0 -48
- package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-button.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-code.component.js +0 -55
- package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-code.module.js +0 -26
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-button.component.js +0 -54
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-button.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date-button.component.js +0 -33
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date-button.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date.component.js +0 -86
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-method.component.js +0 -52
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-method.module.js +0 -26
- package/esm2015/lib/component/transaction-line-fields/transaction-line-description.component.js +0 -90
- package/esm2015/lib/component/transaction-line-fields/transaction-line-description.module.js +0 -24
- package/esm2015/lib/component/transaction-line-fields/transaction-line-discount-amount.component.js +0 -53
- package/esm2015/lib/component/transaction-line-fields/transaction-line-discount-amount.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-line-discount.component.js +0 -53
- package/esm2015/lib/component/transaction-line-fields/transaction-line-line-discount.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.component.js +0 -90
- package/esm2015/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-price-list.component.js +0 -52
- package/esm2015/lib/component/transaction-line-fields/transaction-line-price-list.module.js +0 -26
- package/esm2015/lib/component/transaction-line-fields/transaction-line-quantity.component.js +0 -36
- package/esm2015/lib/component/transaction-line-fields/transaction-line-quantity.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-quantum-discount.component.js +0 -53
- package/esm2015/lib/component/transaction-line-fields/transaction-line-quantum-discount.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-reference.component.js +0 -51
- package/esm2015/lib/component/transaction-line-fields/transaction-line-reference.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-special-discount.component.js +0 -53
- package/esm2015/lib/component/transaction-line-fields/transaction-line-special-discount.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier-button.component.js +0 -60
- package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier-button.module.js +0 -28
- package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier.component.js +0 -57
- package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier.module.js +0 -25
- package/esm2015/lib/component/transaction-line-fields/transaction-line-vat.component.js +0 -49
- package/esm2015/lib/component/transaction-line-fields/transaction-line-vat.module.js +0 -28
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-button.component.js +0 -60
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-button.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.component.js +0 -58
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.module.js +0 -21
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.js +0 -45
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location.module.js +0 -23
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse.component.js +0 -52
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse.module.js +0 -27
- package/esm2015/lib/component/transaction-line-grid/transaction-line-grid.component.js +0 -23
- package/esm2015/lib/component/transaction-line-grid/transaction-line-grid.module.js +0 -21
- package/esm2015/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.component.js +0 -99
- package/esm2015/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.module.js +0 -27
- package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.js +0 -118
- package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.module.js +0 -41
- package/esm2015/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component.js +0 -114
- package/esm2015/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.module.js +0 -60
- package/esm2015/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.js +0 -119
- package/esm2015/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.module.js +0 -35
- package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.component.js +0 -81
- package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module.js +0 -25
- package/esm2015/lib/component/transaction-line-statusbar/transaction-line-statusbar.component.js +0 -111
- package/esm2015/lib/component/transaction-line-statusbar/transaction-line-statusbar.module.js +0 -23
- package/esm2015/lib/component/transaction-lines/transaction-lines.component.js +0 -177
- package/esm2015/lib/component/transaction-lines/transaction-lines.module.js +0 -32
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.js +0 -87
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.js +0 -41
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.component.js +0 -69
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.module.js +0 -25
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.js +0 -44
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.module.js +0 -29
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.js +0 -65
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.module.js +0 -28
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.js +0 -56
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.module.js +0 -28
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.js +0 -128
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.module.js +0 -31
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.component.js +0 -128
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.module.js +0 -29
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.js +0 -91
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.module.js +0 -27
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.js +0 -110
- package/esm2015/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.js +0 -78
- package/esm2015/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.module.js +0 -30
- package/esm2015/lib/component/transaction-search/service/filter-request.service.js +0 -172
- package/esm2015/lib/component/transaction-search/service/transaction-search.service.js +0 -114
- package/esm2015/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.component.js +0 -96
- package/esm2015/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.module.js +0 -19
- package/esm2015/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.component.js +0 -56
- package/esm2015/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.module.js +0 -34
- package/esm2015/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.component.js +0 -56
- package/esm2015/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.module.js +0 -34
- package/esm2015/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.component.js +0 -42
- package/esm2015/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.module.js +0 -19
- package/esm2015/lib/component/transaction-search/transaction-filter-content/enum/search-placeholder.enum.js +0 -27
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component.js +0 -143
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.module.js +0 -29
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.component.js +0 -236
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.module.js +0 -35
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component.js +0 -225
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.module.js +0 -34
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.js +0 -133
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.module.js +0 -29
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.component.js +0 -235
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.module.js +0 -35
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.js +0 -248
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.module.js +0 -34
- package/esm2015/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.component.js +0 -55
- package/esm2015/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.module.js +0 -26
- package/esm2015/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.component.js +0 -64
- package/esm2015/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.module.js +0 -23
- package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.component.js +0 -81
- package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.module.js +0 -19
- package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.component.js +0 -84
- package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.module.js +0 -25
- package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.component.js +0 -84
- package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.module.js +0 -27
- package/esm2015/lib/component/transaction-search/transaction-search-header/transaction-search-header.component.js +0 -126
- package/esm2015/lib/component/transaction-search/transaction-search-header/transaction-search-header.module.js +0 -27
- package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.js +0 -119
- package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.module.js +0 -44
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.component.js +0 -67
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.module.js +0 -29
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.component.js +0 -74
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.module.js +0 -32
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.component.js +0 -89
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.module.js +0 -19
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.component.js +0 -79
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.module.js +0 -23
- package/esm2015/lib/component/transaction-search/transaction-search.component.js +0 -146
- package/esm2015/lib/component/transaction-search/transaction-search.module.js +0 -32
- package/esm2015/lib/component/transaction-side-panel-edit-request-details/components/allocation-request.component.js +0 -144
- package/esm2015/lib/component/transaction-side-panel-edit-request-details/components/receive-goods-request.component.js +0 -201
- package/esm2015/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.component.js +0 -50
- package/esm2015/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.module.js +0 -35
- package/esm2015/lib/component/transaction-tile/transaction-tile.component.js +0 -121
- package/esm2015/lib/component/transaction-tile/transaction-tile.module.js +0 -30
- package/esm2015/lib/component/transaction-totals/transaction-totals.component.js +0 -51
- package/esm2015/lib/component/transaction-totals/transaction-totals.module.js +0 -25
- package/esm2015/lib/component/view-mode-buttons/view-mode-buttons.component.js +0 -61
- package/esm2015/lib/component/view-mode-buttons/view-mode-buttons.module.js +0 -23
- package/esm2015/lib/enum/content-view-mode.enum.js +0 -11
- package/esm2015/lib/enum/direction.enum.js +0 -9
- package/esm2015/lib/enum/icon.enum.js +0 -84
- package/esm2015/lib/enum/language-code.enum.js +0 -8
- package/esm2015/lib/enum/order-discount-type.enum.js +0 -7
- package/esm2015/lib/enum/position-grid-row.enum.js +0 -6
- package/esm2015/lib/enum/search-view-mode.enum.js +0 -7
- package/esm2015/lib/enum/searchbar-view-mode.enum.js +0 -7
- package/esm2015/lib/enum/status-type.enum.js +0 -7
- package/esm2015/lib/enum/time-size.type.js +0 -10
- package/esm2015/lib/enum/transaction-type-category.enum.js +0 -17
- package/esm2015/lib/interface/dialog-response.interface.js +0 -2
- package/esm2015/lib/model/down-payment-view-model.js +0 -7
- package/esm2015/lib/model/extended-transaction-line-view-model.js +0 -4
- package/esm2015/lib/model/filter-item.viewmodel.js +0 -9
- package/esm2015/lib/model/filter-viewmodel.js +0 -11
- package/esm2015/lib/model/icon-svg.js +0 -83
- package/esm2015/lib/model/payment.viewmodel.js +0 -6
- package/esm2015/lib/model/received-goods-view-model.js +0 -11
- package/esm2015/lib/model/relation-any-type.js +0 -3
- package/esm2015/lib/model/standard-text.js +0 -3
- package/esm2015/lib/model/text-value-container.js +0 -3
- package/esm2015/lib/model/transaction-bar-button.js +0 -2
- package/esm2015/lib/model/transaction-search-result.js +0 -3
- package/esm2015/lib/pipe/append.pipe.js +0 -17
- package/esm2015/lib/pipe/co-currency.pipe.js +0 -47
- package/esm2015/lib/pipe/date-duration.pipe.js +0 -57
- package/esm2015/lib/pipe/delivery-time.pipe.js +0 -36
- package/esm2015/lib/pipe/localize.pipe.js +0 -28
- package/esm2015/lib/pipe/pipe.module.js +0 -37
- package/esm2015/lib/pipe/safe-html.pipe.js +0 -19
- package/esm2015/lib/pipe/safe-style.pipe.js +0 -19
- package/esm2015/lib/service/article-connector.service.js +0 -106
- package/esm2015/lib/service/article.service.js +0 -33
- package/esm2015/lib/service/dialog.service.js +0 -116
- package/esm2015/lib/service/dictionary.service.js +0 -76
- package/esm2015/lib/service/dynamic-component.service.js +0 -71
- package/esm2015/lib/service/error.service.js +0 -68
- package/esm2015/lib/service/icon-cache.service.js +0 -51
- package/esm2015/lib/service/options.service.js +0 -71
- package/esm2015/lib/service/payment.service.js +0 -105
- package/esm2015/lib/service/pending-reason.service.js +0 -310
- package/esm2015/lib/service/relation-connector.service.js +0 -222
- package/esm2015/lib/service/relation.service.js +0 -158
- package/esm2015/lib/service/shared-connector.service.js +0 -53
- package/esm2015/lib/service/shared.service.js +0 -42
- package/esm2015/lib/service/transaction-connector-adapter.service.js +0 -1807
- package/esm2015/lib/service/transaction-connector.service.js +0 -667
- package/esm2015/lib/service/transaction-event.service.js +0 -35
- package/esm2015/lib/service/transaction-image.service.js +0 -53
- package/esm2015/lib/service/transaction-mapping.service.js +0 -178
- package/esm2015/lib/service/transaction.service.js +0 -845
- package/esm2015/public_api.js +0 -46
- package/fesm2015/colijnit-transaction.js +0 -25177
- package/fesm2015/colijnit-transaction.js.map +0 -1
- package/lib/assets/dictionary/text.properties.d.ts +0 -3
- package/lib/cache/cache-field.d.ts +0 -25
- package/lib/cache/parameter-cache-field.d.ts +0 -11
- package/lib/cache/service/business-object-cache-manager.service.d.ts +0 -58
- package/lib/cache/service/select-multiple-cache.service.d.ts +0 -15
- package/lib/cache/service/select-multiple-parameterized-cache.service.d.ts +0 -19
- package/lib/cache/service/select-single-cache.service.d.ts +0 -12
- package/lib/component/animated-checkbox/animated-checkbox.component.d.ts +0 -5
- package/lib/component/animated-checkbox/animated-checkbox.module.d.ts +0 -2
- package/lib/component/avatar/avatar.component.d.ts +0 -31
- package/lib/component/avatar/avatar.module.d.ts +0 -2
- package/lib/component/checkout/checkout-login/checkout-login.component.d.ts +0 -21
- package/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.d.ts +0 -11
- package/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.d.ts +0 -65
- package/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.d.ts +0 -21
- package/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.d.ts +0 -38
- package/lib/component/checkout/checkout.component.d.ts +0 -48
- package/lib/component/checkout/checkout.module.d.ts +0 -2
- package/lib/component/confirmation-dialog/confirmation-dialog.component.d.ts +0 -18
- package/lib/component/confirmation-dialog/confirmation-dialog.module.d.ts +0 -2
- package/lib/component/core/base/components/characteristic-answer/characteristic-answer.component.d.ts +0 -21
- package/lib/component/core/base/components/characteristic-answer/characteristic-answer.module.d.ts +0 -2
- package/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.component.d.ts +0 -13
- package/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.module.d.ts +0 -2
- package/lib/component/core/base/components/transaction-header-block/transaction-header-block.component.d.ts +0 -10
- package/lib/component/core/base/components/transaction-header-block/transaction-header-block.module.d.ts +0 -2
- package/lib/component/core/base/components/warehouse/warehouse.component.d.ts +0 -20
- package/lib/component/core/base/components/warehouse/warehouse.module.d.ts +0 -2
- package/lib/component/core/base/dialog-base.component.d.ts +0 -4
- package/lib/component/core/base/dialog-transaction-header-base.component.d.ts +0 -13
- package/lib/component/core/base/dialog-transaction-line-base.component.d.ts +0 -16
- package/lib/component/core/base/dynamic-base-component.d.ts +0 -3
- package/lib/component/core/base/transaction-base.component.d.ts +0 -30
- package/lib/component/core/base/transaction-filter-base.component.d.ts +0 -26
- package/lib/component/core/base/transaction-filter-content-base.component.d.ts +0 -21
- package/lib/component/core/base/transaction-filter-popup-base.component.d.ts +0 -37
- package/lib/component/core/base/transaction-grid-base.component.d.ts +0 -25
- package/lib/component/core/base/transaction-header-base.component.d.ts +0 -16
- package/lib/component/core/base/transaction-header-filter-popup-base.component.d.ts +0 -38
- package/lib/component/core/base/transaction-line-base.component.d.ts +0 -16
- package/lib/component/core/base/transaction-lines-line-base.component.d.ts +0 -23
- package/lib/component/core/base/transaction-search-grid-base.component.d.ts +0 -11
- package/lib/component/core/base/transaction-search-tile-base.component.d.ts +0 -13
- package/lib/component/core/core.module.d.ts +0 -2
- package/lib/component/core/directive/lazy-render-master.directive.d.ts +0 -10
- package/lib/component/core/directive/lazy-render.directive.d.ts +0 -10
- package/lib/component/core/enum/app-popup-button-type.enum.d.ts +0 -9
- package/lib/component/core/enum/app-popup-type.enum.d.ts +0 -6
- package/lib/component/core/icon/icon.component.d.ts +0 -12
- package/lib/component/core/image-display/image-display.component.d.ts +0 -5
- package/lib/component/core/relation/customer-groups.component.d.ts +0 -14
- package/lib/component/core/stock-status-indicator/stock-status-indicator.component.d.ts +0 -5
- package/lib/component/delivery-type-tile/delivery-type-tile.component.d.ts +0 -10
- package/lib/component/delivery-type-tile/delivery-type-tile.module.d.ts +0 -2
- package/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.d.ts +0 -15
- package/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.module.d.ts +0 -2
- package/lib/component/dialog/dialog-header-search/dialog-header-search.component.d.ts +0 -10
- package/lib/component/dialog/dialog-header-search/dialog-header-search.module.d.ts +0 -2
- package/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.component.d.ts +0 -4
- package/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.module.d.ts +0 -2
- package/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.component.d.ts +0 -8
- package/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.module.d.ts +0 -2
- package/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.component.d.ts +0 -4
- package/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.module.d.ts +0 -2
- package/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.component.d.ts +0 -4
- package/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.module.d.ts +0 -2
- package/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.component.d.ts +0 -14
- package/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.module.d.ts +0 -2
- package/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.component.d.ts +0 -4
- package/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.module.d.ts +0 -2
- package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.component.d.ts +0 -4
- package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.module.d.ts +0 -2
- package/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.component.d.ts +0 -4
- package/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.module.d.ts +0 -2
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.component.d.ts +0 -4
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.module.d.ts +0 -2
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component.d.ts +0 -12
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.module.d.ts +0 -2
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.component.d.ts +0 -6
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.module.d.ts +0 -2
- package/lib/component/discount/discount.component.d.ts +0 -19
- package/lib/component/discount/discount.module.d.ts +0 -2
- package/lib/component/down-payment/down-payment.component.d.ts +0 -16
- package/lib/component/down-payment/down-payment.module.d.ts +0 -2
- package/lib/component/editable-label/editable-label.component.d.ts +0 -16
- package/lib/component/editable-label/editable-label.module.d.ts +0 -2
- package/lib/component/loader/loader.component.d.ts +0 -3
- package/lib/component/loader/loader.module.d.ts +0 -2
- package/lib/component/payment/payment.component.d.ts +0 -58
- package/lib/component/payment/payment.module.d.ts +0 -2
- package/lib/component/payment-qr-code/payment-qr-code.component.d.ts +0 -4
- package/lib/component/payment-qr-code/payment-qr-code.module.d.ts +0 -2
- package/lib/component/payment-tile/payment-tile.component.d.ts +0 -10
- package/lib/component/payment-tile/payment-tile.module.d.ts +0 -2
- package/lib/component/quick-send-button/quick-send-button.component.d.ts +0 -15
- package/lib/component/quick-send-button/quick-send-button.module.d.ts +0 -2
- package/lib/component/relation/relation-address/relation-address.component.d.ts +0 -25
- package/lib/component/relation/relation-address/relation-address.module.d.ts +0 -2
- package/lib/component/relation/relation-address-select/relation-address-select.component.d.ts +0 -33
- package/lib/component/relation/relation-address-select/relation-address-select.module.d.ts +0 -2
- package/lib/component/relation/relation-address-tile/relation-address-tile.component.d.ts +0 -15
- package/lib/component/relation/relation-address-tile/relation-address-tile.module.d.ts +0 -2
- package/lib/component/relation/relation-addresses/relation-addresses.component.d.ts +0 -27
- package/lib/component/relation/relation-addresses/relation-addresses.module.d.ts +0 -2
- package/lib/component/relation/relation-base.component.d.ts +0 -13
- package/lib/component/relation/relation-contact-details/relation-contact-details.component.d.ts +0 -12
- package/lib/component/relation/relation-contact-details/relation-contact-details.module.d.ts +0 -2
- package/lib/component/relation/relation-general/relation-general.component.d.ts +0 -34
- package/lib/component/relation/relation-general/relation-general.module.d.ts +0 -2
- package/lib/component/relation/relation-preferences/relation-preferences.component.d.ts +0 -15
- package/lib/component/relation/relation-preferences/relation-preferences.module.d.ts +0 -2
- package/lib/component/relation/relation-suggestions-list/relation-suggestions-list.component.d.ts +0 -7
- package/lib/component/relation/relation-suggestions-list/relation-suggestions-list.module.d.ts +0 -2
- package/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.component.d.ts +0 -8
- package/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.module.d.ts +0 -2
- package/lib/component/relation/relation-type/relation-type.component.d.ts +0 -11
- package/lib/component/relation/relation-type/relation-type.module.d.ts +0 -2
- package/lib/component/shared/transaction-article-text/transaction-article-text.component.d.ts +0 -44
- package/lib/component/shared/transaction-article-text/transaction-article-text.module.d.ts +0 -2
- package/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.d.ts +0 -29
- package/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.d.ts +0 -2
- package/lib/component/shopping-cart/shopping-cart.component.d.ts +0 -17
- package/lib/component/shopping-cart/shopping-cart.module.d.ts +0 -2
- package/lib/component/shopping-cart-preview/shopping-cart-preview.component.d.ts +0 -13
- package/lib/component/shopping-cart-preview/shopping-cart-preview.module.d.ts +0 -2
- package/lib/component/stepper/component/stepper-step.component.d.ts +0 -12
- package/lib/component/stepper/stepper.component.d.ts +0 -36
- package/lib/component/stepper/stepper.module.d.ts +0 -2
- package/lib/component/tile/tile.component.d.ts +0 -6
- package/lib/component/tile/tile.module.d.ts +0 -2
- package/lib/component/transaction/style/_layout.scss +0 -56
- package/lib/component/transaction/style/material.scss +0 -13
- package/lib/component/transaction/transaction.component.d.ts +0 -45
- package/lib/component/transaction/transaction.module.d.ts +0 -2
- package/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.component.d.ts +0 -18
- package/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.module.d.ts +0 -2
- package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button-base.component.d.ts +0 -16
- package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.d.ts +0 -18
- package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-purchase-button-bar-button.component.d.ts +0 -12
- package/lib/component/transaction-button-bar/transaction-button-bar.component.d.ts +0 -19
- package/lib/component/transaction-button-bar/transaction-button-bar.module.d.ts +0 -2
- package/lib/component/transaction-confirmation-details/transaction-confirmation-details.component.d.ts +0 -24
- package/lib/component/transaction-confirmation-details/transaction-confirmation-details.module.d.ts +0 -2
- package/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.d.ts +0 -30
- package/lib/component/transaction-confirmation-history/transaction-confirmation-history.module.d.ts +0 -2
- package/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.component.d.ts +0 -26
- package/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.module.d.ts +0 -2
- package/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.component.d.ts +0 -8
- package/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.module.d.ts +0 -2
- package/lib/component/transaction-grid/transaction-grid/transaction-grid.component.d.ts +0 -26
- package/lib/component/transaction-grid/transaction-grid/transaction-grid.module.d.ts +0 -2
- package/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.component.d.ts +0 -19
- package/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.module.d.ts +0 -2
- package/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component.d.ts +0 -21
- package/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.module.d.ts +0 -2
- package/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.component.d.ts +0 -4
- package/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.module.d.ts +0 -2
- package/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.d.ts +0 -37
- package/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module.d.ts +0 -2
- package/lib/component/transaction-header/transaction-header/transaction-header.component.d.ts +0 -12
- package/lib/component/transaction-header/transaction-header/transaction-header.module.d.ts +0 -2
- package/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.d.ts +0 -21
- package/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.module.d.ts +0 -2
- package/lib/component/transaction-header/transaction-header-order/style/_layout.scss +0 -51
- package/lib/component/transaction-header/transaction-header-order/style/_material-definition.scss +0 -12
- package/lib/component/transaction-header/transaction-header-order/transaction-header-order.component.d.ts +0 -13
- package/lib/component/transaction-header/transaction-header-order/transaction-header-order.module.d.ts +0 -2
- package/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.d.ts +0 -22
- package/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.module.d.ts +0 -2
- package/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.d.ts +0 -41
- package/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.d.ts +0 -14
- package/lib/component/transaction-header-fields/transaction-header-administrative-relation.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-branch.component.d.ts +0 -17
- package/lib/component/transaction-header-fields/transaction-header-branch.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-definitive.component.d.ts +0 -9
- package/lib/component/transaction-header-fields/transaction-header-definitive.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-delivery-date.component.d.ts +0 -17
- package/lib/component/transaction-header-fields/transaction-header-delivery-date.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-delivery-method.component.d.ts +0 -20
- package/lib/component/transaction-header-fields/transaction-header-delivery-method.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.component.d.ts +0 -21
- package/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-discount-amount.component.d.ts +0 -17
- package/lib/component/transaction-header-fields/transaction-header-discount-amount.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-discount-percentage.component.d.ts +0 -17
- package/lib/component/transaction-header-fields/transaction-header-discount-percentage.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.component.d.ts +0 -18
- package/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-downpayment-amount.component.d.ts +0 -17
- package/lib/component/transaction-header-fields/transaction-header-downpayment-amount.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.component.d.ts +0 -17
- package/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-marketing.component.d.ts +0 -14
- package/lib/component/transaction-header-fields/transaction-header-marketing.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.d.ts +0 -11
- package/lib/component/transaction-header-fields/transaction-header-partial-delivery.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.component.d.ts +0 -17
- package/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-reference.component.d.ts +0 -17
- package/lib/component/transaction-header-fields/transaction-header-reference.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-relation-reference.component.d.ts +0 -17
- package/lib/component/transaction-header-fields/transaction-header-relation-reference.module.d.ts +0 -2
- package/lib/component/transaction-header-fields/transaction-header-remarks.component.d.ts +0 -17
- package/lib/component/transaction-header-fields/transaction-header-remarks.module.d.ts +0 -2
- package/lib/component/transaction-history-grid-status/transaction-history-grid-status.component.d.ts +0 -11
- package/lib/component/transaction-history-grid-status/transaction-history-grid-status.module.d.ts +0 -2
- package/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.d.ts +0 -20
- package/lib/component/transaction-line/transaction-base-line/transaction-base-line.module.d.ts +0 -2
- package/lib/component/transaction-line/transaction-goods-allocation-line/service/transaction-allocate-goods.service.d.ts +0 -12
- package/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.component.d.ts +0 -27
- package/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.module.d.ts +0 -2
- package/lib/component/transaction-line/transaction-line/transaction-line.component.d.ts +0 -32
- package/lib/component/transaction-line/transaction-line/transaction-line.module.d.ts +0 -2
- package/lib/component/transaction-line/transaction-order-delivery-line/service/transaction-order-delivery.service.d.ts +0 -4
- package/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.d.ts +0 -25
- package/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.module.d.ts +0 -2
- package/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.d.ts +0 -28
- package/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.module.d.ts +0 -2
- package/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.d.ts +0 -19
- package/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.module.d.ts +0 -2
- package/lib/component/transaction-line/transaction-receive-goods-line/service/transaction-receive-goods.service.d.ts +0 -19
- package/lib/component/transaction-line/transaction-receive-goods-line/style/_layout.scss +0 -36
- package/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.d.ts +0 -27
- package/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.module.d.ts +0 -2
- package/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.d.ts +0 -49
- package/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.module.d.ts +0 -2
- package/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.component.d.ts +0 -20
- package/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-amount.component.d.ts +0 -10
- package/lib/component/transaction-line-fields/transaction-line-amount.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-commission-button.component.d.ts +0 -9
- package/lib/component/transaction-line-fields/transaction-line-commission-button.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-commission-code.component.d.ts +0 -15
- package/lib/component/transaction-line-fields/transaction-line-commission-code.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-delivery-button.component.d.ts +0 -13
- package/lib/component/transaction-line-fields/transaction-line-delivery-button.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-delivery-date-button.component.d.ts +0 -10
- package/lib/component/transaction-line-fields/transaction-line-delivery-date-button.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-delivery-date.component.d.ts +0 -17
- package/lib/component/transaction-line-fields/transaction-line-delivery-date.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-delivery-method.component.d.ts +0 -14
- package/lib/component/transaction-line-fields/transaction-line-delivery-method.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-description.component.d.ts +0 -21
- package/lib/component/transaction-line-fields/transaction-line-description.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-discount-amount.component.d.ts +0 -10
- package/lib/component/transaction-line-fields/transaction-line-discount-amount.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-line-discount.component.d.ts +0 -10
- package/lib/component/transaction-line-fields/transaction-line-line-discount.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.component.d.ts +0 -18
- package/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-price-list.component.d.ts +0 -14
- package/lib/component/transaction-line-fields/transaction-line-price-list.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-quantity.component.d.ts +0 -7
- package/lib/component/transaction-line-fields/transaction-line-quantity.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-quantum-discount.component.d.ts +0 -10
- package/lib/component/transaction-line-fields/transaction-line-quantum-discount.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-reference.component.d.ts +0 -10
- package/lib/component/transaction-line-fields/transaction-line-reference.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-special-discount.component.d.ts +0 -10
- package/lib/component/transaction-line-fields/transaction-line-special-discount.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-supplier-button.component.d.ts +0 -12
- package/lib/component/transaction-line-fields/transaction-line-supplier-button.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-supplier.component.d.ts +0 -16
- package/lib/component/transaction-line-fields/transaction-line-supplier.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-vat.component.d.ts +0 -13
- package/lib/component/transaction-line-fields/transaction-line-vat.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-warehouse-button.component.d.ts +0 -15
- package/lib/component/transaction-line-fields/transaction-line-warehouse-button.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.component.d.ts +0 -18
- package/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.d.ts +0 -13
- package/lib/component/transaction-line-fields/transaction-line-warehouse-location.module.d.ts +0 -2
- package/lib/component/transaction-line-fields/transaction-line-warehouse.component.d.ts +0 -14
- package/lib/component/transaction-line-fields/transaction-line-warehouse.module.d.ts +0 -2
- package/lib/component/transaction-line-grid/transaction-line-grid.component.d.ts +0 -5
- package/lib/component/transaction-line-grid/transaction-line-grid.module.d.ts +0 -2
- package/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.component.d.ts +0 -29
- package/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.module.d.ts +0 -2
- package/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.d.ts +0 -27
- package/lib/component/transaction-line-side-panel/transaction-line-side-panel.module.d.ts +0 -2
- package/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component.d.ts +0 -21
- package/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.module.d.ts +0 -2
- package/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.d.ts +0 -28
- package/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.module.d.ts +0 -2
- package/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.component.d.ts +0 -20
- package/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module.d.ts +0 -2
- package/lib/component/transaction-line-statusbar/transaction-line-statusbar.component.d.ts +0 -30
- package/lib/component/transaction-line-statusbar/transaction-line-statusbar.module.d.ts +0 -2
- package/lib/component/transaction-lines/transaction-lines.component.d.ts +0 -48
- package/lib/component/transaction-lines/transaction-lines.module.d.ts +0 -2
- package/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.d.ts +0 -28
- package/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.d.ts +0 -2
- package/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.component.d.ts +0 -20
- package/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.module.d.ts +0 -2
- package/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.d.ts +0 -7
- package/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.module.d.ts +0 -2
- package/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.d.ts +0 -19
- package/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.module.d.ts +0 -2
- package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.d.ts +0 -14
- package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.module.d.ts +0 -2
- package/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.d.ts +0 -33
- package/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.module.d.ts +0 -2
- package/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.component.d.ts +0 -33
- package/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.module.d.ts +0 -2
- package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.d.ts +0 -34
- package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.module.d.ts +0 -2
- package/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.d.ts +0 -43
- package/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.d.ts +0 -17
- package/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.module.d.ts +0 -2
- package/lib/component/transaction-search/service/filter-request.service.d.ts +0 -87
- package/lib/component/transaction-search/service/transaction-search.service.d.ts +0 -37
- package/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.component.d.ts +0 -26
- package/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.component.d.ts +0 -9
- package/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.component.d.ts +0 -9
- package/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.component.d.ts +0 -10
- package/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-filter-content/enum/search-placeholder.enum.d.ts +0 -25
- package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component.d.ts +0 -40
- package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.component.d.ts +0 -36
- package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component.d.ts +0 -50
- package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.d.ts +0 -40
- package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.component.d.ts +0 -36
- package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.d.ts +0 -57
- package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.component.d.ts +0 -24
- package/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.component.d.ts +0 -21
- package/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.component.d.ts +0 -22
- package/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.component.d.ts +0 -7
- package/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.component.d.ts +0 -7
- package/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-search-header/transaction-search-header.component.d.ts +0 -36
- package/lib/component/transaction-search/transaction-search-header/transaction-search-header.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.d.ts +0 -32
- package/lib/component/transaction-search/transaction-search-result/transaction-search-result.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.component.d.ts +0 -3
- package/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.component.d.ts +0 -6
- package/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.component.d.ts +0 -25
- package/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.component.d.ts +0 -22
- package/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.module.d.ts +0 -2
- package/lib/component/transaction-search/transaction-search.component.d.ts +0 -32
- package/lib/component/transaction-search/transaction-search.module.d.ts +0 -2
- package/lib/component/transaction-side-panel-edit-request-details/components/allocation-request.component.d.ts +0 -35
- package/lib/component/transaction-side-panel-edit-request-details/components/receive-goods-request.component.d.ts +0 -48
- package/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.component.d.ts +0 -15
- package/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.module.d.ts +0 -2
- package/lib/component/transaction-tile/transaction-tile.component.d.ts +0 -24
- package/lib/component/transaction-tile/transaction-tile.module.d.ts +0 -2
- package/lib/component/transaction-totals/transaction-totals.component.d.ts +0 -12
- package/lib/component/transaction-totals/transaction-totals.module.d.ts +0 -2
- package/lib/component/view-mode-buttons/view-mode-buttons.component.d.ts +0 -17
- package/lib/component/view-mode-buttons/view-mode-buttons.module.d.ts +0 -2
- package/lib/enum/content-view-mode.enum.d.ts +0 -8
- package/lib/enum/direction.enum.d.ts +0 -6
- package/lib/enum/icon.enum.d.ts +0 -82
- package/lib/enum/language-code.enum.d.ts +0 -6
- package/lib/enum/order-discount-type.enum.d.ts +0 -5
- package/lib/enum/position-grid-row.enum.d.ts +0 -4
- package/lib/enum/search-view-mode.enum.d.ts +0 -4
- package/lib/enum/searchbar-view-mode.enum.d.ts +0 -4
- package/lib/enum/status-type.enum.d.ts +0 -5
- package/lib/enum/time-size.type.d.ts +0 -7
- package/lib/enum/transaction-type-category.enum.d.ts +0 -15
- package/lib/interface/dialog-response.interface.d.ts +0 -5
- package/lib/model/down-payment-view-model.d.ts +0 -7
- package/lib/model/extended-transaction-line-view-model.d.ts +0 -10
- package/lib/model/filter-item.viewmodel.d.ts +0 -7
- package/lib/model/filter-viewmodel.d.ts +0 -8
- package/lib/model/icon-svg.d.ts +0 -4
- package/lib/model/payment.viewmodel.d.ts +0 -6
- package/lib/model/received-goods-view-model.d.ts +0 -10
- package/lib/model/relation-any-type.d.ts +0 -3
- package/lib/model/standard-text.d.ts +0 -5
- package/lib/model/text-value-container.d.ts +0 -4
- package/lib/model/transaction-bar-button.d.ts +0 -10
- package/lib/model/transaction-search-result.d.ts +0 -5
- package/lib/pipe/append.pipe.d.ts +0 -4
- package/lib/pipe/co-currency.pipe.d.ts +0 -10
- package/lib/pipe/date-duration.pipe.d.ts +0 -10
- package/lib/pipe/delivery-time.pipe.d.ts +0 -12
- package/lib/pipe/localize.pipe.d.ts +0 -7
- package/lib/pipe/pipe.module.d.ts +0 -2
- package/lib/pipe/safe-html.pipe.d.ts +0 -7
- package/lib/pipe/safe-style.pipe.d.ts +0 -7
- package/lib/service/article-connector.service.d.ts +0 -20
- package/lib/service/article.service.d.ts +0 -8
- package/lib/service/dialog.service.d.ts +0 -25
- package/lib/service/dictionary.service.d.ts +0 -21
- package/lib/service/dynamic-component.service.d.ts +0 -11
- package/lib/service/error.service.d.ts +0 -12
- package/lib/service/icon-cache.service.d.ts +0 -18
- package/lib/service/options.service.d.ts +0 -13
- package/lib/service/payment.service.d.ts +0 -23
- package/lib/service/pending-reason.service.d.ts +0 -59
- package/lib/service/relation-connector.service.d.ts +0 -36
- package/lib/service/relation.service.d.ts +0 -44
- package/lib/service/shared-connector.service.d.ts +0 -12
- package/lib/service/shared.service.d.ts +0 -15
- package/lib/service/transaction-connector-adapter.service.d.ts +0 -206
- package/lib/service/transaction-connector.service.d.ts +0 -197
- package/lib/service/transaction-event.service.d.ts +0 -67
- package/lib/service/transaction-image.service.d.ts +0 -10
- package/lib/service/transaction-mapping.service.d.ts +0 -26
- package/lib/service/transaction.service.d.ts +0 -175
- package/public_api.d.ts +0 -45
|
@@ -1,1807 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Injectable } from "@angular/core";
|
|
3
|
-
import { Marketing } from "@colijnit/transactionapi/build/model/marketing.bo";
|
|
4
|
-
import { TransactionInfoResponse } from "@colijnit/transactionapi/build/model/transaction-info-response.bo";
|
|
5
|
-
import { Country } from "@colijnit/transactionapi/build/model/country.bo";
|
|
6
|
-
import { DeliveryMethod } from "@colijnit/transactionapi/build/model/delivery-method.bo";
|
|
7
|
-
import { DeliveryOption } from "@colijnit/transactionapi/build/model/delivery-option.bo";
|
|
8
|
-
import { GetPostalCodeRetrievalOutputParams } from "@colijnit/transactionapi/build/model/get-postal-code-retrieval-output-params";
|
|
9
|
-
import { ArticleFullObject } from "@colijnit/transactionapi/build/model/article-full-object";
|
|
10
|
-
import { Transaction } from "@colijnit/transactionapi/build/transaction";
|
|
11
|
-
import { StandardText } from "../model/standard-text";
|
|
12
|
-
import { CustomerGroup } from "@colijnit/transactionapi/build/model/customer-group.bo";
|
|
13
|
-
import { TransactionLineInfo } from "@colijnit/transactionapi/build/model/transaction-line-info.bo";
|
|
14
|
-
import { OptionsService } from "./options.service";
|
|
15
|
-
import { CashRegister } from "@colijnit/transactionapi/build/model/cash-register";
|
|
16
|
-
import { PriceList } from "@colijnit/transactionapi/build/model/price-list";
|
|
17
|
-
import { Vat } from "@colijnit/transactionapi/build/model/vat";
|
|
18
|
-
import { TransactionSearchView } from "@colijnit/transactionapi/build/model/transaction-search-view.bo";
|
|
19
|
-
import { OnHoldCode } from "@colijnit/transactionapi/build/model/on-hold-code.bo";
|
|
20
|
-
import { Warehouse } from "@colijnit/transactionapi/build/model/warehouse.bo";
|
|
21
|
-
import { CodeDescription } from "@colijnit/transactionapi/build/model/code-description";
|
|
22
|
-
import { GoodsReceiptStatusWithHistory } from "@colijnit/transactionapi/build/model/goods-receipt-status-with-history.bo";
|
|
23
|
-
import { PaymentMethod } from "@colijnit/transactionapi/build/model/payment-method.bo";
|
|
24
|
-
import { PurchasePortalLine } from "@colijnit/transactionapi/build/model/purchase-portal-line.bo";
|
|
25
|
-
import { CreatePaymentLinkResult } from "@colijnit/transactionapi/build/model/create-payment-link-result.bo";
|
|
26
|
-
import { TransactionSearchResult } from "../model/transaction-search-result";
|
|
27
|
-
import { PaymentLinkStatus } from "@colijnit/transactionapi/build/model/payment-link-status.bo";
|
|
28
|
-
import { SelectMultipleCacheService } from "../cache/service/select-multiple-cache.service";
|
|
29
|
-
import { SelectMultipleParameterizedCacheService } from "../cache/service/select-multiple-parameterized-cache.service";
|
|
30
|
-
import { ErrorService } from "./error.service";
|
|
31
|
-
import { TransactionDownPaymentInfo } from "@colijnit/transactionapi/build/model/transaction-down-payment-info.bo";
|
|
32
|
-
import { TransactionLockResult } from "@colijnit/transactionapi/build/model/transaction-lock-result.bo";
|
|
33
|
-
import { PrivacySetting } from "@colijnit/mainapi/build/model/privacy-setting.bo";
|
|
34
|
-
import { RelationPrivacySetting } from "@colijnit/relationapi/build/model/relation-privacy-setting.bo";
|
|
35
|
-
import { BusinessObjectFactory } from "@colijnit/ioneconnector/build/factory/business-object-factory";
|
|
36
|
-
import { ImageUtils } from "@colijnit/ioneconnector/build/utils/image-utils";
|
|
37
|
-
import { CoDomainValue } from "@colijnit/mainapi/build/model/co-domain-value.bo";
|
|
38
|
-
import { Tag } from "@colijnit/mainapi/build/model/tag";
|
|
39
|
-
import { DeliveryOrderStatus } from "@colijnit/transactionapi/build/model/delivery-order-status.bo";
|
|
40
|
-
import { SalesPerson } from "@colijnit/relationapi/build/model/sales-person.bo";
|
|
41
|
-
import { StockStickersPrintLayouts } from "@colijnit/sharedapi/build/model/report/stock-stickers-print-layouts.bo";
|
|
42
|
-
import { Sharedapi } from "@colijnit/sharedapi/build/sharedapi";
|
|
43
|
-
import { AvailableStock } from "@colijnit/transactionapi/build/model/available-stock.bo";
|
|
44
|
-
import { GoodsAllocationStatus } from "@colijnit/transactionapi/build/model/goods-allocation-status.bo";
|
|
45
|
-
import { GoodsAllocationStatusWithHistory } from "@colijnit/transactionapi/build/model/goods-allocation-status-with-history.bo";
|
|
46
|
-
import { ReportLayoutSelectionEmail } from "@colijnit/mainapi/build/model/report-layout-selection-email.bo";
|
|
47
|
-
import { ReportLayoutSelectionPrint } from "@colijnit/mainapi/build/model/report-layout-selection-print.bo";
|
|
48
|
-
import { PurchaseAdviceLine } from "@colijnit/transactionapi/build/model/purchase-advice-line.bo";
|
|
49
|
-
import * as i0 from "@angular/core";
|
|
50
|
-
import * as i1 from "./options.service";
|
|
51
|
-
import * as i2 from "../cache/service/select-multiple-cache.service";
|
|
52
|
-
import * as i3 from "../cache/service/select-multiple-parameterized-cache.service";
|
|
53
|
-
import * as i4 from "./error.service";
|
|
54
|
-
export class TransactionConnectorAdapterService {
|
|
55
|
-
constructor(_optionsService, _selectMultipleCacheService, _selectMultipleParameterizedCacheService, _errorService) {
|
|
56
|
-
this._optionsService = _optionsService;
|
|
57
|
-
this._selectMultipleCacheService = _selectMultipleCacheService;
|
|
58
|
-
this._selectMultipleParameterizedCacheService = _selectMultipleParameterizedCacheService;
|
|
59
|
-
this._errorService = _errorService;
|
|
60
|
-
this._boFactory = new BusinessObjectFactory();
|
|
61
|
-
}
|
|
62
|
-
connect() {
|
|
63
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
-
this.connector = new Transaction(this._optionsService.options);
|
|
65
|
-
this.sharedConnector = new Sharedapi(this._optionsService.options);
|
|
66
|
-
this._optionsService.options.session = this.connector.session;
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
getArticleFullObject(goodId) {
|
|
70
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
-
const result = yield this.connector.getArticleFullObject(goodId);
|
|
72
|
-
if (result.validationResult && result.validationResult.success) {
|
|
73
|
-
return this._boFactory.makeWithRawBackendData(ArticleFullObject, result.resultObject);
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
this._handleExceptionFromResponse(result);
|
|
77
|
-
return null;
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
getGoodIdFromArticleNr(articleNr) {
|
|
82
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
-
const result = yield this.connector.getGoodIdFromArticleNr(articleNr);
|
|
84
|
-
if (result.validationResult && result.validationResult.success) {
|
|
85
|
-
return result.resultObject;
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
this._handleExceptionFromResponse(result);
|
|
89
|
-
return null;
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
getSingleImage(nodeId, publication, includeMimetype, thumb) {
|
|
94
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
95
|
-
const result = yield this.connector.getSingleImage(nodeId, publication, includeMimetype, thumb);
|
|
96
|
-
if (result.validationResult && result.validationResult.success) {
|
|
97
|
-
if (result.resultObject && result.resultObject.filePath !== null && result.resultObject.filePath !== undefined && result.resultObject.filePath !== "") {
|
|
98
|
-
return ImageUtils.getFixedImageFilepathUrl(result.resultObject.filePath);
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
if (result.resultObject) {
|
|
102
|
-
if (includeMimetype) {
|
|
103
|
-
return ImageUtils.getDocBodyWithMimeTypeDefinition(result.resultObject.fileName, thumb ? result.resultObject.thumbnailBody : result.resultObject.documentBody);
|
|
104
|
-
}
|
|
105
|
-
return thumb ? result.resultObject.thumbnailBody : result.resultObject.documentBody;
|
|
106
|
-
}
|
|
107
|
-
else { // no image
|
|
108
|
-
return "";
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
this._handleExceptionFromResponse(result);
|
|
114
|
-
return null;
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
getCountries() {
|
|
119
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
120
|
-
const result = yield this.connector.getCountries();
|
|
121
|
-
if (result.validationResult && result.validationResult.success) {
|
|
122
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(Country, result.resultObjects);
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
this._handleExceptionFromResponse(result);
|
|
126
|
-
return [];
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
getCustomerGroups() {
|
|
131
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
132
|
-
const result = yield this.connector.getCustomerGroups();
|
|
133
|
-
if (result.validationResult && result.validationResult.success) {
|
|
134
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(CustomerGroup, result.resultObjects);
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
this._handleExceptionFromResponse(result);
|
|
138
|
-
return [];
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
getCountry(countryCode) {
|
|
143
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
144
|
-
const countries = yield this.getCountries();
|
|
145
|
-
return countries.find(country => country.code === countryCode);
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
getPrivacySettings() {
|
|
149
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
150
|
-
const result = yield this.connector.getPrivacySettings();
|
|
151
|
-
if (result.validationResult && result.validationResult.success) {
|
|
152
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(PrivacySetting, result.resultObjects);
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
this._handleExceptionFromResponse(result);
|
|
156
|
-
return [];
|
|
157
|
-
}
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
getRelationPrivacySettings() {
|
|
161
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
162
|
-
const privacySettings = [];
|
|
163
|
-
const basePrivacySettings = yield this.getPrivacySettings();
|
|
164
|
-
for (let i = 0, len = basePrivacySettings.length; i < len; i++) {
|
|
165
|
-
const basePrivSetting = basePrivacySettings[i];
|
|
166
|
-
const newRelPrivSet = this._boFactory.instantiateNewBo(RelationPrivacySetting);
|
|
167
|
-
newRelPrivSet.applyBasePrivacySettingValues(basePrivSetting);
|
|
168
|
-
privacySettings.push(newRelPrivSet);
|
|
169
|
-
}
|
|
170
|
-
return privacySettings;
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
getMarketingCodes() {
|
|
174
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
175
|
-
const result = yield this.connector.getMarketingCodes();
|
|
176
|
-
if (result.validationResult && result.validationResult.success) {
|
|
177
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(Marketing, result.resultObjects);
|
|
178
|
-
}
|
|
179
|
-
else {
|
|
180
|
-
this._handleExceptionFromResponse(result);
|
|
181
|
-
return [];
|
|
182
|
-
}
|
|
183
|
-
});
|
|
184
|
-
}
|
|
185
|
-
getArticleBoundTextLinesOfArticleLine(articleLineUuid) {
|
|
186
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
187
|
-
const result = yield this.connector.getArticleBoundTextLinesOfArticleLine(articleLineUuid);
|
|
188
|
-
if (result.validationResult && result.validationResult.success) {
|
|
189
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(TransactionLineInfo, result.resultObject);
|
|
190
|
-
}
|
|
191
|
-
else {
|
|
192
|
-
this._handleExceptionFromResponse(result);
|
|
193
|
-
return [];
|
|
194
|
-
}
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
getTransactionByNrAndKind(kind, transactionNo) {
|
|
198
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
199
|
-
const result = yield this.connector.getTransactionByNrAndKind(kind, transactionNo);
|
|
200
|
-
if (result.validationResult && result.validationResult.success) {
|
|
201
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject);
|
|
202
|
-
}
|
|
203
|
-
else {
|
|
204
|
-
this._handleExceptionFromResponse(result);
|
|
205
|
-
return null;
|
|
206
|
-
}
|
|
207
|
-
});
|
|
208
|
-
}
|
|
209
|
-
getTransactionById(transactionId) {
|
|
210
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
211
|
-
const result = yield this.connector.getTransactionById(transactionId);
|
|
212
|
-
if (result.validationResult && result.validationResult.success) {
|
|
213
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject);
|
|
214
|
-
}
|
|
215
|
-
else {
|
|
216
|
-
this._handleExceptionFromResponse(result);
|
|
217
|
-
return null;
|
|
218
|
-
}
|
|
219
|
-
});
|
|
220
|
-
}
|
|
221
|
-
lockTransactionById(transactionId, version) {
|
|
222
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
223
|
-
const result = yield this.connector.lockTransactionByTransId(transactionId, version);
|
|
224
|
-
if (result.validationResult && result.validationResult.success) {
|
|
225
|
-
return this._boFactory.makeWithRawBackendData(TransactionLockResult, result.resultObject);
|
|
226
|
-
}
|
|
227
|
-
else {
|
|
228
|
-
this._handleExceptionFromResponse(result);
|
|
229
|
-
return null;
|
|
230
|
-
}
|
|
231
|
-
});
|
|
232
|
-
}
|
|
233
|
-
getCashRegisters(branch, group) {
|
|
234
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
235
|
-
const result = yield this.connector.getCashRegister(branch, group);
|
|
236
|
-
if (result.validationResult && result.validationResult.success) {
|
|
237
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(CashRegister, result.resultObjects);
|
|
238
|
-
}
|
|
239
|
-
else {
|
|
240
|
-
this._handleExceptionFromResponse(result);
|
|
241
|
-
return [];
|
|
242
|
-
}
|
|
243
|
-
});
|
|
244
|
-
}
|
|
245
|
-
getPriceLists(code) {
|
|
246
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
247
|
-
const result = yield this.connector.getPriceLists(code);
|
|
248
|
-
if (result.validationResult && result.validationResult.success) {
|
|
249
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(PriceList, result.resultObjects);
|
|
250
|
-
}
|
|
251
|
-
else {
|
|
252
|
-
this._handleExceptionFromResponse(result);
|
|
253
|
-
return [];
|
|
254
|
-
}
|
|
255
|
-
});
|
|
256
|
-
}
|
|
257
|
-
getVatList(onlyValid = false) {
|
|
258
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
259
|
-
const result = yield this.connector.getVatList(onlyValid);
|
|
260
|
-
if (result.validationResult && result.validationResult.success) {
|
|
261
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(Vat, result.resultObjects);
|
|
262
|
-
}
|
|
263
|
-
else {
|
|
264
|
-
this._handleExceptionFromResponse(result);
|
|
265
|
-
return [];
|
|
266
|
-
}
|
|
267
|
-
});
|
|
268
|
-
}
|
|
269
|
-
searchTransactions(request) {
|
|
270
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
271
|
-
const response = yield this.connector.searchTransactions(request);
|
|
272
|
-
if (response.validationResult && response.validationResult.success) {
|
|
273
|
-
const result = new TransactionSearchResult();
|
|
274
|
-
result.count = response.pagingParameters.resultCount; // todo: fix property in api
|
|
275
|
-
result.transactions = this._boFactory.makeBOArrayFromRawBackendDataArray(TransactionSearchView, response.resultObjects);
|
|
276
|
-
return result;
|
|
277
|
-
}
|
|
278
|
-
else {
|
|
279
|
-
this._handleExceptionFromResponse(response);
|
|
280
|
-
return null;
|
|
281
|
-
}
|
|
282
|
-
});
|
|
283
|
-
}
|
|
284
|
-
getSequenceValue(sequenceName) {
|
|
285
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
286
|
-
return new Promise((resolve, reject) => {
|
|
287
|
-
return this.connector.getSequenceValue(sequenceName).then((result) => {
|
|
288
|
-
if (result.validationResult && result.validationResult.success) {
|
|
289
|
-
resolve(result.resultObject);
|
|
290
|
-
}
|
|
291
|
-
else {
|
|
292
|
-
this._handleExceptionFromResponse(result);
|
|
293
|
-
reject(null);
|
|
294
|
-
}
|
|
295
|
-
});
|
|
296
|
-
});
|
|
297
|
-
});
|
|
298
|
-
}
|
|
299
|
-
getDeliveryMethods() {
|
|
300
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
301
|
-
const result = yield this.connector.getDeliveryMethods();
|
|
302
|
-
if (result.validationResult && result.validationResult.success) {
|
|
303
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(DeliveryMethod, result.resultObjects);
|
|
304
|
-
}
|
|
305
|
-
else {
|
|
306
|
-
this._handleExceptionFromResponse(result);
|
|
307
|
-
return [];
|
|
308
|
-
}
|
|
309
|
-
});
|
|
310
|
-
}
|
|
311
|
-
getDeliveryOptions() {
|
|
312
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
313
|
-
const result = yield this.connector.getDeliveryOptions();
|
|
314
|
-
if (result.validationResult && result.validationResult.success) {
|
|
315
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(DeliveryOption, result.resultObjects);
|
|
316
|
-
}
|
|
317
|
-
else {
|
|
318
|
-
this._handleExceptionFromResponse(result);
|
|
319
|
-
return [];
|
|
320
|
-
}
|
|
321
|
-
});
|
|
322
|
-
}
|
|
323
|
-
getPostalCodeRetrieval(postcalCode, houseNo) {
|
|
324
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
325
|
-
const result = yield this.connector.getPostalCodeRetrieval(postcalCode, houseNo);
|
|
326
|
-
if (result.validationResult && result.validationResult.success) {
|
|
327
|
-
if (result.validationResult && result.validationResult.success) {
|
|
328
|
-
const outputParams = new GetPostalCodeRetrievalOutputParams();
|
|
329
|
-
outputParams.city = result.resultObject.city;
|
|
330
|
-
outputParams.street = result.resultObject.street;
|
|
331
|
-
outputParams.status = result.resultObject.status;
|
|
332
|
-
outputParams.netNumber = result.resultObject.netNumber;
|
|
333
|
-
return outputParams;
|
|
334
|
-
}
|
|
335
|
-
else {
|
|
336
|
-
this._handleExceptionFromResponse(result);
|
|
337
|
-
return null;
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
});
|
|
341
|
-
}
|
|
342
|
-
getCommissionCodes(languageCode) {
|
|
343
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
344
|
-
const result = yield this.connector.getCommissionCodes(languageCode);
|
|
345
|
-
if (result.validationResult && result.validationResult.success) {
|
|
346
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(CoDomainValue, result.resultObjects);
|
|
347
|
-
}
|
|
348
|
-
else {
|
|
349
|
-
this._handleExceptionFromResponse(result);
|
|
350
|
-
return [];
|
|
351
|
-
}
|
|
352
|
-
});
|
|
353
|
-
}
|
|
354
|
-
getInOutCollection(languageCode) {
|
|
355
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
356
|
-
const result = yield this.connector.getInOutCollection(languageCode);
|
|
357
|
-
if (result.validationResult && result.validationResult.success) {
|
|
358
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(CoDomainValue, result.resultObjects);
|
|
359
|
-
}
|
|
360
|
-
else {
|
|
361
|
-
this._handleExceptionFromResponse(result);
|
|
362
|
-
return [];
|
|
363
|
-
}
|
|
364
|
-
});
|
|
365
|
-
}
|
|
366
|
-
getTransactionArticleWarehouses(goodId) {
|
|
367
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
368
|
-
return new Promise((resolve, reject) => {
|
|
369
|
-
return this.connector.getTransactionArticleWarehouses(goodId).then((result) => {
|
|
370
|
-
if (result.validationResult && result.validationResult.success) {
|
|
371
|
-
resolve(result.resultObjects);
|
|
372
|
-
}
|
|
373
|
-
else {
|
|
374
|
-
this._handleExceptionFromResponse(result);
|
|
375
|
-
reject([]);
|
|
376
|
-
}
|
|
377
|
-
});
|
|
378
|
-
});
|
|
379
|
-
});
|
|
380
|
-
}
|
|
381
|
-
getTextTypes(languageCode) {
|
|
382
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
383
|
-
const result = yield this.connector.getTextTypes(languageCode);
|
|
384
|
-
if (result.validationResult && result.validationResult.success) {
|
|
385
|
-
const texts = this._boFactory.makeBOArrayFromRawBackendDataArray(CoDomainValue, result.resultObjects);
|
|
386
|
-
texts.sort((a, b) => a.sequence > b.sequence ? 1 : -1);
|
|
387
|
-
return texts;
|
|
388
|
-
}
|
|
389
|
-
else {
|
|
390
|
-
this._handleExceptionFromResponse(result);
|
|
391
|
-
return [];
|
|
392
|
-
}
|
|
393
|
-
});
|
|
394
|
-
}
|
|
395
|
-
getStandardTexts(languageCode) {
|
|
396
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
397
|
-
const result = yield this.connector.getStandardTexts(languageCode);
|
|
398
|
-
if (result.validationResult && result.validationResult.success) {
|
|
399
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(StandardText, result.resultObject);
|
|
400
|
-
}
|
|
401
|
-
else {
|
|
402
|
-
this._handleExceptionFromResponse(result);
|
|
403
|
-
return [];
|
|
404
|
-
}
|
|
405
|
-
});
|
|
406
|
-
}
|
|
407
|
-
getSalesPersons(date) {
|
|
408
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
409
|
-
const result = yield this.connector.getSalesPersons(date);
|
|
410
|
-
if (result.validationResult && result.validationResult.success) {
|
|
411
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(SalesPerson, result.resultObjects);
|
|
412
|
-
}
|
|
413
|
-
else {
|
|
414
|
-
this._handleExceptionFromResponse(result);
|
|
415
|
-
return [];
|
|
416
|
-
}
|
|
417
|
-
});
|
|
418
|
-
}
|
|
419
|
-
getTags(category) {
|
|
420
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
421
|
-
const result = yield this.connector.getTags(category);
|
|
422
|
-
if (result.validationResult && result.validationResult.success) {
|
|
423
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(Tag, result.resultObjects);
|
|
424
|
-
}
|
|
425
|
-
else {
|
|
426
|
-
this._handleExceptionFromResponse(result);
|
|
427
|
-
return [];
|
|
428
|
-
}
|
|
429
|
-
});
|
|
430
|
-
}
|
|
431
|
-
getOnHoldCodes() {
|
|
432
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
433
|
-
const result = yield this.connector.getOnHoldCodes();
|
|
434
|
-
if (result.validationResult && result.validationResult.success) {
|
|
435
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(OnHoldCode, result.resultObjects);
|
|
436
|
-
}
|
|
437
|
-
else {
|
|
438
|
-
this._handleExceptionFromResponse(result);
|
|
439
|
-
return [];
|
|
440
|
-
}
|
|
441
|
-
});
|
|
442
|
-
}
|
|
443
|
-
getWarehouses(branchNr) {
|
|
444
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
445
|
-
const result = yield this.connector.getWarehouses(branchNr);
|
|
446
|
-
if (result.validationResult && result.validationResult.success) {
|
|
447
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(Warehouse, result.resultObjects);
|
|
448
|
-
}
|
|
449
|
-
else {
|
|
450
|
-
this._handleExceptionFromResponse(result);
|
|
451
|
-
return [];
|
|
452
|
-
}
|
|
453
|
-
});
|
|
454
|
-
}
|
|
455
|
-
getHistoricStateValues() {
|
|
456
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
457
|
-
const result = yield this.connector.getHistoricStateValues();
|
|
458
|
-
if (result.validationResult && result.validationResult.success) {
|
|
459
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(CodeDescription, result.resultObjects);
|
|
460
|
-
}
|
|
461
|
-
else {
|
|
462
|
-
this._handleExceptionFromResponse(result);
|
|
463
|
-
return [];
|
|
464
|
-
}
|
|
465
|
-
});
|
|
466
|
-
}
|
|
467
|
-
getPaymentMethods() {
|
|
468
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
469
|
-
const result = yield this.connector.getPaymentMethodsForSalesOrder();
|
|
470
|
-
if (result.validationResult && result.validationResult.success) {
|
|
471
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(PaymentMethod, result.resultObject);
|
|
472
|
-
}
|
|
473
|
-
else {
|
|
474
|
-
this._handleExceptionFromResponse(result);
|
|
475
|
-
return [];
|
|
476
|
-
}
|
|
477
|
-
});
|
|
478
|
-
}
|
|
479
|
-
commit() {
|
|
480
|
-
return this.connector.commit();
|
|
481
|
-
}
|
|
482
|
-
createTransaction(kind, branchNr) {
|
|
483
|
-
return new Promise((resolve, reject) => {
|
|
484
|
-
return this.connector.createTransaction(kind, branchNr).then((result) => {
|
|
485
|
-
if (result.validationResult && result.validationResult.success) {
|
|
486
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
487
|
-
}
|
|
488
|
-
else {
|
|
489
|
-
this._handleExceptionFromResponse(result);
|
|
490
|
-
reject(null);
|
|
491
|
-
}
|
|
492
|
-
});
|
|
493
|
-
});
|
|
494
|
-
}
|
|
495
|
-
createSalesOrder(request) {
|
|
496
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
497
|
-
return new Promise((resolve, reject) => {
|
|
498
|
-
return this.connector.createSalesOrder(request).then((result) => {
|
|
499
|
-
if (result.validationResult && result.validationResult.success) {
|
|
500
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
501
|
-
}
|
|
502
|
-
else {
|
|
503
|
-
this._handleExceptionFromResponse(result);
|
|
504
|
-
reject(null);
|
|
505
|
-
}
|
|
506
|
-
});
|
|
507
|
-
});
|
|
508
|
-
});
|
|
509
|
-
}
|
|
510
|
-
createCashRegisterOrder(request) {
|
|
511
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
512
|
-
return new Promise((resolve, reject) => {
|
|
513
|
-
return this.connector.createCashRegisterOrder(request).then((result) => {
|
|
514
|
-
if (result.validationResult && result.validationResult.success) {
|
|
515
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
516
|
-
}
|
|
517
|
-
else {
|
|
518
|
-
this._handleExceptionFromResponse(result);
|
|
519
|
-
reject(null);
|
|
520
|
-
}
|
|
521
|
-
});
|
|
522
|
-
});
|
|
523
|
-
});
|
|
524
|
-
}
|
|
525
|
-
createPurchaseOrder(request) {
|
|
526
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
527
|
-
return new Promise((resolve, reject) => {
|
|
528
|
-
return this.connector.createPurchaseOrder(request).then((result) => {
|
|
529
|
-
if (result.validationResult && result.validationResult.success) {
|
|
530
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
531
|
-
}
|
|
532
|
-
else {
|
|
533
|
-
this._handleExceptionFromResponse(result);
|
|
534
|
-
reject(null);
|
|
535
|
-
}
|
|
536
|
-
});
|
|
537
|
-
});
|
|
538
|
-
});
|
|
539
|
-
}
|
|
540
|
-
createServiceOrder(request) {
|
|
541
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
542
|
-
return new Promise((resolve, reject) => {
|
|
543
|
-
return this.connector.createServiceOrder(request).then((result) => {
|
|
544
|
-
if (result.validationResult && result.validationResult.success) {
|
|
545
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
546
|
-
}
|
|
547
|
-
else {
|
|
548
|
-
this._handleExceptionFromResponse(result);
|
|
549
|
-
reject(null);
|
|
550
|
-
}
|
|
551
|
-
});
|
|
552
|
-
});
|
|
553
|
-
});
|
|
554
|
-
}
|
|
555
|
-
createSalesQuotation(request) {
|
|
556
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
557
|
-
return new Promise((resolve, reject) => {
|
|
558
|
-
return this.connector.createSalesQuotation(request).then((result) => {
|
|
559
|
-
if (result.validationResult && result.validationResult.success) {
|
|
560
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
561
|
-
}
|
|
562
|
-
else {
|
|
563
|
-
this._handleExceptionFromResponse(result);
|
|
564
|
-
reject(null);
|
|
565
|
-
}
|
|
566
|
-
});
|
|
567
|
-
});
|
|
568
|
-
});
|
|
569
|
-
}
|
|
570
|
-
saveTransaction(uuid) {
|
|
571
|
-
return new Promise((resolve, reject) => {
|
|
572
|
-
return this.connector.saveTransaction(uuid).then((result) => {
|
|
573
|
-
if (result.validationResult && result.validationResult.success) {
|
|
574
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
575
|
-
}
|
|
576
|
-
else {
|
|
577
|
-
this._handleExceptionFromResponse(result);
|
|
578
|
-
reject(null);
|
|
579
|
-
}
|
|
580
|
-
});
|
|
581
|
-
});
|
|
582
|
-
}
|
|
583
|
-
setRelationByUser(uuid, username, password) {
|
|
584
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
585
|
-
return new Promise((resolve, reject) => {
|
|
586
|
-
return this.connector.setRelationByUser(uuid, username, password).then((result) => {
|
|
587
|
-
if (result.validationResult && result.validationResult.success) {
|
|
588
|
-
resolve(result.validationResult.success);
|
|
589
|
-
}
|
|
590
|
-
else {
|
|
591
|
-
this._handleExceptionFromResponse(result);
|
|
592
|
-
reject(false);
|
|
593
|
-
}
|
|
594
|
-
});
|
|
595
|
-
});
|
|
596
|
-
});
|
|
597
|
-
}
|
|
598
|
-
resolvePendingHeaderReason(pendingHeaderValues) {
|
|
599
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
600
|
-
return new Promise((resolve, reject) => {
|
|
601
|
-
return this.connector.resolvePendingHeaderReason(pendingHeaderValues).then((result) => {
|
|
602
|
-
if (result.validationResult && result.validationResult.success) {
|
|
603
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
604
|
-
}
|
|
605
|
-
else {
|
|
606
|
-
this._handleExceptionFromResponse(result);
|
|
607
|
-
reject(null);
|
|
608
|
-
}
|
|
609
|
-
});
|
|
610
|
-
});
|
|
611
|
-
});
|
|
612
|
-
}
|
|
613
|
-
resolvePendingLineReason(pendingLineValues) {
|
|
614
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
615
|
-
return new Promise((resolve, reject) => {
|
|
616
|
-
return this.connector.resolvePendingLineReason(pendingLineValues).then((result) => {
|
|
617
|
-
if (result.validationResult && result.validationResult.success) {
|
|
618
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
619
|
-
}
|
|
620
|
-
else {
|
|
621
|
-
this._handleExceptionFromResponse(result);
|
|
622
|
-
reject(null);
|
|
623
|
-
}
|
|
624
|
-
});
|
|
625
|
-
});
|
|
626
|
-
});
|
|
627
|
-
}
|
|
628
|
-
addTransactionLine(uuid, articleLine, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr) {
|
|
629
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
630
|
-
return new Promise((resolve, reject) => {
|
|
631
|
-
return this.connector.addTransactionLine(uuid, articleLine, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr).then((result) => {
|
|
632
|
-
if (result.validationResult && result.validationResult.success) {
|
|
633
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
634
|
-
}
|
|
635
|
-
else {
|
|
636
|
-
this._handleExceptionFromResponse(result);
|
|
637
|
-
reject(null);
|
|
638
|
-
}
|
|
639
|
-
});
|
|
640
|
-
});
|
|
641
|
-
});
|
|
642
|
-
}
|
|
643
|
-
addTextLineToTransaction(uuid, showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr) {
|
|
644
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
645
|
-
return new Promise((resolve, reject) => {
|
|
646
|
-
return this.connector.addTextLineToTransaction(uuid, showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr).then((result) => {
|
|
647
|
-
if (result.validationResult && result.validationResult.success) {
|
|
648
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
649
|
-
}
|
|
650
|
-
else {
|
|
651
|
-
this._handleExceptionFromResponse(result);
|
|
652
|
-
reject(null);
|
|
653
|
-
}
|
|
654
|
-
});
|
|
655
|
-
});
|
|
656
|
-
});
|
|
657
|
-
}
|
|
658
|
-
addRelationToTransaction(uuid, relationId) {
|
|
659
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
660
|
-
return new Promise((resolve, reject) => {
|
|
661
|
-
return this.connector.addRelationToTransaction(uuid, relationId).then((result) => {
|
|
662
|
-
if (result.validationResult && result.validationResult.success) {
|
|
663
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
664
|
-
}
|
|
665
|
-
else {
|
|
666
|
-
this._handleExceptionFromResponse(result);
|
|
667
|
-
reject(null);
|
|
668
|
-
}
|
|
669
|
-
});
|
|
670
|
-
});
|
|
671
|
-
});
|
|
672
|
-
}
|
|
673
|
-
setTransactionDeliveryOptions(transactionDeliveryOptionsRequest) {
|
|
674
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
675
|
-
return new Promise((resolve, reject) => {
|
|
676
|
-
return this.connector.setTransactionDeliveryOptions(transactionDeliveryOptionsRequest).then((result) => {
|
|
677
|
-
if (result.validationResult && result.validationResult.success) {
|
|
678
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
679
|
-
}
|
|
680
|
-
else {
|
|
681
|
-
this._handleExceptionFromResponse(result);
|
|
682
|
-
reject(null);
|
|
683
|
-
}
|
|
684
|
-
});
|
|
685
|
-
});
|
|
686
|
-
});
|
|
687
|
-
}
|
|
688
|
-
changeLineSequence(uuid, lineUuid, aboveLineNr, belowLineNr) {
|
|
689
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
690
|
-
return new Promise((resolve, reject) => {
|
|
691
|
-
const request = {
|
|
692
|
-
transactionUuid: uuid,
|
|
693
|
-
lineUuid: lineUuid,
|
|
694
|
-
aboveLineNr: aboveLineNr,
|
|
695
|
-
belowLineNr: belowLineNr
|
|
696
|
-
};
|
|
697
|
-
return this.connector.changeLineSequence(request).then((result) => {
|
|
698
|
-
if (result.validationResult && result.validationResult.success) {
|
|
699
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
700
|
-
}
|
|
701
|
-
else {
|
|
702
|
-
this._handleExceptionFromResponse(result);
|
|
703
|
-
reject(null);
|
|
704
|
-
}
|
|
705
|
-
});
|
|
706
|
-
});
|
|
707
|
-
});
|
|
708
|
-
}
|
|
709
|
-
cancelAddTransactionLine(lineUuid) {
|
|
710
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
711
|
-
return new Promise((resolve, reject) => {
|
|
712
|
-
return this.connector.cancelAddTransactionLine(lineUuid).then((result) => {
|
|
713
|
-
if (result.validationResult && result.validationResult.success) {
|
|
714
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
715
|
-
}
|
|
716
|
-
else {
|
|
717
|
-
this._handleExceptionFromResponse(result);
|
|
718
|
-
reject(null);
|
|
719
|
-
}
|
|
720
|
-
});
|
|
721
|
-
});
|
|
722
|
-
});
|
|
723
|
-
}
|
|
724
|
-
deleteTransactionLine(uuid, lineUuid) {
|
|
725
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
726
|
-
return new Promise((resolve, reject) => {
|
|
727
|
-
return this.connector.deleteTransactionLine(uuid, lineUuid).then((result) => {
|
|
728
|
-
if (result.validationResult && result.validationResult.success) {
|
|
729
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
730
|
-
}
|
|
731
|
-
else {
|
|
732
|
-
this._handleExceptionFromResponse(result);
|
|
733
|
-
reject(null);
|
|
734
|
-
}
|
|
735
|
-
});
|
|
736
|
-
});
|
|
737
|
-
});
|
|
738
|
-
}
|
|
739
|
-
changeTransactionLineQuantity(uuid, lineUuid, newQuantity) {
|
|
740
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
741
|
-
return new Promise((resolve, reject) => {
|
|
742
|
-
const request = {
|
|
743
|
-
transactionUuid: uuid,
|
|
744
|
-
lineUuid: lineUuid,
|
|
745
|
-
newQuantity: newQuantity
|
|
746
|
-
};
|
|
747
|
-
return this.connector.changeTransactionLineQuantity(request).then((result) => {
|
|
748
|
-
if (result.validationResult && result.validationResult.success) {
|
|
749
|
-
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
750
|
-
}
|
|
751
|
-
else {
|
|
752
|
-
this._handleExceptionFromResponse(result);
|
|
753
|
-
reject(null);
|
|
754
|
-
}
|
|
755
|
-
});
|
|
756
|
-
});
|
|
757
|
-
});
|
|
758
|
-
}
|
|
759
|
-
changeTransactionLineCommissionCode(uuid, lineUuid, code) {
|
|
760
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
761
|
-
const request = {
|
|
762
|
-
transactionUuid: uuid,
|
|
763
|
-
lineUuid: lineUuid,
|
|
764
|
-
newCommissionCode: code
|
|
765
|
-
};
|
|
766
|
-
const response = yield this.connector.changeTransactionLineCommissionCode(request);
|
|
767
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
768
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
769
|
-
}
|
|
770
|
-
else {
|
|
771
|
-
this._handleExceptionFromResponse(response);
|
|
772
|
-
return null;
|
|
773
|
-
}
|
|
774
|
-
});
|
|
775
|
-
}
|
|
776
|
-
changeTransactionLineSupplier(uuid, lineUuid, id) {
|
|
777
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
778
|
-
const request = {
|
|
779
|
-
transactionUuid: uuid,
|
|
780
|
-
lineUuid: lineUuid,
|
|
781
|
-
newSupplierId: id
|
|
782
|
-
};
|
|
783
|
-
const response = yield this.connector.changeTransactionLineSupplier(request);
|
|
784
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
785
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
786
|
-
}
|
|
787
|
-
else {
|
|
788
|
-
this._handleExceptionFromResponse(response);
|
|
789
|
-
return null;
|
|
790
|
-
}
|
|
791
|
-
});
|
|
792
|
-
}
|
|
793
|
-
changeTransactionLineWarehouse(uuid, lineUuid, warehouseNumber) {
|
|
794
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
795
|
-
const request = {
|
|
796
|
-
transactionUuid: uuid,
|
|
797
|
-
lineUuid: lineUuid,
|
|
798
|
-
newWarehouseNumber: warehouseNumber
|
|
799
|
-
};
|
|
800
|
-
const response = yield this.connector.changeTransactionLineWarehouse(request);
|
|
801
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
802
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
803
|
-
}
|
|
804
|
-
else {
|
|
805
|
-
this._handleExceptionFromResponse(response);
|
|
806
|
-
return null;
|
|
807
|
-
}
|
|
808
|
-
});
|
|
809
|
-
}
|
|
810
|
-
changeTransactionLinePrice(uuid, lineUuid, price) {
|
|
811
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
812
|
-
const request = {
|
|
813
|
-
transactionUuid: uuid,
|
|
814
|
-
lineUuid: lineUuid,
|
|
815
|
-
newPrice: price
|
|
816
|
-
};
|
|
817
|
-
const response = yield this.connector.changeTransactionLinePrice(request);
|
|
818
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
819
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
820
|
-
}
|
|
821
|
-
else {
|
|
822
|
-
this._handleExceptionFromResponse(response);
|
|
823
|
-
return null;
|
|
824
|
-
}
|
|
825
|
-
});
|
|
826
|
-
}
|
|
827
|
-
changeTransactionLinePriceList(uuid, lineUuid, priceList) {
|
|
828
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
829
|
-
const request = {
|
|
830
|
-
transactionUuid: uuid,
|
|
831
|
-
lineUuid: lineUuid,
|
|
832
|
-
newPriceListCode: priceList
|
|
833
|
-
};
|
|
834
|
-
const response = yield this.connector.changeTransactionLinePriceList(request);
|
|
835
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
836
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
837
|
-
}
|
|
838
|
-
else {
|
|
839
|
-
this._handleExceptionFromResponse(response);
|
|
840
|
-
return null;
|
|
841
|
-
}
|
|
842
|
-
});
|
|
843
|
-
}
|
|
844
|
-
changeTransactionLineVat(uuid, lineUuid, id) {
|
|
845
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
846
|
-
const request = {
|
|
847
|
-
transactionUuid: uuid,
|
|
848
|
-
lineUuid: lineUuid,
|
|
849
|
-
newVatId: id
|
|
850
|
-
};
|
|
851
|
-
const response = yield this.connector.changeTransactionLineVat(request);
|
|
852
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
853
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
854
|
-
}
|
|
855
|
-
else {
|
|
856
|
-
this._handleExceptionFromResponse(response);
|
|
857
|
-
return null;
|
|
858
|
-
}
|
|
859
|
-
});
|
|
860
|
-
}
|
|
861
|
-
changeTransactionLineLineDiscount(uuid, lineUuid, type, discount, reason, code) {
|
|
862
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
863
|
-
const request = {
|
|
864
|
-
transactionUuid: uuid,
|
|
865
|
-
lineUuid: lineUuid,
|
|
866
|
-
discountType: type,
|
|
867
|
-
newDiscount: discount,
|
|
868
|
-
newDiscountReason: reason,
|
|
869
|
-
newDiscountCode: code
|
|
870
|
-
};
|
|
871
|
-
const response = yield this.connector.changeTransactionLineDiscount(request);
|
|
872
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
873
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
874
|
-
}
|
|
875
|
-
else {
|
|
876
|
-
this._handleExceptionFromResponse(response);
|
|
877
|
-
return null;
|
|
878
|
-
}
|
|
879
|
-
});
|
|
880
|
-
}
|
|
881
|
-
changeTransactionLineDeliveryMethod(uuid, lineUuid, method) {
|
|
882
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
883
|
-
const request = {
|
|
884
|
-
transactionUuid: uuid,
|
|
885
|
-
lineUuid: lineUuid,
|
|
886
|
-
newDeliveryMethodCode: method
|
|
887
|
-
};
|
|
888
|
-
const response = yield this.connector.changeTransactionLineDeliveryMethod(request);
|
|
889
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
890
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
891
|
-
}
|
|
892
|
-
else {
|
|
893
|
-
this._handleExceptionFromResponse(response);
|
|
894
|
-
return null;
|
|
895
|
-
}
|
|
896
|
-
});
|
|
897
|
-
}
|
|
898
|
-
changeTransactionLineDeliveryDate(uuid, lineUuid, date) {
|
|
899
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
900
|
-
const request = {
|
|
901
|
-
transactionUuid: uuid,
|
|
902
|
-
lineUuid: lineUuid,
|
|
903
|
-
newDeliveryDate: date
|
|
904
|
-
};
|
|
905
|
-
const response = yield this.connector.changeTransactionLineDeliveryDate(request);
|
|
906
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
907
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
908
|
-
}
|
|
909
|
-
else {
|
|
910
|
-
this._handleExceptionFromResponse(response);
|
|
911
|
-
return null;
|
|
912
|
-
}
|
|
913
|
-
});
|
|
914
|
-
}
|
|
915
|
-
changeTransactionLineAssemblyTime(uuid, lineUuid, time) {
|
|
916
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
917
|
-
const request = {
|
|
918
|
-
transactionUuid: uuid,
|
|
919
|
-
lineUuid: lineUuid,
|
|
920
|
-
newAssemblyTime: time
|
|
921
|
-
};
|
|
922
|
-
const response = yield this.connector.changeTransactionLineAssemblyTime(request);
|
|
923
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
924
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
925
|
-
}
|
|
926
|
-
else {
|
|
927
|
-
this._handleExceptionFromResponse(response);
|
|
928
|
-
return null;
|
|
929
|
-
}
|
|
930
|
-
});
|
|
931
|
-
}
|
|
932
|
-
changeTransactionLineEditTime(uuid, lineUuid, time) {
|
|
933
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
934
|
-
const request = {
|
|
935
|
-
transactionUuid: uuid,
|
|
936
|
-
lineUuid: lineUuid,
|
|
937
|
-
newEditTime: time
|
|
938
|
-
};
|
|
939
|
-
const response = yield this.connector.changeTransactionLineEditTime(request);
|
|
940
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
941
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
942
|
-
}
|
|
943
|
-
else {
|
|
944
|
-
this._handleExceptionFromResponse(response);
|
|
945
|
-
return null;
|
|
946
|
-
}
|
|
947
|
-
});
|
|
948
|
-
}
|
|
949
|
-
changeTransactionLineSupplierArticleNumber(uuid, lineUuid, articleNumber) {
|
|
950
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
951
|
-
const request = {
|
|
952
|
-
transactionUuid: uuid,
|
|
953
|
-
lineUuid: lineUuid,
|
|
954
|
-
newSupplierArticleNumber: articleNumber
|
|
955
|
-
};
|
|
956
|
-
const response = yield this.connector.changeTransactionLineSupplierArticleNumber(request);
|
|
957
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
958
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
959
|
-
}
|
|
960
|
-
else {
|
|
961
|
-
this._handleExceptionFromResponse(response);
|
|
962
|
-
return null;
|
|
963
|
-
}
|
|
964
|
-
});
|
|
965
|
-
}
|
|
966
|
-
changeTransactionLineReference(uuid, lineUuid, reference) {
|
|
967
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
968
|
-
const request = {
|
|
969
|
-
transactionUuid: uuid,
|
|
970
|
-
lineUuid: lineUuid,
|
|
971
|
-
newReference: reference
|
|
972
|
-
};
|
|
973
|
-
const response = yield this.connector.changeTransactionLineReference(request);
|
|
974
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
975
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
976
|
-
}
|
|
977
|
-
else {
|
|
978
|
-
this._handleExceptionFromResponse(response);
|
|
979
|
-
return null;
|
|
980
|
-
}
|
|
981
|
-
});
|
|
982
|
-
}
|
|
983
|
-
changeTransactionLineGoodDescription(uuid, lineUuid, goodDescription) {
|
|
984
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
985
|
-
const request = {
|
|
986
|
-
transactionUuid: uuid,
|
|
987
|
-
lineUuid: lineUuid,
|
|
988
|
-
newGoodDescription: goodDescription
|
|
989
|
-
};
|
|
990
|
-
const response = yield this.connector.changeTransactionLineGoodDescription(request);
|
|
991
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
992
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
993
|
-
}
|
|
994
|
-
else {
|
|
995
|
-
this._handleExceptionFromResponse(response);
|
|
996
|
-
return null;
|
|
997
|
-
}
|
|
998
|
-
});
|
|
999
|
-
}
|
|
1000
|
-
changeHeaderTransactionDefinitive(uuid, definitive) {
|
|
1001
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1002
|
-
const request = {
|
|
1003
|
-
transactionUuid: uuid,
|
|
1004
|
-
newTransactionDefinitive: definitive
|
|
1005
|
-
};
|
|
1006
|
-
const response = yield this.connector.changeHeaderTransactionDefinitive(request);
|
|
1007
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1008
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1009
|
-
}
|
|
1010
|
-
else {
|
|
1011
|
-
this._handleExceptionFromResponse(response);
|
|
1012
|
-
return null;
|
|
1013
|
-
}
|
|
1014
|
-
});
|
|
1015
|
-
}
|
|
1016
|
-
changeHeaderDeliveryAddress(uuid, newNawNr) {
|
|
1017
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1018
|
-
const request = {
|
|
1019
|
-
transactionUuid: uuid,
|
|
1020
|
-
newTransactionAddressNawNr: newNawNr
|
|
1021
|
-
};
|
|
1022
|
-
const response = yield this.connector.changeHeaderTransactionAddress(request);
|
|
1023
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1024
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1025
|
-
}
|
|
1026
|
-
else {
|
|
1027
|
-
this._handleExceptionFromResponse(response);
|
|
1028
|
-
return null;
|
|
1029
|
-
}
|
|
1030
|
-
});
|
|
1031
|
-
}
|
|
1032
|
-
changeHeaderInvoiceAddress(uuid, newNawNr) {
|
|
1033
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1034
|
-
const request = {
|
|
1035
|
-
transactionUuid: uuid,
|
|
1036
|
-
newInvoiceAddressNawNr: newNawNr
|
|
1037
|
-
};
|
|
1038
|
-
const response = yield this.connector.changeHeaderInvoiceAddress(request);
|
|
1039
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1040
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1041
|
-
}
|
|
1042
|
-
else {
|
|
1043
|
-
this._handleExceptionFromResponse(response);
|
|
1044
|
-
return null;
|
|
1045
|
-
}
|
|
1046
|
-
});
|
|
1047
|
-
}
|
|
1048
|
-
changeHeaderTransactionDeliveryDate(uuid, date) {
|
|
1049
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1050
|
-
const request = {
|
|
1051
|
-
transactionUuid: uuid,
|
|
1052
|
-
newDeliveryDate: date
|
|
1053
|
-
};
|
|
1054
|
-
const response = yield this.connector.changeHeaderDeliveryDate(request);
|
|
1055
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1056
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1057
|
-
}
|
|
1058
|
-
else {
|
|
1059
|
-
this._handleExceptionFromResponse(response);
|
|
1060
|
-
return null;
|
|
1061
|
-
}
|
|
1062
|
-
});
|
|
1063
|
-
}
|
|
1064
|
-
changeHeaderTransactionDeliveryDateDefinitive(uuid, definitive) {
|
|
1065
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1066
|
-
const request = {
|
|
1067
|
-
transactionUuid: uuid,
|
|
1068
|
-
newDeliveryDateDefinitive: definitive
|
|
1069
|
-
};
|
|
1070
|
-
const response = yield this.connector.changeHeaderDeliveryDateDefinitive(request);
|
|
1071
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1072
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1073
|
-
}
|
|
1074
|
-
else {
|
|
1075
|
-
this._handleExceptionFromResponse(response);
|
|
1076
|
-
return null;
|
|
1077
|
-
}
|
|
1078
|
-
});
|
|
1079
|
-
}
|
|
1080
|
-
changeHeaderTransactionRemark(uuid, remark) {
|
|
1081
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1082
|
-
const request = {
|
|
1083
|
-
transactionUuid: uuid,
|
|
1084
|
-
newRemarks: remark
|
|
1085
|
-
};
|
|
1086
|
-
const response = yield this.connector.changeHeaderRemarks(request);
|
|
1087
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1088
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1089
|
-
}
|
|
1090
|
-
else {
|
|
1091
|
-
this._handleExceptionFromResponse(response);
|
|
1092
|
-
return null;
|
|
1093
|
-
}
|
|
1094
|
-
});
|
|
1095
|
-
}
|
|
1096
|
-
changeHeaderTransactionReference(uuid, reference) {
|
|
1097
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1098
|
-
const request = {
|
|
1099
|
-
transactionUuid: uuid,
|
|
1100
|
-
newOwnReference: reference
|
|
1101
|
-
};
|
|
1102
|
-
const response = yield this.connector.changeHeaderOwnReference(request);
|
|
1103
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1104
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1105
|
-
}
|
|
1106
|
-
else {
|
|
1107
|
-
this._handleExceptionFromResponse(response);
|
|
1108
|
-
return null;
|
|
1109
|
-
}
|
|
1110
|
-
});
|
|
1111
|
-
}
|
|
1112
|
-
changeHeaderTransactionRelationReference(uuid, reference) {
|
|
1113
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1114
|
-
const request = {
|
|
1115
|
-
transactionUuid: uuid,
|
|
1116
|
-
newRelationReference: reference
|
|
1117
|
-
};
|
|
1118
|
-
const response = yield this.connector.changeHeaderRelationReference(request);
|
|
1119
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1120
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1121
|
-
}
|
|
1122
|
-
else {
|
|
1123
|
-
this._handleExceptionFromResponse(response);
|
|
1124
|
-
return null;
|
|
1125
|
-
}
|
|
1126
|
-
});
|
|
1127
|
-
}
|
|
1128
|
-
changeHeaderToDownPayPercentage(uuid, amount) {
|
|
1129
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1130
|
-
const request = {
|
|
1131
|
-
transactionUuid: uuid,
|
|
1132
|
-
newToDownPayPercentage: amount
|
|
1133
|
-
};
|
|
1134
|
-
const response = yield this.connector.changeHeaderToDownPayPercentage(request);
|
|
1135
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1136
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1137
|
-
}
|
|
1138
|
-
else {
|
|
1139
|
-
this._handleExceptionFromResponse(response);
|
|
1140
|
-
return null;
|
|
1141
|
-
}
|
|
1142
|
-
});
|
|
1143
|
-
}
|
|
1144
|
-
changeHeaderToDownPayAmount(uuid, amount) {
|
|
1145
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1146
|
-
const request = {
|
|
1147
|
-
transactionUuid: uuid,
|
|
1148
|
-
newToDownPayAmount: amount
|
|
1149
|
-
};
|
|
1150
|
-
const response = yield this.connector.changeHeaderToDownPayAmount(request);
|
|
1151
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1152
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1153
|
-
}
|
|
1154
|
-
else {
|
|
1155
|
-
this._handleExceptionFromResponse(response);
|
|
1156
|
-
return null;
|
|
1157
|
-
}
|
|
1158
|
-
});
|
|
1159
|
-
}
|
|
1160
|
-
changeHeaderTransactionPreferredDeliveryDate(uuid, date) {
|
|
1161
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1162
|
-
const request = {
|
|
1163
|
-
transactionUuid: uuid,
|
|
1164
|
-
newPreferredDeliveryDate: date,
|
|
1165
|
-
newPreferredDeliveryDateOption: ""
|
|
1166
|
-
};
|
|
1167
|
-
const response = yield this.connector.changeHeaderPreferredDeliveryDate(request);
|
|
1168
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1169
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1170
|
-
}
|
|
1171
|
-
else {
|
|
1172
|
-
this._handleExceptionFromResponse(response);
|
|
1173
|
-
return null;
|
|
1174
|
-
}
|
|
1175
|
-
});
|
|
1176
|
-
}
|
|
1177
|
-
changeHeaderTransactionDeliveryMethod(uuid, method) {
|
|
1178
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1179
|
-
const request = {
|
|
1180
|
-
transactionUuid: uuid,
|
|
1181
|
-
newDeliveryMethodCode: method
|
|
1182
|
-
};
|
|
1183
|
-
const response = yield this.connector.changeHeaderDeliveryMethod(request);
|
|
1184
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1185
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1186
|
-
}
|
|
1187
|
-
else {
|
|
1188
|
-
this._handleExceptionFromResponse(response);
|
|
1189
|
-
return null;
|
|
1190
|
-
}
|
|
1191
|
-
});
|
|
1192
|
-
}
|
|
1193
|
-
changeHeaderTransactionDeliveryOptions(uuid, options) {
|
|
1194
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1195
|
-
const request = {
|
|
1196
|
-
transactionUuid: uuid,
|
|
1197
|
-
newDeliveryOptions: options
|
|
1198
|
-
};
|
|
1199
|
-
const response = yield this.connector.changeHeaderDeliveryOptions(request);
|
|
1200
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1201
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1202
|
-
}
|
|
1203
|
-
else {
|
|
1204
|
-
this._handleExceptionFromResponse(response);
|
|
1205
|
-
return null;
|
|
1206
|
-
}
|
|
1207
|
-
});
|
|
1208
|
-
}
|
|
1209
|
-
changeHeaderTransactionPartialDelivery(uuid, allowPartial) {
|
|
1210
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1211
|
-
const request = {
|
|
1212
|
-
transactionUuid: uuid,
|
|
1213
|
-
newPartialDeliveryAllowed: allowPartial
|
|
1214
|
-
};
|
|
1215
|
-
const response = yield this.connector.changeHeaderPartialDeliveryAllowed(request);
|
|
1216
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1217
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1218
|
-
}
|
|
1219
|
-
else {
|
|
1220
|
-
this._handleExceptionFromResponse(response);
|
|
1221
|
-
return null;
|
|
1222
|
-
}
|
|
1223
|
-
});
|
|
1224
|
-
}
|
|
1225
|
-
changeHeaderTransactionBranch(uuid, branch) {
|
|
1226
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1227
|
-
const request = {
|
|
1228
|
-
transactionUuid: uuid,
|
|
1229
|
-
newBranchId: branch
|
|
1230
|
-
};
|
|
1231
|
-
const response = yield this.connector.changeHeaderBranch(request);
|
|
1232
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1233
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1234
|
-
}
|
|
1235
|
-
else {
|
|
1236
|
-
this._handleExceptionFromResponse(response);
|
|
1237
|
-
return null;
|
|
1238
|
-
}
|
|
1239
|
-
});
|
|
1240
|
-
}
|
|
1241
|
-
changeHeaderTransactionAdmCoordinator(uuid, relation) {
|
|
1242
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1243
|
-
const request = {
|
|
1244
|
-
transactionUuid: uuid,
|
|
1245
|
-
newAdmCoordinator: relation
|
|
1246
|
-
};
|
|
1247
|
-
const response = yield this.connector.changeHeaderAdmCoordinator(request);
|
|
1248
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1249
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1250
|
-
}
|
|
1251
|
-
else {
|
|
1252
|
-
this._handleExceptionFromResponse(response);
|
|
1253
|
-
return null;
|
|
1254
|
-
}
|
|
1255
|
-
});
|
|
1256
|
-
}
|
|
1257
|
-
changeHeaderTransactionMarketing(uuid, code) {
|
|
1258
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1259
|
-
const request = {
|
|
1260
|
-
transactionUuid: uuid,
|
|
1261
|
-
newMarketingCode: code
|
|
1262
|
-
};
|
|
1263
|
-
const response = yield this.connector.changeHeaderMarketingCode(request);
|
|
1264
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1265
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1266
|
-
}
|
|
1267
|
-
else {
|
|
1268
|
-
this._handleExceptionFromResponse(response);
|
|
1269
|
-
return null;
|
|
1270
|
-
}
|
|
1271
|
-
});
|
|
1272
|
-
}
|
|
1273
|
-
changeHeaderTransactionDiscount(uuid, type, amount) {
|
|
1274
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1275
|
-
const request = {
|
|
1276
|
-
transactionUuid: uuid,
|
|
1277
|
-
orderDiscountType: type,
|
|
1278
|
-
discountValue: amount
|
|
1279
|
-
};
|
|
1280
|
-
const response = yield this.connector.setTransactionDiscounts(request);
|
|
1281
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1282
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1283
|
-
}
|
|
1284
|
-
else {
|
|
1285
|
-
this._handleExceptionFromResponse(response);
|
|
1286
|
-
return null;
|
|
1287
|
-
}
|
|
1288
|
-
});
|
|
1289
|
-
}
|
|
1290
|
-
changeHeaderTransactionToDownPay(uuid, downPayment) {
|
|
1291
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1292
|
-
const request = {
|
|
1293
|
-
transactionUuid: uuid,
|
|
1294
|
-
newToDownPayAmount: downPayment
|
|
1295
|
-
};
|
|
1296
|
-
const response = yield this.connector.changeHeaderToDownPayAmount(request);
|
|
1297
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1298
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1299
|
-
}
|
|
1300
|
-
else {
|
|
1301
|
-
this._handleExceptionFromResponse(response);
|
|
1302
|
-
return null;
|
|
1303
|
-
}
|
|
1304
|
-
});
|
|
1305
|
-
}
|
|
1306
|
-
changeTransactionLineCollectionCode(uuid, lineUuid, code) {
|
|
1307
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1308
|
-
const request = {
|
|
1309
|
-
transactionUuid: uuid,
|
|
1310
|
-
lineUuid: lineUuid,
|
|
1311
|
-
newCollectionCode: code
|
|
1312
|
-
};
|
|
1313
|
-
const response = yield this.connector.changeTransactionLineCollectionCode(request);
|
|
1314
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1315
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1316
|
-
}
|
|
1317
|
-
else {
|
|
1318
|
-
this._handleExceptionFromResponse(response);
|
|
1319
|
-
return null;
|
|
1320
|
-
}
|
|
1321
|
-
});
|
|
1322
|
-
}
|
|
1323
|
-
createOutstandingEntry(uuid, amount) {
|
|
1324
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1325
|
-
const request = {
|
|
1326
|
-
transUUID: uuid,
|
|
1327
|
-
amount: amount
|
|
1328
|
-
};
|
|
1329
|
-
const response = yield this.connector.createOutstandingEntry(request);
|
|
1330
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1331
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1332
|
-
}
|
|
1333
|
-
else {
|
|
1334
|
-
this._handleExceptionFromResponse(response);
|
|
1335
|
-
return null;
|
|
1336
|
-
}
|
|
1337
|
-
});
|
|
1338
|
-
}
|
|
1339
|
-
registerSalesOrderPayment(uuid, amount, currencyId, paymentMethod, cashRegisterGroupId) {
|
|
1340
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1341
|
-
const request = {
|
|
1342
|
-
transUUID: uuid,
|
|
1343
|
-
amount: amount,
|
|
1344
|
-
currencyId: currencyId,
|
|
1345
|
-
paymentMethodCode: paymentMethod,
|
|
1346
|
-
cashRegisterGroupId: cashRegisterGroupId
|
|
1347
|
-
};
|
|
1348
|
-
const response = yield this.connector.registerSalesOrderPayment(request);
|
|
1349
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1350
|
-
return response;
|
|
1351
|
-
}
|
|
1352
|
-
else {
|
|
1353
|
-
this._handleExceptionFromResponse(response);
|
|
1354
|
-
return null;
|
|
1355
|
-
}
|
|
1356
|
-
});
|
|
1357
|
-
}
|
|
1358
|
-
createIonePaymentLinkAndQRCode(uuid, amount, paymentMethodCode) {
|
|
1359
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1360
|
-
const request = {
|
|
1361
|
-
transUUID: uuid,
|
|
1362
|
-
amount: amount,
|
|
1363
|
-
paymentMethodCode: paymentMethodCode
|
|
1364
|
-
};
|
|
1365
|
-
const response = yield this.connector.createIonePaymentLinkAndQRCode(request);
|
|
1366
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1367
|
-
return this._boFactory.makeWithRawBackendData(CreatePaymentLinkResult, response.resultObject);
|
|
1368
|
-
}
|
|
1369
|
-
else {
|
|
1370
|
-
this._handleExceptionFromResponse(response);
|
|
1371
|
-
return null;
|
|
1372
|
-
}
|
|
1373
|
-
});
|
|
1374
|
-
}
|
|
1375
|
-
getPaymentLinkStatus(paymentLinkUUID) {
|
|
1376
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1377
|
-
const response = yield this.connector.getPaymentLinkStatus(paymentLinkUUID);
|
|
1378
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1379
|
-
return this._boFactory.makeWithRawBackendData(PaymentLinkStatus, response.resultObject);
|
|
1380
|
-
}
|
|
1381
|
-
else {
|
|
1382
|
-
this._handleExceptionFromResponse(response);
|
|
1383
|
-
return null;
|
|
1384
|
-
}
|
|
1385
|
-
});
|
|
1386
|
-
}
|
|
1387
|
-
getDownPaymentInfo(uuid) {
|
|
1388
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1389
|
-
const response = yield this.connector.getDownPaymentInfo(uuid);
|
|
1390
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1391
|
-
return this._boFactory.makeWithRawBackendData(TransactionDownPaymentInfo, response.resultObject);
|
|
1392
|
-
}
|
|
1393
|
-
else {
|
|
1394
|
-
this._handleExceptionFromResponse(response);
|
|
1395
|
-
return null;
|
|
1396
|
-
}
|
|
1397
|
-
});
|
|
1398
|
-
}
|
|
1399
|
-
getGoodsReceiptStatus(transId, lineNr) {
|
|
1400
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1401
|
-
const response = yield this.connector.getGoodsReceiptStatus(transId, lineNr);
|
|
1402
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1403
|
-
return this._boFactory.makeWithRawBackendData(GoodsReceiptStatusWithHistory, response.resultObject);
|
|
1404
|
-
}
|
|
1405
|
-
else {
|
|
1406
|
-
this._handleExceptionFromResponse(response);
|
|
1407
|
-
return null;
|
|
1408
|
-
}
|
|
1409
|
-
});
|
|
1410
|
-
}
|
|
1411
|
-
getGoodsReceiptStatusWithHistory(transId, lineNr) {
|
|
1412
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1413
|
-
const response = yield this.connector.getGoodsReceiptStatusWithHistory(transId, lineNr);
|
|
1414
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1415
|
-
return this._boFactory.makeWithRawBackendData(GoodsReceiptStatusWithHistory, response.resultObject);
|
|
1416
|
-
}
|
|
1417
|
-
else {
|
|
1418
|
-
this._handleExceptionFromResponse(response);
|
|
1419
|
-
return null;
|
|
1420
|
-
}
|
|
1421
|
-
});
|
|
1422
|
-
}
|
|
1423
|
-
receiveGoodsForPurchaseOrder(request) {
|
|
1424
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1425
|
-
const response = yield this.connector.receiveGoodsForPurchaseOrder(request);
|
|
1426
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1427
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1428
|
-
}
|
|
1429
|
-
else {
|
|
1430
|
-
this._handleExceptionFromResponse(response);
|
|
1431
|
-
return null;
|
|
1432
|
-
}
|
|
1433
|
-
});
|
|
1434
|
-
}
|
|
1435
|
-
receiveGoodsForPurchaseOrderCorrection(request) {
|
|
1436
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1437
|
-
const response = yield this.connector.receiveGoodsForPurchaseOrderCorrection(request);
|
|
1438
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1439
|
-
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1440
|
-
}
|
|
1441
|
-
else {
|
|
1442
|
-
this._handleExceptionFromResponse(response);
|
|
1443
|
-
return null;
|
|
1444
|
-
}
|
|
1445
|
-
});
|
|
1446
|
-
}
|
|
1447
|
-
getPurchasePortalLines(request) {
|
|
1448
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1449
|
-
return new Promise((resolve, reject) => {
|
|
1450
|
-
return this.connector.getPurchasePortalLines(request).then((result) => {
|
|
1451
|
-
if (result.validationResult && result.validationResult.success) {
|
|
1452
|
-
if (result.resultObjects) {
|
|
1453
|
-
resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(PurchasePortalLine, result.resultObjects));
|
|
1454
|
-
}
|
|
1455
|
-
}
|
|
1456
|
-
else {
|
|
1457
|
-
this._handleExceptionFromResponse(result);
|
|
1458
|
-
reject(null);
|
|
1459
|
-
}
|
|
1460
|
-
});
|
|
1461
|
-
});
|
|
1462
|
-
});
|
|
1463
|
-
}
|
|
1464
|
-
updatePurchasePortalLines(purchasePortalLine) {
|
|
1465
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1466
|
-
const result = yield this.connector.updatePurchasePortalLines(purchasePortalLine);
|
|
1467
|
-
if (result && result.validationResult && result.validationResult.success) {
|
|
1468
|
-
yield this.commit();
|
|
1469
|
-
return null;
|
|
1470
|
-
}
|
|
1471
|
-
});
|
|
1472
|
-
}
|
|
1473
|
-
purchaseOrderConfirmation(purchaseOrderConfirmation) {
|
|
1474
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1475
|
-
const result = yield this.connector.getPurchaseOrderConfirmation(purchaseOrderConfirmation);
|
|
1476
|
-
if (result && result.validationResult && result.validationResult.success) {
|
|
1477
|
-
yield this.commit();
|
|
1478
|
-
return null;
|
|
1479
|
-
}
|
|
1480
|
-
});
|
|
1481
|
-
}
|
|
1482
|
-
lockPurchasePortalLines(transIdPurchase, lineId) {
|
|
1483
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1484
|
-
return new Promise((resolve, reject) => {
|
|
1485
|
-
return this.connector.lockPurchasePortalLines(transIdPurchase, lineId).then((result) => __awaiter(this, void 0, void 0, function* () {
|
|
1486
|
-
if (result.validationResult && result.validationResult.success) {
|
|
1487
|
-
resolve(true);
|
|
1488
|
-
}
|
|
1489
|
-
else {
|
|
1490
|
-
reject(result.validationMessagesAsString);
|
|
1491
|
-
}
|
|
1492
|
-
}));
|
|
1493
|
-
});
|
|
1494
|
-
});
|
|
1495
|
-
}
|
|
1496
|
-
getStockStickerTemplates(data) {
|
|
1497
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1498
|
-
return new Promise((resolve, reject) => {
|
|
1499
|
-
// @ts-ignore
|
|
1500
|
-
return this.sharedConnector.getStockStickerPrintLayouts(data).then((result) => {
|
|
1501
|
-
if (result.validationResult && result.validationResult.success) {
|
|
1502
|
-
if (result.resultObject) {
|
|
1503
|
-
resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockStickersPrintLayouts, result.resultObject));
|
|
1504
|
-
}
|
|
1505
|
-
}
|
|
1506
|
-
else {
|
|
1507
|
-
reject(result.validationMessagesAsString);
|
|
1508
|
-
}
|
|
1509
|
-
});
|
|
1510
|
-
});
|
|
1511
|
-
});
|
|
1512
|
-
}
|
|
1513
|
-
generateCommissionOrders(transId, onlyGenerateForDirectSellSuppliers) {
|
|
1514
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1515
|
-
return new Promise((resolve, reject) => {
|
|
1516
|
-
return this.connector.generateCommissionOrders(transId, onlyGenerateForDirectSellSuppliers).then((result) => __awaiter(this, void 0, void 0, function* () {
|
|
1517
|
-
if (result.validationResult && result.validationResult.success) {
|
|
1518
|
-
resolve(true);
|
|
1519
|
-
}
|
|
1520
|
-
else {
|
|
1521
|
-
reject(result.validationMessagesAsString);
|
|
1522
|
-
}
|
|
1523
|
-
}));
|
|
1524
|
-
});
|
|
1525
|
-
});
|
|
1526
|
-
}
|
|
1527
|
-
getDeliveryOrderStatus(transId, lineNr) {
|
|
1528
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1529
|
-
const response = yield this.connector.getDeliveryOrderStatus(transId, lineNr);
|
|
1530
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1531
|
-
return this._boFactory.makeWithRawBackendData(DeliveryOrderStatus, response.resultObject);
|
|
1532
|
-
}
|
|
1533
|
-
else {
|
|
1534
|
-
this._handleExceptionFromResponse(response);
|
|
1535
|
-
return null;
|
|
1536
|
-
}
|
|
1537
|
-
});
|
|
1538
|
-
}
|
|
1539
|
-
getAvailableStockGroupedByWLBSByTransIdLineNr(transId, lineNr) {
|
|
1540
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1541
|
-
const response = yield this.connector.getAvailableStockGroupedByWLBSByTransIdLineNr(transId, lineNr);
|
|
1542
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1543
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(AvailableStock, response.resultObject);
|
|
1544
|
-
}
|
|
1545
|
-
else {
|
|
1546
|
-
this._handleExceptionFromResponse(response);
|
|
1547
|
-
return null;
|
|
1548
|
-
}
|
|
1549
|
-
});
|
|
1550
|
-
}
|
|
1551
|
-
allocateGoodsForSalesOrder(request) {
|
|
1552
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1553
|
-
const response = yield this.connector.allocateGoodsForSalesOrder(request);
|
|
1554
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1555
|
-
return true;
|
|
1556
|
-
}
|
|
1557
|
-
else {
|
|
1558
|
-
this._handleExceptionFromResponse(response);
|
|
1559
|
-
return null;
|
|
1560
|
-
}
|
|
1561
|
-
});
|
|
1562
|
-
}
|
|
1563
|
-
allocateGoodsForSalesOrderCorrection(request) {
|
|
1564
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1565
|
-
const response = yield this.connector.allocateGoodsForSalesOrderCorrection(request);
|
|
1566
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1567
|
-
return true;
|
|
1568
|
-
}
|
|
1569
|
-
else {
|
|
1570
|
-
this._handleExceptionFromResponse(response);
|
|
1571
|
-
return null;
|
|
1572
|
-
}
|
|
1573
|
-
});
|
|
1574
|
-
}
|
|
1575
|
-
getGoodsAllocationStatus(transId, lineNr) {
|
|
1576
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1577
|
-
const response = yield this.connector.getGoodsAllocationStatus(transId, lineNr);
|
|
1578
|
-
if (response && response.resultObject) {
|
|
1579
|
-
return this._boFactory.makeWithRawBackendData(GoodsAllocationStatus, response.resultObject);
|
|
1580
|
-
}
|
|
1581
|
-
else {
|
|
1582
|
-
this._handleExceptionFromResponse(response);
|
|
1583
|
-
return null;
|
|
1584
|
-
}
|
|
1585
|
-
});
|
|
1586
|
-
}
|
|
1587
|
-
getGoodsAllocationStatusWithHistory(transId, lineNr) {
|
|
1588
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1589
|
-
const response = yield this.connector.getGoodsAllocationStatusWithHistory(transId, lineNr);
|
|
1590
|
-
if (response && response.resultObject) {
|
|
1591
|
-
return this._boFactory.makeWithRawBackendData(GoodsAllocationStatusWithHistory, response.resultObject);
|
|
1592
|
-
}
|
|
1593
|
-
else {
|
|
1594
|
-
this._handleExceptionFromResponse(response);
|
|
1595
|
-
return null;
|
|
1596
|
-
}
|
|
1597
|
-
});
|
|
1598
|
-
}
|
|
1599
|
-
getOrderConfirmationEmailLayouts(transactionUUID) {
|
|
1600
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1601
|
-
const response = yield this.connector.getOrderConfirmationEmailLayouts(transactionUUID);
|
|
1602
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1603
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(ReportLayoutSelectionEmail, response.resultObject);
|
|
1604
|
-
}
|
|
1605
|
-
else {
|
|
1606
|
-
this._handleExceptionFromResponse(response);
|
|
1607
|
-
return null;
|
|
1608
|
-
}
|
|
1609
|
-
});
|
|
1610
|
-
}
|
|
1611
|
-
getOrderConfirmationPrintLayouts(transactionUUID) {
|
|
1612
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1613
|
-
const response = yield this.connector.getOrderConfirmationPrintLayouts(transactionUUID);
|
|
1614
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1615
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(ReportLayoutSelectionPrint, response.resultObject);
|
|
1616
|
-
}
|
|
1617
|
-
else {
|
|
1618
|
-
this._handleExceptionFromResponse(response);
|
|
1619
|
-
return null;
|
|
1620
|
-
}
|
|
1621
|
-
});
|
|
1622
|
-
}
|
|
1623
|
-
getOrderConfirmationDefaultSendMethod(relationId) {
|
|
1624
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1625
|
-
const response = yield this.connector.getOrderConfirmationDefaultSendMethod(relationId);
|
|
1626
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1627
|
-
return response.resultObject;
|
|
1628
|
-
}
|
|
1629
|
-
else {
|
|
1630
|
-
this._handleExceptionFromResponse(response);
|
|
1631
|
-
return null;
|
|
1632
|
-
}
|
|
1633
|
-
});
|
|
1634
|
-
}
|
|
1635
|
-
printOrderConfirmation(request) {
|
|
1636
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1637
|
-
const response = yield this.connector.printOrderConfirmation(request);
|
|
1638
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1639
|
-
return response.resultObject;
|
|
1640
|
-
}
|
|
1641
|
-
else {
|
|
1642
|
-
this._handleExceptionFromResponse(response);
|
|
1643
|
-
return null;
|
|
1644
|
-
}
|
|
1645
|
-
});
|
|
1646
|
-
}
|
|
1647
|
-
emailOrderConfirmation(request) {
|
|
1648
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1649
|
-
const response = yield this.connector.emailOrderConfirmation(request);
|
|
1650
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1651
|
-
return response.resultObject;
|
|
1652
|
-
}
|
|
1653
|
-
else {
|
|
1654
|
-
this._handleExceptionFromResponse(response);
|
|
1655
|
-
return null;
|
|
1656
|
-
}
|
|
1657
|
-
});
|
|
1658
|
-
}
|
|
1659
|
-
pdfOrderConfirmation(request) {
|
|
1660
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1661
|
-
const response = yield this.connector.pdfOrderConfirmation(request);
|
|
1662
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1663
|
-
return response.resultObject;
|
|
1664
|
-
}
|
|
1665
|
-
else {
|
|
1666
|
-
this._handleExceptionFromResponse(response);
|
|
1667
|
-
return null;
|
|
1668
|
-
}
|
|
1669
|
-
});
|
|
1670
|
-
}
|
|
1671
|
-
printPurchaseOrder(request) {
|
|
1672
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1673
|
-
const response = yield this.connector.printPurchaseOrder(request);
|
|
1674
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1675
|
-
return response.resultObject;
|
|
1676
|
-
}
|
|
1677
|
-
else {
|
|
1678
|
-
this._handleExceptionFromResponse(response);
|
|
1679
|
-
return null;
|
|
1680
|
-
}
|
|
1681
|
-
});
|
|
1682
|
-
}
|
|
1683
|
-
emailPurchaseOrder(request) {
|
|
1684
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1685
|
-
const response = yield this.connector.emailPurchaseOrder(request);
|
|
1686
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1687
|
-
return response.resultObject;
|
|
1688
|
-
}
|
|
1689
|
-
else {
|
|
1690
|
-
this._handleExceptionFromResponse(response);
|
|
1691
|
-
return null;
|
|
1692
|
-
}
|
|
1693
|
-
});
|
|
1694
|
-
}
|
|
1695
|
-
pdfPurchaseOrder(request) {
|
|
1696
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1697
|
-
const response = yield this.connector.pdfPurchaseOrder(request);
|
|
1698
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1699
|
-
return response.resultObject;
|
|
1700
|
-
}
|
|
1701
|
-
else {
|
|
1702
|
-
this._handleExceptionFromResponse(response);
|
|
1703
|
-
return null;
|
|
1704
|
-
}
|
|
1705
|
-
});
|
|
1706
|
-
}
|
|
1707
|
-
getPurchaseOrderEmailLayouts(transactionUUID) {
|
|
1708
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1709
|
-
const response = yield this.connector.getPurchaseOrderEmailLayouts(transactionUUID);
|
|
1710
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1711
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(ReportLayoutSelectionEmail, response.resultObject);
|
|
1712
|
-
}
|
|
1713
|
-
else {
|
|
1714
|
-
this._handleExceptionFromResponse(response);
|
|
1715
|
-
return null;
|
|
1716
|
-
}
|
|
1717
|
-
});
|
|
1718
|
-
}
|
|
1719
|
-
getPurchaseOrderPrintLayouts(transactionUUID) {
|
|
1720
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1721
|
-
const response = yield this.connector.getPurchaseOrderPrintLayouts(transactionUUID);
|
|
1722
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1723
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(ReportLayoutSelectionPrint, response.resultObject);
|
|
1724
|
-
}
|
|
1725
|
-
else {
|
|
1726
|
-
this._handleExceptionFromResponse(response);
|
|
1727
|
-
return null;
|
|
1728
|
-
}
|
|
1729
|
-
});
|
|
1730
|
-
}
|
|
1731
|
-
getDefaultEmailAddressListForOrderConfirmation(transactionUUID) {
|
|
1732
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1733
|
-
const response = yield this.connector.getDefaultEmailAddressListForOrderConfirmation(transactionUUID);
|
|
1734
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1735
|
-
return response.resultObject;
|
|
1736
|
-
}
|
|
1737
|
-
else {
|
|
1738
|
-
this._handleExceptionFromResponse(response);
|
|
1739
|
-
return null;
|
|
1740
|
-
}
|
|
1741
|
-
});
|
|
1742
|
-
}
|
|
1743
|
-
getPurchaseOrderDefaultSendMethod(relationId) {
|
|
1744
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1745
|
-
const response = yield this.connector.getPurchaseOrderDefaultSendMethod(relationId);
|
|
1746
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1747
|
-
return response.resultObject;
|
|
1748
|
-
}
|
|
1749
|
-
else {
|
|
1750
|
-
this._handleExceptionFromResponse(response);
|
|
1751
|
-
return null;
|
|
1752
|
-
}
|
|
1753
|
-
});
|
|
1754
|
-
}
|
|
1755
|
-
generateAndSendPurchaseOrdersForSalesOrder(transactionId) {
|
|
1756
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1757
|
-
const response = yield this.connector.generateAndSendPurchaseOrdersForSalesOrder(transactionId);
|
|
1758
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1759
|
-
return response.resultObject;
|
|
1760
|
-
}
|
|
1761
|
-
else {
|
|
1762
|
-
this._handleExceptionFromResponse(response);
|
|
1763
|
-
return null;
|
|
1764
|
-
}
|
|
1765
|
-
});
|
|
1766
|
-
}
|
|
1767
|
-
getPurchaseAdviceLines(filters, goodId) {
|
|
1768
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1769
|
-
const response = yield this.connector.getPurchaseAdviceLines(filters, goodId);
|
|
1770
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1771
|
-
return this._boFactory.makeBOArrayFromRawBackendDataArray(PurchaseAdviceLine, response.resultObject);
|
|
1772
|
-
}
|
|
1773
|
-
else {
|
|
1774
|
-
this._handleExceptionFromResponse(response);
|
|
1775
|
-
return null;
|
|
1776
|
-
}
|
|
1777
|
-
});
|
|
1778
|
-
}
|
|
1779
|
-
generateAndSendPurchaseOrders(purchaseAdviceLines) {
|
|
1780
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1781
|
-
const response = yield this.connector.generateAndSendPurchaseOrders(purchaseAdviceLines);
|
|
1782
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
1783
|
-
return true;
|
|
1784
|
-
}
|
|
1785
|
-
else {
|
|
1786
|
-
this._handleExceptionFromResponse(response);
|
|
1787
|
-
return null;
|
|
1788
|
-
}
|
|
1789
|
-
});
|
|
1790
|
-
}
|
|
1791
|
-
_handleExceptionFromResponse(result) {
|
|
1792
|
-
this._errorService.showValidationError(result);
|
|
1793
|
-
}
|
|
1794
|
-
}
|
|
1795
|
-
TransactionConnectorAdapterService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TransactionConnectorAdapterService_Factory() { return new TransactionConnectorAdapterService(i0.ɵɵinject(i1.OptionsService), i0.ɵɵinject(i2.SelectMultipleCacheService), i0.ɵɵinject(i3.SelectMultipleParameterizedCacheService), i0.ɵɵinject(i4.ErrorService)); }, token: TransactionConnectorAdapterService, providedIn: "root" });
|
|
1796
|
-
TransactionConnectorAdapterService.decorators = [
|
|
1797
|
-
{ type: Injectable, args: [{
|
|
1798
|
-
providedIn: "root"
|
|
1799
|
-
},] }
|
|
1800
|
-
];
|
|
1801
|
-
TransactionConnectorAdapterService.ctorParameters = () => [
|
|
1802
|
-
{ type: OptionsService },
|
|
1803
|
-
{ type: SelectMultipleCacheService },
|
|
1804
|
-
{ type: SelectMultipleParameterizedCacheService },
|
|
1805
|
-
{ type: ErrorService }
|
|
1806
|
-
];
|
|
1807
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY29ubmVjdG9yLWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvc2VydmljZS90cmFuc2FjdGlvbi1jb25uZWN0b3ItYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUM1RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQztBQUUxRyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0saURBQWlELENBQUM7QUFFeEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUV2RixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUdoSSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUUzRixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDdkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUNyRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUNsRyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBR2hGLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUMxRSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFHN0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDdEcsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUM1RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sdURBQXVELENBQUM7QUFFdEYsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sMkVBQTJFLENBQUM7QUFFeEgsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBRXJGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG9FQUFvRSxDQUFDO0FBQzNHLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBRTNFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDZEQUE2RCxDQUFDO0FBQzlGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyx1Q0FBdUMsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQ3JILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSx1RUFBdUUsQ0FBQztBQUNqSCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUN0RyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFFaEYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDckcsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDcEcsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQzNFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUMvRSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDdEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDbEcsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzlFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQ2pILE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seURBQXlELENBQUM7QUFHdkYsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDdEcsT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0sOEVBQThFLENBQUM7QUFDOUgsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDMUcsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFZMUcsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOERBQThELENBQUM7Ozs7OztBQU1oRyxNQUFNLE9BQU8sa0NBQWtDO0lBTTdDLFlBQ1UsZUFBK0IsRUFDL0IsMkJBQXVELEVBQ3ZELHdDQUFpRixFQUNqRixhQUEyQjtRQUgzQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFDL0IsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUE0QjtRQUN2RCw2Q0FBd0MsR0FBeEMsd0NBQXdDLENBQXlDO1FBQ2pGLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBTjdCLGVBQVUsR0FBMEIsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO0lBT3JFLENBQUM7SUFFUyxPQUFPOztZQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztRQUNoRSxDQUFDO0tBQUE7SUFFWSxvQkFBb0IsQ0FBQyxNQUFjOztZQUM5QyxNQUFNLE1BQU0sR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzFGLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFpQyxDQUFDO2FBQ3ZIO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLHNCQUFzQixDQUFDLFNBQWlCOztZQUNuRCxNQUFNLE1BQU0sR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9GLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlELE9BQU8sTUFBTSxDQUFDLFlBQVksQ0FBQzthQUM1QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxjQUFjLENBQUMsTUFBdUIsRUFBRSxXQUFtQixFQUFFLGVBQXdCLEVBQUUsS0FBYzs7WUFDaEgsTUFBTSxNQUFNLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDekgsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsSUFBSSxNQUFNLENBQUMsWUFBWSxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLEtBQUssRUFBRSxFQUFFO29CQUNySixPQUFPLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUMxRTtxQkFBTTtvQkFDTCxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUU7d0JBQ3ZCLElBQUksZUFBZSxFQUFFOzRCQUNuQixPQUFPLFVBQVUsQ0FBQyxnQ0FBZ0MsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFDN0UsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQzt5QkFDakY7d0JBQ0QsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQztxQkFDckY7eUJBQ0ksRUFBRSxXQUFXO3dCQUNoQixPQUFPLEVBQUUsQ0FBQztxQkFDWDtpQkFDRjthQUNGO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLFlBQVk7O1lBQ3ZCLE1BQU0sTUFBTSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDNUUsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsYUFBYSxDQUF5QixDQUFDO2FBQ2xIO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUMsT0FBTyxFQUFFLENBQUM7YUFDWDtRQUNILENBQUM7S0FBQTtJQUVZLGlCQUFpQjs7WUFDNUIsTUFBTSxNQUFNLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ2pGLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBK0IsQ0FBQzthQUM5SDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sRUFBRSxDQUFDO2FBQ1g7UUFDSCxDQUFDO0tBQUE7SUFFWSxVQUFVLENBQUMsV0FBbUI7O1lBQ3pDLE1BQU0sU0FBUyxHQUFjLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZELE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLENBQUM7UUFDakUsQ0FBQztLQUFBO0lBRVksa0JBQWtCOztZQUM3QixNQUFNLE1BQU0sR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDbEYsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFnQyxDQUFDO2FBQ2hJO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUMsT0FBTyxFQUFFLENBQUM7YUFDWDtRQUNILENBQUM7S0FBQTtJQUVZLDBCQUEwQjs7WUFDckMsTUFBTSxlQUFlLEdBQTZCLEVBQUUsQ0FBQztZQUVyRCxNQUFNLG1CQUFtQixHQUFxQixNQUFNLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzlFLEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLEdBQUcsR0FBVyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDOUUsTUFBTSxlQUFlLEdBQW1CLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMvRCxNQUFNLGFBQWEsR0FBNEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO2dCQUN4SSxhQUFhLENBQUMsNkJBQTZCLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQzdELGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDckM7WUFDRCxPQUFPLGVBQWUsQ0FBQztRQUN6QixDQUFDO0tBQUE7SUFFWSxpQkFBaUI7O1lBQzVCLE1BQU0sTUFBTSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNqRixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsa0NBQWtDLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQTJCLENBQUM7YUFDdEg7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLEVBQUUsQ0FBQzthQUNYO1FBQ0gsQ0FBQztLQUFBO0lBRVkscUNBQXFDLENBQUMsZUFBdUI7O1lBQ3hFLE1BQU0sTUFBTSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMscUNBQXFDLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDcEgsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsT0FBdUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDckk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLEVBQUUsQ0FBQzthQUNYO1FBQ0gsQ0FBQztLQUFBO0lBRVkseUJBQXlCLENBQUMsSUFBcUIsRUFBRSxhQUFxQjs7WUFDakYsTUFBTSxNQUFNLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDNUcsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQXVDLENBQUM7YUFDbkk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksa0JBQWtCLENBQUMsYUFBcUI7O1lBQ25ELE1BQU0sTUFBTSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDL0YsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQXVDLENBQUM7YUFDbkk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksbUJBQW1CLENBQUMsYUFBcUIsRUFBRSxPQUFlOztZQUNyRSxNQUFNLE1BQU0sR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM5RyxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMscUJBQXFCLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBcUMsQ0FBQzthQUMvSDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxnQkFBZ0IsQ0FBQyxNQUFlLEVBQUUsS0FBYzs7WUFDM0QsTUFBTSxNQUFNLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzVGLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBOEIsQ0FBQzthQUM1SDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sRUFBRSxDQUFDO2FBQ1g7UUFDSCxDQUFDO0tBQUE7SUFFWSxhQUFhLENBQUMsSUFBYTs7WUFDdEMsTUFBTSxNQUFNLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakYsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUEyQixDQUFDO2FBQ3RIO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUMsT0FBTyxFQUFFLENBQUM7YUFDWDtRQUNILENBQUM7S0FBQTtJQUVZLFVBQVUsQ0FBQyxZQUFxQixLQUFLOztZQUNoRCxNQUFNLE1BQU0sR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNuRixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsa0NBQWtDLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQXFCLENBQUM7YUFDMUc7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLEVBQUUsQ0FBQzthQUNYO1FBQ0gsQ0FBQztLQUFBO0lBRVksa0JBQWtCLENBQUMsT0FBcUM7O1lBQ25FLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsRSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUNsRSxNQUFNLE1BQU0sR0FBNEIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO2dCQUN0RSxNQUFNLENBQUMsS0FBSyxHQUFJLFFBQVEsQ0FBQyxnQkFBd0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyw0QkFBNEI7Z0JBQzNGLE1BQU0sQ0FBQyxZQUFZLEdBQVksSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxxQkFBcUIsRUFBRSxRQUFRLENBQUMsYUFBYSxDQUE0QixDQUFDO2dCQUM1SixPQUFPLE1BQU0sQ0FBQzthQUNmO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLGdCQUFnQixDQUFDLFlBQTBCOztZQUN0RCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBaUIsRUFBRSxNQUFnQixFQUFFLEVBQUU7Z0JBQ3pELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUErQixFQUFFLEVBQUU7b0JBQzVGLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7d0JBQzlELE9BQU8sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7cUJBQzlCO3lCQUFNO3dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUNkO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0tBQUE7SUFFWSxrQkFBa0I7O1lBQzdCLE1BQU0sTUFBTSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUNsRixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsa0NBQWtDLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQWdDLENBQUM7YUFDaEk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLEVBQUUsQ0FBQzthQUNYO1FBQ0gsQ0FBQztLQUFBO0lBRVksa0JBQWtCOztZQUM3QixNQUFNLE1BQU0sR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDbEYsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFnQyxDQUFDO2FBQ2hJO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUMsT0FBTyxFQUFFLENBQUM7YUFDWDtRQUNILENBQUM7S0FBQTtJQUVZLHNCQUFzQixDQUFDLFdBQW1CLEVBQUUsT0FBZTs7WUFDdEUsTUFBTSxNQUFNLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDMUcsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtvQkFDOUQsTUFBTSxZQUFZLEdBQXVDLElBQUksa0NBQWtDLEVBQUUsQ0FBQztvQkFDbEcsWUFBWSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztvQkFDN0MsWUFBWSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztvQkFDakQsWUFBWSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztvQkFDakQsWUFBWSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQztvQkFDdkQsT0FBTyxZQUFZLENBQUM7aUJBQ3JCO3FCQUFNO29CQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDMUMsT0FBTyxJQUFJLENBQUM7aUJBQ2I7YUFDRjtRQUNILENBQUM7S0FBQTtJQUVZLGtCQUFrQixDQUFDLFlBQW9COztZQUNsRCxNQUFNLE1BQU0sR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzlGLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBK0IsQ0FBQzthQUM5SDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sRUFBRSxDQUFDO2FBQ1g7UUFDSCxDQUFDO0tBQUE7SUFFWSxrQkFBa0IsQ0FBQyxZQUFvQjs7WUFDbEQsTUFBTSxNQUFNLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM5RixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsa0NBQWtDLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQStCLENBQUM7YUFDOUg7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLEVBQUUsQ0FBQzthQUNYO1FBQ0gsQ0FBQztLQUFBO0lBRVksK0JBQStCLENBQUMsTUFBYzs7WUFDekQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQWlCLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO2dCQUN6RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsK0JBQStCLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBK0IsRUFBRSxFQUFFO29CQUNyRyxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO3dCQUM5RCxPQUFPLENBQWdDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztxQkFDOUQ7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUMxQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7cUJBQ1o7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVZLFlBQVksQ0FBQyxZQUFvQjs7WUFDNUMsTUFBTSxNQUFNLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDeEYsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsTUFBTSxLQUFLLEdBQThDLElBQUksQ0FBQyxVQUFVLENBQUMsa0NBQWtDLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDakosS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN2RCxPQUFPLEtBQUssQ0FBQzthQUNkO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUMsT0FBTyxFQUFFLENBQUM7YUFDWDtRQUNILENBQUM7S0FBQTtJQUVZLGdCQUFnQixDQUFDLFlBQW9COztZQUNoRCxNQUFNLE1BQU0sR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzVGLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBOEIsQ0FBQzthQUMzSDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sRUFBRSxDQUFDO2FBQ1g7UUFDSCxDQUFDO0tBQUE7SUFFWSxlQUFlLENBQUMsSUFBVzs7WUFDdEMsTUFBTSxNQUFNLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkYsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUE2QixDQUFDO2FBQzFIO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUMsT0FBTyxFQUFFLENBQUM7YUFDWDtRQUNILENBQUM7S0FBQTtJQUVZLE9BQU8sQ0FBQyxRQUFnQjs7WUFDbkMsTUFBTSxNQUFNLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0UsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFxQixDQUFDO2FBQzFHO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUMsT0FBTyxFQUFFLENBQUM7YUFDWDtRQUNILENBQUM7S0FBQTtJQUVZLGNBQWM7O1lBQ3pCLE1BQU0sTUFBTSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDOUUsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUE0QixDQUFDO2FBQ3hIO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUMsT0FBTyxFQUFFLENBQUM7YUFDWDtRQUNILENBQUM7S0FBQTtJQUVZLGFBQWEsQ0FBQyxRQUFpQjs7WUFDMUMsTUFBTSxNQUFNLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckYsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUEyQixDQUFDO2FBQ3RIO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUMsT0FBTyxFQUFFLENBQUM7YUFDWDtRQUNILENBQUM7S0FBQTtJQUVZLHNCQUFzQjs7WUFDakMsTUFBTSxNQUFNLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ3RGLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBaUMsQ0FBQzthQUNsSTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sRUFBRSxDQUFDO2FBQ1g7UUFDSCxDQUFDO0tBQUE7SUFFWSxpQkFBaUI7O1lBQzVCLE1BQU0sTUFBTSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsOEJBQThCLEVBQUUsQ0FBQztZQUM5RixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsa0NBQWtDLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQStCLENBQUM7YUFDN0g7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLEVBQUUsQ0FBQzthQUNYO1FBQ0gsQ0FBQztLQUFBO0lBRU0sTUFBTTtRQUNYLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU0saUJBQWlCLENBQUMsSUFBcUIsRUFBRSxRQUFnQjtRQUM5RCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBaUIsRUFBRSxNQUFnQixFQUFFLEVBQUU7WUFDekQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUErQixFQUFFLEVBQUU7Z0JBQy9GLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7b0JBQzlELE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO2lCQUMvRjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDZDtZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVksZ0JBQWdCLENBQUMsT0FBZ0M7O1lBQzVELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFpQixFQUFFLE1BQWdCLEVBQUUsRUFBRTtnQkFDekQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQStCLEVBQUUsRUFBRTtvQkFDdkYsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTt3QkFDOUQsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7cUJBQy9GO3lCQUFNO3dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUNkO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0tBQUE7SUFFWSx1QkFBdUIsQ0FBQyxPQUF1Qzs7WUFDMUUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQWlCLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO2dCQUN6RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBK0IsRUFBRSxFQUFFO29CQUM5RixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO3dCQUM5RCxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztxQkFDL0Y7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ2Q7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVZLG1CQUFtQixDQUFDLE9BQW1DOztZQUNsRSxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBaUIsRUFBRSxNQUFnQixFQUFFLEVBQUU7Z0JBQ3pELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUErQixFQUFFLEVBQUU7b0JBQzFGLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7d0JBQzlELE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO3FCQUMvRjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDZDtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRVksa0JBQWtCLENBQUMsT0FBa0M7O1lBQ2hFLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFpQixFQUFFLE1BQWdCLEVBQUUsRUFBRTtnQkFDekQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQStCLEVBQUUsRUFBRTtvQkFDekYsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTt3QkFDOUQsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7cUJBQy9GO3lCQUFNO3dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUNkO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0tBQUE7SUFFWSxvQkFBb0IsQ0FBQyxPQUFvQzs7WUFDcEUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQWlCLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO2dCQUN6RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBK0IsRUFBRSxFQUFFO29CQUMzRixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO3dCQUM5RCxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztxQkFDL0Y7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ2Q7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUdNLGVBQWUsQ0FBQyxJQUFZO1FBQ2pDLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFpQixFQUFFLE1BQWdCLEVBQUUsRUFBRTtZQUN6RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQStCLEVBQUUsRUFBRTtnQkFDbkYsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtvQkFDOUQsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7aUJBQy9GO3FCQUFNO29CQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUNkO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFWSxpQkFBaUIsQ0FBQyxJQUFZLEVBQUUsUUFBZ0IsRUFBRSxRQUFnQjs7WUFDN0UsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQWlCLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO2dCQUN6RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUErQixFQUFFLEVBQUU7b0JBQ3pHLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7d0JBQzlELE9BQU8sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7cUJBQzFDO3lCQUFNO3dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDMUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUNmO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0tBQUE7SUFFWSwwQkFBMEIsQ0FBQyxtQkFBc0Q7O1lBQzVGLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFpQixFQUFFLE1BQWdCLEVBQUUsRUFBRTtnQkFDekQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLDBCQUEwQixDQUFDLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBK0IsRUFBRSxFQUFFO29CQUM3RyxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO3dCQUM5RCxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztxQkFDL0Y7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ2Q7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVZLHdCQUF3QixDQUFDLGlCQUFrRDs7WUFDdEYsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQWlCLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO2dCQUN6RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUErQixFQUFFLEVBQUU7b0JBQ3pHLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7d0JBQzlELE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO3FCQUMvRjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDZDtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRVksa0JBQWtCLENBQzdCLElBQVksRUFDWixXQUFnQyxFQUNoQyxTQUFpQixFQUNqQixNQUFjLEVBQ2QsV0FBbUIsRUFDbkIsY0FBc0IsRUFDdEIsUUFBaUIsRUFDakIsV0FBbUIsRUFDbkIsV0FBbUI7O1lBR25CLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFpQixFQUFFLE1BQWdCLEVBQUUsRUFBRTtnQkFDekQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBK0IsRUFBRSxFQUFFO29CQUN2TCxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO3dCQUM5RCxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztxQkFDL0Y7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ2Q7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVZLHdCQUF3QixDQUFDLElBQVksRUFBRSxlQUF1QixFQUFFLElBQVksRUFBRSxNQUFjLEVBQUUsWUFBcUIsRUFBRSxnQkFBd0IsRUFBRSxXQUFvQixFQUFFLFdBQW9COztZQUVwTSxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBaUIsRUFBRSxNQUFnQixFQUFFLEVBQUU7Z0JBQ3pELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUErQixFQUFFLEVBQUU7b0JBQ3JMLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7d0JBQzlELE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO3FCQUMvRjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDZDtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRVksd0JBQXdCLENBQUMsSUFBWSxFQUFFLFVBQWtCOztZQUNwRSxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBaUIsRUFBRSxNQUFnQixFQUFFLEVBQUU7Z0JBQ3pELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBK0IsRUFBRSxFQUFFO29CQUN4RyxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO3dCQUM5RCxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztxQkFDL0Y7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ2Q7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVZLDZCQUE2QixDQUFDLGlDQUF1RTs7WUFDaEgsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQWlCLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO2dCQUN6RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsNkJBQTZCLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUErQixFQUFFLEVBQUU7b0JBQzlILElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7d0JBQzlELE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO3FCQUMvRjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDZDtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRVksa0JBQWtCLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsV0FBb0IsRUFBRSxXQUFvQjs7WUFFeEcsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQWlCLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO2dCQUN6RCxNQUFNLE9BQU8sR0FBOEI7b0JBQ3pDLGVBQWUsRUFBRSxJQUFJO29CQUNyQixRQUFRLEVBQUUsUUFBUTtvQkFDbEIsV0FBVyxFQUFFLFdBQVc7b0JBQ3hCLFdBQVcsRUFBRSxXQUFXO2lCQUN6QixDQUFBO2dCQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUErQixFQUFFLEVBQUU7b0JBQ3pGLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7d0JBQzlELE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO3FCQUMvRjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDZDtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRVksd0JBQXdCLENBQUMsUUFBZ0I7O1lBQ3BELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFpQixFQUFFLE1BQWdCLEVBQUUsRUFBRTtnQkFDekQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQStCLEVBQUUsRUFBRTtvQkFDaEcsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTt3QkFDOUQsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7cUJBQy9GO3lCQUFNO3dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUNkO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFTCxDQUFDO0tBQUE7SUFFWSxxQkFBcUIsQ0FBQyxJQUFZLEVBQUUsUUFBZ0I7O1lBQy9ELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFpQixFQUFFLE1BQWdCLEVBQUUsRUFBRTtnQkFDekQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUErQixFQUFFLEVBQUU7b0JBQ25HLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7d0JBQzlELE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO3FCQUMvRjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDZDtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBR1ksNkJBQTZCLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsV0FBbUI7O1lBQzVGLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFpQixFQUFFLE1BQWdCLEVBQUUsRUFBRTtnQkFDekQsTUFBTSxPQUFPLEdBQUc7b0JBQ2QsZUFBZSxFQUFFLElBQUk7b0JBQ3JCLFFBQVEsRUFBRSxRQUFRO29CQUNsQixXQUFXLEVBQUUsV0FBVztpQkFDekIsQ0FBQTtnQkFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsNkJBQTZCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBK0IsRUFBRSxFQUFFO29CQUNwRyxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO3dCQUM5RCxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztxQkFDL0Y7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ2Q7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVZLG1DQUFtQyxDQUFDLElBQVksRUFBRSxRQUFnQixFQUFFLElBQVk7O1lBQzNGLE1BQU0sT0FBTyxHQUFHO2dCQUNkLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsaUJBQWlCLEVBQUUsSUFBSTthQUN4QixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQ0FBbUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksNkJBQTZCLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsRUFBVTs7WUFDbkYsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsZUFBZSxFQUFFLElBQUk7Z0JBQ3JCLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixhQUFhLEVBQUUsRUFBRTthQUNsQixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyw2QkFBNkIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksOEJBQThCLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsZUFBdUI7O1lBQ2pHLE1BQU0sT0FBTyxHQUFHO2dCQUNkLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsa0JBQWtCLEVBQUUsZUFBZTthQUNwQyxDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN2RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksMEJBQTBCLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsS0FBYTs7WUFDbkYsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsZUFBZSxFQUFFLElBQUk7Z0JBQ3JCLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixRQUFRLEVBQUUsS0FBSzthQUNoQixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuRyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksOEJBQThCLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsU0FBaUI7O1lBQzNGLE1BQU0sT0FBTyxHQUFHO2dCQUNkLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsZ0JBQWdCLEVBQUUsU0FBUzthQUM1QixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN2RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksd0JBQXdCLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsRUFBVTs7WUFDOUUsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsZUFBZSxFQUFFLElBQUk7Z0JBQ3JCLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixRQUFRLEVBQUUsRUFBRTthQUNiLENBQUM7WUFDRixNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pHLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUF5QyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNqSTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxpQ0FBaUMsQ0FBQyxJQUFZLEVBQUUsUUFBZ0IsRUFBRSxJQUFrQixFQUFFLFFBQWdCLEVBQUUsTUFBYyxFQUFFLElBQVk7O1lBQy9JLE1BQU0sT0FBTyxHQUFHO2dCQUNkLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsWUFBWSxFQUFFLElBQUk7Z0JBQ2xCLFdBQVcsRUFBRSxRQUFRO2dCQUNyQixpQkFBaUIsRUFBRSxNQUFNO2dCQUN6QixlQUFlLEVBQUUsSUFBSTthQUN0QixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyw2QkFBNkIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksbUNBQW1DLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsTUFBYzs7WUFDN0YsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsZUFBZSxFQUFFLElBQUk7Z0JBQ3JCLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixxQkFBcUIsRUFBRSxNQUFNO2FBQzlCLENBQUM7WUFDRixNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLG1DQUFtQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVHLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUF5QyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNqSTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxpQ0FBaUMsQ0FBQyxJQUFZLEVBQUUsUUFBZ0IsRUFBRSxJQUFVOztZQUN2RixNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLGVBQWUsRUFBRSxJQUFJO2FBQ3RCLENBQUM7WUFDRixNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGlDQUFpQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFHLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUF5QyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNqSTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxpQ0FBaUMsQ0FBQyxJQUFZLEVBQUUsUUFBZ0IsRUFBRSxJQUFZOztZQUN6RixNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLGVBQWUsRUFBRSxJQUFJO2FBQ3RCLENBQUM7WUFDRixNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGlDQUFpQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFHLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUF5QyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNqSTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSw2QkFBNkIsQ0FBQyxJQUFZLEVBQUUsUUFBZ0IsRUFBRSxJQUFZOztZQUNyRixNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLFdBQVcsRUFBRSxJQUFJO2FBQ2xCLENBQUM7WUFDRixNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLDZCQUE2QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RHLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUF5QyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNqSTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSwwQ0FBMEMsQ0FBQyxJQUFZLEVBQUUsUUFBZ0IsRUFBRSxhQUFxQjs7WUFDM0csTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsZUFBZSxFQUFFLElBQUk7Z0JBQ3JCLFFBQVEsRUFBRSxRQUFRO2dCQUNsQix3QkFBd0IsRUFBRSxhQUFhO2FBQ3hDLENBQUM7WUFDRixNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLDBDQUEwQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25ILElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUF5QyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNqSTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSw4QkFBOEIsQ0FBQyxJQUFZLEVBQUUsUUFBZ0IsRUFBRSxTQUFpQjs7WUFDM0YsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsZUFBZSxFQUFFLElBQUk7Z0JBQ3JCLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixZQUFZLEVBQUUsU0FBUzthQUN4QixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN2RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksb0NBQW9DLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsZUFBdUI7O1lBQ3ZHLE1BQU0sT0FBTyxHQUFHO2dCQUNkLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsa0JBQWtCLEVBQUUsZUFBZTthQUNwQyxDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxvQ0FBb0MsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM3RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksaUNBQWlDLENBQUMsSUFBWSxFQUFFLFVBQW1COztZQUM5RSxNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIsd0JBQXdCLEVBQUUsVUFBVTthQUNyQyxDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQ0FBaUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMxRyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksMkJBQTJCLENBQUMsSUFBWSxFQUFFLFFBQWdCOztZQUNyRSxNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIsMEJBQTBCLEVBQUUsUUFBUTthQUNyQyxDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN2RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksMEJBQTBCLENBQUMsSUFBWSxFQUFFLFFBQWdCOztZQUNwRSxNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIsc0JBQXNCLEVBQUUsUUFBUTthQUNqQyxDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuRyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksbUNBQW1DLENBQUMsSUFBWSxFQUFFLElBQVU7O1lBQ3ZFLE1BQU0sT0FBTyxHQUFHO2dCQUNkLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixlQUFlLEVBQUUsSUFBSTthQUN0QixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqRyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksNkNBQTZDLENBQUMsSUFBWSxFQUFFLFVBQW1COztZQUMxRixNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIseUJBQXlCLEVBQUUsVUFBVTthQUN0QyxDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQ0FBa0MsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzRyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksNkJBQTZCLENBQUMsSUFBWSxFQUFFLE1BQWM7O1lBQ3JFLE1BQU0sT0FBTyxHQUFHO2dCQUNkLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixVQUFVLEVBQUUsTUFBTTthQUNuQixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1RixJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksZ0NBQWdDLENBQUMsSUFBWSxFQUFFLFNBQWlCOztZQUMzRSxNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIsZUFBZSxFQUFFLFNBQVM7YUFDM0IsQ0FBQztZQUNGLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakcsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQXlDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2pJO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLHdDQUF3QyxDQUFDLElBQVksRUFBRSxTQUFpQjs7WUFDbkYsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsZUFBZSxFQUFFLElBQUk7Z0JBQ3JCLG9CQUFvQixFQUFFLFNBQVM7YUFDaEMsQ0FBQztZQUNGLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsNkJBQTZCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEcsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQXlDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2pJO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLCtCQUErQixDQUFDLElBQVksRUFBRSxNQUFjOztZQUN2RSxNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIsc0JBQXNCLEVBQUUsTUFBTTthQUMvQixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQywrQkFBK0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN4RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksMkJBQTJCLENBQUMsSUFBWSxFQUFFLE1BQWM7O1lBQ25FLE1BQU0sT0FBTyxHQUFHO2dCQUNkLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixrQkFBa0IsRUFBRSxNQUFNO2FBQzNCLENBQUM7WUFDRixNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLDJCQUEyQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BHLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUF5QyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNqSTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSw0Q0FBNEMsQ0FBQyxJQUFZLEVBQUUsSUFBVTs7WUFDaEYsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsZUFBZSxFQUFFLElBQUk7Z0JBQ3JCLHdCQUF3QixFQUFFLElBQUk7Z0JBQzlCLDhCQUE4QixFQUFFLEVBQUU7YUFDbkMsQ0FBQztZQUNGLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsaUNBQWlDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDMUcsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQXlDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2pJO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLHFDQUFxQyxDQUFDLElBQVksRUFBRSxNQUFjOztZQUM3RSxNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIscUJBQXFCLEVBQUUsTUFBTTthQUM5QixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuRyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksc0NBQXNDLENBQUMsSUFBWSxFQUFFLE9BQWlCOztZQUNqRixNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIsa0JBQWtCLEVBQUUsT0FBTzthQUM1QixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwRyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksc0NBQXNDLENBQUMsSUFBWSxFQUFFLFlBQXFCOztZQUNyRixNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIseUJBQXlCLEVBQUUsWUFBWTthQUN4QyxDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQ0FBa0MsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzRyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksNkJBQTZCLENBQUMsSUFBWSxFQUFFLE1BQWM7O1lBQ3JFLE1BQU0sT0FBTyxHQUFHO2dCQUNkLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixXQUFXLEVBQUUsTUFBTTthQUNwQixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzRixJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVkscUNBQXFDLENBQUMsSUFBWSxFQUFFLFFBQWdCOztZQUMvRSxNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIsaUJBQWlCLEVBQUUsUUFBUTthQUM1QixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuRyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksZ0NBQWdDLENBQUMsSUFBWSxFQUFFLElBQVk7O1lBQ3RFLE1BQU0sT0FBTyxHQUFHO2dCQUNkLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixnQkFBZ0IsRUFBRSxJQUFJO2FBQ3ZCLENBQUM7WUFDRixNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xHLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUF5QyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNqSTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSwrQkFBK0IsQ0FBQyxJQUFZLEVBQUUsSUFBa0IsRUFBRSxNQUFjOztZQUMzRixNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIsaUJBQWlCLEVBQUUsSUFBSTtnQkFDdkIsYUFBYSxFQUFFLE1BQU07YUFDdEIsQ0FBQztZQUNGLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEcsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQXlDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2pJO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLGdDQUFnQyxDQUFDLElBQVksRUFBRSxXQUFtQjs7WUFDN0UsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsZUFBZSxFQUFFLElBQUk7Z0JBQ3JCLGtCQUFrQixFQUFFLFdBQVc7YUFDaEMsQ0FBQztZQUNGLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDcEcsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQXlDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2pJO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLG1DQUFtQyxDQUFDLElBQVksRUFBRSxRQUFnQixFQUFFLElBQVk7O1lBQzNGLE1BQU0sT0FBTyxHQUFHO2dCQUNkLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsaUJBQWlCLEVBQUUsSUFBSTthQUN4QixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQ0FBbUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksc0JBQXNCLENBQUMsSUFBWSxFQUFFLE1BQWM7O1lBQzlELE1BQU0sT0FBTyxHQUFHO2dCQUNkLFNBQVMsRUFBRSxJQUFJO2dCQUNmLE1BQU0sRUFBRSxNQUFNO2FBQ2YsQ0FBQztZQUNGLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDL0YsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQXlDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2pJO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLHlCQUF5QixDQUNwQyxJQUFZLEVBQUUsTUFBYyxFQUFFLFVBQWtCLEVBQUUsYUFBcUIsRUFBRSxtQkFBMkI7O1lBRXBHLE1BQU0sT0FBTyxHQUFHO2dCQUNkLFNBQVMsRUFBRSxJQUFJO2dCQUNmLE1BQU0sRUFBRSxNQUFNO2dCQUNkLFVBQVUsRUFBRSxVQUFVO2dCQUN0QixpQkFBaUIsRUFBRSxhQUFhO2dCQUNoQyxtQkFBbUIsRUFBRSxtQkFBbUI7YUFDekMsQ0FBQztZQUNGLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMseUJBQXlCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEcsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQU8sUUFBUSxDQUFDO2FBQ2pCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLDhCQUE4QixDQUFDLElBQVksRUFBRSxNQUFjLEVBQUUsaUJBQXlCOztZQUNqRyxNQUFNLE9BQU8sR0FBRztnQkFDZCxTQUFTLEVBQUUsSUFBSTtnQkFDZixNQUFNLEVBQUUsTUFBTTtnQkFDZCxpQkFBaUIsRUFBRSxpQkFBaUI7YUFDckMsQ0FBQztZQUNGLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsOEJBQThCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkcsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUF1QyxDQUFDO2FBQ3JJO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLG9CQUFvQixDQUFDLGVBQXVCOztZQUN2RCxNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3JHLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBaUMsQ0FBQzthQUN6SDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxrQkFBa0IsQ0FBQyxJQUFZOztZQUMxQyxNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hGLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsMEJBQTBCLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBMEMsQ0FBQzthQUMzSTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxxQkFBcUIsQ0FBQyxPQUFlLEVBQUUsTUFBYzs7WUFDaEUsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDdEcsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQStDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsNkJBQTZCLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQzdJO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLGdDQUFnQyxDQUFDLE9BQWUsRUFBRSxNQUFjOztZQUMzRSxNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGdDQUFnQyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNqSCxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBK0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyw2QkFBNkIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDN0k7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksNEJBQTRCLENBQUMsT0FBNEM7O1lBQ3BGLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsNEJBQTRCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckcsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQXlDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2pJO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLHNDQUFzQyxDQUFDLE9BQXNEOztZQUN4RyxNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLHNDQUFzQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQy9HLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUF5QyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNqSTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxzQkFBc0IsQ0FBQyxPQUE4Qjs7WUFDaEUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQWlCLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO2dCQUN6RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBK0IsRUFBRSxFQUFFO29CQUM3RixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO3dCQUM5RCxJQUFJLE1BQU0sQ0FBQyxhQUFhLEVBQUU7NEJBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO3lCQUN2RztxQkFDRjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDZDtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRVkseUJBQXlCLENBQUMsa0JBQXNDOztZQUMzRSxNQUFNLE1BQU0sR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLHlCQUF5QixDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDM0csSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3hFLE1BQU0sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNwQixPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVkseUJBQXlCLENBQUMseUJBQXVEOztZQUM1RixNQUFNLE1BQU0sR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLDRCQUE0QixDQUFDLHlCQUF5QixDQUFDLENBQUM7WUFDckgsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3hFLE1BQU0sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNwQixPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksdUJBQXVCLENBQUMsZUFBdUIsRUFBRSxNQUFjOztZQUMxRSxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBaUIsRUFBRSxNQUFnQixFQUFFLEVBQUU7Z0JBQ3pELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQU8sTUFBK0IsRUFBRSxFQUFFO29CQUNwSCxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO3dCQUM5RCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ2Y7eUJBQU07d0JBQ0wsTUFBTSxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO3FCQUMzQztnQkFDSCxDQUFDLENBQUEsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0tBQUE7SUFFWSx3QkFBd0IsQ0FBQyxJQUErQjs7WUFDbkUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQWlCLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO2dCQUN6RCxhQUFhO2dCQUNiLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUErQixFQUFFLEVBQUU7b0JBQ3JHLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7d0JBQzlELElBQUksTUFBTSxDQUFDLFlBQVksRUFBRTs0QkFDdkIsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsa0NBQWtDLENBQUMseUJBQXlCLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7eUJBQzdHO3FCQUNGO3lCQUFNO3dCQUNMLE1BQU0sQ0FBQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztxQkFDM0M7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVZLHdCQUF3QixDQUFDLE9BQWUsRUFBRSxrQ0FBMkM7O1lBQ2hHLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFpQixFQUFFLE1BQWdCLEVBQUUsRUFBRTtnQkFDekQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLE9BQU8sRUFBRSxrQ0FBa0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFPLE1BQStCLEVBQUUsRUFBRTtvQkFDekksSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTt3QkFDOUQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUNmO3lCQUFNO3dCQUNMLE1BQU0sQ0FBQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztxQkFDM0M7Z0JBQ0gsQ0FBQyxDQUFBLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRVksc0JBQXNCLENBQUMsT0FBZSxFQUFFLE1BQWM7O1lBQ2pFLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZHLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUFxQyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLG1CQUFtQixFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUN6SDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSw2Q0FBNkMsQ0FBQyxPQUFlLEVBQUUsTUFBYzs7WUFDeEYsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyw2Q0FBNkMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDOUgsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQWtDLElBQUksQ0FBQyxVQUFVLENBQUMsa0NBQWtDLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUM3SDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSwwQkFBMEIsQ0FBQyxPQUEwQzs7WUFDaEYsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuRyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBTyxJQUFJLENBQUM7YUFDYjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxvQ0FBb0MsQ0FBQyxPQUFvRDs7WUFDcEcsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxvQ0FBb0MsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM3RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBTyxJQUFJLENBQUM7YUFDYjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSx3QkFBd0IsQ0FBQyxPQUFlLEVBQUUsTUFBYzs7WUFDbkUsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDekcsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLFlBQVksRUFBRTtnQkFDckMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHFCQUFxQixFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQXFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksbUNBQW1DLENBQUMsT0FBZSxFQUFFLE1BQWM7O1lBQzlFLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsbUNBQW1DLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3BILElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxZQUFZLEVBQUU7Z0JBQ3JDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxnQ0FBZ0MsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFnRCxDQUFDO2FBQ3ZKO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLGdDQUFnQyxDQUFDLGVBQXVCOztZQUNuRSxNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGdDQUFnQyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2pILElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUE4QyxJQUFJLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLDBCQUEwQixFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNySjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxnQ0FBZ0MsQ0FBQyxlQUF1Qjs7WUFDbkUsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQ0FBZ0MsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNqSCxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBOEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQywwQkFBMEIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDcko7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVkscUNBQXFDLENBQUMsVUFBa0I7O1lBQ25FLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMscUNBQXFDLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDakgsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQzthQUM5QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxzQkFBc0IsQ0FBQyxPQUFzQzs7WUFDeEUsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMvRixJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBTyxRQUFRLENBQUMsWUFBWSxDQUFDO2FBQzlCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLHNCQUFzQixDQUFDLE9BQXNDOztZQUN4RSxNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQy9GLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUFPLFFBQVEsQ0FBQyxZQUFZLENBQUM7YUFDOUI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksb0JBQW9CLENBQUMsT0FBb0M7O1lBQ3BFLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDN0YsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQzthQUM5QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxrQkFBa0IsQ0FBQyxPQUFrQzs7WUFDaEUsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzRixJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBTyxRQUFRLENBQUMsWUFBWSxDQUFDO2FBQzlCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLGtCQUFrQixDQUFDLE9BQWtDOztZQUNoRSxNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNGLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUFPLFFBQVEsQ0FBQyxZQUFZLENBQUM7YUFDOUI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksZ0JBQWdCLENBQUMsT0FBZ0M7O1lBQzVELE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDekYsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQzthQUM5QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSw0QkFBNEIsQ0FBQyxlQUF1Qjs7WUFDL0QsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyw0QkFBNEIsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUM3RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBOEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQywwQkFBMEIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDcko7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksNEJBQTRCLENBQUMsZUFBdUI7O1lBQy9ELE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsNEJBQTRCLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDN0csSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQThDLElBQUksQ0FBQyxVQUFVLENBQUMsa0NBQWtDLENBQUMsMEJBQTBCLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ3JKO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLDhDQUE4QyxDQUFDLGVBQWU7O1lBQ3pFLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsOENBQThDLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDL0gsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQzthQUM5QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxpQ0FBaUMsQ0FBQyxVQUFrQjs7WUFDL0QsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQ0FBaUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM3RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBTyxRQUFRLENBQUMsWUFBWSxDQUFDO2FBQzlCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLDBDQUEwQyxDQUFDLGFBQXFCOztZQUMzRSxNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLDBDQUEwQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3pILElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUFPLFFBQVEsQ0FBQyxZQUFZLENBQUM7YUFDOUI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksc0JBQXNCLENBQUMsT0FBOEIsRUFBRSxNQUFlOztZQUNqRixNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN2RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBc0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxrQkFBa0IsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDckk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksNkJBQTZCLENBQUMsbUJBQXlDOztZQUNsRixNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLDZCQUE2QixDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDbEgsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQU8sSUFBSSxDQUFDO2FBQ2I7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRU8sNEJBQTRCLENBQUMsTUFBK0I7UUFDbEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs7O1lBNS9DRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQTlETyxjQUFjO1lBc0JkLDBCQUEwQjtZQUMxQix1Q0FBdUM7WUFDdkMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtNYXJrZXRpbmd9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvbWFya2V0aW5nLmJvXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2V9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby1yZXNwb25zZS5ib1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uS2luZH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3RyYW5zYWN0aW9uLWtpbmQuZW51bVwiO1xyXG5pbXBvcnQge0NvdW50cnl9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY291bnRyeS5ib1wiO1xyXG5pbXBvcnQge1NlcXVlbmNlTmFtZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3NlcXVlbmNlLW5hbWUuZW51bVwiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5TWV0aG9kfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RlbGl2ZXJ5LW1ldGhvZC5ib1wiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5T3B0aW9ufSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RlbGl2ZXJ5LW9wdGlvbi5ib1wiO1xyXG5pbXBvcnQge1NldFRyYW5zYWN0aW9uRGVsaXZlcnlPcHRpb25zUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9zZXQtdHJhbnNhY3Rpb24tZGVsaXZlcnktb3B0aW9ucy1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7R2V0UG9zdGFsQ29kZVJldHJpZXZhbE91dHB1dFBhcmFtc30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9nZXQtcG9zdGFsLWNvZGUtcmV0cmlldmFsLW91dHB1dC1wYXJhbXNcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVUeXBlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vdHJhbnNhY3Rpb24tbGluZS10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkFydGljbGVXYXJlaG91c2V9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tYXJ0aWNsZS13YXJlaG91c2UuYm9cIjtcclxuaW1wb3J0IHtBcnRpY2xlRnVsbE9iamVjdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWZ1bGwtb2JqZWN0XCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25SZXNwb25zZUJhc2V9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tcmVzcG9uc2UtYmFzZS5ib1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9ufSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL3RyYW5zYWN0aW9uXCI7XHJcbmltcG9ydCB7U3RhbmRhcmRUZXh0fSBmcm9tIFwiLi4vbW9kZWwvc3RhbmRhcmQtdGV4dFwiO1xyXG5pbXBvcnQge0N1c3RvbWVyR3JvdXB9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY3VzdG9tZXItZ3JvdXAuYm9cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVJbmZvfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWxpbmUtaW5mby5ib1wiO1xyXG5pbXBvcnQge09wdGlvbnNTZXJ2aWNlfSBmcm9tIFwiLi9vcHRpb25zLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtDYXNoUmVnaXN0ZXJ9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY2FzaC1yZWdpc3RlclwiO1xyXG5pbXBvcnQge0NoYW5nZUxpbmVTZXF1ZW5jZVJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY2hhbmdlLWxpbmUtc2VxdWVuY2UtcmVxdWVzdFwiO1xyXG5pbXBvcnQge1Jlc29sdmVMaW5lUGVuZGluZ1JlYXNvblJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVzb2x2ZS1wZW5kaW5nLXJlYXNvbi1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7UHJpY2VMaXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3ByaWNlLWxpc3RcIjtcclxuaW1wb3J0IHtWYXR9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdmF0XCI7XHJcbmltcG9ydCB7RGlzY291bnRUeXBlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vZGlzY291bnQtdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZWFyY2hWaWV3UmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1zZWFyY2gtdmlldy1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZWFyY2hWaWV3fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLXNlYXJjaC12aWV3LmJvXCI7XHJcbmltcG9ydCB7T25Ib2xkQ29kZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9vbi1ob2xkLWNvZGUuYm9cIjtcclxuaW1wb3J0IHtXYXJlaG91c2V9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvd2FyZWhvdXNlLmJvXCI7XHJcbmltcG9ydCB7Q29kZURlc2NyaXB0aW9ufSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NvZGUtZGVzY3JpcHRpb25cIjtcclxuaW1wb3J0IHtSZWNlaXZlR29vZHNGb3JQdXJjaGFzZU9yZGVyUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9yZWNlaXZlLWdvb2RzLWZvci1wdXJjaGFzZS1vcmRlci1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7R29vZHNSZWNlaXB0U3RhdHVzV2l0aEhpc3Rvcnl9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZ29vZHMtcmVjZWlwdC1zdGF0dXMtd2l0aC1oaXN0b3J5LmJvXCI7XHJcbmltcG9ydCB7UmVjZWl2ZUdvb2RzRm9yUHVyY2hhc2VPcmRlckNvcnJlY3Rpb25SZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3JlY2VpdmUtZ29vZHMtZm9yLXB1cmNoYXNlLW9yZGVyLWNvcnJlY3Rpb24tcmVxdWVzdC5ib1wiO1xyXG5pbXBvcnQge1BheW1lbnRNZXRob2R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGF5bWVudC1tZXRob2QuYm9cIjtcclxuaW1wb3J0IHtHZXRQdXJjaGFzZVBvcnRhbExpbmV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZ2V0LXB1cmNoYXNlLXBvcnRhbC1saW5lXCI7XHJcbmltcG9ydCB7UHVyY2hhc2VQb3J0YWxMaW5lfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3B1cmNoYXNlLXBvcnRhbC1saW5lLmJvXCI7XHJcbmltcG9ydCB7Q3JlYXRlUGF5bWVudExpbmtSZXN1bHR9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY3JlYXRlLXBheW1lbnQtbGluay1yZXN1bHQuYm9cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlYXJjaFJlc3VsdH0gZnJvbSBcIi4uL21vZGVsL3RyYW5zYWN0aW9uLXNlYXJjaC1yZXN1bHRcIjtcclxuaW1wb3J0IHtSZXNvbHZlSGVhZGVyUGVuZGluZ1JlYXNvblJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVzb2x2ZS1oZWFkZXItcGVuZGluZy1yZWFzb24tcmVxdWVzdC5ib1wiO1xyXG5pbXBvcnQge1BheW1lbnRMaW5rU3RhdHVzfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BheW1lbnQtbGluay1zdGF0dXMuYm9cIjtcclxuaW1wb3J0IHtTZWxlY3RNdWx0aXBsZUNhY2hlU2VydmljZX0gZnJvbSBcIi4uL2NhY2hlL3NlcnZpY2Uvc2VsZWN0LW11bHRpcGxlLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTZWxlY3RNdWx0aXBsZVBhcmFtZXRlcml6ZWRDYWNoZVNlcnZpY2V9IGZyb20gXCIuLi9jYWNoZS9zZXJ2aWNlL3NlbGVjdC1tdWx0aXBsZS1wYXJhbWV0ZXJpemVkLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtFcnJvclNlcnZpY2V9IGZyb20gXCIuL2Vycm9yLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtHZXRQdXJjaGFzZU9yZGVyQ29uZmlybWF0aW9ufSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2dldC1wdXJjaGFzZS1vcmRlci1jb25maXJtYXRpb25cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkRvd25QYXltZW50SW5mb30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1kb3duLXBheW1lbnQtaW5mby5ib1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTG9ja1Jlc3VsdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1sb2NrLXJlc3VsdC5ib1wiO1xyXG5pbXBvcnQge1ByaXZhY3lTZXR0aW5nfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcHJpdmFjeS1zZXR0aW5nLmJvXCI7XHJcbmltcG9ydCB7RGF0YVNlcnZpY2VSZXNwb25zZURhdGF9IGZyb20gXCJAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9tb2RlbC9kYXRhLXNlcnZpY2UtcmVzcG9uc2UtZGF0YVwiO1xyXG5pbXBvcnQge1JlbGF0aW9uUHJpdmFjeVNldHRpbmd9IGZyb20gXCJAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tcHJpdmFjeS1zZXR0aW5nLmJvXCI7XHJcbmltcG9ydCB7QnVzaW5lc3NPYmplY3RGYWN0b3J5fSBmcm9tIFwiQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvZmFjdG9yeS9idXNpbmVzcy1vYmplY3QtZmFjdG9yeVwiO1xyXG5pbXBvcnQge0ltYWdlVXRpbHN9IGZyb20gXCJAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC91dGlscy9pbWFnZS11dGlsc1wiO1xyXG5pbXBvcnQge0NvRG9tYWluVmFsdWV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb21haW4tdmFsdWUuYm9cIjtcclxuaW1wb3J0IHtUYWd9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC90YWdcIjtcclxuaW1wb3J0IHtEZWxpdmVyeU9yZGVyU3RhdHVzfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RlbGl2ZXJ5LW9yZGVyLXN0YXR1cy5ib1wiO1xyXG5pbXBvcnQge1NhbGVzUGVyc29ufSBmcm9tIFwiQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL3NhbGVzLXBlcnNvbi5ib1wiO1xyXG5pbXBvcnQge1N0b2NrU3RpY2tlcnNQcmludExheW91dHN9IGZyb20gXCJAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL21vZGVsL3JlcG9ydC9zdG9jay1zdGlja2Vycy1wcmludC1sYXlvdXRzLmJvXCI7XHJcbmltcG9ydCB7U2hhcmVkYXBpfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9zaGFyZWRhcGlcIjtcclxuaW1wb3J0IHtBdmFpbGFibGVTdG9ja30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9hdmFpbGFibGUtc3RvY2suYm9cIjtcclxuaW1wb3J0IHtBbGxvY2F0ZUdvb2RzRm9yU2FsZXNPcmRlclJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvYWxsb2NhdGUtZ29vZHMtZm9yLXNhbGVzLW9yZGVyLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtBbGxvY2F0ZUdvb2RzRm9yU2FsZXNPcmRlckNvcnJlY3Rpb25SZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2FsbG9jYXRlLWdvb2RzLWZvci1zYWxlcy1vcmRlci1jb3JyZWN0aW9uLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtHb29kc0FsbG9jYXRpb25TdGF0dXN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZ29vZHMtYWxsb2NhdGlvbi1zdGF0dXMuYm9cIjtcclxuaW1wb3J0IHtHb29kc0FsbG9jYXRpb25TdGF0dXNXaXRoSGlzdG9yeX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9nb29kcy1hbGxvY2F0aW9uLXN0YXR1cy13aXRoLWhpc3RvcnkuYm9cIjtcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLWVtYWlsLmJvXCI7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1wcmludC5ib1wiO1xyXG5pbXBvcnQge0VtYWlsT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvZW1haWwtb3JkZXItY29uZmlybWF0aW9uLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtQcmludE9yZGVyQ29uZmlybWF0aW9uUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3ByaW50LW9yZGVyLWNvbmZpcm1hdGlvbi1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7UGRmT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcGRmLW9yZGVyLWNvbmZpcm1hdGlvbi1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7UHJpbnRQdXJjaGFzZU9yZGVyUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3ByaW50LXB1cmNoYXNlLW9yZGVyLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtFbWFpbFB1cmNoYXNlT3JkZXJSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvZW1haWwtcHVyY2hhc2Utb3JkZXItcmVxdWVzdFwiO1xyXG5pbXBvcnQge1BkZlB1cmNoYXNlT3JkZXJSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcGRmLXB1cmNoYXNlLW9yZGVyLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtDcmVhdGVTYWxlc09yZGVyUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jcmVhdGUtc2FsZXMtb3JkZXItcmVxdWVzdFwiO1xyXG5pbXBvcnQge0NyZWF0ZUNhc2hSZWdpc3Rlck9yZGVyUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jcmVhdGUtY2FzaC1yZWdpc3Rlci1vcmRlci1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7Q3JlYXRlUHVyY2hhc2VPcmRlclJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY3JlYXRlLXB1cmNoYXNlLW9yZGVyLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtDcmVhdGVTZXJ2aWNlT3JkZXJSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NyZWF0ZS1zZXJ2aWNlLW9yZGVyLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtDcmVhdGVTYWxlc1F1b3RhdGlvblJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY3JlYXRlLXNhbGVzLXF1b3RhdGlvbi1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7UHVyY2hhc2VBZHZpY2VMaW5lfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3B1cmNoYXNlLWFkdmljZS1saW5lLmJvXCI7XHJcbmltcG9ydCB7UHVyY2hhc2VBZHZpY2VGaWx0ZXJzfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3B1cmNoYXNlLWFkdmljZS1maWx0ZXJzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQ29ubmVjdG9yQWRhcHRlclNlcnZpY2Uge1xyXG4gIHB1YmxpYyBjb25uZWN0b3I6IFRyYW5zYWN0aW9uO1xyXG4gIHB1YmxpYyBzaGFyZWRDb25uZWN0b3I6IFNoYXJlZGFwaTtcclxuXHJcbiAgcHJpdmF0ZSBfYm9GYWN0b3J5OiBCdXNpbmVzc09iamVjdEZhY3RvcnkgPSBuZXcgQnVzaW5lc3NPYmplY3RGYWN0b3J5KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2VsZWN0TXVsdGlwbGVDYWNoZVNlcnZpY2U6IFNlbGVjdE11bHRpcGxlQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2VsZWN0TXVsdGlwbGVQYXJhbWV0ZXJpemVkQ2FjaGVTZXJ2aWNlOiBTZWxlY3RNdWx0aXBsZVBhcmFtZXRlcml6ZWRDYWNoZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9lcnJvclNlcnZpY2U6IEVycm9yU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgcHVibGljIGFzeW5jIGNvbm5lY3QoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmNvbm5lY3RvciA9IG5ldyBUcmFuc2FjdGlvbih0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zKTtcclxuICAgIHRoaXMuc2hhcmVkQ29ubmVjdG9yID0gbmV3IFNoYXJlZGFwaSh0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zKTtcclxuICAgIHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMuc2Vzc2lvbiA9IHRoaXMuY29ubmVjdG9yLnNlc3Npb247XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0QXJ0aWNsZUZ1bGxPYmplY3QoZ29vZElkOiBudW1iZXIpOiBQcm9taXNlPEFydGljbGVGdWxsT2JqZWN0PiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0QXJ0aWNsZUZ1bGxPYmplY3QoZ29vZElkKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShBcnRpY2xlRnVsbE9iamVjdCwgcmVzdWx0LnJlc3VsdE9iamVjdCkgYXMgdW5rbm93biBhcyBBcnRpY2xlRnVsbE9iamVjdDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRHb29kSWRGcm9tQXJ0aWNsZU5yKGFydGljbGVOcjogc3RyaW5nKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRHb29kSWRGcm9tQXJ0aWNsZU5yKGFydGljbGVOcik7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gcmVzdWx0LnJlc3VsdE9iamVjdDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTaW5nbGVJbWFnZShub2RlSWQ6IG51bWJlciB8IHN0cmluZywgcHVibGljYXRpb246IG51bWJlciwgaW5jbHVkZU1pbWV0eXBlOiBib29sZWFuLCB0aHVtYjogYm9vbGVhbik6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0U2luZ2xlSW1hZ2Uobm9kZUlkLCBwdWJsaWNhdGlvbiwgaW5jbHVkZU1pbWV0eXBlLCB0aHVtYik7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdCAmJiByZXN1bHQucmVzdWx0T2JqZWN0LmZpbGVQYXRoICE9PSBudWxsICYmIHJlc3VsdC5yZXN1bHRPYmplY3QuZmlsZVBhdGggIT09IHVuZGVmaW5lZCAmJiByZXN1bHQucmVzdWx0T2JqZWN0LmZpbGVQYXRoICE9PSBcIlwiKSB7XHJcbiAgICAgICAgcmV0dXJuIEltYWdlVXRpbHMuZ2V0Rml4ZWRJbWFnZUZpbGVwYXRoVXJsKHJlc3VsdC5yZXN1bHRPYmplY3QuZmlsZVBhdGgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0KSB7XHJcbiAgICAgICAgICBpZiAoaW5jbHVkZU1pbWV0eXBlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBJbWFnZVV0aWxzLmdldERvY0JvZHlXaXRoTWltZVR5cGVEZWZpbml0aW9uKHJlc3VsdC5yZXN1bHRPYmplY3QuZmlsZU5hbWUsXHJcbiAgICAgICAgICAgICAgdGh1bWIgPyByZXN1bHQucmVzdWx0T2JqZWN0LnRodW1ibmFpbEJvZHkgOiByZXN1bHQucmVzdWx0T2JqZWN0LmRvY3VtZW50Qm9keSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gdGh1bWIgPyByZXN1bHQucmVzdWx0T2JqZWN0LnRodW1ibmFpbEJvZHkgOiByZXN1bHQucmVzdWx0T2JqZWN0LmRvY3VtZW50Qm9keTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7IC8vIG5vIGltYWdlXHJcbiAgICAgICAgICByZXR1cm4gXCJcIjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRDb3VudHJpZXMoKTogUHJvbWlzZTxDb3VudHJ5W10+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRDb3VudHJpZXMoKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShDb3VudHJ5LCByZXN1bHQucmVzdWx0T2JqZWN0cykgYXMgdW5rbm93biBhcyBDb3VudHJ5W107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEN1c3RvbWVyR3JvdXBzKCk6IFByb21pc2U8Q3VzdG9tZXJHcm91cFtdPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0Q3VzdG9tZXJHcm91cHMoKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShDdXN0b21lckdyb3VwLCByZXN1bHQucmVzdWx0T2JqZWN0cykgYXMgdW5rbm93biBhcyBDdXN0b21lckdyb3VwW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldENvdW50cnkoY291bnRyeUNvZGU6IHN0cmluZyk6IFByb21pc2U8Q291bnRyeT4ge1xyXG4gICAgY29uc3QgY291bnRyaWVzOiBDb3VudHJ5W10gPSBhd2FpdCB0aGlzLmdldENvdW50cmllcygpO1xyXG4gICAgcmV0dXJuIGNvdW50cmllcy5maW5kKGNvdW50cnkgPT4gY291bnRyeS5jb2RlID09PSBjb3VudHJ5Q29kZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0UHJpdmFjeVNldHRpbmdzKCk6IFByb21pc2U8UHJpdmFjeVNldHRpbmdbXT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFByaXZhY3lTZXR0aW5ncygpO1xyXG4gICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFByaXZhY3lTZXR0aW5nLCByZXN1bHQucmVzdWx0T2JqZWN0cykgYXMgdW5rbm93biBhcyBQcml2YWN5U2V0dGluZ1tdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRSZWxhdGlvblByaXZhY3lTZXR0aW5ncygpOiBQcm9taXNlPFJlbGF0aW9uUHJpdmFjeVNldHRpbmdbXT4ge1xyXG4gICAgY29uc3QgcHJpdmFjeVNldHRpbmdzOiBSZWxhdGlvblByaXZhY3lTZXR0aW5nW10gPSBbXTtcclxuXHJcbiAgICBjb25zdCBiYXNlUHJpdmFjeVNldHRpbmdzOiBQcml2YWN5U2V0dGluZ1tdID0gYXdhaXQgdGhpcy5nZXRQcml2YWN5U2V0dGluZ3MoKTtcclxuICAgIGZvciAobGV0IGk6IG51bWJlciA9IDAsIGxlbjogbnVtYmVyID0gYmFzZVByaXZhY3lTZXR0aW5ncy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICBjb25zdCBiYXNlUHJpdlNldHRpbmc6IFByaXZhY3lTZXR0aW5nID0gYmFzZVByaXZhY3lTZXR0aW5nc1tpXTtcclxuICAgICAgY29uc3QgbmV3UmVsUHJpdlNldDogUmVsYXRpb25Qcml2YWN5U2V0dGluZyA9IDxSZWxhdGlvblByaXZhY3lTZXR0aW5nPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5pbnN0YW50aWF0ZU5ld0JvKFJlbGF0aW9uUHJpdmFjeVNldHRpbmcpO1xyXG4gICAgICBuZXdSZWxQcml2U2V0LmFwcGx5QmFzZVByaXZhY3lTZXR0aW5nVmFsdWVzKGJhc2VQcml2U2V0dGluZyk7XHJcbiAgICAgIHByaXZhY3lTZXR0aW5ncy5wdXNoKG5ld1JlbFByaXZTZXQpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHByaXZhY3lTZXR0aW5ncztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRNYXJrZXRpbmdDb2RlcygpOiBQcm9taXNlPE1hcmtldGluZ1tdPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0TWFya2V0aW5nQ29kZXMoKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShNYXJrZXRpbmcsIHJlc3VsdC5yZXN1bHRPYmplY3RzKSBhcyB1bmtub3duIGFzIE1hcmtldGluZ1tdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRBcnRpY2xlQm91bmRUZXh0TGluZXNPZkFydGljbGVMaW5lKGFydGljbGVMaW5lVXVpZDogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbkxpbmVJbmZvW10+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRBcnRpY2xlQm91bmRUZXh0TGluZXNPZkFydGljbGVMaW5lKGFydGljbGVMaW5lVXVpZCk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uTGluZUluZm9bXT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShUcmFuc2FjdGlvbkxpbmVJbmZvLCByZXN1bHQucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0VHJhbnNhY3Rpb25CeU5yQW5kS2luZChraW5kOiBUcmFuc2FjdGlvbktpbmQsIHRyYW5zYWN0aW9uTm86IG51bWJlcik6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRUcmFuc2FjdGlvbkJ5TnJBbmRLaW5kKGtpbmQsIHRyYW5zYWN0aW9uTm8pO1xyXG4gICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXN1bHQucmVzdWx0T2JqZWN0KSBhcyB1bmtub3duIGFzIFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFRyYW5zYWN0aW9uQnlJZCh0cmFuc2FjdGlvbklkOiBudW1iZXIpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0VHJhbnNhY3Rpb25CeUlkKHRyYW5zYWN0aW9uSWQpO1xyXG4gICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXN1bHQucmVzdWx0T2JqZWN0KSBhcyB1bmtub3duIGFzIFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGxvY2tUcmFuc2FjdGlvbkJ5SWQodHJhbnNhY3Rpb25JZDogbnVtYmVyLCB2ZXJzaW9uOiBudW1iZXIpOiBQcm9taXNlPFRyYW5zYWN0aW9uTG9ja1Jlc3VsdD4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmxvY2tUcmFuc2FjdGlvbkJ5VHJhbnNJZCh0cmFuc2FjdGlvbklkLCB2ZXJzaW9uKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkxvY2tSZXN1bHQsIHJlc3VsdC5yZXN1bHRPYmplY3QpIGFzIHVua25vd24gYXMgVHJhbnNhY3Rpb25Mb2NrUmVzdWx0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldENhc2hSZWdpc3RlcnMoYnJhbmNoPzogc3RyaW5nLCBncm91cD86IG51bWJlcik6IFByb21pc2U8Q2FzaFJlZ2lzdGVyW10+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRDYXNoUmVnaXN0ZXIoYnJhbmNoLCBncm91cCk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoQ2FzaFJlZ2lzdGVyLCByZXN1bHQucmVzdWx0T2JqZWN0cykgYXMgdW5rbm93biBhcyBDYXNoUmVnaXN0ZXJbXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0UHJpY2VMaXN0cyhjb2RlPzogc3RyaW5nKTogUHJvbWlzZTxQcmljZUxpc3RbXT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFByaWNlTGlzdHMoY29kZSk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoUHJpY2VMaXN0LCByZXN1bHQucmVzdWx0T2JqZWN0cykgYXMgdW5rbm93biBhcyBQcmljZUxpc3RbXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0VmF0TGlzdChvbmx5VmFsaWQ6IGJvb2xlYW4gPSBmYWxzZSk6IFByb21pc2U8VmF0W10+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRWYXRMaXN0KG9ubHlWYWxpZCk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoVmF0LCByZXN1bHQucmVzdWx0T2JqZWN0cykgYXMgdW5rbm93biBhcyBWYXRbXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgc2VhcmNoVHJhbnNhY3Rpb25zKHJlcXVlc3Q6IFRyYW5zYWN0aW9uU2VhcmNoVmlld1JlcXVlc3QpOiBQcm9taXNlPFRyYW5zYWN0aW9uU2VhcmNoUmVzdWx0PiB7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLnNlYXJjaFRyYW5zYWN0aW9ucyhyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICBjb25zdCByZXN1bHQ6IFRyYW5zYWN0aW9uU2VhcmNoUmVzdWx0ID0gbmV3IFRyYW5zYWN0aW9uU2VhcmNoUmVzdWx0KCk7XHJcbiAgICAgIHJlc3VsdC5jb3VudCA9IChyZXNwb25zZS5wYWdpbmdQYXJhbWV0ZXJzIGFzIGFueSkucmVzdWx0Q291bnQ7IC8vIHRvZG86IGZpeCBwcm9wZXJ0eSBpbiBhcGlcclxuICAgICAgcmVzdWx0LnRyYW5zYWN0aW9ucyA9IDx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFRyYW5zYWN0aW9uU2VhcmNoVmlldywgcmVzcG9uc2UucmVzdWx0T2JqZWN0cykgYXMgVHJhbnNhY3Rpb25TZWFyY2hWaWV3W107XHJcbiAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTZXF1ZW5jZVZhbHVlKHNlcXVlbmNlTmFtZTogU2VxdWVuY2VOYW1lKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLmdldFNlcXVlbmNlVmFsdWUoc2VxdWVuY2VOYW1lKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHJlc29sdmUocmVzdWx0LnJlc3VsdE9iamVjdCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICAgICAgcmVqZWN0KG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXREZWxpdmVyeU1ldGhvZHMoKTogUHJvbWlzZTxEZWxpdmVyeU1ldGhvZFtdPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0RGVsaXZlcnlNZXRob2RzKCk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoRGVsaXZlcnlNZXRob2QsIHJlc3VsdC5yZXN1bHRPYmplY3RzKSBhcyB1bmtub3duIGFzIERlbGl2ZXJ5TWV0aG9kW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldERlbGl2ZXJ5T3B0aW9ucygpOiBQcm9taXNlPERlbGl2ZXJ5T3B0aW9uW10+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXREZWxpdmVyeU9wdGlvbnMoKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShEZWxpdmVyeU9wdGlvbiwgcmVzdWx0LnJlc3VsdE9iamVjdHMpIGFzIHVua25vd24gYXMgRGVsaXZlcnlPcHRpb25bXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0UG9zdGFsQ29kZVJldHJpZXZhbChwb3N0Y2FsQ29kZTogc3RyaW5nLCBob3VzZU5vOiBzdHJpbmcpOiBQcm9taXNlPEdldFBvc3RhbENvZGVSZXRyaWV2YWxPdXRwdXRQYXJhbXM+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRQb3N0YWxDb2RlUmV0cmlldmFsKHBvc3RjYWxDb2RlLCBob3VzZU5vKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgY29uc3Qgb3V0cHV0UGFyYW1zOiBHZXRQb3N0YWxDb2RlUmV0cmlldmFsT3V0cHV0UGFyYW1zID0gbmV3IEdldFBvc3RhbENvZGVSZXRyaWV2YWxPdXRwdXRQYXJhbXMoKTtcclxuICAgICAgICBvdXRwdXRQYXJhbXMuY2l0eSA9IHJlc3VsdC5yZXN1bHRPYmplY3QuY2l0eTtcclxuICAgICAgICBvdXRwdXRQYXJhbXMuc3RyZWV0ID0gcmVzdWx0LnJlc3VsdE9iamVjdC5zdHJlZXQ7XHJcbiAgICAgICAgb3V0cHV0UGFyYW1zLnN0YXR1cyA9IHJlc3VsdC5yZXN1bHRPYmplY3Quc3RhdHVzO1xyXG4gICAgICAgIG91dHB1dFBhcmFtcy5uZXROdW1iZXIgPSByZXN1bHQucmVzdWx0T2JqZWN0Lm5ldE51bWJlcjtcclxuICAgICAgICByZXR1cm4gb3V0cHV0UGFyYW1zO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0Q29tbWlzc2lvbkNvZGVzKGxhbmd1YWdlQ29kZTogc3RyaW5nKTogUHJvbWlzZTxDb0RvbWFpblZhbHVlW10+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRDb21taXNzaW9uQ29kZXMobGFuZ3VhZ2VDb2RlKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShDb0RvbWFpblZhbHVlLCByZXN1bHQucmVzdWx0T2JqZWN0cykgYXMgdW5rbm93biBhcyBDb0RvbWFpblZhbHVlW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEluT3V0Q29sbGVjdGlvbihsYW5ndWFnZUNvZGU6IHN0cmluZyk6IFByb21pc2U8Q29Eb21haW5WYWx1ZVtdPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0SW5PdXRDb2xsZWN0aW9uKGxhbmd1YWdlQ29kZSk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoQ29Eb21haW5WYWx1ZSwgcmVzdWx0LnJlc3VsdE9iamVjdHMpIGFzIHVua25vd24gYXMgQ29Eb21haW5WYWx1ZVtdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRUcmFuc2FjdGlvbkFydGljbGVXYXJlaG91c2VzKGdvb2RJZDogbnVtYmVyKTogUHJvbWlzZTxUcmFuc2FjdGlvbkFydGljbGVXYXJlaG91c2VbXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb25uZWN0b3IuZ2V0VHJhbnNhY3Rpb25BcnRpY2xlV2FyZWhvdXNlcyhnb29kSWQpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSg8VHJhbnNhY3Rpb25BcnRpY2xlV2FyZWhvdXNlW10+cmVzdWx0LnJlc3VsdE9iamVjdHMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChbXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFRleHRUeXBlcyhsYW5ndWFnZUNvZGU6IHN0cmluZyk6IFByb21pc2U8Q29Eb21haW5WYWx1ZVtdPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0VGV4dFR5cGVzKGxhbmd1YWdlQ29kZSk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICBjb25zdCB0ZXh0czogQ29Eb21haW5WYWx1ZVtdID0gPENvRG9tYWluVmFsdWVbXT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShDb0RvbWFpblZhbHVlLCByZXN1bHQucmVzdWx0T2JqZWN0cyk7XHJcbiAgICAgIHRleHRzLnNvcnQoKGEsIGIpID0+IGEuc2VxdWVuY2UgPiBiLnNlcXVlbmNlID8gMSA6IC0xKTtcclxuICAgICAgcmV0dXJuIHRleHRzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTdGFuZGFyZFRleHRzKGxhbmd1YWdlQ29kZTogc3RyaW5nKTogUHJvbWlzZTxTdGFuZGFyZFRleHRbXT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFN0YW5kYXJkVGV4dHMobGFuZ3VhZ2VDb2RlKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShTdGFuZGFyZFRleHQsIHJlc3VsdC5yZXN1bHRPYmplY3QpIGFzIHVua25vd24gYXMgU3RhbmRhcmRUZXh0W107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFNhbGVzUGVyc29ucyhkYXRlPzogRGF0ZSk6IFByb21pc2U8U2FsZXNQZXJzb25bXT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFNhbGVzUGVyc29ucyhkYXRlKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShTYWxlc1BlcnNvbiwgcmVzdWx0LnJlc3VsdE9iamVjdHMpIGFzIHVua25vd24gYXMgU2FsZXNQZXJzb25bXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0VGFncyhjYXRlZ29yeTogbnVtYmVyKTogUHJvbWlzZTxUYWdbXT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFRhZ3MoY2F0ZWdvcnkpO1xyXG4gICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFRhZywgcmVzdWx0LnJlc3VsdE9iamVjdHMpIGFzIHVua25vd24gYXMgVGFnW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldE9uSG9sZENvZGVzKCk6IFByb21pc2U8T25Ib2xkQ29kZVtdPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0T25Ib2xkQ29kZXMoKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShPbkhvbGRDb2RlLCByZXN1bHQucmVzdWx0T2JqZWN0cykgYXMgdW5rbm93biBhcyBPbkhvbGRDb2RlW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFdhcmVob3VzZXMoYnJhbmNoTnI/OiBzdHJpbmcpOiBQcm9taXNlPFdhcmVob3VzZVtdPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0V2FyZWhvdXNlcyhicmFuY2hOcik7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoV2FyZWhvdXNlLCByZXN1bHQucmVzdWx0T2JqZWN0cykgYXMgdW5rbm93biBhcyBXYXJlaG91c2VbXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0SGlzdG9yaWNTdGF0ZVZhbHVlcygpOiBQcm9taXNlPENvZGVEZXNjcmlwdGlvbltdPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0SGlzdG9yaWNTdGF0ZVZhbHVlcygpO1xyXG4gICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KENvZGVEZXNjcmlwdGlvbiwgcmVzdWx0LnJlc3VsdE9iamVjdHMpIGFzIHVua25vd24gYXMgQ29kZURlc2NyaXB0aW9uW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFBheW1lbnRNZXRob2RzKCk6IFByb21pc2U8UGF5bWVudE1ldGhvZFtdPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0UGF5bWVudE1ldGhvZHNGb3JTYWxlc09yZGVyKCk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoUGF5bWVudE1ldGhvZCwgcmVzdWx0LnJlc3VsdE9iamVjdCkgYXMgdW5rbm93biBhcyBQYXltZW50TWV0aG9kW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvbW1pdCgpOiBQcm9taXNlPERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhPiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25uZWN0b3IuY29tbWl0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY3JlYXRlVHJhbnNhY3Rpb24oa2luZDogVHJhbnNhY3Rpb25LaW5kLCBicmFuY2hOcjogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb25uZWN0b3IuY3JlYXRlVHJhbnNhY3Rpb24oa2luZCwgYnJhbmNoTnIpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlU2FsZXNPcmRlcihyZXF1ZXN0OiBDcmVhdGVTYWxlc09yZGVyUmVxdWVzdCk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLmNyZWF0ZVNhbGVzT3JkZXIocmVxdWVzdCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICAgICAgcmVqZWN0KG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVDYXNoUmVnaXN0ZXJPcmRlcihyZXF1ZXN0OiBDcmVhdGVDYXNoUmVnaXN0ZXJPcmRlclJlcXVlc3QpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5jcmVhdGVDYXNoUmVnaXN0ZXJPcmRlcihyZXF1ZXN0KS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3VsdC5yZXN1bHRPYmplY3QpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgICAgICByZWplY3QobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNyZWF0ZVB1cmNoYXNlT3JkZXIocmVxdWVzdDogQ3JlYXRlUHVyY2hhc2VPcmRlclJlcXVlc3QpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5jcmVhdGVQdXJjaGFzZU9yZGVyKHJlcXVlc3QpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlU2VydmljZU9yZGVyKHJlcXVlc3Q6IENyZWF0ZVNlcnZpY2VPcmRlclJlcXVlc3QpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5jcmVhdGVTZXJ2aWNlT3JkZXIocmVxdWVzdCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICAgICAgcmVqZWN0KG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVTYWxlc1F1b3RhdGlvbihyZXF1ZXN0OiBDcmVhdGVTYWxlc1F1b3RhdGlvblJlcXVlc3QpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5jcmVhdGVTYWxlc1F1b3RhdGlvbihyZXF1ZXN0KS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3VsdC5yZXN1bHRPYmplY3QpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgICAgICByZWplY3QobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBzYXZlVHJhbnNhY3Rpb24odXVpZDogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb25uZWN0b3Iuc2F2ZVRyYW5zYWN0aW9uKHV1aWQpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgc2V0UmVsYXRpb25CeVVzZXIodXVpZDogc3RyaW5nLCB1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5zZXRSZWxhdGlvbkJ5VXNlcih1dWlkLCB1c2VybmFtZSwgcGFzc3dvcmQpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZShyZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgICAgICByZWplY3QoZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyByZXNvbHZlUGVuZGluZ0hlYWRlclJlYXNvbihwZW5kaW5nSGVhZGVyVmFsdWVzOiBSZXNvbHZlSGVhZGVyUGVuZGluZ1JlYXNvblJlcXVlc3QpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5yZXNvbHZlUGVuZGluZ0hlYWRlclJlYXNvbihwZW5kaW5nSGVhZGVyVmFsdWVzKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3VsdC5yZXN1bHRPYmplY3QpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgICAgICByZWplY3QobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHJlc29sdmVQZW5kaW5nTGluZVJlYXNvbihwZW5kaW5nTGluZVZhbHVlczogUmVzb2x2ZUxpbmVQZW5kaW5nUmVhc29uUmVxdWVzdCk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLnJlc29sdmVQZW5kaW5nTGluZVJlYXNvbihwZW5kaW5nTGluZVZhbHVlcykudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICAgICAgcmVqZWN0KG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBhZGRUcmFuc2FjdGlvbkxpbmUoXHJcbiAgICB1dWlkOiBzdHJpbmcsXHJcbiAgICBhcnRpY2xlTGluZTogVHJhbnNhY3Rpb25MaW5lVHlwZSxcclxuICAgIGFydGljbGVObzogc3RyaW5nLFxyXG4gICAgYW1vdW50OiBudW1iZXIsXHJcbiAgICB3YXJlaG91c2VObzogbnVtYmVyLFxyXG4gICAgY29tbWlzc2lvbkNvZGU6IHN0cmluZyxcclxuICAgIGlzUmV0dXJuOiBib29sZWFuLFxyXG4gICAgYWJvdmVMaW5lTnI6IG51bWJlcixcclxuICAgIGJlbG93TGluZU5yOiBudW1iZXJcclxuICApOlxyXG4gICAgUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb25uZWN0b3IuYWRkVHJhbnNhY3Rpb25MaW5lKHV1aWQsIGFydGljbGVMaW5lLCBhcnRpY2xlTm8sIGFtb3VudCwgd2FyZWhvdXNlTm8sIGNvbW1pc3Npb25Db2RlLCBpc1JldHVybiwgYWJvdmVMaW5lTnIsIGJlbG93TGluZU5yKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3VsdC5yZXN1bHRPYmplY3QpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgICAgICByZWplY3QobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGFkZFRleHRMaW5lVG9UcmFuc2FjdGlvbih1dWlkOiBzdHJpbmcsIHNob3dPbkRvY3VtZW50czogbnVtYmVyLCB0ZXh0OiBzdHJpbmcsIGFtb3VudDogbnVtYmVyLCBhcnRpY2xlQm91bmQ6IGJvb2xlYW4sIHJlZkFydGljbGVMaW5lTnI6IG51bWJlciwgYWJvdmVMaW5lTnI/OiBudW1iZXIsIGJlbG93TGluZU5yPzogbnVtYmVyKTpcclxuICAgIFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLmFkZFRleHRMaW5lVG9UcmFuc2FjdGlvbih1dWlkLCBzaG93T25Eb2N1bWVudHMsIHRleHQsIGFtb3VudCwgYXJ0aWNsZUJvdW5kLCByZWZBcnRpY2xlTGluZU5yLCBhYm92ZUxpbmVOciwgYmVsb3dMaW5lTnIpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgYWRkUmVsYXRpb25Ub1RyYW5zYWN0aW9uKHV1aWQ6IHN0cmluZywgcmVsYXRpb25JZDogbnVtYmVyKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb25uZWN0b3IuYWRkUmVsYXRpb25Ub1RyYW5zYWN0aW9uKHV1aWQsIHJlbGF0aW9uSWQpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgc2V0VHJhbnNhY3Rpb25EZWxpdmVyeU9wdGlvbnModHJhbnNhY3Rpb25EZWxpdmVyeU9wdGlvbnNSZXF1ZXN0OiBTZXRUcmFuc2FjdGlvbkRlbGl2ZXJ5T3B0aW9uc1JlcXVlc3QpOiBQcm9taXNlPFRyYW5zYWN0aW9uUmVzcG9uc2VCYXNlPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5zZXRUcmFuc2FjdGlvbkRlbGl2ZXJ5T3B0aW9ucyh0cmFuc2FjdGlvbkRlbGl2ZXJ5T3B0aW9uc1JlcXVlc3QpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlTGluZVNlcXVlbmNlKHV1aWQ6IHN0cmluZywgbGluZVV1aWQ6IHN0cmluZywgYWJvdmVMaW5lTnI/OiBudW1iZXIsIGJlbG93TGluZU5yPzogbnVtYmVyKTpcclxuICAgIFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgY29uc3QgcmVxdWVzdDogQ2hhbmdlTGluZVNlcXVlbmNlUmVxdWVzdCA9IHtcclxuICAgICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgICAgbGluZVV1aWQ6IGxpbmVVdWlkLFxyXG4gICAgICAgIGFib3ZlTGluZU5yOiBhYm92ZUxpbmVOcixcclxuICAgICAgICBiZWxvd0xpbmVOcjogYmVsb3dMaW5lTnJcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdGhpcy5jb25uZWN0b3IuY2hhbmdlTGluZVNlcXVlbmNlKHJlcXVlc3QpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2FuY2VsQWRkVHJhbnNhY3Rpb25MaW5lKGxpbmVVdWlkOiBzdHJpbmcpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5jYW5jZWxBZGRUcmFuc2FjdGlvbkxpbmUobGluZVV1aWQpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGRlbGV0ZVRyYW5zYWN0aW9uTGluZSh1dWlkOiBzdHJpbmcsIGxpbmVVdWlkOiBzdHJpbmcpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5kZWxldGVUcmFuc2FjdGlvbkxpbmUodXVpZCwgbGluZVV1aWQpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZVRyYW5zYWN0aW9uTGluZVF1YW50aXR5KHV1aWQ6IHN0cmluZywgbGluZVV1aWQ6IHN0cmluZywgbmV3UXVhbnRpdHk6IG51bWJlcik6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgICAgbGluZVV1aWQ6IGxpbmVVdWlkLFxyXG4gICAgICAgIG5ld1F1YW50aXR5OiBuZXdRdWFudGl0eVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VUcmFuc2FjdGlvbkxpbmVRdWFudGl0eShyZXF1ZXN0KS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3VsdC5yZXN1bHRPYmplY3QpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgICAgICByZWplY3QobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZVRyYW5zYWN0aW9uTGluZUNvbW1pc3Npb25Db2RlKHV1aWQ6IHN0cmluZywgbGluZVV1aWQ6IHN0cmluZywgY29kZTogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBsaW5lVXVpZDogbGluZVV1aWQsXHJcbiAgICAgIG5ld0NvbW1pc3Npb25Db2RlOiBjb2RlXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlVHJhbnNhY3Rpb25MaW5lQ29tbWlzc2lvbkNvZGUocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZVRyYW5zYWN0aW9uTGluZVN1cHBsaWVyKHV1aWQ6IHN0cmluZywgbGluZVV1aWQ6IHN0cmluZywgaWQ6IG51bWJlcik6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbGluZVV1aWQ6IGxpbmVVdWlkLFxyXG4gICAgICBuZXdTdXBwbGllcklkOiBpZFxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZVRyYW5zYWN0aW9uTGluZVN1cHBsaWVyKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VUcmFuc2FjdGlvbkxpbmVXYXJlaG91c2UodXVpZDogc3RyaW5nLCBsaW5lVXVpZDogc3RyaW5nLCB3YXJlaG91c2VOdW1iZXI6IG51bWJlcik6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbGluZVV1aWQ6IGxpbmVVdWlkLFxyXG4gICAgICBuZXdXYXJlaG91c2VOdW1iZXI6IHdhcmVob3VzZU51bWJlclxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZVRyYW5zYWN0aW9uTGluZVdhcmVob3VzZShyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlVHJhbnNhY3Rpb25MaW5lUHJpY2UodXVpZDogc3RyaW5nLCBsaW5lVXVpZDogc3RyaW5nLCBwcmljZTogbnVtYmVyKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBsaW5lVXVpZDogbGluZVV1aWQsXHJcbiAgICAgIG5ld1ByaWNlOiBwcmljZVxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZVRyYW5zYWN0aW9uTGluZVByaWNlKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VUcmFuc2FjdGlvbkxpbmVQcmljZUxpc3QodXVpZDogc3RyaW5nLCBsaW5lVXVpZDogc3RyaW5nLCBwcmljZUxpc3Q6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbGluZVV1aWQ6IGxpbmVVdWlkLFxyXG4gICAgICBuZXdQcmljZUxpc3RDb2RlOiBwcmljZUxpc3RcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VUcmFuc2FjdGlvbkxpbmVQcmljZUxpc3QocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZVRyYW5zYWN0aW9uTGluZVZhdCh1dWlkOiBzdHJpbmcsIGxpbmVVdWlkOiBzdHJpbmcsIGlkOiBudW1iZXIpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIGxpbmVVdWlkOiBsaW5lVXVpZCxcclxuICAgICAgbmV3VmF0SWQ6IGlkXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlVHJhbnNhY3Rpb25MaW5lVmF0KHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VUcmFuc2FjdGlvbkxpbmVMaW5lRGlzY291bnQodXVpZDogc3RyaW5nLCBsaW5lVXVpZDogc3RyaW5nLCB0eXBlOiBEaXNjb3VudFR5cGUsIGRpc2NvdW50OiBudW1iZXIsIHJlYXNvbjogc3RyaW5nLCBjb2RlOiBzdHJpbmcpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIGxpbmVVdWlkOiBsaW5lVXVpZCxcclxuICAgICAgZGlzY291bnRUeXBlOiB0eXBlLFxyXG4gICAgICBuZXdEaXNjb3VudDogZGlzY291bnQsXHJcbiAgICAgIG5ld0Rpc2NvdW50UmVhc29uOiByZWFzb24sXHJcbiAgICAgIG5ld0Rpc2NvdW50Q29kZTogY29kZVxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZVRyYW5zYWN0aW9uTGluZURpc2NvdW50KHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VUcmFuc2FjdGlvbkxpbmVEZWxpdmVyeU1ldGhvZCh1dWlkOiBzdHJpbmcsIGxpbmVVdWlkOiBzdHJpbmcsIG1ldGhvZDogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBsaW5lVXVpZDogbGluZVV1aWQsXHJcbiAgICAgIG5ld0RlbGl2ZXJ5TWV0aG9kQ29kZTogbWV0aG9kXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlVHJhbnNhY3Rpb25MaW5lRGVsaXZlcnlNZXRob2QocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZVRyYW5zYWN0aW9uTGluZURlbGl2ZXJ5RGF0ZSh1dWlkOiBzdHJpbmcsIGxpbmVVdWlkOiBzdHJpbmcsIGRhdGU6IERhdGUpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIGxpbmVVdWlkOiBsaW5lVXVpZCxcclxuICAgICAgbmV3RGVsaXZlcnlEYXRlOiBkYXRlXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlVHJhbnNhY3Rpb25MaW5lRGVsaXZlcnlEYXRlKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VUcmFuc2FjdGlvbkxpbmVBc3NlbWJseVRpbWUodXVpZDogc3RyaW5nLCBsaW5lVXVpZDogc3RyaW5nLCB0aW1lOiBudW1iZXIpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIGxpbmVVdWlkOiBsaW5lVXVpZCxcclxuICAgICAgbmV3QXNzZW1ibHlUaW1lOiB0aW1lXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlVHJhbnNhY3Rpb25MaW5lQXNzZW1ibHlUaW1lKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VUcmFuc2FjdGlvbkxpbmVFZGl0VGltZSh1dWlkOiBzdHJpbmcsIGxpbmVVdWlkOiBzdHJpbmcsIHRpbWU6IG51bWJlcik6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbGluZVV1aWQ6IGxpbmVVdWlkLFxyXG4gICAgICBuZXdFZGl0VGltZTogdGltZVxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZVRyYW5zYWN0aW9uTGluZUVkaXRUaW1lKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VUcmFuc2FjdGlvbkxpbmVTdXBwbGllckFydGljbGVOdW1iZXIodXVpZDogc3RyaW5nLCBsaW5lVXVpZDogc3RyaW5nLCBhcnRpY2xlTnVtYmVyOiBzdHJpbmcpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIGxpbmVVdWlkOiBsaW5lVXVpZCxcclxuICAgICAgbmV3U3VwcGxpZXJBcnRpY2xlTnVtYmVyOiBhcnRpY2xlTnVtYmVyXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlVHJhbnNhY3Rpb25MaW5lU3VwcGxpZXJBcnRpY2xlTnVtYmVyKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VUcmFuc2FjdGlvbkxpbmVSZWZlcmVuY2UodXVpZDogc3RyaW5nLCBsaW5lVXVpZDogc3RyaW5nLCByZWZlcmVuY2U6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbGluZVV1aWQ6IGxpbmVVdWlkLFxyXG4gICAgICBuZXdSZWZlcmVuY2U6IHJlZmVyZW5jZVxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZVRyYW5zYWN0aW9uTGluZVJlZmVyZW5jZShyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlVHJhbnNhY3Rpb25MaW5lR29vZERlc2NyaXB0aW9uKHV1aWQ6IHN0cmluZywgbGluZVV1aWQ6IHN0cmluZywgZ29vZERlc2NyaXB0aW9uOiBzdHJpbmcpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIGxpbmVVdWlkOiBsaW5lVXVpZCxcclxuICAgICAgbmV3R29vZERlc2NyaXB0aW9uOiBnb29kRGVzY3JpcHRpb25cclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VUcmFuc2FjdGlvbkxpbmVHb29kRGVzY3JpcHRpb24ocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZUhlYWRlclRyYW5zYWN0aW9uRGVmaW5pdGl2ZSh1dWlkOiBzdHJpbmcsIGRlZmluaXRpdmU6IGJvb2xlYW4pOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIG5ld1RyYW5zYWN0aW9uRGVmaW5pdGl2ZTogZGVmaW5pdGl2ZVxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZUhlYWRlclRyYW5zYWN0aW9uRGVmaW5pdGl2ZShyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlSGVhZGVyRGVsaXZlcnlBZGRyZXNzKHV1aWQ6IHN0cmluZywgbmV3TmF3TnI6IG51bWJlcik6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbmV3VHJhbnNhY3Rpb25BZGRyZXNzTmF3TnI6IG5ld05hd05yXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlSGVhZGVyVHJhbnNhY3Rpb25BZGRyZXNzKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VIZWFkZXJJbnZvaWNlQWRkcmVzcyh1dWlkOiBzdHJpbmcsIG5ld05hd05yOiBudW1iZXIpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIG5ld0ludm9pY2VBZGRyZXNzTmF3TnI6IG5ld05hd05yXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlSGVhZGVySW52b2ljZUFkZHJlc3MocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZUhlYWRlclRyYW5zYWN0aW9uRGVsaXZlcnlEYXRlKHV1aWQ6IHN0cmluZywgZGF0ZTogRGF0ZSk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbmV3RGVsaXZlcnlEYXRlOiBkYXRlXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlSGVhZGVyRGVsaXZlcnlEYXRlKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VIZWFkZXJUcmFuc2FjdGlvbkRlbGl2ZXJ5RGF0ZURlZmluaXRpdmUodXVpZDogc3RyaW5nLCBkZWZpbml0aXZlOiBib29sZWFuKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBuZXdEZWxpdmVyeURhdGVEZWZpbml0aXZlOiBkZWZpbml0aXZlXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlSGVhZGVyRGVsaXZlcnlEYXRlRGVmaW5pdGl2ZShyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlSGVhZGVyVHJhbnNhY3Rpb25SZW1hcmsodXVpZDogc3RyaW5nLCByZW1hcms6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbmV3UmVtYXJrczogcmVtYXJrXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlSGVhZGVyUmVtYXJrcyhyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlSGVhZGVyVHJhbnNhY3Rpb25SZWZlcmVuY2UodXVpZDogc3RyaW5nLCByZWZlcmVuY2U6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbmV3T3duUmVmZXJlbmNlOiByZWZlcmVuY2VcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VIZWFkZXJPd25SZWZlcmVuY2UocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZUhlYWRlclRyYW5zYWN0aW9uUmVsYXRpb25SZWZlcmVuY2UodXVpZDogc3RyaW5nLCByZWZlcmVuY2U6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbmV3UmVsYXRpb25SZWZlcmVuY2U6IHJlZmVyZW5jZVxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZUhlYWRlclJlbGF0aW9uUmVmZXJlbmNlKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VIZWFkZXJUb0Rvd25QYXlQZXJjZW50YWdlKHV1aWQ6IHN0cmluZywgYW1vdW50OiBudW1iZXIpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIG5ld1RvRG93blBheVBlcmNlbnRhZ2U6IGFtb3VudFxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZUhlYWRlclRvRG93blBheVBlcmNlbnRhZ2UocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZUhlYWRlclRvRG93blBheUFtb3VudCh1dWlkOiBzdHJpbmcsIGFtb3VudDogbnVtYmVyKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBuZXdUb0Rvd25QYXlBbW91bnQ6IGFtb3VudFxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZUhlYWRlclRvRG93blBheUFtb3VudChyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlSGVhZGVyVHJhbnNhY3Rpb25QcmVmZXJyZWREZWxpdmVyeURhdGUodXVpZDogc3RyaW5nLCBkYXRlOiBEYXRlKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBuZXdQcmVmZXJyZWREZWxpdmVyeURhdGU6IGRhdGUsXHJcbiAgICAgIG5ld1ByZWZlcnJlZERlbGl2ZXJ5RGF0ZU9wdGlvbjogXCJcIlxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZUhlYWRlclByZWZlcnJlZERlbGl2ZXJ5RGF0ZShyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlSGVhZGVyVHJhbnNhY3Rpb25EZWxpdmVyeU1ldGhvZCh1dWlkOiBzdHJpbmcsIG1ldGhvZDogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBuZXdEZWxpdmVyeU1ldGhvZENvZGU6IG1ldGhvZFxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZUhlYWRlckRlbGl2ZXJ5TWV0aG9kKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VIZWFkZXJUcmFuc2FjdGlvbkRlbGl2ZXJ5T3B0aW9ucyh1dWlkOiBzdHJpbmcsIG9wdGlvbnM6IHN0cmluZ1tdKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBuZXdEZWxpdmVyeU9wdGlvbnM6IG9wdGlvbnNcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VIZWFkZXJEZWxpdmVyeU9wdGlvbnMocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZUhlYWRlclRyYW5zYWN0aW9uUGFydGlhbERlbGl2ZXJ5KHV1aWQ6IHN0cmluZywgYWxsb3dQYXJ0aWFsOiBib29sZWFuKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBuZXdQYXJ0aWFsRGVsaXZlcnlBbGxvd2VkOiBhbGxvd1BhcnRpYWxcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VIZWFkZXJQYXJ0aWFsRGVsaXZlcnlBbGxvd2VkKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VIZWFkZXJUcmFuc2FjdGlvbkJyYW5jaCh1dWlkOiBzdHJpbmcsIGJyYW5jaDogbnVtYmVyKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBuZXdCcmFuY2hJZDogYnJhbmNoXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlSGVhZGVyQnJhbmNoKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VIZWFkZXJUcmFuc2FjdGlvbkFkbUNvb3JkaW5hdG9yKHV1aWQ6IHN0cmluZywgcmVsYXRpb246IG51bWJlcik6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbmV3QWRtQ29vcmRpbmF0b3I6IHJlbGF0aW9uXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlSGVhZGVyQWRtQ29vcmRpbmF0b3IocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZUhlYWRlclRyYW5zYWN0aW9uTWFya2V0aW5nKHV1aWQ6IHN0cmluZywgY29kZTogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBuZXdNYXJrZXRpbmdDb2RlOiBjb2RlXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlSGVhZGVyTWFya2V0aW5nQ29kZShyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlSGVhZGVyVHJhbnNhY3Rpb25EaXNjb3VudCh1dWlkOiBzdHJpbmcsIHR5cGU6IERpc2NvdW50VHlwZSwgYW1vdW50OiBudW1iZXIpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIG9yZGVyRGlzY291bnRUeXBlOiB0eXBlLFxyXG4gICAgICBkaXNjb3VudFZhbHVlOiBhbW91bnRcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5zZXRUcmFuc2FjdGlvbkRpc2NvdW50cyhyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlSGVhZGVyVHJhbnNhY3Rpb25Ub0Rvd25QYXkodXVpZDogc3RyaW5nLCBkb3duUGF5bWVudDogbnVtYmVyKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBuZXdUb0Rvd25QYXlBbW91bnQ6IGRvd25QYXltZW50XHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlSGVhZGVyVG9Eb3duUGF5QW1vdW50KHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VUcmFuc2FjdGlvbkxpbmVDb2xsZWN0aW9uQ29kZSh1dWlkOiBzdHJpbmcsIGxpbmVVdWlkOiBzdHJpbmcsIGNvZGU6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbGluZVV1aWQ6IGxpbmVVdWlkLFxyXG4gICAgICBuZXdDb2xsZWN0aW9uQ29kZTogY29kZVxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZVRyYW5zYWN0aW9uTGluZUNvbGxlY3Rpb25Db2RlKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVPdXRzdGFuZGluZ0VudHJ5KHV1aWQ6IHN0cmluZywgYW1vdW50OiBudW1iZXIpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc1VVSUQ6IHV1aWQsXHJcbiAgICAgIGFtb3VudDogYW1vdW50XHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY3JlYXRlT3V0c3RhbmRpbmdFbnRyeShyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcmVnaXN0ZXJTYWxlc09yZGVyUGF5bWVudChcclxuICAgIHV1aWQ6IHN0cmluZywgYW1vdW50OiBudW1iZXIsIGN1cnJlbmN5SWQ6IG51bWJlciwgcGF5bWVudE1ldGhvZDogc3RyaW5nLCBjYXNoUmVnaXN0ZXJHcm91cElkOiBudW1iZXJcclxuICApOiBQcm9taXNlPERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc1VVSUQ6IHV1aWQsXHJcbiAgICAgIGFtb3VudDogYW1vdW50LFxyXG4gICAgICBjdXJyZW5jeUlkOiBjdXJyZW5jeUlkLFxyXG4gICAgICBwYXltZW50TWV0aG9kQ29kZTogcGF5bWVudE1ldGhvZCxcclxuICAgICAgY2FzaFJlZ2lzdGVyR3JvdXBJZDogY2FzaFJlZ2lzdGVyR3JvdXBJZFxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLnJlZ2lzdGVyU2FsZXNPcmRlclBheW1lbnQocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlSW9uZVBheW1lbnRMaW5rQW5kUVJDb2RlKHV1aWQ6IHN0cmluZywgYW1vdW50OiBudW1iZXIsIHBheW1lbnRNZXRob2RDb2RlOiBzdHJpbmcpOiBQcm9taXNlPENyZWF0ZVBheW1lbnRMaW5rUmVzdWx0PiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc1VVSUQ6IHV1aWQsXHJcbiAgICAgIGFtb3VudDogYW1vdW50LFxyXG4gICAgICBwYXltZW50TWV0aG9kQ29kZTogcGF5bWVudE1ldGhvZENvZGVcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jcmVhdGVJb25lUGF5bWVudExpbmtBbmRRUkNvZGUocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKENyZWF0ZVBheW1lbnRMaW5rUmVzdWx0LCByZXNwb25zZS5yZXN1bHRPYmplY3QpIGFzIHVua25vd24gYXMgQ3JlYXRlUGF5bWVudExpbmtSZXN1bHQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRQYXltZW50TGlua1N0YXR1cyhwYXltZW50TGlua1VVSUQ6IHN0cmluZyk6IFByb21pc2U8UGF5bWVudExpbmtTdGF0dXM+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFBheW1lbnRMaW5rU3RhdHVzKHBheW1lbnRMaW5rVVVJRCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFBheW1lbnRMaW5rU3RhdHVzLCByZXNwb25zZS5yZXN1bHRPYmplY3QpIGFzIHVua25vd24gYXMgUGF5bWVudExpbmtTdGF0dXM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXREb3duUGF5bWVudEluZm8odXVpZDogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbkRvd25QYXltZW50SW5mbz4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0RG93blBheW1lbnRJbmZvKHV1aWQpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkRvd25QYXltZW50SW5mbywgcmVzcG9uc2UucmVzdWx0T2JqZWN0KSBhcyB1bmtub3duIGFzIFRyYW5zYWN0aW9uRG93blBheW1lbnRJbmZvO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0R29vZHNSZWNlaXB0U3RhdHVzKHRyYW5zSWQ6IG51bWJlciwgbGluZU5yOiBudW1iZXIpOiBQcm9taXNlPEdvb2RzUmVjZWlwdFN0YXR1c1dpdGhIaXN0b3J5PiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRHb29kc1JlY2VpcHRTdGF0dXModHJhbnNJZCwgbGluZU5yKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPEdvb2RzUmVjZWlwdFN0YXR1c1dpdGhIaXN0b3J5Pjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKEdvb2RzUmVjZWlwdFN0YXR1c1dpdGhIaXN0b3J5LCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0R29vZHNSZWNlaXB0U3RhdHVzV2l0aEhpc3RvcnkodHJhbnNJZDogbnVtYmVyLCBsaW5lTnI6IG51bWJlcik6IFByb21pc2U8R29vZHNSZWNlaXB0U3RhdHVzV2l0aEhpc3Rvcnk+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldEdvb2RzUmVjZWlwdFN0YXR1c1dpdGhIaXN0b3J5KHRyYW5zSWQsIGxpbmVOcik7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxHb29kc1JlY2VpcHRTdGF0dXNXaXRoSGlzdG9yeT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShHb29kc1JlY2VpcHRTdGF0dXNXaXRoSGlzdG9yeSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHJlY2VpdmVHb29kc0ZvclB1cmNoYXNlT3JkZXIocmVxdWVzdDogUmVjZWl2ZUdvb2RzRm9yUHVyY2hhc2VPcmRlclJlcXVlc3QpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5yZWNlaXZlR29vZHNGb3JQdXJjaGFzZU9yZGVyKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyByZWNlaXZlR29vZHNGb3JQdXJjaGFzZU9yZGVyQ29ycmVjdGlvbihyZXF1ZXN0OiBSZWNlaXZlR29vZHNGb3JQdXJjaGFzZU9yZGVyQ29ycmVjdGlvblJlcXVlc3QpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5yZWNlaXZlR29vZHNGb3JQdXJjaGFzZU9yZGVyQ29ycmVjdGlvbihyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0UHVyY2hhc2VQb3J0YWxMaW5lcyhyZXF1ZXN0OiBHZXRQdXJjaGFzZVBvcnRhbExpbmUpOiBQcm9taXNlPFB1cmNoYXNlUG9ydGFsTGluZVtdPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5nZXRQdXJjaGFzZVBvcnRhbExpbmVzKHJlcXVlc3QpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3RzKSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoUHVyY2hhc2VQb3J0YWxMaW5lLCByZXN1bHQucmVzdWx0T2JqZWN0cykpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgdXBkYXRlUHVyY2hhc2VQb3J0YWxMaW5lcyhwdXJjaGFzZVBvcnRhbExpbmU6IFB1cmNoYXNlUG9ydGFsTGluZSk6IFByb21pc2U8RGF0YVNlcnZpY2VSZXNwb25zZURhdGE+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci51cGRhdGVQdXJjaGFzZVBvcnRhbExpbmVzKHB1cmNoYXNlUG9ydGFsTGluZSk7XHJcbiAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgYXdhaXQgdGhpcy5jb21taXQoKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcHVyY2hhc2VPcmRlckNvbmZpcm1hdGlvbihwdXJjaGFzZU9yZGVyQ29uZmlybWF0aW9uOiBHZXRQdXJjaGFzZU9yZGVyQ29uZmlybWF0aW9uKTogUHJvbWlzZTxEYXRhU2VydmljZVJlc3BvbnNlRGF0YT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFB1cmNoYXNlT3JkZXJDb25maXJtYXRpb24ocHVyY2hhc2VPcmRlckNvbmZpcm1hdGlvbik7XHJcbiAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgYXdhaXQgdGhpcy5jb21taXQoKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgbG9ja1B1cmNoYXNlUG9ydGFsTGluZXModHJhbnNJZFB1cmNoYXNlOiBudW1iZXIsIGxpbmVJZDogbnVtYmVyKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5sb2NrUHVyY2hhc2VQb3J0YWxMaW5lcyh0cmFuc0lkUHVyY2hhc2UsIGxpbmVJZCkudGhlbihhc3luYyAocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U3RvY2tTdGlja2VyVGVtcGxhdGVzKGRhdGE6IFN0b2NrU3RpY2tlcnNQcmludExheW91dHMpOiBQcm9taXNlPFN0b2NrU3RpY2tlcnNQcmludExheW91dHNbXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgIHJldHVybiB0aGlzLnNoYXJlZENvbm5lY3Rvci5nZXRTdG9ja1N0aWNrZXJQcmludExheW91dHMoZGF0YSkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdCkge1xyXG4gICAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFN0b2NrU3RpY2tlcnNQcmludExheW91dHMsIHJlc3VsdC5yZXN1bHRPYmplY3QpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdlbmVyYXRlQ29tbWlzc2lvbk9yZGVycyh0cmFuc0lkOiBudW1iZXIsIG9ubHlHZW5lcmF0ZUZvckRpcmVjdFNlbGxTdXBwbGllcnM6IGJvb2xlYW4pOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLmdlbmVyYXRlQ29tbWlzc2lvbk9yZGVycyh0cmFuc0lkLCBvbmx5R2VuZXJhdGVGb3JEaXJlY3RTZWxsU3VwcGxpZXJzKS50aGVuKGFzeW5jIChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHJlc29sdmUodHJ1ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXREZWxpdmVyeU9yZGVyU3RhdHVzKHRyYW5zSWQ6IG51bWJlciwgbGluZU5yOiBudW1iZXIpOiBQcm9taXNlPERlbGl2ZXJ5T3JkZXJTdGF0dXM+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldERlbGl2ZXJ5T3JkZXJTdGF0dXModHJhbnNJZCwgbGluZU5yKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPERlbGl2ZXJ5T3JkZXJTdGF0dXM+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoRGVsaXZlcnlPcmRlclN0YXR1cywgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEF2YWlsYWJsZVN0b2NrR3JvdXBlZEJ5V0xCU0J5VHJhbnNJZExpbmVOcih0cmFuc0lkOiBudW1iZXIsIGxpbmVOcjogbnVtYmVyKTogUHJvbWlzZTxBdmFpbGFibGVTdG9ja1tdPiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRBdmFpbGFibGVTdG9ja0dyb3VwZWRCeVdMQlNCeVRyYW5zSWRMaW5lTnIodHJhbnNJZCwgbGluZU5yKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPEF2YWlsYWJsZVN0b2NrW10+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoQXZhaWxhYmxlU3RvY2ssIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBhbGxvY2F0ZUdvb2RzRm9yU2FsZXNPcmRlcihyZXF1ZXN0OiBBbGxvY2F0ZUdvb2RzRm9yU2FsZXNPcmRlclJlcXVlc3QpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmFsbG9jYXRlR29vZHNGb3JTYWxlc09yZGVyKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgYWxsb2NhdGVHb29kc0ZvclNhbGVzT3JkZXJDb3JyZWN0aW9uKHJlcXVlc3Q6IEFsbG9jYXRlR29vZHNGb3JTYWxlc09yZGVyQ29ycmVjdGlvblJlcXVlc3QpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmFsbG9jYXRlR29vZHNGb3JTYWxlc09yZGVyQ29ycmVjdGlvbihyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEdvb2RzQWxsb2NhdGlvblN0YXR1cyh0cmFuc0lkOiBudW1iZXIsIGxpbmVOcjogbnVtYmVyKTogUHJvbWlzZTxHb29kc0FsbG9jYXRpb25TdGF0dXM+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldEdvb2RzQWxsb2NhdGlvblN0YXR1cyh0cmFuc0lkLCBsaW5lTnIpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnJlc3VsdE9iamVjdCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoR29vZHNBbGxvY2F0aW9uU3RhdHVzLCByZXNwb25zZS5yZXN1bHRPYmplY3QpIGFzIHVua25vd24gYXMgR29vZHNBbGxvY2F0aW9uU3RhdHVzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0R29vZHNBbGxvY2F0aW9uU3RhdHVzV2l0aEhpc3RvcnkodHJhbnNJZDogbnVtYmVyLCBsaW5lTnI6IG51bWJlcik6IFByb21pc2U8R29vZHNBbGxvY2F0aW9uU3RhdHVzV2l0aEhpc3Rvcnk+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldEdvb2RzQWxsb2NhdGlvblN0YXR1c1dpdGhIaXN0b3J5KHRyYW5zSWQsIGxpbmVOcik7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UucmVzdWx0T2JqZWN0KSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShHb29kc0FsbG9jYXRpb25TdGF0dXNXaXRoSGlzdG9yeSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KSBhcyB1bmtub3duIGFzIEdvb2RzQWxsb2NhdGlvblN0YXR1c1dpdGhIaXN0b3J5O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0T3JkZXJDb25maXJtYXRpb25FbWFpbExheW91dHModHJhbnNhY3Rpb25VVUlEOiBzdHJpbmcpOiBQcm9taXNlPFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsW10+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldE9yZGVyQ29uZmlybWF0aW9uRW1haWxMYXlvdXRzKHRyYW5zYWN0aW9uVVVJRCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbFtdPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0T3JkZXJDb25maXJtYXRpb25QcmludExheW91dHModHJhbnNhY3Rpb25VVUlEOiBzdHJpbmcpOiBQcm9taXNlPFJlcG9ydExheW91dFNlbGVjdGlvblByaW50W10+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldE9yZGVyQ29uZmlybWF0aW9uUHJpbnRMYXlvdXRzKHRyYW5zYWN0aW9uVVVJRCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludFtdPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFJlcG9ydExheW91dFNlbGVjdGlvblByaW50LCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0T3JkZXJDb25maXJtYXRpb25EZWZhdWx0U2VuZE1ldGhvZChyZWxhdGlvbklkOiBudW1iZXIpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0T3JkZXJDb25maXJtYXRpb25EZWZhdWx0U2VuZE1ldGhvZChyZWxhdGlvbklkKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0T2JqZWN0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcHJpbnRPcmRlckNvbmZpcm1hdGlvbihyZXF1ZXN0OiBQcmludE9yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IucHJpbnRPcmRlckNvbmZpcm1hdGlvbihyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0T2JqZWN0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZW1haWxPcmRlckNvbmZpcm1hdGlvbihyZXF1ZXN0OiBFbWFpbE9yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZW1haWxPcmRlckNvbmZpcm1hdGlvbihyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0T2JqZWN0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcGRmT3JkZXJDb25maXJtYXRpb24ocmVxdWVzdDogUGRmT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5wZGZPcmRlckNvbmZpcm1hdGlvbihyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0T2JqZWN0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcHJpbnRQdXJjaGFzZU9yZGVyKHJlcXVlc3Q6IFByaW50UHVyY2hhc2VPcmRlclJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLnByaW50UHVyY2hhc2VPcmRlcihyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0T2JqZWN0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZW1haWxQdXJjaGFzZU9yZGVyKHJlcXVlc3Q6IEVtYWlsUHVyY2hhc2VPcmRlclJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmVtYWlsUHVyY2hhc2VPcmRlcihyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0T2JqZWN0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcGRmUHVyY2hhc2VPcmRlcihyZXF1ZXN0OiBQZGZQdXJjaGFzZU9yZGVyUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IucGRmUHVyY2hhc2VPcmRlcihyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0T2JqZWN0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0UHVyY2hhc2VPcmRlckVtYWlsTGF5b3V0cyh0cmFuc2FjdGlvblVVSUQ6IHN0cmluZyk6IFByb21pc2U8UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWxbXT4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0UHVyY2hhc2VPcmRlckVtYWlsTGF5b3V0cyh0cmFuc2FjdGlvblVVSUQpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWxbXT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbCwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFB1cmNoYXNlT3JkZXJQcmludExheW91dHModHJhbnNhY3Rpb25VVUlEOiBzdHJpbmcpOiBQcm9taXNlPFJlcG9ydExheW91dFNlbGVjdGlvblByaW50W10+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFB1cmNoYXNlT3JkZXJQcmludExheW91dHModHJhbnNhY3Rpb25VVUlEKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFJlcG9ydExheW91dFNlbGVjdGlvblByaW50W10+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoUmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnQsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXREZWZhdWx0RW1haWxBZGRyZXNzTGlzdEZvck9yZGVyQ29uZmlybWF0aW9uKHRyYW5zYWN0aW9uVVVJRCk6IFByb21pc2U8c3RyaW5nW10+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldERlZmF1bHRFbWFpbEFkZHJlc3NMaXN0Rm9yT3JkZXJDb25maXJtYXRpb24odHJhbnNhY3Rpb25VVUlEKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0T2JqZWN0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0UHVyY2hhc2VPcmRlckRlZmF1bHRTZW5kTWV0aG9kKHJlbGF0aW9uSWQ6IG51bWJlcik6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRQdXJjaGFzZU9yZGVyRGVmYXVsdFNlbmRNZXRob2QocmVsYXRpb25JZCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHJlc3BvbnNlLnJlc3VsdE9iamVjdDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdlbmVyYXRlQW5kU2VuZFB1cmNoYXNlT3JkZXJzRm9yU2FsZXNPcmRlcih0cmFuc2FjdGlvbklkOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdlbmVyYXRlQW5kU2VuZFB1cmNoYXNlT3JkZXJzRm9yU2FsZXNPcmRlcih0cmFuc2FjdGlvbklkKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0T2JqZWN0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0UHVyY2hhc2VBZHZpY2VMaW5lcyhmaWx0ZXJzOiBQdXJjaGFzZUFkdmljZUZpbHRlcnMsIGdvb2RJZD86IG51bWJlcik6IFByb21pc2U8UHVyY2hhc2VBZHZpY2VMaW5lW10+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFB1cmNoYXNlQWR2aWNlTGluZXMoZmlsdGVycywgZ29vZElkKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFB1cmNoYXNlQWR2aWNlTGluZVtdPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFB1cmNoYXNlQWR2aWNlTGluZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdlbmVyYXRlQW5kU2VuZFB1cmNoYXNlT3JkZXJzKHB1cmNoYXNlQWR2aWNlTGluZXM6IFB1cmNoYXNlQWR2aWNlTGluZVtdKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZW5lcmF0ZUFuZFNlbmRQdXJjaGFzZU9yZGVycyhwdXJjaGFzZUFkdmljZUxpbmVzKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Vycm9yU2VydmljZS5zaG93VmFsaWRhdGlvbkVycm9yKHJlc3VsdCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|