@hitsoft/e-donusum 0.0.1
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/README.md +24 -0
- package/config/e-donusum-config.module.d.ts +8 -0
- package/config/enums/eDonusum-route-names.d.ts +8 -0
- package/config/enums/index.d.ts +1 -0
- package/config/enums/route-names.d.ts +3 -0
- package/config/index.d.ts +5 -0
- package/config/providers/branch-route.provider.d.ts +9 -0
- package/config/providers/business-partner-group-route.provider.d.ts +9 -0
- package/config/providers/business-partner-route.provider.d.ts +9 -0
- package/config/providers/despatch-document-reference-route.provider.d.ts +9 -0
- package/config/providers/despatch-line-order-line-reference-route.provider.d.ts +9 -0
- package/config/providers/despatch-line-route.provider.d.ts +9 -0
- package/config/providers/despatch-note-route.provider.d.ts +9 -0
- package/config/providers/despatch-route.provider.d.ts +9 -0
- package/config/providers/gib-partner-pk-all-route.provider.d.ts +9 -0
- package/config/providers/gib-partner-pk-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/branch-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/business-partner-group-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/business-partner-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/despatch-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/gib-partner-pk-all-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/gib-partner-pk-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/inbound-despatch-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/inbound-invoice-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/invoice-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/note-rule-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/route.provider.d.ts +8 -0
- package/config/providers/hit-providers/wizard-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/xslt-format-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/xslt-rule-route.provider.d.ts +9 -0
- package/config/providers/index.d.ts +1 -0
- package/config/providers/invoice-document-reference-route.provider.d.ts +9 -0
- package/config/providers/invoice-line-despatch-line-reference-route.provider.d.ts +9 -0
- package/config/providers/invoice-line-order-line-reference-route.provider.d.ts +9 -0
- package/config/providers/invoice-line-receipt-line-reference-route.provider.d.ts +9 -0
- package/config/providers/invoice-line-route.provider.d.ts +9 -0
- package/config/providers/invoice-note-route.provider.d.ts +9 -0
- package/config/providers/invoice-route.provider.d.ts +9 -0
- package/config/providers/note-rule-doc-type-route.provider.d.ts +9 -0
- package/config/providers/note-rule-route.provider.d.ts +9 -0
- package/config/providers/note-rule-scenario-route.provider.d.ts +9 -0
- package/config/providers/params-company-route.provider.d.ts +9 -0
- package/config/providers/params-general-route.provider.d.ts +9 -0
- package/config/providers/params-integrator-route.provider.d.ts +9 -0
- package/config/providers/paramse-dispatch-route.provider.d.ts +9 -0
- package/config/providers/paramse-invoice-route.provider.d.ts +9 -0
- package/config/providers/route.provider.d.ts +8 -0
- package/config/providers/xslt-format-route.provider.d.ts +9 -0
- package/config/providers/xslt-rule-doc-type-route.provider.d.ts +9 -0
- package/config/providers/xslt-rule-route.provider.d.ts +9 -0
- package/config/providers/xslt-rule-scenario-route.provider.d.ts +9 -0
- package/config/public-api.d.ts +3 -0
- package/esm2020/config/e-donusum-config.module.mjs +106 -0
- package/esm2020/config/enums/eDonusum-route-names.mjs +2 -0
- package/esm2020/config/enums/index.mjs +2 -0
- package/esm2020/config/enums/route-names.mjs +2 -0
- package/esm2020/config/hitsoft-e-donusum-config.mjs +5 -0
- package/esm2020/config/providers/branch-route.provider.mjs +19 -0
- package/esm2020/config/providers/business-partner-group-route.provider.mjs +19 -0
- package/esm2020/config/providers/business-partner-route.provider.mjs +19 -0
- package/esm2020/config/providers/despatch-document-reference-route.provider.mjs +19 -0
- package/esm2020/config/providers/despatch-line-order-line-reference-route.provider.mjs +17 -0
- package/esm2020/config/providers/despatch-line-route.provider.mjs +19 -0
- package/esm2020/config/providers/despatch-note-route.provider.mjs +19 -0
- package/esm2020/config/providers/despatch-route.provider.mjs +19 -0
- package/esm2020/config/providers/gib-partner-pk-all-route.provider.mjs +19 -0
- package/esm2020/config/providers/gib-partner-pk-route.provider.mjs +19 -0
- package/esm2020/config/providers/hit-providers/branch-route.provider.mjs +20 -0
- package/esm2020/config/providers/hit-providers/business-partner-group-route.provider.mjs +20 -0
- package/esm2020/config/providers/hit-providers/business-partner-route.provider.mjs +20 -0
- package/esm2020/config/providers/hit-providers/despatch-route.provider.mjs +20 -0
- package/esm2020/config/providers/hit-providers/gib-partner-pk-all-route.provider.mjs +20 -0
- package/esm2020/config/providers/hit-providers/gib-partner-pk-route.provider.mjs +20 -0
- package/esm2020/config/providers/hit-providers/inbound-despatch-route.provider.mjs +20 -0
- package/esm2020/config/providers/hit-providers/inbound-invoice-route.provider.mjs +20 -0
- package/esm2020/config/providers/hit-providers/invoice-route.provider.mjs +20 -0
- package/esm2020/config/providers/hit-providers/note-rule-route.provider.mjs +20 -0
- package/esm2020/config/providers/hit-providers/route.provider.mjs +59 -0
- package/esm2020/config/providers/hit-providers/wizard-route.provider.mjs +19 -0
- package/esm2020/config/providers/hit-providers/xslt-format-route.provider.mjs +20 -0
- package/esm2020/config/providers/hit-providers/xslt-rule-route.provider.mjs +20 -0
- package/esm2020/config/providers/index.mjs +2 -0
- package/esm2020/config/providers/invoice-document-reference-route.provider.mjs +19 -0
- package/esm2020/config/providers/invoice-line-despatch-line-reference-route.provider.mjs +17 -0
- package/esm2020/config/providers/invoice-line-order-line-reference-route.provider.mjs +19 -0
- package/esm2020/config/providers/invoice-line-receipt-line-reference-route.provider.mjs +17 -0
- package/esm2020/config/providers/invoice-line-route.provider.mjs +19 -0
- package/esm2020/config/providers/invoice-note-route.provider.mjs +19 -0
- package/esm2020/config/providers/invoice-route.provider.mjs +19 -0
- package/esm2020/config/providers/note-rule-doc-type-route.provider.mjs +19 -0
- package/esm2020/config/providers/note-rule-route.provider.mjs +19 -0
- package/esm2020/config/providers/note-rule-scenario-route.provider.mjs +19 -0
- package/esm2020/config/providers/params-company-route.provider.mjs +19 -0
- package/esm2020/config/providers/params-general-route.provider.mjs +19 -0
- package/esm2020/config/providers/params-integrator-route.provider.mjs +19 -0
- package/esm2020/config/providers/paramse-dispatch-route.provider.mjs +19 -0
- package/esm2020/config/providers/paramse-invoice-route.provider.mjs +19 -0
- package/esm2020/config/providers/route.provider.mjs +24 -0
- package/esm2020/config/providers/xslt-format-route.provider.mjs +19 -0
- package/esm2020/config/providers/xslt-rule-doc-type-route.provider.mjs +19 -0
- package/esm2020/config/providers/xslt-rule-route.provider.mjs +19 -0
- package/esm2020/config/providers/xslt-rule-scenario-route.provider.mjs +19 -0
- package/esm2020/config/public-api.mjs +4 -0
- package/esm2020/hitsoft-e-donusum.mjs +5 -0
- package/esm2020/lib/branches/branch/branch-routing.module.mjs +38 -0
- package/esm2020/lib/branches/branch/branch.module.mjs +52 -0
- package/esm2020/lib/branches/branch/components/branch.component.mjs +113 -0
- package/esm2020/lib/business-partner-groups/business-partner-group/business-partner-group-routing.module.mjs +38 -0
- package/esm2020/lib/business-partner-groups/business-partner-group/business-partner-group.module.mjs +52 -0
- package/esm2020/lib/business-partner-groups/business-partner-group/components/business-partner-group.component.mjs +104 -0
- package/esm2020/lib/business-partners/business-partner/business-partner-routing.module.mjs +38 -0
- package/esm2020/lib/business-partners/business-partner/business-partner.module.mjs +52 -0
- package/esm2020/lib/business-partners/business-partner/components/business-partner.component.mjs +112 -0
- package/esm2020/lib/components/e-donusum.component.mjs +18 -0
- package/esm2020/lib/components/hit-branches/hit-branch.component.mjs +28 -0
- package/esm2020/lib/components/hit-branches/hit-branch.module.mjs +55 -0
- package/esm2020/lib/components/hit-business-partner-groups/hit-business-partner-group.component.mjs +28 -0
- package/esm2020/lib/components/hit-business-partner-groups/hit-business-partner-group.module.mjs +52 -0
- package/esm2020/lib/components/hit-business-partners/hit-business-partner.component.mjs +31 -0
- package/esm2020/lib/components/hit-business-partners/hit-business-partner.module.mjs +52 -0
- package/esm2020/lib/components/hit-despatches/hit-despatch.component.mjs +133 -0
- package/esm2020/lib/components/hit-despatches/hit-despatch.module.mjs +71 -0
- package/esm2020/lib/components/hit-despatches/sanitize-html.pipe.mjs +19 -0
- package/esm2020/lib/components/hit-gib-partner-pk-alls/hit-gib-partner-pk-all.component.mjs +28 -0
- package/esm2020/lib/components/hit-gib-partner-pk-alls/hit-gib-partner-pk-all.module.mjs +52 -0
- package/esm2020/lib/components/hit-gib-partner-pks/hit-gib-partner-pk.component.mjs +32 -0
- package/esm2020/lib/components/hit-gib-partner-pks/hit-gib-partner-pk.module.mjs +55 -0
- package/esm2020/lib/components/hit-inbound-despatches/hit-inbound-despatch-routing.module.mjs +38 -0
- package/esm2020/lib/components/hit-inbound-despatches/hit-inbound-despatch.component.mjs +135 -0
- package/esm2020/lib/components/hit-inbound-despatches/hit-inbound-despatch.module.mjs +77 -0
- package/esm2020/lib/components/hit-inbound-invoices/hit-inbound-invoice-routing.module.mjs +38 -0
- package/esm2020/lib/components/hit-inbound-invoices/hit-inbound-invoice.component.mjs +119 -0
- package/esm2020/lib/components/hit-inbound-invoices/hit-inbound-invoice.module.mjs +77 -0
- package/esm2020/lib/components/hit-invoices/hit-invoice.component.mjs +124 -0
- package/esm2020/lib/components/hit-invoices/hit-invoice.module.mjs +71 -0
- package/esm2020/lib/components/hit-invoices/sanitize-html.pipe.mjs +19 -0
- package/esm2020/lib/components/hit-note-rules/hit-note-rule.component.mjs +319 -0
- package/esm2020/lib/components/hit-note-rules/hit-note-rule.module.mjs +70 -0
- package/esm2020/lib/components/hit-paramas-invoices/hit-params-invoice.component.mjs +108 -0
- package/esm2020/lib/components/hit-paramas-invoices/hit-params-invoice.module.mjs +36 -0
- package/esm2020/lib/components/hit-params-companies/hit-params-company.component.mjs +110 -0
- package/esm2020/lib/components/hit-params-companies/hit-params-company.module.mjs +32 -0
- package/esm2020/lib/components/hit-params-dispatches/hit-params-dispatch.component.mjs +120 -0
- package/esm2020/lib/components/hit-params-dispatches/hit-params-dispatch.module.mjs +36 -0
- package/esm2020/lib/components/hit-params-generals/hit-params-generals-part1/hit-params-general-part1.component.mjs +154 -0
- package/esm2020/lib/components/hit-params-generals/hit-params-generals-part1/hit-params-general-part1.module.mjs +39 -0
- package/esm2020/lib/components/hit-params-generals/hit-params-generals-part2/hit-params-general-part2.component.mjs +76 -0
- package/esm2020/lib/components/hit-params-generals/hit-params-generals-part2/hit-params-general-part2.module.mjs +36 -0
- package/esm2020/lib/components/hit-params-integrators/hit-params-integrator.component.mjs +153 -0
- package/esm2020/lib/components/hit-params-integrators/hit-params-integrator.module.mjs +36 -0
- package/esm2020/lib/components/hit-setup-wizard/hit-setup-wizard-routing.module.mjs +38 -0
- package/esm2020/lib/components/hit-setup-wizard/hit-setup-wizard.component.mjs +134 -0
- package/esm2020/lib/components/hit-setup-wizard/hit-setup-wizard.module.mjs +66 -0
- package/esm2020/lib/components/hit-xslt-formats/hit-xslt-format.component.mjs +139 -0
- package/esm2020/lib/components/hit-xslt-formats/hit-xslt-format.module.mjs +67 -0
- package/esm2020/lib/components/hit-xslt-rules/hit-xslt-rule.component.mjs +299 -0
- package/esm2020/lib/components/hit-xslt-rules/hit-xslt-rule.module.mjs +73 -0
- package/esm2020/lib/despatch-document-references/despatch-document-reference/components/despatch-document-reference.component.mjs +117 -0
- package/esm2020/lib/despatch-document-references/despatch-document-reference/despatch-document-reference-routing.module.mjs +38 -0
- package/esm2020/lib/despatch-document-references/despatch-document-reference/despatch-document-reference.module.mjs +52 -0
- package/esm2020/lib/despatch-line-order-line-references/despatch-line-order-line-reference/components/despatch-line-order-line-reference.component.mjs +121 -0
- package/esm2020/lib/despatch-line-order-line-references/despatch-line-order-line-reference/despatch-line-order-line-reference-routing.module.mjs +38 -0
- package/esm2020/lib/despatch-line-order-line-references/despatch-line-order-line-reference/despatch-line-order-line-reference.module.mjs +52 -0
- package/esm2020/lib/despatch-lines/despatch-line/components/despatch-line.component.mjs +137 -0
- package/esm2020/lib/despatch-lines/despatch-line/despatch-line-routing.module.mjs +38 -0
- package/esm2020/lib/despatch-lines/despatch-line/despatch-line.module.mjs +52 -0
- package/esm2020/lib/despatch-notes/despatch-note/components/despatch-note.component.mjs +108 -0
- package/esm2020/lib/despatch-notes/despatch-note/despatch-note-routing.module.mjs +38 -0
- package/esm2020/lib/despatch-notes/despatch-note/despatch-note.module.mjs +52 -0
- package/esm2020/lib/despatches/despatch/components/despatch.component.mjs +295 -0
- package/esm2020/lib/despatches/despatch/despatch-routing.module.mjs +38 -0
- package/esm2020/lib/despatches/despatch/despatch.module.mjs +52 -0
- package/esm2020/lib/e-donusum-routing.module.mjs +124 -0
- package/esm2020/lib/e-donusum.module.mjs +91 -0
- package/esm2020/lib/gib-partner-pk-alls/gib-partner-pk-all/components/gib-partner-pk-all.component.mjs +116 -0
- package/esm2020/lib/gib-partner-pk-alls/gib-partner-pk-all/gib-partner-pk-all-routing.module.mjs +38 -0
- package/esm2020/lib/gib-partner-pk-alls/gib-partner-pk-all/gib-partner-pk-all.module.mjs +52 -0
- package/esm2020/lib/gib-partner-pks/gib-partner-pk/components/gib-partner-pk.component.mjs +116 -0
- package/esm2020/lib/gib-partner-pks/gib-partner-pk/gib-partner-pk-routing.module.mjs +38 -0
- package/esm2020/lib/gib-partner-pks/gib-partner-pk/gib-partner-pk.module.mjs +52 -0
- package/esm2020/lib/hit-proxy/devexpress-query-builder/devexpress-load-options.model.mjs +2 -0
- package/esm2020/lib/hit-proxy/devexpress-query-builder/devexpress-query-builder.mjs +54 -0
- package/esm2020/lib/hit-proxy/hit-branches/hit-branch.service.mjs +32 -0
- package/esm2020/lib/hit-proxy/hit-business-partner-groups/hit-business-partner-group.service.mjs +24 -0
- package/esm2020/lib/hit-proxy/hit-business-partners/hit-business-partner.service.mjs +24 -0
- package/esm2020/lib/hit-proxy/hit-connectors/hit-connector.service.mjs +37 -0
- package/esm2020/lib/hit-proxy/hit-content-master/models.mjs +2 -0
- package/esm2020/lib/hit-proxy/hit-despatch-lines/hit-despatch-line.service.mjs +25 -0
- package/esm2020/lib/hit-proxy/hit-despatches/hit-despatch.service.mjs +70 -0
- package/esm2020/lib/hit-proxy/hit-document-types/hit-document-type.service.mjs +28 -0
- package/esm2020/lib/hit-proxy/hit-entegrators/hit-entegrator.service.mjs +39 -0
- package/esm2020/lib/hit-proxy/hit-file-document-type/hit-file-document-type.service.mjs +24 -0
- package/esm2020/lib/hit-proxy/hit-gib-partner-pk-alls/hit-gib-partner-pk-alls.service.mjs +24 -0
- package/esm2020/lib/hit-proxy/hit-gib-partner-pks/hit-gib-partner-pk.service.mjs +24 -0
- package/esm2020/lib/hit-proxy/hit-inbound-despatches/hit-inbound-despatch.service.mjs +39 -0
- package/esm2020/lib/hit-proxy/hit-inbound-despatches/models.mjs +2 -0
- package/esm2020/lib/hit-proxy/hit-inbound-invoices/hit-inbound-invoice.service.mjs +34 -0
- package/esm2020/lib/hit-proxy/hit-inventory-transfer-addresses/hit-inventory-transfer-address.service.mjs +22 -0
- package/esm2020/lib/hit-proxy/hit-invoices/hit-invoice.service.mjs +84 -0
- package/esm2020/lib/hit-proxy/hit-note-rule-doc-types/hit-note-rule-doc-type.service.mjs +23 -0
- package/esm2020/lib/hit-proxy/hit-note-rule-scenarios/hit-note-rule-scenario.service.mjs +23 -0
- package/esm2020/lib/hit-proxy/hit-note-rules/hit-note-rule.service.mjs +63 -0
- package/esm2020/lib/hit-proxy/hit-note-rules/models.mjs +2 -0
- package/esm2020/lib/hit-proxy/hit-params-companies/hit-params-company.service.mjs +30 -0
- package/esm2020/lib/hit-proxy/hit-params-dispatches/hit-params-dispatch.service.mjs +22 -0
- package/esm2020/lib/hit-proxy/hit-params-generals/hit-params-general.service.mjs +22 -0
- package/esm2020/lib/hit-proxy/hit-params-integrators/hit-params-integrator.service.mjs +22 -0
- package/esm2020/lib/hit-proxy/hit-params-invoices/hit-params-invoice.service.mjs +22 -0
- package/esm2020/lib/hit-proxy/hit-scenario-types/hit-scenario-type.service.mjs +28 -0
- package/esm2020/lib/hit-proxy/hit-xslt-formats/hit-xslt-format.service.mjs +46 -0
- package/esm2020/lib/hit-proxy/hit-xslt-formats/models.mjs +2 -0
- package/esm2020/lib/hit-proxy/hit-xslt-rule-doc-types/hit-xslt-rule-doc-type.service.mjs +23 -0
- package/esm2020/lib/hit-proxy/hit-xslt-rule-scenarios/hit-xslt-rule-scenario.service.mjs +23 -0
- package/esm2020/lib/hit-proxy/hit-xslt-rules/hit-xslt-rule.service.mjs +55 -0
- package/esm2020/lib/hit-proxy/hit-xslt-rules/models.mjs +2 -0
- package/esm2020/lib/invoice-document-references/invoice-document-reference/components/invoice-document-reference.component.mjs +117 -0
- package/esm2020/lib/invoice-document-references/invoice-document-reference/invoice-document-reference-routing.module.mjs +38 -0
- package/esm2020/lib/invoice-document-references/invoice-document-reference/invoice-document-reference.module.mjs +52 -0
- package/esm2020/lib/invoice-line-despatch-line-references/invoice-line-despatch-line-reference/components/invoice-line-despatch-line-reference.component.mjs +115 -0
- package/esm2020/lib/invoice-line-despatch-line-references/invoice-line-despatch-line-reference/invoice-line-despatch-line-reference-routing.module.mjs +38 -0
- package/esm2020/lib/invoice-line-despatch-line-references/invoice-line-despatch-line-reference/invoice-line-despatch-line-reference.module.mjs +52 -0
- package/esm2020/lib/invoice-line-order-line-references/invoice-line-order-line-reference/components/invoice-line-order-line-reference.component.mjs +121 -0
- package/esm2020/lib/invoice-line-order-line-references/invoice-line-order-line-reference/invoice-line-order-line-reference-routing.module.mjs +38 -0
- package/esm2020/lib/invoice-line-order-line-references/invoice-line-order-line-reference/invoice-line-order-line-reference.module.mjs +52 -0
- package/esm2020/lib/invoice-line-receipt-line-references/invoice-line-receipt-line-reference/components/invoice-line-receipt-line-reference.component.mjs +115 -0
- package/esm2020/lib/invoice-line-receipt-line-references/invoice-line-receipt-line-reference/invoice-line-receipt-line-reference-routing.module.mjs +38 -0
- package/esm2020/lib/invoice-line-receipt-line-references/invoice-line-receipt-line-reference/invoice-line-receipt-line-reference.module.mjs +52 -0
- package/esm2020/lib/invoice-lines/invoice-line/components/invoice-line.component.mjs +137 -0
- package/esm2020/lib/invoice-lines/invoice-line/invoice-line-routing.module.mjs +38 -0
- package/esm2020/lib/invoice-lines/invoice-line/invoice-line.module.mjs +52 -0
- package/esm2020/lib/invoice-notes/invoice-note/components/invoice-note.component.mjs +108 -0
- package/esm2020/lib/invoice-notes/invoice-note/invoice-note-routing.module.mjs +38 -0
- package/esm2020/lib/invoice-notes/invoice-note/invoice-note.module.mjs +52 -0
- package/esm2020/lib/invoices/invoice/components/invoice.component.mjs +272 -0
- package/esm2020/lib/invoices/invoice/invoice-routing.module.mjs +38 -0
- package/esm2020/lib/invoices/invoice/invoice.module.mjs +52 -0
- package/esm2020/lib/note-rule-doc-types/note-rule-doc-type/components/note-rule-doc-type.component.mjs +98 -0
- package/esm2020/lib/note-rule-doc-types/note-rule-doc-type/note-rule-doc-type-routing.module.mjs +38 -0
- package/esm2020/lib/note-rule-doc-types/note-rule-doc-type/note-rule-doc-type.module.mjs +52 -0
- package/esm2020/lib/note-rule-scenarios/note-rule-scenario/components/note-rule-scenario.component.mjs +98 -0
- package/esm2020/lib/note-rule-scenarios/note-rule-scenario/note-rule-scenario-routing.module.mjs +38 -0
- package/esm2020/lib/note-rule-scenarios/note-rule-scenario/note-rule-scenario.module.mjs +52 -0
- package/esm2020/lib/note-rules/note-rule/components/note-rule.component.mjs +120 -0
- package/esm2020/lib/note-rules/note-rule/note-rule-routing.module.mjs +38 -0
- package/esm2020/lib/note-rules/note-rule/note-rule.module.mjs +52 -0
- package/esm2020/lib/params-companies/params-company/components/params-company.component.mjs +124 -0
- package/esm2020/lib/params-companies/params-company/params-company-routing.module.mjs +38 -0
- package/esm2020/lib/params-companies/params-company/params-company.module.mjs +52 -0
- package/esm2020/lib/params-generals/params-general/components/params-general.component.mjs +108 -0
- package/esm2020/lib/params-generals/params-general/params-general-routing.module.mjs +38 -0
- package/esm2020/lib/params-generals/params-general/params-general.module.mjs +52 -0
- package/esm2020/lib/params-integrators/params-integrator/components/params-integrator.component.mjs +117 -0
- package/esm2020/lib/params-integrators/params-integrator/params-integrator-routing.module.mjs +38 -0
- package/esm2020/lib/params-integrators/params-integrator/params-integrator.module.mjs +52 -0
- package/esm2020/lib/paramse-dispatches/paramse-dispatch/components/paramse-dispatch.component.mjs +119 -0
- package/esm2020/lib/paramse-dispatches/paramse-dispatch/paramse-dispatch-routing.module.mjs +38 -0
- package/esm2020/lib/paramse-dispatches/paramse-dispatch/paramse-dispatch.module.mjs +52 -0
- package/esm2020/lib/paramse-invoices/paramse-invoice/components/paramse-invoice.component.mjs +113 -0
- package/esm2020/lib/paramse-invoices/paramse-invoice/paramse-invoice-routing.module.mjs +38 -0
- package/esm2020/lib/paramse-invoices/paramse-invoice/paramse-invoice.module.mjs +52 -0
- package/esm2020/lib/proxy/branches/branch.service.mjs +51 -0
- package/esm2020/lib/proxy/branches/models.mjs +2 -0
- package/esm2020/lib/proxy/business-partner-groups/business-partner-group.service.mjs +41 -0
- package/esm2020/lib/proxy/business-partner-groups/models.mjs +2 -0
- package/esm2020/lib/proxy/business-partners/business-partner.service.mjs +50 -0
- package/esm2020/lib/proxy/business-partners/models.mjs +2 -0
- package/esm2020/lib/proxy/despatch-document-references/despatch-document-reference.service.mjs +60 -0
- package/esm2020/lib/proxy/despatch-document-references/models.mjs +2 -0
- package/esm2020/lib/proxy/despatch-line-order-line-references/despatch-line-order-line-reference.service.mjs +60 -0
- package/esm2020/lib/proxy/despatch-line-order-line-references/models.mjs +2 -0
- package/esm2020/lib/proxy/despatch-lines/despatch-line.service.mjs +60 -0
- package/esm2020/lib/proxy/despatch-lines/models.mjs +2 -0
- package/esm2020/lib/proxy/despatch-notes/despatch-note.service.mjs +60 -0
- package/esm2020/lib/proxy/despatch-notes/models.mjs +2 -0
- package/esm2020/lib/proxy/despatches/despatch.service.mjs +51 -0
- package/esm2020/lib/proxy/despatches/models.mjs +2 -0
- package/esm2020/lib/proxy/gib-partner-pk-alls/gib-partner-pk-all.service.mjs +51 -0
- package/esm2020/lib/proxy/gib-partner-pk-alls/models.mjs +2 -0
- package/esm2020/lib/proxy/gib-partner-pks/gib-partner-pk.service.mjs +51 -0
- package/esm2020/lib/proxy/gib-partner-pks/models.mjs +2 -0
- package/esm2020/lib/proxy/invoice-document-references/invoice-document-reference.service.mjs +60 -0
- package/esm2020/lib/proxy/invoice-document-references/models.mjs +2 -0
- package/esm2020/lib/proxy/invoice-line-despatch-line-references/invoice-line-despatch-line-reference.service.mjs +60 -0
- package/esm2020/lib/proxy/invoice-line-despatch-line-references/models.mjs +2 -0
- package/esm2020/lib/proxy/invoice-line-order-line-references/invoice-line-order-line-reference.service.mjs +60 -0
- package/esm2020/lib/proxy/invoice-line-order-line-references/models.mjs +2 -0
- package/esm2020/lib/proxy/invoice-line-receipt-line-references/invoice-line-receipt-line-reference.service.mjs +60 -0
- package/esm2020/lib/proxy/invoice-line-receipt-line-references/models.mjs +2 -0
- package/esm2020/lib/proxy/invoice-lines/invoice-line.service.mjs +60 -0
- package/esm2020/lib/proxy/invoice-lines/models.mjs +2 -0
- package/esm2020/lib/proxy/invoice-notes/invoice-note.service.mjs +60 -0
- package/esm2020/lib/proxy/invoice-notes/models.mjs +2 -0
- package/esm2020/lib/proxy/invoices/invoice.service.mjs +51 -0
- package/esm2020/lib/proxy/invoices/models.mjs +2 -0
- package/esm2020/lib/proxy/note-rule-doc-types/index.mjs +3 -0
- package/esm2020/lib/proxy/note-rule-doc-types/models.mjs +2 -0
- package/esm2020/lib/proxy/note-rule-doc-types/note-rule-doc-type.service.mjs +50 -0
- package/esm2020/lib/proxy/note-rule-scenarios/index.mjs +3 -0
- package/esm2020/lib/proxy/note-rule-scenarios/models.mjs +2 -0
- package/esm2020/lib/proxy/note-rule-scenarios/note-rule-scenario.service.mjs +50 -0
- package/esm2020/lib/proxy/note-rules/index.mjs +3 -0
- package/esm2020/lib/proxy/note-rules/models.mjs +2 -0
- package/esm2020/lib/proxy/note-rules/note-rule.service.mjs +51 -0
- package/esm2020/lib/proxy/params-companies/index.mjs +3 -0
- package/esm2020/lib/proxy/params-companies/models.mjs +2 -0
- package/esm2020/lib/proxy/params-companies/params-company.service.mjs +51 -0
- package/esm2020/lib/proxy/params-generals/index.mjs +3 -0
- package/esm2020/lib/proxy/params-generals/models.mjs +2 -0
- package/esm2020/lib/proxy/params-generals/params-general.service.mjs +51 -0
- package/esm2020/lib/proxy/params-integrators/index.mjs +3 -0
- package/esm2020/lib/proxy/params-integrators/models.mjs +2 -0
- package/esm2020/lib/proxy/params-integrators/params-integrator.service.mjs +60 -0
- package/esm2020/lib/proxy/paramse-dispatches/index.mjs +3 -0
- package/esm2020/lib/proxy/paramse-dispatches/models.mjs +2 -0
- package/esm2020/lib/proxy/paramse-dispatches/paramse-dispatch.service.mjs +51 -0
- package/esm2020/lib/proxy/paramse-invoices/index.mjs +3 -0
- package/esm2020/lib/proxy/paramse-invoices/models.mjs +2 -0
- package/esm2020/lib/proxy/paramse-invoices/paramse-invoice.service.mjs +51 -0
- package/esm2020/lib/proxy/shared/models.mjs +2 -0
- package/esm2020/lib/proxy/xslt-formats/index.mjs +3 -0
- package/esm2020/lib/proxy/xslt-formats/models.mjs +2 -0
- package/esm2020/lib/proxy/xslt-formats/xslt-format.service.mjs +41 -0
- package/esm2020/lib/proxy/xslt-rule-doc-types/index.mjs +3 -0
- package/esm2020/lib/proxy/xslt-rule-doc-types/models.mjs +2 -0
- package/esm2020/lib/proxy/xslt-rule-doc-types/xslt-rule-doc-type.service.mjs +50 -0
- package/esm2020/lib/proxy/xslt-rule-scenarios/index.mjs +3 -0
- package/esm2020/lib/proxy/xslt-rule-scenarios/models.mjs +2 -0
- package/esm2020/lib/proxy/xslt-rule-scenarios/xslt-rule-scenario.service.mjs +50 -0
- package/esm2020/lib/proxy/xslt-rules/index.mjs +3 -0
- package/esm2020/lib/proxy/xslt-rules/models.mjs +2 -0
- package/esm2020/lib/proxy/xslt-rules/xslt-rule.service.mjs +50 -0
- package/esm2020/lib/services/e-donusum.service.mjs +21 -0
- package/esm2020/lib/xslt-formats/xslt-format/components/xslt-format.component.mjs +101 -0
- package/esm2020/lib/xslt-formats/xslt-format/xslt-format-routing.module.mjs +38 -0
- package/esm2020/lib/xslt-formats/xslt-format/xslt-format.module.mjs +52 -0
- package/esm2020/lib/xslt-rule-doc-types/xslt-rule-doc-type/components/xslt-rule-doc-type.component.mjs +98 -0
- package/esm2020/lib/xslt-rule-doc-types/xslt-rule-doc-type/xslt-rule-doc-type-routing.module.mjs +26 -0
- package/esm2020/lib/xslt-rule-doc-types/xslt-rule-doc-type/xslt-rule-doc-type.module.mjs +52 -0
- package/esm2020/lib/xslt-rule-scenarios/xslt-rule-scenario/components/xslt-rule-scenario.component.mjs +98 -0
- package/esm2020/lib/xslt-rule-scenarios/xslt-rule-scenario/xslt-rule-scenario-routing.module.mjs +26 -0
- package/esm2020/lib/xslt-rule-scenarios/xslt-rule-scenario/xslt-rule-scenario.module.mjs +52 -0
- package/esm2020/lib/xslt-rules/xslt-rule/components/xslt-rule.component.mjs +106 -0
- package/esm2020/lib/xslt-rules/xslt-rule/xslt-rule-routing.module.mjs +38 -0
- package/esm2020/lib/xslt-rules/xslt-rule/xslt-rule.module.mjs +52 -0
- package/esm2020/public-api.mjs +7 -0
- package/fesm2015/hitsoft-e-donusum-config.mjs +869 -0
- package/fesm2015/hitsoft-e-donusum-config.mjs.map +1 -0
- package/fesm2015/hitsoft-e-donusum.mjs +10618 -0
- package/fesm2015/hitsoft-e-donusum.mjs.map +1 -0
- package/fesm2020/hitsoft-e-donusum-config.mjs +869 -0
- package/fesm2020/hitsoft-e-donusum-config.mjs.map +1 -0
- package/fesm2020/hitsoft-e-donusum.mjs +10771 -0
- package/fesm2020/hitsoft-e-donusum.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/branches/branch/branch-routing.module.d.ts +7 -0
- package/lib/branches/branch/branch.module.d.ts +15 -0
- package/lib/branches/branch/components/branch.component.d.ts +35 -0
- package/lib/business-partner-groups/business-partner-group/business-partner-group-routing.module.d.ts +7 -0
- package/lib/business-partner-groups/business-partner-group/business-partner-group.module.d.ts +15 -0
- package/lib/business-partner-groups/business-partner-group/components/business-partner-group.component.d.ts +33 -0
- package/lib/business-partners/business-partner/business-partner-routing.module.d.ts +7 -0
- package/lib/business-partners/business-partner/business-partner.module.d.ts +15 -0
- package/lib/business-partners/business-partner/components/business-partner.component.d.ts +33 -0
- package/lib/components/e-donusum.component.d.ts +10 -0
- package/lib/components/hit-branches/hit-branch.component.d.ts +13 -0
- package/lib/components/hit-branches/hit-branch.module.d.ts +15 -0
- package/lib/components/hit-business-partner-groups/hit-business-partner-group.component.d.ts +13 -0
- package/lib/components/hit-business-partner-groups/hit-business-partner-group.module.d.ts +15 -0
- package/lib/components/hit-business-partners/hit-business-partner.component.d.ts +16 -0
- package/lib/components/hit-business-partners/hit-business-partner.module.d.ts +15 -0
- package/lib/components/hit-despatches/hit-despatch.component.d.ts +35 -0
- package/lib/components/hit-despatches/hit-despatch.module.d.ts +16 -0
- package/lib/components/hit-despatches/sanitize-html.pipe.d.ts +10 -0
- package/lib/components/hit-gib-partner-pk-alls/hit-gib-partner-pk-all.component.d.ts +13 -0
- package/lib/components/hit-gib-partner-pk-alls/hit-gib-partner-pk-all.module.d.ts +15 -0
- package/lib/components/hit-gib-partner-pks/hit-gib-partner-pk.component.d.ts +17 -0
- package/lib/components/hit-gib-partner-pks/hit-gib-partner-pk.module.d.ts +15 -0
- package/lib/components/hit-inbound-despatches/hit-inbound-despatch-routing.module.d.ts +7 -0
- package/lib/components/hit-inbound-despatches/hit-inbound-despatch.component.d.ts +38 -0
- package/lib/components/hit-inbound-despatches/hit-inbound-despatch.module.d.ts +16 -0
- package/lib/components/hit-inbound-invoices/hit-inbound-invoice-routing.module.d.ts +7 -0
- package/lib/components/hit-inbound-invoices/hit-inbound-invoice.component.d.ts +36 -0
- package/lib/components/hit-inbound-invoices/hit-inbound-invoice.module.d.ts +16 -0
- package/lib/components/hit-invoices/hit-invoice.component.d.ts +39 -0
- package/lib/components/hit-invoices/hit-invoice.module.d.ts +16 -0
- package/lib/components/hit-invoices/sanitize-html.pipe.d.ts +10 -0
- package/lib/components/hit-note-rules/hit-note-rule.component.d.ts +67 -0
- package/lib/components/hit-note-rules/hit-note-rule.module.d.ts +15 -0
- package/lib/components/hit-paramas-invoices/hit-params-invoice.component.d.ts +34 -0
- package/lib/components/hit-paramas-invoices/hit-params-invoice.module.d.ts +12 -0
- package/lib/components/hit-params-companies/hit-params-company.component.d.ts +30 -0
- package/lib/components/hit-params-companies/hit-params-company.module.d.ts +11 -0
- package/lib/components/hit-params-dispatches/hit-params-dispatch.component.d.ts +37 -0
- package/lib/components/hit-params-dispatches/hit-params-dispatch.module.d.ts +12 -0
- package/lib/components/hit-params-generals/hit-params-generals-part1/hit-params-general-part1.component.d.ts +39 -0
- package/lib/components/hit-params-generals/hit-params-generals-part1/hit-params-general-part1.module.d.ts +12 -0
- package/lib/components/hit-params-generals/hit-params-generals-part2/hit-params-general-part2.component.d.ts +27 -0
- package/lib/components/hit-params-generals/hit-params-generals-part2/hit-params-general-part2.module.d.ts +12 -0
- package/lib/components/hit-params-integrators/hit-params-integrator.component.d.ts +38 -0
- package/lib/components/hit-params-integrators/hit-params-integrator.module.d.ts +12 -0
- package/lib/components/hit-setup-wizard/hit-setup-wizard-routing.module.d.ts +7 -0
- package/lib/components/hit-setup-wizard/hit-setup-wizard.component.d.ts +37 -0
- package/lib/components/hit-setup-wizard/hit-setup-wizard.module.d.ts +20 -0
- package/lib/components/hit-xslt-formats/hit-xslt-format.component.d.ts +39 -0
- package/lib/components/hit-xslt-formats/hit-xslt-format.module.d.ts +15 -0
- package/lib/components/hit-xslt-rules/hit-xslt-rule.component.d.ts +73 -0
- package/lib/components/hit-xslt-rules/hit-xslt-rule.module.d.ts +15 -0
- package/lib/despatch-document-references/despatch-document-reference/components/despatch-document-reference.component.d.ts +35 -0
- package/lib/despatch-document-references/despatch-document-reference/despatch-document-reference-routing.module.d.ts +7 -0
- package/lib/despatch-document-references/despatch-document-reference/despatch-document-reference.module.d.ts +15 -0
- package/lib/despatch-line-order-line-references/despatch-line-order-line-reference/components/despatch-line-order-line-reference.component.d.ts +35 -0
- package/lib/despatch-line-order-line-references/despatch-line-order-line-reference/despatch-line-order-line-reference-routing.module.d.ts +7 -0
- package/lib/despatch-line-order-line-references/despatch-line-order-line-reference/despatch-line-order-line-reference.module.d.ts +15 -0
- package/lib/despatch-lines/despatch-line/components/despatch-line.component.d.ts +35 -0
- package/lib/despatch-lines/despatch-line/despatch-line-routing.module.d.ts +7 -0
- package/lib/despatch-lines/despatch-line/despatch-line.module.d.ts +15 -0
- package/lib/despatch-notes/despatch-note/components/despatch-note.component.d.ts +35 -0
- package/lib/despatch-notes/despatch-note/despatch-note-routing.module.d.ts +7 -0
- package/lib/despatch-notes/despatch-note/despatch-note.module.d.ts +15 -0
- package/lib/despatches/despatch/components/despatch.component.d.ts +35 -0
- package/lib/despatches/despatch/despatch-routing.module.d.ts +7 -0
- package/lib/despatches/despatch/despatch.module.d.ts +15 -0
- package/lib/e-donusum-routing.module.d.ts +7 -0
- package/lib/e-donusum.module.d.ts +17 -0
- package/lib/gib-partner-pk-alls/gib-partner-pk-all/components/gib-partner-pk-all.component.d.ts +35 -0
- package/lib/gib-partner-pk-alls/gib-partner-pk-all/gib-partner-pk-all-routing.module.d.ts +7 -0
- package/lib/gib-partner-pk-alls/gib-partner-pk-all/gib-partner-pk-all.module.d.ts +15 -0
- package/lib/gib-partner-pks/gib-partner-pk/components/gib-partner-pk.component.d.ts +35 -0
- package/lib/gib-partner-pks/gib-partner-pk/gib-partner-pk-routing.module.d.ts +7 -0
- package/lib/gib-partner-pks/gib-partner-pk/gib-partner-pk.module.d.ts +15 -0
- package/lib/hit-proxy/devexpress-query-builder/devexpress-load-options.model.d.ts +17 -0
- package/lib/hit-proxy/devexpress-query-builder/devexpress-query-builder.d.ts +18 -0
- package/lib/hit-proxy/hit-branches/hit-branch.service.d.ts +14 -0
- package/lib/hit-proxy/hit-business-partner-groups/hit-business-partner-group.service.d.ts +12 -0
- package/lib/hit-proxy/hit-business-partners/hit-business-partner.service.d.ts +12 -0
- package/lib/hit-proxy/hit-connectors/hit-connector.service.d.ts +12 -0
- package/lib/hit-proxy/hit-content-master/models.d.ts +12 -0
- package/lib/hit-proxy/hit-despatch-lines/hit-despatch-line.service.d.ts +12 -0
- package/lib/hit-proxy/hit-despatches/hit-despatch.service.d.ts +22 -0
- package/lib/hit-proxy/hit-document-types/hit-document-type.service.d.ts +14 -0
- package/lib/hit-proxy/hit-entegrators/hit-entegrator.service.d.ts +12 -0
- package/lib/hit-proxy/hit-file-document-type/hit-file-document-type.service.d.ts +12 -0
- package/lib/hit-proxy/hit-gib-partner-pk-alls/hit-gib-partner-pk-alls.service.d.ts +12 -0
- package/lib/hit-proxy/hit-gib-partner-pks/hit-gib-partner-pk.service.d.ts +12 -0
- package/lib/hit-proxy/hit-inbound-despatches/hit-inbound-despatch.service.d.ts +16 -0
- package/lib/hit-proxy/hit-inbound-despatches/models.d.ts +11 -0
- package/lib/hit-proxy/hit-inbound-invoices/hit-inbound-invoice.service.d.ts +14 -0
- package/lib/hit-proxy/hit-inventory-transfer-addresses/hit-inventory-transfer-address.service.d.ts +10 -0
- package/lib/hit-proxy/hit-invoices/hit-invoice.service.d.ts +24 -0
- package/lib/hit-proxy/hit-note-rule-doc-types/hit-note-rule-doc-type.service.d.ts +11 -0
- package/lib/hit-proxy/hit-note-rule-scenarios/hit-note-rule-scenario.service.d.ts +11 -0
- package/lib/hit-proxy/hit-note-rules/hit-note-rule.service.d.ts +23 -0
- package/lib/hit-proxy/hit-note-rules/models.d.ts +34 -0
- package/lib/hit-proxy/hit-params-companies/hit-params-company.service.d.ts +12 -0
- package/lib/hit-proxy/hit-params-dispatches/hit-params-dispatch.service.d.ts +10 -0
- package/lib/hit-proxy/hit-params-generals/hit-params-general.service.d.ts +10 -0
- package/lib/hit-proxy/hit-params-integrators/hit-params-integrator.service.d.ts +10 -0
- package/lib/hit-proxy/hit-params-invoices/hit-params-invoice.service.d.ts +10 -0
- package/lib/hit-proxy/hit-scenario-types/hit-scenario-type.service.d.ts +14 -0
- package/lib/hit-proxy/hit-xslt-formats/hit-xslt-format.service.d.ts +19 -0
- package/lib/hit-proxy/hit-xslt-formats/models.d.ts +10 -0
- package/lib/hit-proxy/hit-xslt-rule-doc-types/hit-xslt-rule-doc-type.service.d.ts +11 -0
- package/lib/hit-proxy/hit-xslt-rule-scenarios/hit-xslt-rule-scenario.service.d.ts +11 -0
- package/lib/hit-proxy/hit-xslt-rules/hit-xslt-rule.service.d.ts +22 -0
- package/lib/hit-proxy/hit-xslt-rules/models.d.ts +34 -0
- package/lib/invoice-document-references/invoice-document-reference/components/invoice-document-reference.component.d.ts +35 -0
- package/lib/invoice-document-references/invoice-document-reference/invoice-document-reference-routing.module.d.ts +7 -0
- package/lib/invoice-document-references/invoice-document-reference/invoice-document-reference.module.d.ts +15 -0
- package/lib/invoice-line-despatch-line-references/invoice-line-despatch-line-reference/components/invoice-line-despatch-line-reference.component.d.ts +35 -0
- package/lib/invoice-line-despatch-line-references/invoice-line-despatch-line-reference/invoice-line-despatch-line-reference-routing.module.d.ts +7 -0
- package/lib/invoice-line-despatch-line-references/invoice-line-despatch-line-reference/invoice-line-despatch-line-reference.module.d.ts +15 -0
- package/lib/invoice-line-order-line-references/invoice-line-order-line-reference/components/invoice-line-order-line-reference.component.d.ts +35 -0
- package/lib/invoice-line-order-line-references/invoice-line-order-line-reference/invoice-line-order-line-reference-routing.module.d.ts +7 -0
- package/lib/invoice-line-order-line-references/invoice-line-order-line-reference/invoice-line-order-line-reference.module.d.ts +15 -0
- package/lib/invoice-line-receipt-line-references/invoice-line-receipt-line-reference/components/invoice-line-receipt-line-reference.component.d.ts +35 -0
- package/lib/invoice-line-receipt-line-references/invoice-line-receipt-line-reference/invoice-line-receipt-line-reference-routing.module.d.ts +7 -0
- package/lib/invoice-line-receipt-line-references/invoice-line-receipt-line-reference/invoice-line-receipt-line-reference.module.d.ts +15 -0
- package/lib/invoice-lines/invoice-line/components/invoice-line.component.d.ts +35 -0
- package/lib/invoice-lines/invoice-line/invoice-line-routing.module.d.ts +7 -0
- package/lib/invoice-lines/invoice-line/invoice-line.module.d.ts +15 -0
- package/lib/invoice-notes/invoice-note/components/invoice-note.component.d.ts +35 -0
- package/lib/invoice-notes/invoice-note/invoice-note-routing.module.d.ts +7 -0
- package/lib/invoice-notes/invoice-note/invoice-note.module.d.ts +15 -0
- package/lib/invoices/invoice/components/invoice.component.d.ts +35 -0
- package/lib/invoices/invoice/invoice-routing.module.d.ts +7 -0
- package/lib/invoices/invoice/invoice.module.d.ts +15 -0
- package/lib/note-rule-doc-types/note-rule-doc-type/components/note-rule-doc-type.component.d.ts +33 -0
- package/lib/note-rule-doc-types/note-rule-doc-type/note-rule-doc-type-routing.module.d.ts +7 -0
- package/lib/note-rule-doc-types/note-rule-doc-type/note-rule-doc-type.module.d.ts +15 -0
- package/lib/note-rule-scenarios/note-rule-scenario/components/note-rule-scenario.component.d.ts +33 -0
- package/lib/note-rule-scenarios/note-rule-scenario/note-rule-scenario-routing.module.d.ts +7 -0
- package/lib/note-rule-scenarios/note-rule-scenario/note-rule-scenario.module.d.ts +15 -0
- package/lib/note-rules/note-rule/components/note-rule.component.d.ts +35 -0
- package/lib/note-rules/note-rule/note-rule-routing.module.d.ts +7 -0
- package/lib/note-rules/note-rule/note-rule.module.d.ts +15 -0
- package/lib/params-companies/params-company/components/params-company.component.d.ts +35 -0
- package/lib/params-companies/params-company/params-company-routing.module.d.ts +7 -0
- package/lib/params-companies/params-company/params-company.module.d.ts +15 -0
- package/lib/params-generals/params-general/components/params-general.component.d.ts +35 -0
- package/lib/params-generals/params-general/params-general-routing.module.d.ts +7 -0
- package/lib/params-generals/params-general/params-general.module.d.ts +15 -0
- package/lib/params-integrators/params-integrator/components/params-integrator.component.d.ts +35 -0
- package/lib/params-integrators/params-integrator/params-integrator-routing.module.d.ts +7 -0
- package/lib/params-integrators/params-integrator/params-integrator.module.d.ts +15 -0
- package/lib/paramse-dispatches/paramse-dispatch/components/paramse-dispatch.component.d.ts +35 -0
- package/lib/paramse-dispatches/paramse-dispatch/paramse-dispatch-routing.module.d.ts +7 -0
- package/lib/paramse-dispatches/paramse-dispatch/paramse-dispatch.module.d.ts +15 -0
- package/lib/paramse-invoices/paramse-invoice/components/paramse-invoice.component.d.ts +35 -0
- package/lib/paramse-invoices/paramse-invoice/paramse-invoice-routing.module.d.ts +7 -0
- package/lib/paramse-invoices/paramse-invoice/paramse-invoice.module.d.ts +15 -0
- package/lib/proxy/branches/branch.service.d.ts +19 -0
- package/lib/proxy/branches/models.d.ts +41 -0
- package/lib/proxy/business-partner-groups/business-partner-group.service.d.ts +16 -0
- package/lib/proxy/business-partner-groups/models.d.ts +32 -0
- package/lib/proxy/business-partners/business-partner.service.d.ts +19 -0
- package/lib/proxy/business-partners/models.d.ts +65 -0
- package/lib/proxy/despatch-document-references/despatch-document-reference.service.d.ts +21 -0
- package/lib/proxy/despatch-document-references/models.d.ts +51 -0
- package/lib/proxy/despatch-line-order-line-references/despatch-line-order-line-reference.service.d.ts +21 -0
- package/lib/proxy/despatch-line-order-line-references/models.d.ts +80 -0
- package/lib/proxy/despatch-lines/despatch-line.service.d.ts +21 -0
- package/lib/proxy/despatch-lines/models.d.ts +102 -0
- package/lib/proxy/despatch-notes/despatch-note.service.d.ts +21 -0
- package/lib/proxy/despatch-notes/models.d.ts +30 -0
- package/lib/proxy/despatches/despatch.service.d.ts +19 -0
- package/lib/proxy/despatches/models.d.ts +378 -0
- package/lib/proxy/gib-partner-pk-alls/gib-partner-pk-all.service.d.ts +19 -0
- package/lib/proxy/gib-partner-pk-alls/models.d.ts +57 -0
- package/lib/proxy/gib-partner-pks/gib-partner-pk.service.d.ts +19 -0
- package/lib/proxy/gib-partner-pks/models.d.ts +57 -0
- package/lib/proxy/invoice-document-references/invoice-document-reference.service.d.ts +21 -0
- package/lib/proxy/invoice-document-references/models.d.ts +51 -0
- package/lib/proxy/invoice-line-despatch-line-references/invoice-line-despatch-line-reference.service.d.ts +21 -0
- package/lib/proxy/invoice-line-despatch-line-references/models.d.ts +55 -0
- package/lib/proxy/invoice-line-order-line-references/invoice-line-order-line-reference.service.d.ts +21 -0
- package/lib/proxy/invoice-line-order-line-references/models.d.ts +80 -0
- package/lib/proxy/invoice-line-receipt-line-references/invoice-line-receipt-line-reference.service.d.ts +21 -0
- package/lib/proxy/invoice-line-receipt-line-references/models.d.ts +55 -0
- package/lib/proxy/invoice-lines/invoice-line.service.d.ts +21 -0
- package/lib/proxy/invoice-lines/models.d.ts +102 -0
- package/lib/proxy/invoice-notes/invoice-note.service.d.ts +21 -0
- package/lib/proxy/invoice-notes/models.d.ts +30 -0
- package/lib/proxy/invoices/invoice.service.d.ts +19 -0
- package/lib/proxy/invoices/models.d.ts +358 -0
- package/lib/proxy/note-rule-doc-types/index.d.ts +2 -0
- package/lib/proxy/note-rule-doc-types/models.d.ts +26 -0
- package/lib/proxy/note-rule-doc-types/note-rule-doc-type.service.d.ts +19 -0
- package/lib/proxy/note-rule-scenarios/index.d.ts +2 -0
- package/lib/proxy/note-rule-scenarios/models.d.ts +26 -0
- package/lib/proxy/note-rule-scenarios/note-rule-scenario.service.d.ts +19 -0
- package/lib/proxy/note-rules/index.d.ts +2 -0
- package/lib/proxy/note-rules/models.d.ts +73 -0
- package/lib/proxy/note-rules/note-rule.service.d.ts +19 -0
- package/lib/proxy/params-companies/index.d.ts +2 -0
- package/lib/proxy/params-companies/models.d.ts +96 -0
- package/lib/proxy/params-companies/params-company.service.d.ts +19 -0
- package/lib/proxy/params-generals/index.d.ts +2 -0
- package/lib/proxy/params-generals/models.d.ts +39 -0
- package/lib/proxy/params-generals/params-general.service.d.ts +19 -0
- package/lib/proxy/params-integrators/index.d.ts +2 -0
- package/lib/proxy/params-integrators/models.d.ts +66 -0
- package/lib/proxy/params-integrators/params-integrator.service.d.ts +21 -0
- package/lib/proxy/paramse-dispatches/index.d.ts +2 -0
- package/lib/proxy/paramse-dispatches/models.d.ts +68 -0
- package/lib/proxy/paramse-dispatches/paramse-dispatch.service.d.ts +19 -0
- package/lib/proxy/paramse-invoices/index.d.ts +2 -0
- package/lib/proxy/paramse-invoices/models.d.ts +43 -0
- package/lib/proxy/paramse-invoices/paramse-invoice.service.d.ts +19 -0
- package/lib/proxy/shared/models.d.ts +11 -0
- package/lib/proxy/xslt-formats/index.d.ts +2 -0
- package/lib/proxy/xslt-formats/models.d.ts +29 -0
- package/lib/proxy/xslt-formats/xslt-format.service.d.ts +16 -0
- package/lib/proxy/xslt-rule-doc-types/index.d.ts +2 -0
- package/lib/proxy/xslt-rule-doc-types/models.d.ts +26 -0
- package/lib/proxy/xslt-rule-doc-types/xslt-rule-doc-type.service.d.ts +19 -0
- package/lib/proxy/xslt-rule-scenarios/index.d.ts +2 -0
- package/lib/proxy/xslt-rule-scenarios/models.d.ts +26 -0
- package/lib/proxy/xslt-rule-scenarios/xslt-rule-scenario.service.d.ts +19 -0
- package/lib/proxy/xslt-rules/index.d.ts +2 -0
- package/lib/proxy/xslt-rules/models.d.ts +56 -0
- package/lib/proxy/xslt-rules/xslt-rule.service.d.ts +19 -0
- package/lib/services/e-donusum.service.d.ts +10 -0
- package/lib/xslt-formats/xslt-format/components/xslt-format.component.d.ts +33 -0
- package/lib/xslt-formats/xslt-format/xslt-format-routing.module.d.ts +7 -0
- package/lib/xslt-formats/xslt-format/xslt-format.module.d.ts +15 -0
- package/lib/xslt-rule-doc-types/xslt-rule-doc-type/components/xslt-rule-doc-type.component.d.ts +33 -0
- package/lib/xslt-rule-doc-types/xslt-rule-doc-type/xslt-rule-doc-type-routing.module.d.ts +7 -0
- package/lib/xslt-rule-doc-types/xslt-rule-doc-type/xslt-rule-doc-type.module.d.ts +15 -0
- package/lib/xslt-rule-scenarios/xslt-rule-scenario/components/xslt-rule-scenario.component.d.ts +33 -0
- package/lib/xslt-rule-scenarios/xslt-rule-scenario/xslt-rule-scenario-routing.module.d.ts +7 -0
- package/lib/xslt-rule-scenarios/xslt-rule-scenario/xslt-rule-scenario.module.d.ts +15 -0
- package/lib/xslt-rules/xslt-rule/components/xslt-rule.component.d.ts +33 -0
- package/lib/xslt-rules/xslt-rule/xslt-rule-routing.module.d.ts +7 -0
- package/lib/xslt-rules/xslt-rule/xslt-rule.module.d.ts +15 -0
- package/package.json +41 -0
- package/public-api.d.ts +3 -0
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
import { isNullOrEmpty, isNullOrUndefined, ListService } from '@abp/ng.core';
|
|
2
|
+
import { Confirmation } from '@abp/ng.theme.shared';
|
|
3
|
+
import { DateAdapter } from '@abp/ng.theme.shared/extensions';
|
|
4
|
+
import { ChangeDetectionStrategy, Component, HostListener, ViewChild } from '@angular/core';
|
|
5
|
+
import { Validators } from '@angular/forms';
|
|
6
|
+
import { NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap';
|
|
7
|
+
import { finalize, tap, filter, switchMap } from 'rxjs';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@abp/ng.core";
|
|
10
|
+
import * as i2 from "../../hit-proxy/hit-xslt-rules/hit-xslt-rule.service";
|
|
11
|
+
import * as i3 from "@abp/ng.theme.shared";
|
|
12
|
+
import * as i4 from "@angular/forms";
|
|
13
|
+
import * as i5 from "../../hit-proxy/hit-scenario-types/hit-scenario-type.service";
|
|
14
|
+
import * as i6 from "../../hit-proxy/hit-document-types/hit-document-type.service";
|
|
15
|
+
import * as i7 from "../../hit-proxy/hit-note-rules/hit-note-rule.service";
|
|
16
|
+
import * as i8 from "../../hit-proxy/hit-xslt-formats/hit-xslt-format.service";
|
|
17
|
+
import * as i9 from "../../hit-proxy/hit-xslt-rule-doc-types/hit-xslt-rule-doc-type.service";
|
|
18
|
+
import * as i10 from "../../hit-proxy/hit-xslt-rule-scenarios/hit-xslt-rule-scenario.service";
|
|
19
|
+
import * as i11 from "@angular/common";
|
|
20
|
+
import * as i12 from "@ngx-validate/core";
|
|
21
|
+
import * as i13 from "@ng-bootstrap/ng-bootstrap";
|
|
22
|
+
import * as i14 from "devextreme-angular";
|
|
23
|
+
import * as i15 from "devextreme-angular/ui/nested";
|
|
24
|
+
import * as i16 from "devextreme-angular/core";
|
|
25
|
+
import * as i17 from "@abp/ng.components/page";
|
|
26
|
+
export class HitXsltRuleComponent {
|
|
27
|
+
constructor(list, track, service, confirmation, toasterService, fb, ref, scenarioTypesService, documentTypesService, noteRulesService, xsltFormatsService, xsltRuleDocTypesService, xsltRuleScenariosService) {
|
|
28
|
+
this.list = list;
|
|
29
|
+
this.track = track;
|
|
30
|
+
this.service = service;
|
|
31
|
+
this.confirmation = confirmation;
|
|
32
|
+
this.toasterService = toasterService;
|
|
33
|
+
this.fb = fb;
|
|
34
|
+
this.ref = ref;
|
|
35
|
+
this.scenarioTypesService = scenarioTypesService;
|
|
36
|
+
this.documentTypesService = documentTypesService;
|
|
37
|
+
this.noteRulesService = noteRulesService;
|
|
38
|
+
this.xsltFormatsService = xsltFormatsService;
|
|
39
|
+
this.xsltRuleDocTypesService = xsltRuleDocTypesService;
|
|
40
|
+
this.xsltRuleScenariosService = xsltRuleScenariosService;
|
|
41
|
+
this.enterPressed = false;
|
|
42
|
+
this.isModalBusy = false;
|
|
43
|
+
this.isModalOpen = false;
|
|
44
|
+
this.htmlMentionDataSource = [];
|
|
45
|
+
this.tablesDataSource = [];
|
|
46
|
+
this.xsltFormatTypesDataSource = [];
|
|
47
|
+
this.selectedDocTypes = [];
|
|
48
|
+
this.selectedScenarios = [];
|
|
49
|
+
this.previewDataSource = [];
|
|
50
|
+
this.paramsDataSource = [];
|
|
51
|
+
this.isParameterless = false;
|
|
52
|
+
this.isModalBusyPreview = false;
|
|
53
|
+
this.isModalOpenPreview = false;
|
|
54
|
+
this.xsltFormatGridBox_displayExpr = this.xsltFormatGridBox_displayExpr.bind(this);
|
|
55
|
+
}
|
|
56
|
+
ngOnInit() {
|
|
57
|
+
debugger;
|
|
58
|
+
this.xsltRuleDataSource = this.service.LoadXsltRules;
|
|
59
|
+
this.scenarioDataSource = this.service.LoadScenarios;
|
|
60
|
+
this.docTypeDataSource = this.service.LoadDocTypes;
|
|
61
|
+
this.xsltFormats = this.xsltFormatsService.LoadXsltFormatsWithParam(0);
|
|
62
|
+
this.noteRulesService.getTableNames().subscribe(list => {
|
|
63
|
+
list.forEach(element => {
|
|
64
|
+
this.tablesDataSource.push({
|
|
65
|
+
text: element.displayName,
|
|
66
|
+
id: element.id,
|
|
67
|
+
icon: "/assets/images/table-icon.png"
|
|
68
|
+
});
|
|
69
|
+
this.htmlMentionDataSource.push({
|
|
70
|
+
text: element.displayName,
|
|
71
|
+
id: element.id,
|
|
72
|
+
icon: "/assets/images/table-icon.png"
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
this.service.getParamNames().subscribe(list => {
|
|
77
|
+
list.forEach(element => {
|
|
78
|
+
this.htmlMentionDataSource.push({
|
|
79
|
+
text: element.displayName,
|
|
80
|
+
id: element.id,
|
|
81
|
+
icon: "/assets/images/key-icon.png"
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
this.xsltFormatsService.getTypes().subscribe(list => {
|
|
86
|
+
this.xsltFormatTypesDataSource = list;
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
buildForm() {
|
|
90
|
+
debugger;
|
|
91
|
+
const { ruleName, xsltType, document, orderNo, noteQuery, noteQueryHTML, isPassive, desc, xsltFormatId } = this.selected || {};
|
|
92
|
+
this.form = this.fb.group({
|
|
93
|
+
ruleName: [ruleName ?? null, [Validators.required, Validators.maxLength(256)]],
|
|
94
|
+
xsltType: [xsltType ?? 0, []],
|
|
95
|
+
document: [document ?? null, []],
|
|
96
|
+
orderNo: [orderNo ?? 0, []],
|
|
97
|
+
noteQuery: [noteQuery ?? null, [Validators.maxLength(2048)]],
|
|
98
|
+
noteQueryHTML: [noteQueryHTML ?? null, [Validators.maxLength(2048)]],
|
|
99
|
+
isPassive: [isPassive ?? false, []],
|
|
100
|
+
desc: [desc ?? null, [Validators.maxLength(512)]],
|
|
101
|
+
xsltFormatId: [xsltFormatId ?? null, [Validators.required]],
|
|
102
|
+
});
|
|
103
|
+
if (!isNullOrUndefined(this.form.controls.xsltType.value))
|
|
104
|
+
this.xsltFormats = this.xsltFormatsService.LoadXsltFormatsWithParam(this.form.controls.xsltType.value);
|
|
105
|
+
}
|
|
106
|
+
hideForm() {
|
|
107
|
+
this.isModalOpen = false;
|
|
108
|
+
this.form.reset();
|
|
109
|
+
}
|
|
110
|
+
showForm() {
|
|
111
|
+
this.buildForm();
|
|
112
|
+
this.isModalOpen = true;
|
|
113
|
+
}
|
|
114
|
+
submitForm() {
|
|
115
|
+
if (this.enterPressed) {
|
|
116
|
+
this.enterPressed = false;
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
if (this.form.invalid)
|
|
120
|
+
return;
|
|
121
|
+
let xsltRuleReq = this.form.value;
|
|
122
|
+
let xsltRuleScenariosReq = [];
|
|
123
|
+
let xsltRuleDocTypesReq = [];
|
|
124
|
+
this.dxScenarioInstance.instance.getVisibleRows().filter(i => i.isSelected == true).forEach(element => {
|
|
125
|
+
xsltRuleScenariosReq.push({
|
|
126
|
+
xsltRuleId: this.selected?.id,
|
|
127
|
+
scenario: element.data.id
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
this.dxDocTypeInstance.instance.getVisibleRows().filter(i => i.isSelected == true).forEach(element => {
|
|
131
|
+
xsltRuleDocTypesReq.push({
|
|
132
|
+
noteRuleId: this.selected?.id,
|
|
133
|
+
docType: element.data.id
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
xsltRuleReq.concurrencyStamp = this.selected?.concurrencyStamp;
|
|
137
|
+
xsltRuleReq.id = this.selected?.id;
|
|
138
|
+
const request = this.selected
|
|
139
|
+
? this.service.update(this.selected.id, {
|
|
140
|
+
xsltRule: xsltRuleReq,
|
|
141
|
+
xsltRuleScenarios: xsltRuleScenariosReq,
|
|
142
|
+
xsltRuleDocTypes: xsltRuleDocTypesReq
|
|
143
|
+
})
|
|
144
|
+
: this.service.create({
|
|
145
|
+
xsltRule: xsltRuleReq,
|
|
146
|
+
xsltRuleScenarios: xsltRuleScenariosReq,
|
|
147
|
+
xsltRuleDocTypes: xsltRuleDocTypesReq
|
|
148
|
+
});
|
|
149
|
+
this.isModalBusy = true;
|
|
150
|
+
request
|
|
151
|
+
.pipe(finalize(() => (this.isModalBusy = false)), tap(() => this.hideForm()))
|
|
152
|
+
.subscribe(() => this.dxXsltRuleInstance.instance.refresh());
|
|
153
|
+
}
|
|
154
|
+
create() {
|
|
155
|
+
this.selected = null;
|
|
156
|
+
this.xsltFormatGridBoxValue = null;
|
|
157
|
+
this.selectedDocTypes = [];
|
|
158
|
+
this.selectedScenarios = [];
|
|
159
|
+
this.showForm();
|
|
160
|
+
}
|
|
161
|
+
update(record) {
|
|
162
|
+
this.selected = record.xsltRule;
|
|
163
|
+
this.xsltRuleScenariosService.getSelectedScenarios(this.selected.id).subscribe(list => {
|
|
164
|
+
this.selectedScenarios = list.map(i => i.scenario);
|
|
165
|
+
});
|
|
166
|
+
this.xsltRuleDocTypesService.getSelectedDocTypes(this.selected.id).subscribe(list => {
|
|
167
|
+
this.selectedDocTypes = list.map(i => i.docType);
|
|
168
|
+
});
|
|
169
|
+
this.showForm();
|
|
170
|
+
}
|
|
171
|
+
delete(record) {
|
|
172
|
+
this.confirmation
|
|
173
|
+
.warn('eDonusum::DeleteConfirmationMessage', 'eDonusum::AreYouSure', {
|
|
174
|
+
messageLocalizationParams: [],
|
|
175
|
+
})
|
|
176
|
+
.pipe(filter(status => status === Confirmation.Status.confirm), switchMap(() => this.service.delete(record.xsltRule.id)))
|
|
177
|
+
.subscribe(this.list.get);
|
|
178
|
+
}
|
|
179
|
+
xsltFormatGridBox_displayExpr(item) {
|
|
180
|
+
this.form.controls.xsltFormatId.setValue(item.id.toString());
|
|
181
|
+
return `${item.fileName}`;
|
|
182
|
+
}
|
|
183
|
+
onXsltFormatGridBoxOptionChanged(e) {
|
|
184
|
+
if (e.name === 'value') {
|
|
185
|
+
this.isXsltFormatGridBoxOpened = false;
|
|
186
|
+
this.ref.detectChanges();
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
xsltTypeChanged() {
|
|
190
|
+
this.xsltFormats = this.xsltFormatsService.LoadXsltFormatsWithParam(this.form.controls.xsltType.value);
|
|
191
|
+
this.xsltFormatGridBoxValue = null;
|
|
192
|
+
this.form.controls.xsltFormatId.setValue(null);
|
|
193
|
+
}
|
|
194
|
+
previewQuery() {
|
|
195
|
+
let xsltRuleReq = this.form.value;
|
|
196
|
+
this.previewDataSource = [];
|
|
197
|
+
this.paramsDataSource = [];
|
|
198
|
+
if (isNullOrEmpty(xsltRuleReq.noteQueryHTML)) {
|
|
199
|
+
this.toasterService.info('Sorgu bulunamadı.');
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
let noteQuery = this.stripHTML(xsltRuleReq.noteQueryHTML);
|
|
203
|
+
if (isNullOrUndefined(this.form.controls.document.value)) {
|
|
204
|
+
this.toasterService.warn('Tablo seçiniz.');
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
const tableName = this.checkTableAfterFrom(noteQuery);
|
|
208
|
+
if (!tableName) {
|
|
209
|
+
this.toasterService.error("Seçili tablo ile sorguda başlanılan tablo aynı olmalı.");
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
let params = noteQuery.match(/(BelgeKey|BelgeDetayKey|MuhatapKey|MuhatapGrupKey)/g);
|
|
213
|
+
if (!isNullOrUndefined(params)) {
|
|
214
|
+
this.paramsDataSource = [];
|
|
215
|
+
params.forEach(element => {
|
|
216
|
+
this.paramsDataSource.push({
|
|
217
|
+
paramName: element.replace(":", ""),
|
|
218
|
+
paramValue: ""
|
|
219
|
+
});
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
if (isNullOrEmpty(this.paramsDataSource) || this.paramsDataSource.length == 0) {
|
|
223
|
+
this.toasterService.info('eDonusum::QueryPreviewIsPreparing');
|
|
224
|
+
this.isParameterless = true;
|
|
225
|
+
this.runQuery();
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
this.isParameterless = false;
|
|
229
|
+
}
|
|
230
|
+
this.isModalOpenPreview = true;
|
|
231
|
+
}
|
|
232
|
+
runQuery() {
|
|
233
|
+
let paramValues = [];
|
|
234
|
+
if (!this.isParameterless) {
|
|
235
|
+
this.toasterService.info('eDonusum::QueryPreviewIsPreparing');
|
|
236
|
+
this.dxParamInstance.instance.getVisibleRows().forEach(element => {
|
|
237
|
+
paramValues.push({
|
|
238
|
+
paramName: element.data.paramName,
|
|
239
|
+
paramValue: element.data.paramValue
|
|
240
|
+
});
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
let xsltRuleReq = this.form.value;
|
|
244
|
+
let requestDto = {
|
|
245
|
+
xsltRule: xsltRuleReq,
|
|
246
|
+
ruleParameters: paramValues
|
|
247
|
+
};
|
|
248
|
+
this.service.previewRuleResult(requestDto).subscribe(result => {
|
|
249
|
+
this.previewDataSource = result.value;
|
|
250
|
+
if (this.previewDataSource.length > 0)
|
|
251
|
+
this.toasterService.success('eDonusum::QueryPreviewIsReady');
|
|
252
|
+
else
|
|
253
|
+
this.toasterService.warn('eDonusum::QueryPreviewNoResult');
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
handleKeyDown(event) {
|
|
257
|
+
if (event.key === 'Enter') {
|
|
258
|
+
this.enterPressed = true;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
stripHTML(input) {
|
|
262
|
+
const strippedHtml = input.replace("</p><p>", " ");
|
|
263
|
+
return strippedHtml.replace(/@/g, '').replace(/<.*?>/g, '');
|
|
264
|
+
}
|
|
265
|
+
checkTableAfterFrom(query) {
|
|
266
|
+
const regex = /FROM\s+([@\w]+)/i;
|
|
267
|
+
const selectedTableName = this.tablesDataSource.filter(i => i.id == this.form.controls.document.value)[0].text;
|
|
268
|
+
const match = query.match(regex);
|
|
269
|
+
if (match && match[1]) {
|
|
270
|
+
const tableName = match[1];
|
|
271
|
+
if (tableName === ("@" + selectedTableName) || tableName === selectedTableName) {
|
|
272
|
+
return true;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
return false;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
HitXsltRuleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitXsltRuleComponent, deps: [{ token: i1.ListService }, { token: i1.TrackByService }, { token: i2.HitXsltRulesService }, { token: i3.ConfirmationService }, { token: i3.ToasterService }, { token: i4.FormBuilder }, { token: i0.ChangeDetectorRef }, { token: i5.HitScenarioTypesService }, { token: i6.HitDocumentTypesService }, { token: i7.HitNoteRulesService }, { token: i8.HitXsltFormatService }, { token: i9.HitXsltRuleDocTypesService }, { token: i10.HitXsltRuleScenariosService }], target: i0.ɵɵFactoryTarget.Component });
|
|
279
|
+
HitXsltRuleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitXsltRuleComponent, selector: "lib-xslt-rule", host: { listeners: { "document:keydown": "handleKeyDown($event)" } }, providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], viewQueries: [{ propertyName: "dxXsltRuleInstance", first: true, predicate: ["dxXsltRuleInstance"], descendants: true }, { propertyName: "dxScenarioInstance", first: true, predicate: ["dxScenarioInstance"], descendants: true }, { propertyName: "dxDocTypeInstance", first: true, predicate: ["dxDocTypeInstance"], descendants: true }, { propertyName: "dxParamInstance", first: true, predicate: ["dxParamInstance"], descendants: true }], ngImport: i0, template: "<abp-page [title]=\"'eDonusum::XsltRules' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"text-lg-end pt-2\">\r\n <button *abpPermission=\"'eDonusum.XsltRules.Create'\" class=\"btn btn-primary btn-sm\" type=\"button\"\r\n (click)=\"create()\">\r\n <i class=\"fa fa-plus me-1\" aria-hidden=\"true\"></i>\r\n {{ 'eDonusum::NewXsltRule' | abpLocalization }}\r\n </button>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <dx-data-grid #dxXsltRuleInstance [dataSource]=\"xsltRuleDataSource\" [showRowLines]=\"true\" [showBorders]=\"true\"\r\n [remoteOperations]=\"true\" [hoverStateEnabled]=\"true\" [repaintChangesOnly]=\"true\" [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\" [allowColumnReordering]=\"true\" [columnAutoWidth]=\"true\" [columnHidingEnabled]=\"true\"\r\n style=\"height: 75vh;\">\r\n <dxo-pager [visible]=\"true\" [showInfo]=\"true\" [allowedPageSizes]=\"[50,100,200]\" [showNavigationButtons]=\"true\"\r\n [showPageSizeSelector]=\"true\">\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"50\"></dxo-paging>\r\n <dxo-column-chooser [allowSearch]=\"true\" [enabled]=\"true\" mode=\"select\"></dxo-column-chooser>\r\n <dxo-column-fixing [enabled]=\"true\"></dxo-column-fixing>\r\n <dxo-group-panel [visible]=\"true\" [allowColumnDragging]=\"true\"></dxo-group-panel>\r\n <dxo-grouping #expand [autoExpandAll]=\"false\" [allowCollapsing]=\"true\"\r\n [contextMenuEnabled]=\"true\"></dxo-grouping>\r\n <dxo-header-filter [allowSearch]=\"true\" [visible]=\"true\"></dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-export [enabled]=\"true\" [allowExportSelectedData]=\"false\"></dxo-export>\r\n <dxo-column-fixing [enabled]=\"true\"></dxo-column-fixing>\r\n <dxo-filter-builder [allowHierarchicalFields]=\"true\"></dxo-filter-builder>\r\n <dxo-filter-panel [visible]=\"true\"></dxo-filter-panel>\r\n <dxo-sorting mode=\"single\"></dxo-sorting>\r\n <dxo-scrolling mode=\"horizontal\" showScrollbar=\"always\"></dxo-scrolling>\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\" aria-haspopup=\"true\"\r\n ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"update(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem (click)=\"delete(row.data)\">\r\n <i class=\"fa fa-trash\" aria-hidden=\"true\"></i> {{ 'AbpUi::Delete' | abpLocalization\r\n }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column dataField=\"xsltRule.ruleName\" caption=\"{{'eDonusum::RuleName'|abpLocalization}}\"></dxi-column>\r\n <dxi-column dataField=\"xsltRule.orderNo\" caption=\"{{'eDonusum::OrderNo'|abpLocalization}}\"></dxi-column>\r\n <dxi-column dataField=\"xsltRule.isPassive\" caption=\"{{'eDonusum::IsPassive'|abpLocalization}}\"></dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<abp-modal [busy]=\"isModalBusy\" [(visible)]=\"isModalOpen\" [options]=\"{ size: 'lg' }\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n {{ (selected ? 'AbpUi::Edit' : 'eDonusum::NewXsltRule') | abpLocalization }}\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" id=\"xslt-rule\" (ngSubmit)=\"submitForm()\" validateOnSubmit>\r\n <dx-tab-panel [animationEnabled]=\"true\" [swipeEnabled]=\"true\" [loop]=\"true\" #tabPanel>\r\n <dxi-item title=\"{{ 'eDonusum::RuleInfo' | abpLocalization }}\" icon=\"fas fa-file-alt\">\r\n <div class=\"container-fluid\">\r\n <div class=\"mt-2 fade-in-top\">\r\n <div class=\"row\" style=\"margin-top:20px\">\r\n <div class=\"col-md\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"xslt-rule-rule-name\">\r\n {{ 'eDonusum::RuleName' | abpLocalization }} *\r\n </label>\r\n\r\n <dx-text-box id=\"xslt-rule-rule-name\" [disabled]=\"isUpdate\" formControlName=\"ruleName\"\r\n class=\"form-control\" maxlength=\"256\" autofocus></dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"col-md\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"xslt-rule-order-no\">\r\n {{ 'eDonusum::OrderNo' | abpLocalization }}\r\n </label>\r\n\r\n <input type=\"number\" [min]=\"0\" id=\"xslt-rule-order-no\" formControlName=\"orderNo\"\r\n class=\"form-control\" />\r\n </div>\r\n </div>\r\n </div> \r\n <div class=\"row\">\r\n <div class=\"col-md\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"xslt-rule-order-no\">\r\n {{ 'eDonusum::XsltType' | abpLocalization }}\r\n </label>\r\n <dx-select-box id=\"xslt-rule-xslt-type\" formControlName=\"xsltType\" (onValueChanged)=\"xsltTypeChanged()\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\" [dataSource]=\"xsltFormatTypesDataSource\" [value]=\"xsltFormatTypesDataSource[0].id\"\r\n placeholder=\"{{ 'eDonusum::Pick' | abpLocalization }}..\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n <div class=\"col-md\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"xslt-rule-xslt-format\">\r\n {{ 'eDonusum::XsltFormat' | abpLocalization }}\r\n </label>\r\n\r\n <dx-drop-down-box [(value)]=\"xsltFormatGridBoxValue\" [(opened)]=\"isXsltFormatGridBoxOpened\"\r\n valueExpr=\"id\" [deferRendering]=\"false\" [displayExpr]=\"xsltFormatGridBox_displayExpr\"\r\n placeholder=\"{{ 'eDonusum::SelectAValue' | abpLocalization }}\"\r\n [showClearButton]=\"false\" [dataSource]=\"xsltFormats\" formControlName=\"xsltFormatId\"\r\n (onOptionChanged)=\"onXsltFormatGridBoxOptionChanged($event)\">\r\n <dx-data-grid [dataSource]=\"xsltFormats\" [hoverStateEnabled]=\"true\" [height]=\"250\"\r\n [(selectedRowKeys)]=\"xsltFormatGridBoxValue\" [remoteOperations]=\"true\">\r\n <dxi-column dataField=\"name\" caption=\"Name\"></dxi-column>\r\n <dxi-column dataField=\"fileName\" caption=\"FileName\"></dxi-column>\r\n <dxo-selection mode=\"single\"></dxo-selection>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-scrolling mode=\"infinite\"></dxo-scrolling>\r\n <dxo-paging [enabled]=\"true\" [pageSize]=\"10\"></dxo-paging>\r\n </dx-data-grid>\r\n </dx-drop-down-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"note-rule-rule-type\">\r\n {{ 'eDonusum::Document' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"xslt-rule-document\" [disabled]=\"isUpdate\" formControlName=\"document\"\r\n (onValueChanged)=\"documentChanged()\" class=\"form-control\" displayExpr=\"text\" valueExpr=\"id\"\r\n [dataSource]=\"tablesDataSource\" placeholder=\"{{ 'eDonusum::Pick' | abpLocalization }}..\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n <div class = \"col-md\"></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"xslt-rule-note-query\">\r\n {{ 'eDonusum::RuleQuery' | abpLocalization }}\r\n </label>\r\n <dx-html-editor #dxHtmlEditor class=\"form-control\" id=\"xslt-rule-note-query-html\" [height]=\"100\"\r\n maxlength=\"4096\" formControlName=\"noteQueryHTML\">\r\n <dxi-mention valueExpr=\"text\" displayExpr=\"text\" searchExpr=\"text\"\r\n [dataSource]=\"htmlMentionDataSource\"></dxi-mention>\r\n </dx-html-editor>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"xslt-rule-desc\">\r\n {{ 'eDonusum::Desc' | abpLocalization }}\r\n </label>\r\n\r\n <input id=\"xslt-rule-desc\" formControlName=\"desc\" class=\"form-control\" maxlength=\"512\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"xslt-rule-is-passive\" formControlName=\"isPassive\"\r\n class=\"form-check-input\" />\r\n\r\n <label for=\"xslt-rule-is-passive\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsPassive' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-item>\r\n <dxi-item title=\"{{ 'eDonusum::Scenarios' | abpLocalization }}\" icon=\"fas fa-pencil-alt\">\r\n <div class=\"container-fluid\">\r\n <div class=\"mt-2 fade-in-top\">\r\n <div class=\"row\" style=\"margin-top:20px; margin-bottom:20px\">\r\n <div class=\"col\">\r\n <dx-data-grid #dxScenarioInstance [dataSource]=\"scenarioDataSource\" [showRowLines]=\"true\"\r\n [showBorders]=\"true\" [remoteOperations]=\"true\" [hoverStateEnabled]=\"true\"\r\n [repaintChangesOnly]=\"true\" [allowColumnResizing]=\"true\" columnResizingMode=\"widget\"\r\n [allowColumnReordering]=\"true\" [columnAutoWidth]=\"true\" [columnHidingEnabled]=\"true\"\r\n style=\"height: 50vh;\" keyExpr=\"id\" [(selectedRowKeys)]=\"selectedScenarios\">\r\n <dxo-selection mode=\"multiple\" selectAllMode=\"page\">\r\n </dxo-selection>\r\n\r\n <dxo-column-fixing [enabled]=\"true\"></dxo-column-fixing>\r\n\r\n <dxo-header-filter [allowSearch]=\"true\" [visible]=\"true\"></dxo-header-filter>\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n\r\n <dxo-column-fixing [enabled]=\"true\"></dxo-column-fixing>\r\n\r\n <dxo-sorting mode=\"single\"></dxo-sorting>\r\n\r\n <dxo-scrolling mode=\"horizontal\" showScrollbar=\"always\"></dxo-scrolling>\r\n\r\n <dxi-column dataField=\"displayName\" caption=\"{{ 'eDonusum::Name' | abpLocalization }}\"></dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-item>\r\n <dxi-item title=\"{{ 'eDonusum::DocTypes' | abpLocalization }}\" icon=\"fas fa-envelope\">\r\n <div class=\"container-fluid\">\r\n <div class=\"mt-2 fade-in-top\">\r\n <div class=\"row\" style=\"margin-top:20px; margin-bottom:20px\">\r\n <div class=\"col\">\r\n <dx-data-grid #dxDocTypeInstance [dataSource]=\"docTypeDataSource\" [showRowLines]=\"true\"\r\n [showBorders]=\"true\" [remoteOperations]=\"true\" [hoverStateEnabled]=\"true\"\r\n [repaintChangesOnly]=\"true\" [allowColumnResizing]=\"true\" columnResizingMode=\"widget\"\r\n [allowColumnReordering]=\"true\" [columnAutoWidth]=\"true\" [columnHidingEnabled]=\"true\"\r\n style=\"height: 50vh;\" keyExpr=\"id\" [(selectedRowKeys)]=\"selectedDocTypes\">\r\n <dxo-selection mode=\"multiple\" selectAllMode=\"page\">\r\n </dxo-selection>\r\n\r\n <dxo-column-fixing [enabled]=\"true\"></dxo-column-fixing>\r\n\r\n <dxo-header-filter [allowSearch]=\"true\" [visible]=\"true\"></dxo-header-filter>\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n\r\n <dxo-column-fixing [enabled]=\"true\"></dxo-column-fixing>\r\n\r\n <dxo-sorting mode=\"single\"></dxo-sorting>\r\n\r\n <dxo-scrolling mode=\"horizontal\" showScrollbar=\"always\"></dxo-scrolling>\r\n\r\n <dxi-column dataField=\"displayName\" caption=\"{{ 'eDonusum::Name' | abpLocalization }}\"></dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-item>\r\n </dx-tab-panel>\r\n\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"previewQuery()\">\r\n {{ 'eDonusum::PreviewQuery' | abpLocalization }}\r\n </button>\r\n <!-- <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"note-rule\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button> -->\r\n <button type=\"button\" iconClass=\"fa fa-check\" class=\"btn btn-primary\" formName=\"xslt-rule\" (click)=\"submitForm()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </button>\r\n </ng-template>\r\n</abp-modal>\r\n\r\n<abp-modal [busy]=\"isModalBusyPreview\" [(visible)]=\"isModalOpenPreview\" [options]=\"{ size: 'lg' }\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n {{ (selected ? 'AbpUi::Edit' : 'eDonusum::PreviewQuery') | abpLocalization }}\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form id=\"note-rule-preview\">\r\n\r\n <div *ngIf=\"!isParameterless\">\r\n <h3>{{ 'eDonusum::Parameters' | abpLocalization }}</h3>\r\n <hr>\r\n <dx-data-grid #dxParamInstance [dataSource]=\"paramsDataSource\" [showRowLines]=\"true\" [showBorders]=\"true\"\r\n [hoverStateEnabled]=\"true\" [repaintChangesOnly]=\"true\" [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\" [allowColumnReordering]=\"true\" [columnAutoWidth]=\"true\"\r\n [columnHidingEnabled]=\"true\" style=\"height: 40vh;\">\r\n\r\n <dxo-editing mode=\"cell\" [useIcons]=\"false\" [allowUpdating]=\"true\" [allowAdding]=\"false\"\r\n [allowDeleting]=\"false\">\r\n </dxo-editing>\r\n\r\n <dxo-column-fixing [enabled]=\"true\"></dxo-column-fixing>\r\n <dxo-column-fixing [enabled]=\"true\"></dxo-column-fixing>\r\n <dxo-sorting mode=\"single\"></dxo-sorting>\r\n <dxo-scrolling mode=\"horizontal\" showScrollbar=\"always\"></dxo-scrolling>\r\n\r\n <dxi-column dataField=\"paramName\" [allowEditing]=\"false\"\r\n caption=\"{{'eDonusum::ParamName'|abpLocalization}}\"></dxi-column>\r\n <dxi-column dataField=\"paramValue\" caption=\"{{'eDonusum::ParamValue'|abpLocalization}}\"></dxi-column>\r\n </dx-data-grid>\r\n <br>\r\n <button type=\"button\" class=\"btn btn-primary\" style=\"float: right;\" (click)=\"runQuery()\">\r\n {{ 'eDonusum::RunQuery' | abpLocalization }}\r\n </button>\r\n <br><br>\r\n </div>\r\n\r\n <h3>{{ 'eDonusum::QueryResult' | abpLocalization }}</h3>\r\n <hr>\r\n <dx-data-grid #dxPreview [dataSource]=\"previewDataSource\" [showRowLines]=\"true\" [showBorders]=\"true\"\r\n [remoteOperations]=\"true\" [hoverStateEnabled]=\"true\" [repaintChangesOnly]=\"true\" [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\" [allowColumnReordering]=\"true\" [columnAutoWidth]=\"true\" [columnHidingEnabled]=\"true\"\r\n style=\"height: 60vh;\">\r\n <dxo-column-fixing [enabled]=\"true\"></dxo-column-fixing>\r\n\r\n <dxo-header-filter [allowSearch]=\"true\" [visible]=\"true\"></dxo-header-filter>\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n\r\n <dxo-column-fixing [enabled]=\"true\"></dxo-column-fixing>\r\n\r\n <dxo-sorting mode=\"single\"></dxo-sorting>\r\n\r\n <dxo-scrolling mode=\"horizontal\" showScrollbar=\"always\"></dxo-scrolling>\r\n\r\n </dx-data-grid>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n </ng-template>\r\n</abp-modal>", dependencies: [{ kind: "directive", type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.AutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i1.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "component", type: i3.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i3.ModalCloseDirective, selector: "[abpClose]" }, { kind: "directive", type: i12.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i12.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "directive", type: i13.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i13.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i13.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i13.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i14.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i15.DxoColumnChooserComponent, selector: "dxo-column-chooser", inputs: ["allowSearch", "emptyPanelText", "enabled", "height", "mode", "searchTimeout", "sortOrder", "title", "width"] }, { kind: "component", type: i15.DxoColumnFixingComponent, selector: "dxo-column-fixing", inputs: ["enabled", "texts"] }, { kind: "component", type: i15.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i15.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "dataSource", "groupInterval", "height", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i15.DxoEditingComponent, selector: "dxo-editing", inputs: ["allowAdding", "allowDeleting", "allowUpdating", "changes", "confirmDelete", "editColumnName", "editRowKey", "form", "mode", "newRowPosition", "popup", "refreshMode", "selectTextOnEditStart", "startEditAction", "texts", "useIcons", "allowAddShape", "allowChangeConnection", "allowChangeConnectorPoints", "allowChangeConnectorText", "allowChangeShapeText", "allowDeleteConnector", "allowDeleteShape", "allowMoveShape", "allowResizeShape", "allowDependencyAdding", "allowDependencyDeleting", "allowResourceAdding", "allowResourceDeleting", "allowResourceUpdating", "allowTaskAdding", "allowTaskDeleting", "allowTaskResourceUpdating", "allowTaskUpdating", "enabled", "allowDragging", "allowResizing", "allowTimeZoneEditing"], outputs: ["changesChange", "editColumnNameChange", "editRowKeyChange"] }, { kind: "component", type: i15.DxiItemComponent, selector: "dxi-item", inputs: ["disabled", "html", "icon", "template", "text", "title", "titleTemplate", "visible", "onClick", "stylingMode", "type", "baseSize", "box", "ratio", "shrink", "elementAttr", "hint", "beginGroup", "closeMenuOnClick", "items", "selectable", "selected", "colSpan", "cssClass", "dataField", "editorOptions", "editorType", "helpText", "isRequired", "itemType", "label", "name", "validationRules", "visibleIndex", "alignItemLabels", "caption", "colCount", "colCountByScreen", "tabPanelOptions", "tabs", "badge", "tabTemplate", "buttonOptions", "horizontalAlignment", "verticalAlignment", "locateInMenu", "location", "menuItemTemplate", "options", "showText", "widget", "height", "width", "imageAlt", "imageSrc", "acceptedValues", "formatName", "formatValues", "key", "showChevron", "heightRatio", "widthRatio", "expanded", "hasItems", "id", "parentId"] }, { kind: "component", type: i15.DxoExportComponent, selector: "dxo-export", inputs: ["backgroundColor", "enabled", "fileName", "formats", "margin", "printingEnabled", "svgToCanvas", "allowExportSelectedData", "texts"] }, { kind: "component", type: i15.DxoFilterBuilderComponent, selector: "dxo-filter-builder", inputs: ["accessKey", "activeStateEnabled", "allowHierarchicalFields", "customOperations", "disabled", "elementAttr", "fields", "filterOperationDescriptions", "focusStateEnabled", "groupOperationDescriptions", "groupOperations", "height", "hint", "hoverStateEnabled", "maxGroupLevel", "onContentReady", "onDisposing", "onEditorPrepared", "onEditorPreparing", "onInitialized", "onOptionChanged", "onValueChanged", "rtlEnabled", "tabIndex", "value", "visible", "width"], outputs: ["valueChange"] }, { kind: "component", type: i15.DxoFilterPanelComponent, selector: "dxo-filter-panel", inputs: ["customizeText", "filterEnabled", "texts", "visible"], outputs: ["filterEnabledChange"] }, { kind: "component", type: i15.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i15.DxoGroupingComponent, selector: "dxo-grouping", inputs: ["allowCollapsing", "autoExpandAll", "contextMenuEnabled", "expandMode", "texts"] }, { kind: "component", type: i15.DxoGroupPanelComponent, selector: "dxo-group-panel", inputs: ["allowColumnDragging", "emptyPanelText", "visible"], outputs: ["visibleChange"] }, { kind: "component", type: i15.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i15.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i15.DxoScrollingComponent, selector: "dxo-scrolling", inputs: ["columnRenderingMode", "mode", "preloadEnabled", "renderAsync", "rowRenderingMode", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative"] }, { kind: "component", type: i15.DxoSelectionComponent, selector: "dxo-selection", inputs: ["allowSelectAll", "deferred", "mode", "selectAllMode", "showCheckBoxesMode", "recursive"] }, { kind: "component", type: i15.DxoSortingComponent, selector: "dxo-sorting", inputs: ["ascendingText", "clearText", "descendingText", "mode", "showSortIndexes"] }, { kind: "directive", type: i16.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "component", type: i14.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i14.DxHtmlEditorComponent, selector: "dx-html-editor", inputs: ["accessKey", "activeStateEnabled", "allowSoftLineBreak", "customizeModules", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "imageUpload", "isValid", "mediaResizing", "mentions", "name", "placeholder", "readOnly", "rtlEnabled", "stylingMode", "tabIndex", "tableContextMenu", "tableResizing", "toolbar", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueType", "variables", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onFocusIn", "onFocusOut", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "allowSoftLineBreakChange", "customizeModulesChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "imageUploadChange", "isValidChange", "mediaResizingChange", "mentionsChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "tableContextMenuChange", "tableResizingChange", "toolbarChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueTypeChange", "variablesChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i15.DxiMentionComponent, selector: "dxi-mention", inputs: ["dataSource", "displayExpr", "itemTemplate", "marker", "minSearchLength", "searchExpr", "searchTimeout", "template", "valueExpr"] }, { kind: "component", type: i14.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "customItemCreateEvent", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "customItemCreateEventChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "component", type: i14.DxTabPanelComponent, selector: "dx-tab-panel", inputs: ["accessKey", "activeStateEnabled", "animationEnabled", "dataSource", "deferRendering", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "itemHoldTimeout", "items", "itemTemplate", "itemTitleTemplate", "loop", "noDataText", "repaintChangesOnly", "rtlEnabled", "scrollByContent", "scrollingEnabled", "selectedIndex", "selectedItem", "showNavButtons", "swipeEnabled", "tabIndex", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onItemClick", "onItemContextMenu", "onItemHold", "onItemRendered", "onOptionChanged", "onSelectionChanged", "onTitleClick", "onTitleHold", "onTitleRendered", "accessKeyChange", "activeStateEnabledChange", "animationEnabledChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "itemHoldTimeoutChange", "itemsChange", "itemTemplateChange", "itemTitleTemplateChange", "loopChange", "noDataTextChange", "repaintChangesOnlyChange", "rtlEnabledChange", "scrollByContentChange", "scrollingEnabledChange", "selectedIndexChange", "selectedItemChange", "showNavButtonsChange", "swipeEnabledChange", "tabIndexChange", "visibleChange", "widthChange"] }, { kind: "component", type: i17.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i17.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "component", type: i14.DxDropDownBoxComponent, selector: "dx-drop-down-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "contentTemplate", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValueFormatter", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "label", "labelMode", "maxLength", "name", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showDropDownButton", "stylingMode", "tabIndex", "text", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width"], outputs: ["onChange", "onClosed", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "contentTemplateChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueFormatterChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "labelChange", "labelModeChange", "maxLengthChange", "nameChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showDropDownButtonChange", "stylingModeChange", "tabIndexChange", "textChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }], changeDetection: i0.ChangeDetectionStrategy.Default });
|
|
280
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitXsltRuleComponent, decorators: [{
|
|
281
|
+
type: Component,
|
|
282
|
+
args: [{ selector: 'lib-xslt-rule', changeDetection: ChangeDetectionStrategy.Default, providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], template: "<abp-page [title]=\"'eDonusum::XsltRules' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"text-lg-end pt-2\">\r\n <button *abpPermission=\"'eDonusum.XsltRules.Create'\" class=\"btn btn-primary btn-sm\" type=\"button\"\r\n (click)=\"create()\">\r\n <i class=\"fa fa-plus me-1\" aria-hidden=\"true\"></i>\r\n {{ 'eDonusum::NewXsltRule' | abpLocalization }}\r\n </button>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <dx-data-grid #dxXsltRuleInstance [dataSource]=\"xsltRuleDataSource\" [showRowLines]=\"true\" [showBorders]=\"true\"\r\n [remoteOperations]=\"true\" [hoverStateEnabled]=\"true\" [repaintChangesOnly]=\"true\" [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\" [allowColumnReordering]=\"true\" [columnAutoWidth]=\"true\" [columnHidingEnabled]=\"true\"\r\n style=\"height: 75vh;\">\r\n <dxo-pager [visible]=\"true\" [showInfo]=\"true\" [allowedPageSizes]=\"[50,100,200]\" [showNavigationButtons]=\"true\"\r\n [showPageSizeSelector]=\"true\">\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"50\"></dxo-paging>\r\n <dxo-column-chooser [allowSearch]=\"true\" [enabled]=\"true\" mode=\"select\"></dxo-column-chooser>\r\n <dxo-column-fixing [enabled]=\"true\"></dxo-column-fixing>\r\n <dxo-group-panel [visible]=\"true\" [allowColumnDragging]=\"true\"></dxo-group-panel>\r\n <dxo-grouping #expand [autoExpandAll]=\"false\" [allowCollapsing]=\"true\"\r\n [contextMenuEnabled]=\"true\"></dxo-grouping>\r\n <dxo-header-filter [allowSearch]=\"true\" [visible]=\"true\"></dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-export [enabled]=\"true\" [allowExportSelectedData]=\"false\"></dxo-export>\r\n <dxo-column-fixing [enabled]=\"true\"></dxo-column-fixing>\r\n <dxo-filter-builder [allowHierarchicalFields]=\"true\"></dxo-filter-builder>\r\n <dxo-filter-panel [visible]=\"true\"></dxo-filter-panel>\r\n <dxo-sorting mode=\"single\"></dxo-sorting>\r\n <dxo-scrolling mode=\"horizontal\" showScrollbar=\"always\"></dxo-scrolling>\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\" aria-haspopup=\"true\"\r\n ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"update(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem (click)=\"delete(row.data)\">\r\n <i class=\"fa fa-trash\" aria-hidden=\"true\"></i> {{ 'AbpUi::Delete' | abpLocalization\r\n }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column dataField=\"xsltRule.ruleName\" caption=\"{{'eDonusum::RuleName'|abpLocalization}}\"></dxi-column>\r\n <dxi-column dataField=\"xsltRule.orderNo\" caption=\"{{'eDonusum::OrderNo'|abpLocalization}}\"></dxi-column>\r\n <dxi-column dataField=\"xsltRule.isPassive\" caption=\"{{'eDonusum::IsPassive'|abpLocalization}}\"></dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<abp-modal [busy]=\"isModalBusy\" [(visible)]=\"isModalOpen\" [options]=\"{ size: 'lg' }\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n {{ (selected ? 'AbpUi::Edit' : 'eDonusum::NewXsltRule') | abpLocalization }}\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" id=\"xslt-rule\" (ngSubmit)=\"submitForm()\" validateOnSubmit>\r\n <dx-tab-panel [animationEnabled]=\"true\" [swipeEnabled]=\"true\" [loop]=\"true\" #tabPanel>\r\n <dxi-item title=\"{{ 'eDonusum::RuleInfo' | abpLocalization }}\" icon=\"fas fa-file-alt\">\r\n <div class=\"container-fluid\">\r\n <div class=\"mt-2 fade-in-top\">\r\n <div class=\"row\" style=\"margin-top:20px\">\r\n <div class=\"col-md\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"xslt-rule-rule-name\">\r\n {{ 'eDonusum::RuleName' | abpLocalization }} *\r\n </label>\r\n\r\n <dx-text-box id=\"xslt-rule-rule-name\" [disabled]=\"isUpdate\" formControlName=\"ruleName\"\r\n class=\"form-control\" maxlength=\"256\" autofocus></dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"col-md\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"xslt-rule-order-no\">\r\n {{ 'eDonusum::OrderNo' | abpLocalization }}\r\n </label>\r\n\r\n <input type=\"number\" [min]=\"0\" id=\"xslt-rule-order-no\" formControlName=\"orderNo\"\r\n class=\"form-control\" />\r\n </div>\r\n </div>\r\n </div> \r\n <div class=\"row\">\r\n <div class=\"col-md\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"xslt-rule-order-no\">\r\n {{ 'eDonusum::XsltType' | abpLocalization }}\r\n </label>\r\n <dx-select-box id=\"xslt-rule-xslt-type\" formControlName=\"xsltType\" (onValueChanged)=\"xsltTypeChanged()\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\" [dataSource]=\"xsltFormatTypesDataSource\" [value]=\"xsltFormatTypesDataSource[0].id\"\r\n placeholder=\"{{ 'eDonusum::Pick' | abpLocalization }}..\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n <div class=\"col-md\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"xslt-rule-xslt-format\">\r\n {{ 'eDonusum::XsltFormat' | abpLocalization }}\r\n </label>\r\n\r\n <dx-drop-down-box [(value)]=\"xsltFormatGridBoxValue\" [(opened)]=\"isXsltFormatGridBoxOpened\"\r\n valueExpr=\"id\" [deferRendering]=\"false\" [displayExpr]=\"xsltFormatGridBox_displayExpr\"\r\n placeholder=\"{{ 'eDonusum::SelectAValue' | abpLocalization }}\"\r\n [showClearButton]=\"false\" [dataSource]=\"xsltFormats\" formControlName=\"xsltFormatId\"\r\n (onOptionChanged)=\"onXsltFormatGridBoxOptionChanged($event)\">\r\n <dx-data-grid [dataSource]=\"xsltFormats\" [hoverStateEnabled]=\"true\" [height]=\"250\"\r\n [(selectedRowKeys)]=\"xsltFormatGridBoxValue\" [remoteOperations]=\"true\">\r\n <dxi-column dataField=\"name\" caption=\"Name\"></dxi-column>\r\n <dxi-column dataField=\"fileName\" caption=\"FileName\"></dxi-column>\r\n <dxo-selection mode=\"single\"></dxo-selection>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-scrolling mode=\"infinite\"></dxo-scrolling>\r\n <dxo-paging [enabled]=\"true\" [pageSize]=\"10\"></dxo-paging>\r\n </dx-data-grid>\r\n </dx-drop-down-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"note-rule-rule-type\">\r\n {{ 'eDonusum::Document' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"xslt-rule-document\" [disabled]=\"isUpdate\" formControlName=\"document\"\r\n (onValueChanged)=\"documentChanged()\" class=\"form-control\" displayExpr=\"text\" valueExpr=\"id\"\r\n [dataSource]=\"tablesDataSource\" placeholder=\"{{ 'eDonusum::Pick' | abpLocalization }}..\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n <div class = \"col-md\"></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"xslt-rule-note-query\">\r\n {{ 'eDonusum::RuleQuery' | abpLocalization }}\r\n </label>\r\n <dx-html-editor #dxHtmlEditor class=\"form-control\" id=\"xslt-rule-note-query-html\" [height]=\"100\"\r\n maxlength=\"4096\" formControlName=\"noteQueryHTML\">\r\n <dxi-mention valueExpr=\"text\" displayExpr=\"text\" searchExpr=\"text\"\r\n [dataSource]=\"htmlMentionDataSource\"></dxi-mention>\r\n </dx-html-editor>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"xslt-rule-desc\">\r\n {{ 'eDonusum::Desc' | abpLocalization }}\r\n </label>\r\n\r\n <input id=\"xslt-rule-desc\" formControlName=\"desc\" class=\"form-control\" maxlength=\"512\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"xslt-rule-is-passive\" formControlName=\"isPassive\"\r\n class=\"form-check-input\" />\r\n\r\n <label for=\"xslt-rule-is-passive\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsPassive' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-item>\r\n <dxi-item title=\"{{ 'eDonusum::Scenarios' | abpLocalization }}\" icon=\"fas fa-pencil-alt\">\r\n <div class=\"container-fluid\">\r\n <div class=\"mt-2 fade-in-top\">\r\n <div class=\"row\" style=\"margin-top:20px; margin-bottom:20px\">\r\n <div class=\"col\">\r\n <dx-data-grid #dxScenarioInstance [dataSource]=\"scenarioDataSource\" [showRowLines]=\"true\"\r\n [showBorders]=\"true\" [remoteOperations]=\"true\" [hoverStateEnabled]=\"true\"\r\n [repaintChangesOnly]=\"true\" [allowColumnResizing]=\"true\" columnResizingMode=\"widget\"\r\n [allowColumnReordering]=\"true\" [columnAutoWidth]=\"true\" [columnHidingEnabled]=\"true\"\r\n style=\"height: 50vh;\" keyExpr=\"id\" [(selectedRowKeys)]=\"selectedScenarios\">\r\n <dxo-selection mode=\"multiple\" selectAllMode=\"page\">\r\n </dxo-selection>\r\n\r\n <dxo-column-fixing [enabled]=\"true\"></dxo-column-fixing>\r\n\r\n <dxo-header-filter [allowSearch]=\"true\" [visible]=\"true\"></dxo-header-filter>\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n\r\n <dxo-column-fixing [enabled]=\"true\"></dxo-column-fixing>\r\n\r\n <dxo-sorting mode=\"single\"></dxo-sorting>\r\n\r\n <dxo-scrolling mode=\"horizontal\" showScrollbar=\"always\"></dxo-scrolling>\r\n\r\n <dxi-column dataField=\"displayName\" caption=\"{{ 'eDonusum::Name' | abpLocalization }}\"></dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-item>\r\n <dxi-item title=\"{{ 'eDonusum::DocTypes' | abpLocalization }}\" icon=\"fas fa-envelope\">\r\n <div class=\"container-fluid\">\r\n <div class=\"mt-2 fade-in-top\">\r\n <div class=\"row\" style=\"margin-top:20px; margin-bottom:20px\">\r\n <div class=\"col\">\r\n <dx-data-grid #dxDocTypeInstance [dataSource]=\"docTypeDataSource\" [showRowLines]=\"true\"\r\n [showBorders]=\"true\" [remoteOperations]=\"true\" [hoverStateEnabled]=\"true\"\r\n [repaintChangesOnly]=\"true\" [allowColumnResizing]=\"true\" columnResizingMode=\"widget\"\r\n [allowColumnReordering]=\"true\" [columnAutoWidth]=\"true\" [columnHidingEnabled]=\"true\"\r\n style=\"height: 50vh;\" keyExpr=\"id\" [(selectedRowKeys)]=\"selectedDocTypes\">\r\n <dxo-selection mode=\"multiple\" selectAllMode=\"page\">\r\n </dxo-selection>\r\n\r\n <dxo-column-fixing [enabled]=\"true\"></dxo-column-fixing>\r\n\r\n <dxo-header-filter [allowSearch]=\"true\" [visible]=\"true\"></dxo-header-filter>\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n\r\n <dxo-column-fixing [enabled]=\"true\"></dxo-column-fixing>\r\n\r\n <dxo-sorting mode=\"single\"></dxo-sorting>\r\n\r\n <dxo-scrolling mode=\"horizontal\" showScrollbar=\"always\"></dxo-scrolling>\r\n\r\n <dxi-column dataField=\"displayName\" caption=\"{{ 'eDonusum::Name' | abpLocalization }}\"></dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-item>\r\n </dx-tab-panel>\r\n\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"previewQuery()\">\r\n {{ 'eDonusum::PreviewQuery' | abpLocalization }}\r\n </button>\r\n <!-- <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"note-rule\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button> -->\r\n <button type=\"button\" iconClass=\"fa fa-check\" class=\"btn btn-primary\" formName=\"xslt-rule\" (click)=\"submitForm()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </button>\r\n </ng-template>\r\n</abp-modal>\r\n\r\n<abp-modal [busy]=\"isModalBusyPreview\" [(visible)]=\"isModalOpenPreview\" [options]=\"{ size: 'lg' }\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n {{ (selected ? 'AbpUi::Edit' : 'eDonusum::PreviewQuery') | abpLocalization }}\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form id=\"note-rule-preview\">\r\n\r\n <div *ngIf=\"!isParameterless\">\r\n <h3>{{ 'eDonusum::Parameters' | abpLocalization }}</h3>\r\n <hr>\r\n <dx-data-grid #dxParamInstance [dataSource]=\"paramsDataSource\" [showRowLines]=\"true\" [showBorders]=\"true\"\r\n [hoverStateEnabled]=\"true\" [repaintChangesOnly]=\"true\" [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\" [allowColumnReordering]=\"true\" [columnAutoWidth]=\"true\"\r\n [columnHidingEnabled]=\"true\" style=\"height: 40vh;\">\r\n\r\n <dxo-editing mode=\"cell\" [useIcons]=\"false\" [allowUpdating]=\"true\" [allowAdding]=\"false\"\r\n [allowDeleting]=\"false\">\r\n </dxo-editing>\r\n\r\n <dxo-column-fixing [enabled]=\"true\"></dxo-column-fixing>\r\n <dxo-column-fixing [enabled]=\"true\"></dxo-column-fixing>\r\n <dxo-sorting mode=\"single\"></dxo-sorting>\r\n <dxo-scrolling mode=\"horizontal\" showScrollbar=\"always\"></dxo-scrolling>\r\n\r\n <dxi-column dataField=\"paramName\" [allowEditing]=\"false\"\r\n caption=\"{{'eDonusum::ParamName'|abpLocalization}}\"></dxi-column>\r\n <dxi-column dataField=\"paramValue\" caption=\"{{'eDonusum::ParamValue'|abpLocalization}}\"></dxi-column>\r\n </dx-data-grid>\r\n <br>\r\n <button type=\"button\" class=\"btn btn-primary\" style=\"float: right;\" (click)=\"runQuery()\">\r\n {{ 'eDonusum::RunQuery' | abpLocalization }}\r\n </button>\r\n <br><br>\r\n </div>\r\n\r\n <h3>{{ 'eDonusum::QueryResult' | abpLocalization }}</h3>\r\n <hr>\r\n <dx-data-grid #dxPreview [dataSource]=\"previewDataSource\" [showRowLines]=\"true\" [showBorders]=\"true\"\r\n [remoteOperations]=\"true\" [hoverStateEnabled]=\"true\" [repaintChangesOnly]=\"true\" [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\" [allowColumnReordering]=\"true\" [columnAutoWidth]=\"true\" [columnHidingEnabled]=\"true\"\r\n style=\"height: 60vh;\">\r\n <dxo-column-fixing [enabled]=\"true\"></dxo-column-fixing>\r\n\r\n <dxo-header-filter [allowSearch]=\"true\" [visible]=\"true\"></dxo-header-filter>\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n\r\n <dxo-column-fixing [enabled]=\"true\"></dxo-column-fixing>\r\n\r\n <dxo-sorting mode=\"single\"></dxo-sorting>\r\n\r\n <dxo-scrolling mode=\"horizontal\" showScrollbar=\"always\"></dxo-scrolling>\r\n\r\n </dx-data-grid>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n </ng-template>\r\n</abp-modal>" }]
|
|
283
|
+
}], ctorParameters: function () { return [{ type: i1.ListService }, { type: i1.TrackByService }, { type: i2.HitXsltRulesService }, { type: i3.ConfirmationService }, { type: i3.ToasterService }, { type: i4.FormBuilder }, { type: i0.ChangeDetectorRef }, { type: i5.HitScenarioTypesService }, { type: i6.HitDocumentTypesService }, { type: i7.HitNoteRulesService }, { type: i8.HitXsltFormatService }, { type: i9.HitXsltRuleDocTypesService }, { type: i10.HitXsltRuleScenariosService }]; }, propDecorators: { dxXsltRuleInstance: [{
|
|
284
|
+
type: ViewChild,
|
|
285
|
+
args: ['dxXsltRuleInstance', { static: false }]
|
|
286
|
+
}], dxScenarioInstance: [{
|
|
287
|
+
type: ViewChild,
|
|
288
|
+
args: ['dxScenarioInstance', { static: false }]
|
|
289
|
+
}], dxDocTypeInstance: [{
|
|
290
|
+
type: ViewChild,
|
|
291
|
+
args: ['dxDocTypeInstance', { static: false }]
|
|
292
|
+
}], dxParamInstance: [{
|
|
293
|
+
type: ViewChild,
|
|
294
|
+
args: ['dxParamInstance', { static: false }]
|
|
295
|
+
}], handleKeyDown: [{
|
|
296
|
+
type: HostListener,
|
|
297
|
+
args: ['document:keydown', ['$event']]
|
|
298
|
+
}] } });
|
|
299
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LXhzbHQtcnVsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lLWRvbnVzdW0vc3JjL2xpYi9jb21wb25lbnRzL2hpdC14c2x0LXJ1bGVzL2hpdC14c2x0LXJ1bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZS1kb251c3VtL3NyYy9saWIvY29tcG9uZW50cy9oaXQteHNsdC1ydWxlcy9oaXQteHNsdC1ydWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBTyxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFrQyxNQUFNLGNBQWMsQ0FBQztBQUNsSCxPQUFPLEVBQUUsWUFBWSxFQUF1QyxNQUFNLHNCQUFzQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQTZCLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBc0JuRixNQUFNLE9BQU8sb0JBQW9CO0lBa0M3QixZQUNvQixJQUFpQixFQUNqQixLQUFxQixFQUNyQixPQUE0QixFQUNwQyxZQUFpQyxFQUN4QixjQUE4QixFQUN2QyxFQUFlLEVBQ2YsR0FBc0IsRUFDYixvQkFBNkMsRUFDN0Msb0JBQTZDLEVBQzdDLGdCQUFxQyxFQUNyQyxrQkFBd0MsRUFDeEMsdUJBQW1ELEVBQ25ELHdCQUFxRDtRQVp0RCxT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Q0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCwgaXNOdWxsT3JFbXB0eSwgaXNOdWxsT3JVbmRlZmluZWQsIExpc3RTZXJ2aWNlLCBQYWdlZFJlc3VsdER0bywgVHJhY2tCeVNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb24sIENvbmZpcm1hdGlvblNlcnZpY2UsIFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xyXG5pbXBvcnQgeyBEYXRlQWRhcHRlciB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkL2V4dGVuc2lvbnMnO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ2JEYXRlQWRhcHRlciB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgWHNsdEZvcm1hdER0bywgWHNsdEZvcm1hdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm94eS94c2x0LWZvcm1hdHMnO1xyXG5pbXBvcnQgeyBEeERhdGFHcmlkQ29tcG9uZW50LCBEeEh0bWxFZGl0b3JDb21wb25lbnQgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBmaW5hbGl6ZSwgdGFwLCBmaWx0ZXIsIHN3aXRjaE1hcCwgUmVwbGF5U3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBIaXRYc2x0Rm9ybWF0U2VydmljZSB9IGZyb20gJy4uLy4uL2hpdC1wcm94eS9oaXQteHNsdC1mb3JtYXRzL2hpdC14c2x0LWZvcm1hdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29udGVudE1hc3RlcklucHV0RHRvIH0gZnJvbSAnLi4vLi4vaGl0LXByb3h5L2hpdC1jb250ZW50LW1hc3Rlci9tb2RlbHMnO1xyXG5pbXBvcnQgeyBOb3RlUnVsZUNyZWF0ZUR0byB9IGZyb20gJy4uLy4uL3Byb3h5L25vdGUtcnVsZXMnO1xyXG5pbXBvcnQgeyBYc2x0UnVsZVdpdGhOYXZpZ2F0aW9uUHJvcGVydGllc0R0bywgWHNsdFJ1bGVTZXJ2aWNlLCBYc2x0UnVsZUNyZWF0ZUR0bywgWHNsdFJ1bGVEdG8gfSBmcm9tICcuLi8uLi9wcm94eS94c2x0LXJ1bGVzJztcclxuaW1wb3J0IHsgSGl0U2NlbmFyaW9UeXBlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LXNjZW5hcmlvLXR5cGVzL2hpdC1zY2VuYXJpby10eXBlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIaXREb2N1bWVudFR5cGVzU2VydmljZSB9IGZyb20gJy4uLy4uL2hpdC1wcm94eS9oaXQtZG9jdW1lbnQtdHlwZXMvaGl0LWRvY3VtZW50LXR5cGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEhpdE5vdGVSdWxlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LW5vdGUtcnVsZXMvaGl0LW5vdGUtcnVsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGl0WHNsdFJ1bGVzU2VydmljZSB9IGZyb20gJy4uLy4uL2hpdC1wcm94eS9oaXQteHNsdC1ydWxlcy9oaXQteHNsdC1ydWxlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcmV2aWV3UnVsZVJlcXVlc3REdG8sIFhzbHRSdWxlQ3JlYXRlT3JVcGRhdGVEdG8gfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LXhzbHQtcnVsZXMvbW9kZWxzJztcclxuaW1wb3J0IHsgSGl0WHNsdFJ1bGVEb2NUeXBlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LXhzbHQtcnVsZS1kb2MtdHlwZXMvaGl0LXhzbHQtcnVsZS1kb2MtdHlwZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGl0WHNsdFJ1bGVTY2VuYXJpb3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaGl0LXByb3h5L2hpdC14c2x0LXJ1bGUtc2NlbmFyaW9zL2hpdC14c2x0LXJ1bGUtc2NlbmFyaW8uc2VydmljZSc7XHJcbmltcG9ydCB7IFByZXZpZXdRdWVyeVJlcXVlc3REdG8gfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LW5vdGUtcnVsZXMvbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdsaWIteHNsdC1ydWxlJyxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcclxuICAgIHByb3ZpZGVyczogW0xpc3RTZXJ2aWNlLCB7IHByb3ZpZGU6IE5nYkRhdGVBZGFwdGVyLCB1c2VDbGFzczogRGF0ZUFkYXB0ZXIgfV0sXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vaGl0LXhzbHQtcnVsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZXM6IFtdLFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEhpdFhzbHRSdWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBWaWV3Q2hpbGQoJ2R4WHNsdFJ1bGVJbnN0YW5jZScsIHsgc3RhdGljOiBmYWxzZSB9KSBkeFhzbHRSdWxlSW5zdGFuY2U6IER4RGF0YUdyaWRDb21wb25lbnRcclxuICAgIEBWaWV3Q2hpbGQoJ2R4U2NlbmFyaW9JbnN0YW5jZScsIHsgc3RhdGljOiBmYWxzZSB9KSBkeFNjZW5hcmlvSW5zdGFuY2U6IER4RGF0YUdyaWRDb21wb25lbnRcclxuICAgIEBWaWV3Q2hpbGQoJ2R4RG9jVHlwZUluc3RhbmNlJywgeyBzdGF0aWM6IGZhbHNlIH0pIGR4RG9jVHlwZUluc3RhbmNlOiBEeERhdGFHcmlkQ29tcG9uZW50XHJcbiAgICBAVmlld0NoaWxkKCdkeFBhcmFtSW5zdGFuY2UnLCB7IHN0YXRpYzogZmFsc2UgfSkgZHhQYXJhbUluc3RhbmNlOiBEeERhdGFHcmlkQ29tcG9uZW50XHJcblxyXG4gICAgeHNsdFJ1bGVEYXRhU291cmNlOiBhbnlcclxuICAgIGRvY1R5cGVEYXRhU291cmNlOiBhbnlcclxuICAgIHNjZW5hcmlvRGF0YVNvdXJjZTogYW55XHJcblxyXG4gICAgZm9ybTogRm9ybUdyb3VwO1xyXG4gICAgZW50ZXJQcmVzc2VkID0gZmFsc2U7XHJcblxyXG4gICAgaXNNb2RhbEJ1c3kgPSBmYWxzZTtcclxuICAgIGlzTW9kYWxPcGVuID0gZmFsc2U7XHJcblxyXG4gICAgaHRtbE1lbnRpb25EYXRhU291cmNlID0gW107XHJcbiAgICB0YWJsZXNEYXRhU291cmNlID0gW107XHJcbiAgICB4c2x0Rm9ybWF0VHlwZXNEYXRhU291cmNlID0gW107XHJcblxyXG4gICAgeHNsdEZvcm1hdEdyaWRCb3hWYWx1ZTogYW55O1xyXG4gICAgaXNYc2x0Rm9ybWF0R3JpZEJveE9wZW5lZDogYm9vbGVhbjtcclxuICAgIHhzbHRGb3JtYXRzOiBhbnk7XHJcblxyXG4gICAgc2VsZWN0ZWQ/OiBYc2x0UnVsZUR0bztcclxuICAgIHNlbGVjdGVkRG9jVHlwZXMgPSBbXVxyXG4gICAgc2VsZWN0ZWRTY2VuYXJpb3MgPSBbXVxyXG5cclxuICAgIHByZXZpZXdEYXRhU291cmNlOiBbXSA9IFtdO1xyXG4gICAgcGFyYW1zRGF0YVNvdXJjZSA9IFtdO1xyXG4gICAgaXNQYXJhbWV0ZXJsZXNzID0gZmFsc2U7XHJcbiAgICBpc01vZGFsQnVzeVByZXZpZXcgPSBmYWxzZTtcclxuICAgIGlzTW9kYWxPcGVuUHJldmlldyA9IGZhbHNlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBsaXN0OiBMaXN0U2VydmljZSxcclxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgdHJhY2s6IFRyYWNrQnlTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBzZXJ2aWNlOiBIaXRYc2x0UnVsZXNTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgY29uZmlybWF0aW9uOiBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdG9hc3RlclNlcnZpY2U6IFRvYXN0ZXJTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgICAgIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHNjZW5hcmlvVHlwZXNTZXJ2aWNlOiBIaXRTY2VuYXJpb1R5cGVzU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50VHlwZXNTZXJ2aWNlOiBIaXREb2N1bWVudFR5cGVzU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG5vdGVSdWxlc1NlcnZpY2U6IEhpdE5vdGVSdWxlc1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB4c2x0Rm9ybWF0c1NlcnZpY2U6IEhpdFhzbHRGb3JtYXRTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgeHNsdFJ1bGVEb2NUeXBlc1NlcnZpY2U6IEhpdFhzbHRSdWxlRG9jVHlwZXNTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgeHNsdFJ1bGVTY2VuYXJpb3NTZXJ2aWNlOiBIaXRYc2x0UnVsZVNjZW5hcmlvc1NlcnZpY2VcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMueHNsdEZvcm1hdEdyaWRCb3hfZGlzcGxheUV4cHIgPSB0aGlzLnhzbHRGb3JtYXRHcmlkQm94X2Rpc3BsYXlFeHByLmJpbmQodGhpcylcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICB0aGlzLnhzbHRSdWxlRGF0YVNvdXJjZSA9IHRoaXMuc2VydmljZS5Mb2FkWHNsdFJ1bGVzO1xyXG4gICAgICAgIHRoaXMuc2NlbmFyaW9EYXRhU291cmNlID0gdGhpcy5zZXJ2aWNlLkxvYWRTY2VuYXJpb3M7XHJcbiAgICAgICAgdGhpcy5kb2NUeXBlRGF0YVNvdXJjZSA9IHRoaXMuc2VydmljZS5Mb2FkRG9jVHlwZXM7XHJcbiAgICAgICAgdGhpcy54c2x0Rm9ybWF0cyA9IHRoaXMueHNsdEZvcm1hdHNTZXJ2aWNlLkxvYWRYc2x0Rm9ybWF0c1dpdGhQYXJhbSgwKTtcclxuICAgICAgICB0aGlzLm5vdGVSdWxlc1NlcnZpY2UuZ2V0VGFibGVOYW1lcygpLnN1YnNjcmliZShsaXN0ID0+IHtcclxuICAgICAgICAgICAgbGlzdC5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZXNEYXRhU291cmNlLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGVsZW1lbnQuZGlzcGxheU5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGVsZW1lbnQuaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgaWNvbjogXCIvYXNzZXRzL2ltYWdlcy90YWJsZS1pY29uLnBuZ1wiXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5odG1sTWVudGlvbkRhdGFTb3VyY2UucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogZWxlbWVudC5kaXNwbGF5TmFtZSxcclxuICAgICAgICAgICAgICAgICAgICBpZDogZWxlbWVudC5pZCxcclxuICAgICAgICAgICAgICAgICAgICBpY29uOiBcIi9hc3NldHMvaW1hZ2VzL3RhYmxlLWljb24ucG5nXCJcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlLmdldFBhcmFtTmFtZXMoKS5zdWJzY3JpYmUobGlzdCA9PiB7XHJcbiAgICAgICAgICAgIGxpc3QuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaHRtbE1lbnRpb25EYXRhU291cmNlLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGVsZW1lbnQuZGlzcGxheU5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGVsZW1lbnQuaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgaWNvbjogXCIvYXNzZXRzL2ltYWdlcy9rZXktaWNvbi5wbmdcIlxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9KVxyXG4gICAgICAgIHRoaXMueHNsdEZvcm1hdHNTZXJ2aWNlLmdldFR5cGVzKCkuc3Vic2NyaWJlKGxpc3QgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnhzbHRGb3JtYXRUeXBlc0RhdGFTb3VyY2UgPSBsaXN0O1xyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgYnVpbGRGb3JtKCkge1xyXG4gICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgIGNvbnN0IHsgcnVsZU5hbWUsIHhzbHRUeXBlLCBkb2N1bWVudCwgb3JkZXJObywgbm90ZVF1ZXJ5LCBub3RlUXVlcnlIVE1MLCBpc1Bhc3NpdmUsIGRlc2MsIHhzbHRGb3JtYXRJZCB9ID1cclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZCB8fCB7fTtcclxuXHJcbiAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgICAgICAgIHJ1bGVOYW1lOiBbcnVsZU5hbWUgPz8gbnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NildXSxcclxuICAgICAgICAgICAgeHNsdFR5cGU6IFt4c2x0VHlwZSA/PyAwLCBbXV0sXHJcbiAgICAgICAgICAgIGRvY3VtZW50OiBbZG9jdW1lbnQgPz8gbnVsbCwgW11dLFxyXG4gICAgICAgICAgICBvcmRlck5vOiBbb3JkZXJObyA/PyAwLCBbXV0sXHJcbiAgICAgICAgICAgIG5vdGVRdWVyeTogW25vdGVRdWVyeSA/PyBudWxsLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjA0OCldXSxcclxuICAgICAgICAgICAgbm90ZVF1ZXJ5SFRNTDogW25vdGVRdWVyeUhUTUwgPz8gbnVsbCwgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDIwNDgpXV0sXHJcbiAgICAgICAgICAgIGlzUGFzc2l2ZTogW2lzUGFzc2l2ZSA/PyBmYWxzZSwgW11dLFxyXG4gICAgICAgICAgICBkZXNjOiBbZGVzYyA/PyBudWxsLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoNTEyKV1dLFxyXG4gICAgICAgICAgICB4c2x0Rm9ybWF0SWQ6IFt4c2x0Rm9ybWF0SWQgPz8gbnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgaWYgKCFpc051bGxPclVuZGVmaW5lZCh0aGlzLmZvcm0uY29udHJvbHMueHNsdFR5cGUudmFsdWUpKVxyXG4gICAgICAgICAgICB0aGlzLnhzbHRGb3JtYXRzID0gdGhpcy54c2x0Rm9ybWF0c1NlcnZpY2UuTG9hZFhzbHRGb3JtYXRzV2l0aFBhcmFtKHRoaXMuZm9ybS5jb250cm9scy54c2x0VHlwZS52YWx1ZSlcclxuICAgIH1cclxuXHJcbiAgICBoaWRlRm9ybSgpIHtcclxuICAgICAgICB0aGlzLmlzTW9kYWxPcGVuID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5mb3JtLnJlc2V0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2hvd0Zvcm0oKSB7XHJcbiAgICAgICAgdGhpcy5idWlsZEZvcm0oKTtcclxuICAgICAgICB0aGlzLmlzTW9kYWxPcGVuID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBzdWJtaXRGb3JtKCkge1xyXG5cclxuICAgICAgICBpZiAodGhpcy5lbnRlclByZXNzZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5lbnRlclByZXNzZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XHJcblxyXG4gICAgICAgIGxldCB4c2x0UnVsZVJlcSA9IHRoaXMuZm9ybS52YWx1ZSBhcyBYc2x0UnVsZUNyZWF0ZU9yVXBkYXRlRHRvXHJcbiAgICAgICAgbGV0IHhzbHRSdWxlU2NlbmFyaW9zUmVxID0gW107XHJcbiAgICAgICAgbGV0IHhzbHRSdWxlRG9jVHlwZXNSZXEgPSBbXTtcclxuXHJcbiAgICAgICAgdGhpcy5keFNjZW5hcmlvSW5zdGFuY2UuaW5zdGFuY2UuZ2V0VmlzaWJsZVJvd3MoKS5maWx0ZXIoaSA9PiBpLmlzU2VsZWN0ZWQgPT0gdHJ1ZSkuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICAgICAgeHNsdFJ1bGVTY2VuYXJpb3NSZXEucHVzaCh7XHJcbiAgICAgICAgICAgICAgICB4c2x0UnVsZUlkOiB0aGlzLnNlbGVjdGVkPy5pZCxcclxuICAgICAgICAgICAgICAgIHNjZW5hcmlvOiBlbGVtZW50LmRhdGEuaWRcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9KVxyXG5cclxuICAgICAgICB0aGlzLmR4RG9jVHlwZUluc3RhbmNlLmluc3RhbmNlLmdldFZpc2libGVSb3dzKCkuZmlsdGVyKGkgPT4gaS5pc1NlbGVjdGVkID09IHRydWUpLmZvckVhY2goZWxlbWVudCA9PiB7XHJcbiAgICAgICAgICAgIHhzbHRSdWxlRG9jVHlwZXNSZXEucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBub3RlUnVsZUlkOiB0aGlzLnNlbGVjdGVkPy5pZCxcclxuICAgICAgICAgICAgICAgIGRvY1R5cGU6IGVsZW1lbnQuZGF0YS5pZFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIHhzbHRSdWxlUmVxLmNvbmN1cnJlbmN5U3RhbXAgPSB0aGlzLnNlbGVjdGVkPy5jb25jdXJyZW5jeVN0YW1wO1xyXG4gICAgICAgIHhzbHRSdWxlUmVxLmlkID0gdGhpcy5zZWxlY3RlZD8uaWRcclxuXHJcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IHRoaXMuc2VsZWN0ZWRcclxuICAgICAgICAgICAgPyB0aGlzLnNlcnZpY2UudXBkYXRlKHRoaXMuc2VsZWN0ZWQuaWQsIHtcclxuICAgICAgICAgICAgICAgIHhzbHRSdWxlOiB4c2x0UnVsZVJlcSxcclxuICAgICAgICAgICAgICAgIHhzbHRSdWxlU2NlbmFyaW9zOiB4c2x0UnVsZVNjZW5hcmlvc1JlcSxcclxuICAgICAgICAgICAgICAgIHhzbHRSdWxlRG9jVHlwZXM6IHhzbHRSdWxlRG9jVHlwZXNSZXFcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgOiB0aGlzLnNlcnZpY2UuY3JlYXRlKFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHhzbHRSdWxlOiB4c2x0UnVsZVJlcSxcclxuICAgICAgICAgICAgICAgICAgICB4c2x0UnVsZVNjZW5hcmlvczogeHNsdFJ1bGVTY2VuYXJpb3NSZXEsXHJcbiAgICAgICAgICAgICAgICAgICAgeHNsdFJ1bGVEb2NUeXBlczogeHNsdFJ1bGVEb2NUeXBlc1JlcVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuaXNNb2RhbEJ1c3kgPSB0cnVlO1xyXG5cclxuICAgICAgICByZXF1ZXN0XHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4gKHRoaXMuaXNNb2RhbEJ1c3kgPSBmYWxzZSkpLFxyXG4gICAgICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMuaGlkZUZvcm0oKSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuZHhYc2x0UnVsZUluc3RhbmNlLmluc3RhbmNlLnJlZnJlc2goKSk7XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlKCkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBudWxsO1xyXG4gICAgICAgIHRoaXMueHNsdEZvcm1hdEdyaWRCb3hWYWx1ZSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERvY1R5cGVzID0gW11cclxuICAgICAgICB0aGlzLnNlbGVjdGVkU2NlbmFyaW9zID0gW11cclxuICAgICAgICB0aGlzLnNob3dGb3JtKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlKHJlY29yZDogWHNsdFJ1bGVXaXRoTmF2aWdhdGlvblByb3BlcnRpZXNEdG8pIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkID0gcmVjb3JkLnhzbHRSdWxlO1xyXG5cclxuICAgICAgICB0aGlzLnhzbHRSdWxlU2NlbmFyaW9zU2VydmljZS5nZXRTZWxlY3RlZFNjZW5hcmlvcyh0aGlzLnNlbGVjdGVkLmlkKS5zdWJzY3JpYmUobGlzdCA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRTY2VuYXJpb3MgPSBsaXN0Lm1hcChpID0+IGkuc2NlbmFyaW8pO1xyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIHRoaXMueHNsdFJ1bGVEb2NUeXBlc1NlcnZpY2UuZ2V0U2VsZWN0ZWREb2NUeXBlcyh0aGlzLnNlbGVjdGVkLmlkKS5zdWJzY3JpYmUobGlzdCA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREb2NUeXBlcyA9IGxpc3QubWFwKGkgPT4gaS5kb2NUeXBlKTtcclxuICAgICAgICB9KVxyXG5cclxuICAgICAgICB0aGlzLnNob3dGb3JtKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZGVsZXRlKHJlY29yZDogWHNsdFJ1bGVXaXRoTmF2aWdhdGlvblByb3BlcnRpZXNEdG8pIHtcclxuICAgICAgICB0aGlzLmNvbmZpcm1hdGlvblxyXG4gICAgICAgICAgICAud2FybignZURvbnVzdW06OkRlbGV0ZUNvbmZpcm1hdGlvbk1lc3NhZ2UnLCAnZURvbnVzdW06OkFyZVlvdVN1cmUnLCB7XHJcbiAgICAgICAgICAgICAgICBtZXNzYWdlTG9jYWxpemF0aW9uUGFyYW1zOiBbXSxcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBmaWx0ZXIoc3RhdHVzID0+IHN0YXR1cyA9PT0gQ29uZmlybWF0aW9uLlN0YXR1cy5jb25maXJtKSxcclxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnNlcnZpY2UuZGVsZXRlKHJlY29yZC54c2x0UnVsZS5pZCkpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSh0aGlzLmxpc3QuZ2V0KTtcclxuICAgIH1cclxuXHJcbiAgICB4c2x0Rm9ybWF0R3JpZEJveF9kaXNwbGF5RXhwcihpdGVtKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLnhzbHRGb3JtYXRJZC5zZXRWYWx1ZShpdGVtLmlkLnRvU3RyaW5nKCkpXHJcbiAgICAgICAgcmV0dXJuIGAke2l0ZW0uZmlsZU5hbWV9YDtcclxuICAgIH1cclxuXHJcbiAgICBvblhzbHRGb3JtYXRHcmlkQm94T3B0aW9uQ2hhbmdlZChlKSB7XHJcblxyXG4gICAgICAgIGlmIChlLm5hbWUgPT09ICd2YWx1ZScpIHtcclxuICAgICAgICAgICAgdGhpcy5pc1hzbHRGb3JtYXRHcmlkQm94T3BlbmVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgeHNsdFR5cGVDaGFuZ2VkKCkge1xyXG4gICAgICAgIHRoaXMueHNsdEZvcm1hdHMgPSB0aGlzLnhzbHRGb3JtYXRzU2VydmljZS5Mb2FkWHNsdEZvcm1hdHNXaXRoUGFyYW0odGhpcy5mb3JtLmNvbnRyb2xzLnhzbHRUeXBlLnZhbHVlKVxyXG4gICAgICAgIHRoaXMueHNsdEZvcm1hdEdyaWRCb3hWYWx1ZSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLnhzbHRGb3JtYXRJZC5zZXRWYWx1ZShudWxsKTtcclxuICAgIH1cclxuXHJcbiAgICBwcmV2aWV3UXVlcnkoKSB7XHJcblxyXG4gICAgICAgIGxldCB4c2x0UnVsZVJlcSA9IHRoaXMuZm9ybS52YWx1ZSBhcyBOb3RlUnVsZUNyZWF0ZUR0b1xyXG4gICAgICAgIHRoaXMucHJldmlld0RhdGFTb3VyY2UgPSBbXTtcclxuICAgICAgICB0aGlzLnBhcmFtc0RhdGFTb3VyY2UgPSBbXTtcclxuXHJcbiAgICAgICAgaWYoaXNOdWxsT3JFbXB0eSh4c2x0UnVsZVJlcS5ub3RlUXVlcnlIVE1MKSl7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuaW5mbygnU29yZ3UgYnVsdW5hbWFkxLEuJylcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IG5vdGVRdWVyeSA9IHRoaXMuc3RyaXBIVE1MKHhzbHRSdWxlUmVxLm5vdGVRdWVyeUhUTUwpO1xyXG5cclxuICAgICAgICBpZihpc051bGxPclVuZGVmaW5lZCh0aGlzLmZvcm0uY29udHJvbHMuZG9jdW1lbnQudmFsdWUpKXtcclxuICAgICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS53YXJuKCdUYWJsbyBzZcOnaW5pei4nKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCB0YWJsZU5hbWUgPSB0aGlzLmNoZWNrVGFibGVBZnRlckZyb20obm90ZVF1ZXJ5KTtcclxuXHJcbiAgICAgICAgaWYgKCF0YWJsZU5hbWUpIHtcclxuICAgICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcihcIlNlw6dpbGkgdGFibG8gaWxlIHNvcmd1ZGEgYmHFn2xhbsSxbGFuIHRhYmxvIGF5bsSxIG9sbWFsxLEuXCIpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgcGFyYW1zID0gbm90ZVF1ZXJ5Lm1hdGNoKC8oQmVsZ2VLZXl8QmVsZ2VEZXRheUtleXxNdWhhdGFwS2V5fE11aGF0YXBHcnVwS2V5KS9nKTtcclxuXHJcbiAgICAgICAgaWYgKCFpc051bGxPclVuZGVmaW5lZChwYXJhbXMpKSB7XHJcbiAgICAgICAgICAgIHRoaXMucGFyYW1zRGF0YVNvdXJjZSA9IFtdO1xyXG4gICAgICAgICAgICBwYXJhbXMuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFyYW1zRGF0YVNvdXJjZS5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbU5hbWU6IGVsZW1lbnQucmVwbGFjZShcIjpcIiwgXCJcIiksXHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1WYWx1ZTogXCJcIlxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChpc051bGxPckVtcHR5KHRoaXMucGFyYW1zRGF0YVNvdXJjZSkgfHwgdGhpcy5wYXJhbXNEYXRhU291cmNlLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuaW5mbygnZURvbnVzdW06OlF1ZXJ5UHJldmlld0lzUHJlcGFyaW5nJylcclxuICAgICAgICAgICAgdGhpcy5pc1BhcmFtZXRlcmxlc3MgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnJ1blF1ZXJ5KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmlzUGFyYW1ldGVybGVzcyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5pc01vZGFsT3BlblByZXZpZXcgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHJ1blF1ZXJ5KCkge1xyXG5cclxuICAgICAgICBsZXQgcGFyYW1WYWx1ZXMgPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmlzUGFyYW1ldGVybGVzcykge1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmluZm8oJ2VEb251c3VtOjpRdWVyeVByZXZpZXdJc1ByZXBhcmluZycpXHJcblxyXG4gICAgICAgICAgICB0aGlzLmR4UGFyYW1JbnN0YW5jZS5pbnN0YW5jZS5nZXRWaXNpYmxlUm93cygpLmZvckVhY2goZWxlbWVudCA9PiB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbVZhbHVlcy5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbU5hbWU6IGVsZW1lbnQuZGF0YS5wYXJhbU5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1WYWx1ZTogZWxlbWVudC5kYXRhLnBhcmFtVmFsdWVcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IHhzbHRSdWxlUmVxID0gdGhpcy5mb3JtLnZhbHVlIGFzIFhzbHRSdWxlQ3JlYXRlRHRvXHJcblxyXG4gICAgICAgIGxldCByZXF1ZXN0RHRvOiBQcmV2aWV3UnVsZVJlcXVlc3REdG8gPSB7XHJcbiAgICAgICAgICAgIHhzbHRSdWxlOiB4c2x0UnVsZVJlcSxcclxuICAgICAgICAgICAgcnVsZVBhcmFtZXRlcnM6IHBhcmFtVmFsdWVzXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNlcnZpY2UucHJldmlld1J1bGVSZXN1bHQocmVxdWVzdER0bykuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucHJldmlld0RhdGFTb3VyY2UgPSByZXN1bHQudmFsdWVcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLnByZXZpZXdEYXRhU291cmNlLmxlbmd0aCA+IDApXHJcbiAgICAgICAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLnN1Y2Nlc3MoJ2VEb251c3VtOjpRdWVyeVByZXZpZXdJc1JlYWR5JylcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS53YXJuKCdlRG9udXN1bTo6UXVlcnlQcmV2aWV3Tm9SZXN1bHQnKVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgICBoYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xyXG4gICAgICAgICAgICB0aGlzLmVudGVyUHJlc3NlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHN0cmlwSFRNTChpbnB1dDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBzdHJpcHBlZEh0bWwgPSBpbnB1dC5yZXBsYWNlKFwiPC9wPjxwPlwiLCBcIiBcIik7XHJcbiAgICAgICAgcmV0dXJuIHN0cmlwcGVkSHRtbC5yZXBsYWNlKC9AL2csICcnKS5yZXBsYWNlKC88Lio/Pi9nLCAnJyk7XHJcbiAgICB9XHJcblxyXG4gICAgY2hlY2tUYWJsZUFmdGVyRnJvbShxdWVyeTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgcmVnZXggPSAvRlJPTVxccysoW0BcXHddKykvaTtcclxuXHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRUYWJsZU5hbWUgPSB0aGlzLnRhYmxlc0RhdGFTb3VyY2UuZmlsdGVyKGkgPT4gaS5pZCA9PSB0aGlzLmZvcm0uY29udHJvbHMuZG9jdW1lbnQudmFsdWUpWzBdLnRleHRcclxuICAgICAgICBjb25zdCBtYXRjaCA9IHF1ZXJ5Lm1hdGNoKHJlZ2V4KTtcclxuXHJcbiAgICAgICAgaWYgKG1hdGNoICYmIG1hdGNoWzFdKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHRhYmxlTmFtZSA9IG1hdGNoWzFdO1xyXG4gICAgICAgICAgICBpZiAodGFibGVOYW1lID09PSAoXCJAXCIgKyBzZWxlY3RlZFRhYmxlTmFtZSkgfHwgdGFibGVOYW1lID09PSBzZWxlY3RlZFRhYmxlTmFtZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxufSIsIjxhYnAtcGFnZSBbdGl0bGVdPVwiJ2VEb251c3VtOjpYc2x0UnVsZXMnIHwgYWJwTG9jYWxpemF0aW9uXCI+XHJcbiAgPGFicC1wYWdlLXRvb2xiYXItY29udGFpbmVyIGNsYXNzPVwiY29sXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1sZy1lbmQgcHQtMlwiPlxyXG4gICAgICA8YnV0dG9uICphYnBQZXJtaXNzaW9uPVwiJ2VEb251c3VtLlhzbHRSdWxlcy5DcmVhdGUnXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgKGNsaWNrKT1cImNyZWF0ZSgpXCI+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1wbHVzIG1lLTFcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAge3sgJ2VEb251c3VtOjpOZXdYc2x0UnVsZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2FicC1wYWdlLXRvb2xiYXItY29udGFpbmVyPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICA8ZHgtZGF0YS1ncmlkICNkeFhzbHRSdWxlSW5zdGFuY2UgW2RhdGFTb3VyY2VdPVwieHNsdFJ1bGVEYXRhU291cmNlXCIgW3Nob3dSb3dMaW5lc109XCJ0cnVlXCIgW3Nob3dCb3JkZXJzXT1cInRydWVcIlxyXG4gICAgICAgIFtyZW1vdGVPcGVyYXRpb25zXT1cInRydWVcIiBbaG92ZXJTdGF0ZUVuYWJsZWRdPVwidHJ1ZVwiIFtyZXBhaW50Q2hhbmdlc09ubHldPVwidHJ1ZVwiIFthbGxvd0NvbHVtblJlc2l6aW5nXT1cInRydWVcIlxyXG4gICAgICAgIGNvbHVtblJlc2l6aW5nTW9kZT1cIndpZGdldFwiIFthbGxvd0NvbHVtblJlb3JkZXJpbmddPVwidHJ1ZVwiIFtjb2x1bW5BdXRvV2lkdGhdPVwidHJ1ZVwiIFtjb2x1bW5IaWRpbmdFbmFibGVkXT1cInRydWVcIlxyXG4gICAgICAgIHN0eWxlPVwiaGVpZ2h0OiA3NXZoO1wiPlxyXG4gICAgICAgIDxkeG8tcGFnZXIgW3Zpc2libGVdPVwidHJ1ZVwiIFtzaG93SW5mb109XCJ0cnVlXCIgW2FsbG93ZWRQYWdlU2l6ZXNdPVwiWzUwLDEwMCwyMDBdXCIgW3Nob3dOYXZpZ2F0aW9uQnV0dG9uc109XCJ0cnVlXCJcclxuICAgICAgICAgIFtzaG93UGFnZVNpemVTZWxlY3Rvcl09XCJ0cnVlXCI+XHJcbiAgICAgICAgPC9keG8tcGFnZXI+XHJcbiAgICAgICAgPGR4by1wYWdpbmcgW3BhZ2VTaXplXT1cIjUwXCI+PC9keG8tcGFnaW5nPlxyXG4gICAgICAgIDxkeG8tY29sdW1uLWNob29zZXIgW2FsbG93U2VhcmNoXT1cInRydWVcIiBbZW5hYmxlZF09XCJ0cnVlXCIgbW9kZT1cInNlbGVjdFwiPjwvZHhvLWNvbHVtbi1jaG9vc2VyPlxyXG4gICAgICAgIDxkeG8tY29sdW1uLWZpeGluZyBbZW5hYmxlZF09XCJ0cnVlXCI+PC9keG8tY29sdW1uLWZpeGluZz5cclxuICAgICAgICA8ZHhvLWdyb3VwLXBhbmVsIFt2aXNpYmxlXT1cInRydWVcIiBbYWxsb3dDb2x1bW5EcmFnZ2luZ109XCJ0cnVlXCI+PC9keG8tZ3JvdXAtcGFuZWw+XHJcbiAgICAgICAgPGR4by1ncm91cGluZyAjZXhwYW5kIFthdXRvRXhwYW5kQWxsXT1cImZhbHNlXCIgW2FsbG93Q29sbGFwc2luZ109XCJ0cnVlXCJcclxuICAgICAgICAgIFtjb250ZXh0TWVudUVuYWJsZWRdPVwidHJ1ZVwiPjwvZHhvLWdyb3VwaW5nPlxyXG4gICAgICAgIDxkeG8taGVhZGVyLWZpbHRlciBbYWxsb3dTZWFyY2hdPVwidHJ1ZVwiIFt2aXNpYmxlXT1cInRydWVcIj48L2R4by1oZWFkZXItZmlsdGVyPlxyXG4gICAgICAgIDxkeG8tZmlsdGVyLXJvdyBbdmlzaWJsZV09XCJ0cnVlXCI+PC9keG8tZmlsdGVyLXJvdz5cclxuICAgICAgICA8ZHhvLWV4cG9ydCBbZW5hYmxlZF09XCJ0cnVlXCIgW2FsbG93RXhwb3J0U2VsZWN0ZWREYXRhXT1cImZhbHNlXCI+PC9keG8tZXhwb3J0PlxyXG4gICAgICAgIDxkeG8tY29sdW1uLWZpeGluZyBbZW5hYmxlZF09XCJ0cnVlXCI+PC9keG8tY29sdW1uLWZpeGluZz5cclxuICAgICAgICA8ZHhvLWZpbHRlci1idWlsZGVyIFthbGxvd0hpZXJhcmNoaWNhbEZpZWxkc109XCJ0cnVlXCI+PC9keG8tZmlsdGVyLWJ1aWxkZXI+XHJcbiAgICAgICAgPGR4by1maWx0ZXItcGFuZWwgW3Zpc2libGVdPVwidHJ1ZVwiPjwvZHhvLWZpbHRlci1wYW5lbD5cclxuICAgICAgICA8ZHhvLXNvcnRpbmcgbW9kZT1cInNpbmdsZVwiPjwvZHhvLXNvcnRpbmc+XHJcbiAgICAgICAgPGR4by1zY3JvbGxpbmcgbW9kZT1cImhvcml6b250YWxcIiBzaG93U2Nyb2xsYmFyPVwiYWx3YXlzXCI+PC9keG8tc2Nyb2xsaW5nPlxyXG4gICAgICAgIDxkeGktY29sdW1uIFtmaXhlZF09XCJ0cnVlXCIgZGF0YUZpZWxkPVwiaWRcIiB3aWR0aD1cIjEyMFwiIFthbGxvd0dyb3VwaW5nXT1cImZhbHNlXCIgW2FsbG93RmlsdGVyaW5nXT1cImZhbHNlXCJcclxuICAgICAgICAgIFthbGxvd0hlYWRlckZpbHRlcmluZ109XCJmYWxzZVwiIFthbGxvd0hpZGluZ109XCJmYWxzZVwiIFthbGxvd1Jlb3JkZXJpbmddPVwiZmFsc2VcIlxyXG4gICAgICAgICAgY2VsbFRlbXBsYXRlPVwib3BlcmF0aW9uVGVtcGxhdGVcIiBjYXB0aW9uPVwie3sgJ0FicFVpOjpBY3Rpb25zJyB8IGFicExvY2FsaXphdGlvbiB9fVwiPlxyXG4gICAgICAgICAgPGRpdiAqZHhUZW1wbGF0ZT1cImxldCByb3cgb2YgJ29wZXJhdGlvblRlbXBsYXRlJ1wiPlxyXG4gICAgICAgICAgICA8ZGl2IG5nYkRyb3Bkb3duIGNvbnRhaW5lcj1cImJvZHlcIiBjbGFzcz1cImQtaW5saW5lLWJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc20gZHJvcGRvd24tdG9nZ2xlXCIgZGF0YS10b2dnbGU9XCJkcm9wZG93blwiIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIG5nYkRyb3Bkb3duVG9nZ2xlIFtkaXNhYmxlZF09XCJkaXNhYmxlZElkQ29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWNvZyBtci0xXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAge3sgJ0FicFVpOjpBY3Rpb25zJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxkaXYgbmdiRHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBuZ2JEcm9wZG93bkl0ZW0gKGNsaWNrKT1cInVwZGF0ZShyb3cuZGF0YSlcIj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1lZGl0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPiB7eyAnQWJwVWk6OkVkaXQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbmdiRHJvcGRvd25JdGVtIChjbGljayk9XCJkZWxldGUocm93LmRhdGEpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdHJhc2hcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+IHt7ICdBYnBVaTo6RGVsZXRlJyB8IGFicExvY2FsaXphdGlvblxyXG4gICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9keGktY29sdW1uPlxyXG4gICAgICAgIDxkeGktY29sdW1uIGRhdGFGaWVsZD1cInhzbHRSdWxlLnJ1bGVOYW1lXCIgY2FwdGlvbj1cInt7J2VEb251c3VtOjpSdWxlTmFtZSd8YWJwTG9jYWxpemF0aW9ufX1cIj48L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwieHNsdFJ1bGUub3JkZXJOb1wiIGNhcHRpb249XCJ7eydlRG9udXN1bTo6T3JkZXJObyd8YWJwTG9jYWxpemF0aW9ufX1cIj48L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwieHNsdFJ1bGUuaXNQYXNzaXZlXCIgY2FwdGlvbj1cInt7J2VEb251c3VtOjpJc1Bhc3NpdmUnfGFicExvY2FsaXphdGlvbn19XCI+PC9keGktY29sdW1uPlxyXG4gICAgICA8L2R4LWRhdGEtZ3JpZD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2FicC1wYWdlPlxyXG5cclxuPGFicC1tb2RhbCBbYnVzeV09XCJpc01vZGFsQnVzeVwiIFsodmlzaWJsZSldPVwiaXNNb2RhbE9wZW5cIiBbb3B0aW9uc109XCJ7IHNpemU6ICdsZycgfVwiPlxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPlxyXG4gICAgPGgzPlxyXG4gICAgICB7eyAoc2VsZWN0ZWQgPyAnQWJwVWk6OkVkaXQnIDogJ2VEb251c3VtOjpOZXdYc2x0UnVsZScpIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2gzPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwQm9keT5cclxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGlkPVwieHNsdC1ydWxlXCIgKG5nU3VibWl0KT1cInN1Ym1pdEZvcm0oKVwiIHZhbGlkYXRlT25TdWJtaXQ+XHJcbiAgICAgIDxkeC10YWItcGFuZWwgW2FuaW1hdGlvbkVuYWJsZWRdPVwidHJ1ZVwiIFtzd2lwZUVuYWJsZWRdPVwidHJ1ZVwiIFtsb29wXT1cInRydWVcIiAjdGFiUGFuZWw+XHJcbiAgICAgICAgPGR4aS1pdGVtIHRpdGxlPVwie3sgJ2VEb251c3VtOjpSdWxlSW5mbycgfCBhYnBMb2NhbGl6YXRpb24gfX1cIiBpY29uPVwiZmFzIGZhLWZpbGUtYWx0XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0yIGZhZGUtaW4tdG9wXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIHN0eWxlPVwibWFyZ2luLXRvcDoyMHB4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInhzbHQtcnVsZS1ydWxlLW5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UnVsZU5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19ICpcclxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZHgtdGV4dC1ib3ggaWQ9XCJ4c2x0LXJ1bGUtcnVsZS1uYW1lXCIgW2Rpc2FibGVkXT1cImlzVXBkYXRlXCIgZm9ybUNvbnRyb2xOYW1lPVwicnVsZU5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBtYXhsZW5ndGg9XCIyNTZcIiBhdXRvZm9jdXM+PC9keC10ZXh0LWJveD5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWRcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwieHNsdC1ydWxlLW9yZGVyLW5vXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok9yZGVyTm8nIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJudW1iZXJcIiBbbWluXT1cIjBcIiBpZD1cInhzbHQtcnVsZS1vcmRlci1ub1wiIGZvcm1Db250cm9sTmFtZT1cIm9yZGVyTm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiAvPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInhzbHQtcnVsZS1vcmRlci1ub1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpYc2x0VHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkeC1zZWxlY3QtYm94IGlkPVwieHNsdC1ydWxlLXhzbHQtdHlwZVwiIGZvcm1Db250cm9sTmFtZT1cInhzbHRUeXBlXCIgKG9uVmFsdWVDaGFuZ2VkKT1cInhzbHRUeXBlQ2hhbmdlZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZGlzcGxheUV4cHI9XCJkaXNwbGF5TmFtZVwiIHZhbHVlRXhwcj1cImlkXCIgW2RhdGFTb3VyY2VdPVwieHNsdEZvcm1hdFR5cGVzRGF0YVNvdXJjZVwiIFt2YWx1ZV09XCJ4c2x0Rm9ybWF0VHlwZXNEYXRhU291cmNlWzBdLmlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2VEb251c3VtOjpQaWNrJyB8IGFicExvY2FsaXphdGlvbiB9fS4uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9keC1zZWxlY3QtYm94PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJ4c2x0LXJ1bGUteHNsdC1mb3JtYXRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6WHNsdEZvcm1hdCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZHgtZHJvcC1kb3duLWJveCBbKHZhbHVlKV09XCJ4c2x0Rm9ybWF0R3JpZEJveFZhbHVlXCIgWyhvcGVuZWQpXT1cImlzWHNsdEZvcm1hdEdyaWRCb3hPcGVuZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlRXhwcj1cImlkXCIgW2RlZmVyUmVuZGVyaW5nXT1cImZhbHNlXCIgW2Rpc3BsYXlFeHByXT1cInhzbHRGb3JtYXRHcmlkQm94X2Rpc3BsYXlFeHByXCJcclxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdlRG9udXN1bTo6U2VsZWN0QVZhbHVlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dDbGVhckJ1dHRvbl09XCJmYWxzZVwiIFtkYXRhU291cmNlXT1cInhzbHRGb3JtYXRzXCIgZm9ybUNvbnRyb2xOYW1lPVwieHNsdEZvcm1hdElkXCJcclxuICAgICAgICAgICAgICAgICAgICAob25PcHRpb25DaGFuZ2VkKT1cIm9uWHNsdEZvcm1hdEdyaWRCb3hPcHRpb25DaGFuZ2VkKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZHgtZGF0YS1ncmlkIFtkYXRhU291cmNlXT1cInhzbHRGb3JtYXRzXCIgW2hvdmVyU3RhdGVFbmFibGVkXT1cInRydWVcIiBbaGVpZ2h0XT1cIjI1MFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsoc2VsZWN0ZWRSb3dLZXlzKV09XCJ4c2x0Rm9ybWF0R3JpZEJveFZhbHVlXCIgW3JlbW90ZU9wZXJhdGlvbnNdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJuYW1lXCIgY2FwdGlvbj1cIk5hbWVcIj48L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkeGktY29sdW1uIGRhdGFGaWVsZD1cImZpbGVOYW1lXCIgY2FwdGlvbj1cIkZpbGVOYW1lXCI+PC9keGktY29sdW1uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZHhvLXNlbGVjdGlvbiBtb2RlPVwic2luZ2xlXCI+PC9keG8tc2VsZWN0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZHhvLWZpbHRlci1yb3cgW3Zpc2libGVdPVwidHJ1ZVwiPjwvZHhvLWZpbHRlci1yb3c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkeG8tc2Nyb2xsaW5nIG1vZGU9XCJpbmZpbml0ZVwiPjwvZHhvLXNjcm9sbGluZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGR4by1wYWdpbmcgW2VuYWJsZWRdPVwidHJ1ZVwiIFtwYWdlU2l6ZV09XCIxMFwiPjwvZHhvLXBhZ2luZz5cclxuICAgICAgICAgICAgICAgICAgICA8L2R4LWRhdGEtZ3JpZD5cclxuICAgICAgICAgICAgICAgIDwvZHgtZHJvcC1kb3duLWJveD5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm5vdGUtcnVsZS1ydWxlLXR5cGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6RG9jdW1lbnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGR4LXNlbGVjdC1ib3ggaWQ9XCJ4c2x0LXJ1bGUtZG9jdW1lbnRcIiBbZGlzYWJsZWRdPVwiaXNVcGRhdGVcIiBmb3JtQ29udHJvbE5hbWU9XCJkb2N1bWVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiZG9jdW1lbnRDaGFuZ2VkKClcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRpc3BsYXlFeHByPVwidGV4dFwiIHZhbHVlRXhwcj1cImlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cInRhYmxlc0RhdGFTb3VyY2VcIiBwbGFjZWhvbGRlcj1cInt7ICdlRG9udXN1bTo6UGljaycgfCBhYnBMb2NhbGl6YXRpb24gfX0uLlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZHgtc2VsZWN0LWJveD5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3MgPSBcImNvbC1tZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWRcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwieHNsdC1ydWxlLW5vdGUtcXVlcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UnVsZVF1ZXJ5JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGR4LWh0bWwtZWRpdG9yICNkeEh0bWxFZGl0b3IgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cInhzbHQtcnVsZS1ub3RlLXF1ZXJ5LWh0bWxcIiBbaGVpZ2h0XT1cIjEwMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXhsZW5ndGg9XCI0MDk2XCIgZm9ybUNvbnRyb2xOYW1lPVwibm90ZVF1ZXJ5SFRNTFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGR4aS1tZW50aW9uIHZhbHVlRXhwcj1cInRleHRcIiBkaXNwbGF5RXhwcj1cInRleHRcIiBzZWFyY2hFeHByPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImh0bWxNZW50aW9uRGF0YVNvdXJjZVwiPjwvZHhpLW1lbnRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9keC1odG1sLWVkaXRvcj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInhzbHQtcnVsZS1kZXNjXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OkRlc2MnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwieHNsdC1ydWxlLWRlc2NcIiBmb3JtQ29udHJvbE5hbWU9XCJkZXNjXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBtYXhsZW5ndGg9XCI1MTJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWRcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBpZD1cInhzbHQtcnVsZS1pcy1wYXNzaXZlXCIgZm9ybUNvbnRyb2xOYW1lPVwiaXNQYXNzaXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIC8+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ4c2x0LXJ1bGUtaXMtcGFzc2l2ZVwiIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpJc1Bhc3NpdmUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2R4aS1pdGVtPlxyXG4gICAgICAgIDxkeGktaXRlbSB0aXRsZT1cInt7ICdlRG9udXN1bTo6U2NlbmFyaW9zJyB8IGFicExvY2FsaXphdGlvbiB9fVwiIGljb249XCJmYXMgZmEtcGVuY2lsLWFsdFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMiBmYWRlLWluLXRvcFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiBzdHlsZT1cIm1hcmdpbi10b3A6MjBweDsgbWFyZ2luLWJvdHRvbToyMHB4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkeC1kYXRhLWdyaWQgI2R4U2NlbmFyaW9JbnN0YW5jZSBbZGF0YVNvdXJjZV09XCJzY2VuYXJpb0RhdGFTb3VyY2VcIiBbc2hvd1Jvd0xpbmVzXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzaG93Qm9yZGVyc109XCJ0cnVlXCIgW3JlbW90ZU9wZXJhdGlvbnNdPVwidHJ1ZVwiIFtob3ZlclN0YXRlRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbcmVwYWludENoYW5nZXNPbmx5XT1cInRydWVcIiBbYWxsb3dDb2x1bW5SZXNpemluZ109XCJ0cnVlXCIgY29sdW1uUmVzaXppbmdNb2RlPVwid2lkZ2V0XCJcclxuICAgICAgICAgICAgICAgICAgICBbYWxsb3dDb2x1bW5SZW9yZGVyaW5nXT1cInRydWVcIiBbY29sdW1uQXV0b1dpZHRoXT1cInRydWVcIiBbY29sdW1uSGlkaW5nRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZT1cImhlaWdodDogNTB2aDtcIiBrZXlFeHByPVwiaWRcIiBbKHNlbGVjdGVkUm93S2V5cyldPVwic2VsZWN0ZWRTY2VuYXJpb3NcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZHhvLXNlbGVjdGlvbiBtb2RlPVwibXVsdGlwbGVcIiBzZWxlY3RBbGxNb2RlPVwicGFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZHhvLXNlbGVjdGlvbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGR4by1jb2x1bW4tZml4aW5nIFtlbmFibGVkXT1cInRydWVcIj48L2R4by1jb2x1bW4tZml4aW5nPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZHhvLWhlYWRlci1maWx0ZXIgW2FsbG93U2VhcmNoXT1cInRydWVcIiBbdmlzaWJsZV09XCJ0cnVlXCI+PC9keG8taGVhZGVyLWZpbHRlcj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGR4by1maWx0ZXItcm93IFt2aXNpYmxlXT1cInRydWVcIj48L2R4by1maWx0ZXItcm93PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZHhvLWNvbHVtbi1maXhpbmcgW2VuYWJsZWRdPVwidHJ1ZVwiPjwvZHhvLWNvbHVtbi1maXhpbmc+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkeG8tc29ydGluZyBtb2RlPVwic2luZ2xlXCI+PC9keG8tc29ydGluZz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGR4by1zY3JvbGxpbmcgbW9kZT1cImhvcml6b250YWxcIiBzaG93U2Nyb2xsYmFyPVwiYWx3YXlzXCI+PC9keG8tc2Nyb2xsaW5nPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJkaXNwbGF5TmFtZVwiIGNhcHRpb249XCJ7eyAnZURvbnVzdW06Ok5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCI+PC9keGktY29sdW1uPlxyXG4gICAgICAgICAgICAgICAgICA8L2R4LWRhdGEtZ3JpZD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZHhpLWl0ZW0+XHJcbiAgICAgICAgPGR4aS1pdGVtIHRpdGxlPVwie3sgJ2VEb251c3VtOjpEb2NUeXBlcycgfCBhYnBMb2NhbGl6YXRpb24gfX1cIiBpY29uPVwiZmFzIGZhLWVudmVsb3BlXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0yIGZhZGUtaW4tdG9wXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIHN0eWxlPVwibWFyZ2luLXRvcDoyMHB4OyBtYXJnaW4tYm90dG9tOjIwcHhcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICAgICAgICAgICAgPGR4LWRhdGEtZ3JpZCAjZHhEb2NUeXBlSW5zdGFuY2UgW2RhdGFTb3VyY2VdPVwiZG9jVHlwZURhdGFTb3VyY2VcIiBbc2hvd1Jvd0xpbmVzXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzaG93Qm9yZGVyc109XCJ0cnVlXCIgW3JlbW90ZU9wZXJhdGlvbnNdPVwidHJ1ZVwiIFtob3ZlclN0YXRlRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbcmVwYWludENoYW5nZXNPbmx5XT1cInRydWVcIiBbYWxsb3dDb2x1bW5SZXNpemluZ109XCJ0cnVlXCIgY29sdW1uUmVzaXppbmdNb2RlPVwid2lkZ2V0XCJcclxuICAgICAgICAgICAgICAgICAgICBbYWxsb3dDb2x1bW5SZW9yZGVyaW5nXT1cInRydWVcIiBbY29sdW1uQXV0b1dpZHRoXT1cInRydWVcIiBbY29sdW1uSGlkaW5nRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZT1cImhlaWdodDogNTB2aDtcIiBrZXlFeHByPVwiaWRcIiBbKHNlbGVjdGVkUm93S2V5cyldPVwic2VsZWN0ZWREb2NUeXBlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkeG8tc2VsZWN0aW9uIG1vZGU9XCJtdWx0aXBsZVwiIHNlbGVjdEFsbE1vZGU9XCJwYWdlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9keG8tc2VsZWN0aW9uPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZHhvLWNvbHVtbi1maXhpbmcgW2VuYWJsZWRdPVwidHJ1ZVwiPjwvZHhvLWNvbHVtbi1maXhpbmc+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkeG8taGVhZGVyLWZpbHRlciBbYWxsb3dTZWFyY2hdPVwidHJ1ZVwiIFt2aXNpYmxlXT1cInRydWVcIj48L2R4by1oZWFkZXItZmlsdGVyPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZHhvLWZpbHRlci1yb3cgW3Zpc2libGVdPVwidHJ1ZVwiPjwvZHhvLWZpbHRlci1yb3c+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkeG8tY29sdW1uLWZpeGluZyBbZW5hYmxlZF09XCJ0cnVlXCI+PC9keG8tY29sdW1uLWZpeGluZz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGR4by1zb3J0aW5nIG1vZGU9XCJzaW5nbGVcIj48L2R4by1zb3J0aW5nPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZHhvLXNjcm9sbGluZyBtb2RlPVwiaG9yaXpvbnRhbFwiIHNob3dTY3JvbGxiYXI9XCJhbHdheXNcIj48L2R4by1zY3JvbGxpbmc+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkeGktY29sdW1uIGRhdGFGaWVsZD1cImRpc3BsYXlOYW1lXCIgY2FwdGlvbj1cInt7ICdlRG9udXN1bTo6TmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIj48L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZHgtZGF0YS1ncmlkPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9keGktaXRlbT5cclxuICAgICAgPC9keC10YWItcGFuZWw+XHJcblxyXG4gICAgPC9mb3JtPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwRm9vdGVyPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIGFicENsb3NlPlxyXG4gICAgICB7eyAnQWJwVWk6OkNhbmNlbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJwcmV2aWV3UXVlcnkoKVwiPlxyXG4gICAgICB7eyAnZURvbnVzdW06OlByZXZpZXdRdWVyeScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPCEtLSA8YWJwLWJ1dHRvbiBpY29uQ2xhc3M9XCJmYSBmYS1jaGVja1wiIGJ1dHRvblR5cGU9XCJzdWJtaXRcIiBmb3JtTmFtZT1cIm5vdGUtcnVsZVwiPlxyXG4gICAgICB7eyAnQWJwVWk6OlNhdmUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2FicC1idXR0b24+IC0tPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgaWNvbkNsYXNzPVwiZmEgZmEtY2hlY2tcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIGZvcm1OYW1lPVwieHNsdC1ydWxlXCIgKGNsaWNrKT1cInN1Ym1pdEZvcm0oKVwiPlxyXG4gICAgICB7eyAnQWJwVWk6OlNhdmUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2FicC1tb2RhbD5cclxuXHJcbjxhYnAtbW9kYWwgW2J1c3ldPVwiaXNNb2RhbEJ1c3lQcmV2aWV3XCIgWyh2aXNpYmxlKV09XCJpc01vZGFsT3BlblByZXZpZXdcIiBbb3B0aW9uc109XCJ7IHNpemU6ICdsZycgfVwiPlxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPlxyXG4gICAgPGgzPlxyXG4gICAgICB7eyAoc2VsZWN0ZWQgPyAnQWJwVWk6OkVkaXQnIDogJ2VEb251c3VtOjpQcmV2aWV3UXVlcnknKSB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgPC9oMz5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2FicEJvZHk+XHJcbiAgICA8Zm9ybSBpZD1cIm5vdGUtcnVsZS1wcmV2aWV3XCI+XHJcblxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiIWlzUGFyYW1ldGVybGVzc1wiPlxyXG4gICAgICAgIDxoMz57eyAnZURvbnVzdW06OlBhcmFtZXRlcnMnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9oMz5cclxuICAgICAgICA8aHI+XHJcbiAgICAgICAgPGR4LWRhdGEtZ3JpZCAjZHhQYXJhbUluc3RhbmNlIFtkYXRhU291cmNlXT1cInBhcmFtc0RhdGFTb3VyY2VcIiBbc2hvd1Jvd0xpbmVzXT1cInRydWVcIiBbc2hvd0JvcmRlcnNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbaG92ZXJTdGF0ZUVuYWJsZWRdPVwidHJ1ZVwiIFtyZXBhaW50Q2hhbmdlc09ubHldPVwidHJ1ZVwiIFthbGxvd0NvbHVtblJlc2l6aW5nXT1cInRydWVcIlxyXG4gICAgICAgICAgY29sdW1uUmVzaXppbmdNb2RlPVwid2lkZ2V0XCIgW2FsbG93Q29sdW1uUmVvcmRlcmluZ109XCJ0cnVlXCIgW2NvbHVtbkF1dG9XaWR0aF09XCJ0cnVlXCJcclxuICAgICAgICAgIFtjb2x1bW5IaWRpbmdFbmFibGVkXT1cInRydWVcIiBzdHlsZT1cImhlaWdodDogNDB2aDtcIj5cclxuXHJcbiAgICAgICAgICA8ZHhvLWVkaXRpbmcgbW9kZT1cImNlbGxcIiBbdXNlSWNvbnNdPVwiZmFsc2VcIiBbYWxsb3dVcGRhdGluZ109XCJ0cnVlXCIgW2FsbG93QWRkaW5nXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW2FsbG93RGVsZXRpbmddPVwiZmFsc2VcIj5cclxuICAgICAgICAgIDwvZHhvLWVkaXRpbmc+XHJcblxyXG4gICAgICAgICAgPGR4by1jb2x1bW4tZml4aW5nIFtlbmFibGVkXT1cInRydWVcIj48L2R4by1jb2x1bW4tZml4aW5nPlxyXG4gICAgICAgICAgPGR4by1jb2x1bW4tZml4aW5nIFtlbmFibGVkXT1cInRydWVcIj48L2R4by1jb2x1bW4tZml4aW5nPlxyXG4gICAgICAgICAgPGR4by1zb3J0aW5nIG1vZGU9XCJzaW5nbGVcIj48L2R4by1zb3J0aW5nPlxyXG4gICAgICAgICAgPGR4by1zY3JvbGxpbmcgbW9kZT1cImhvcml6b250YWxcIiBzaG93U2Nyb2xsYmFyPVwiYWx3YXlzXCI+PC9keG8tc2Nyb2xsaW5nPlxyXG5cclxuICAgICAgICAgIDxkeGktY29sdW1uIGRhdGFGaWVsZD1cInBhcmFtTmFtZVwiIFthbGxvd0VkaXRpbmddPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICBjYXB0aW9uPVwie3snZURvbnVzdW06OlBhcmFtTmFtZSd8YWJwTG9jYWxpemF0aW9ufX1cIj48L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJwYXJhbVZhbHVlXCIgY2FwdGlvbj1cInt7J2VEb251c3VtOjpQYXJhbVZhbHVlJ3xhYnBMb2NhbGl6YXRpb259fVwiPjwvZHhpLWNvbHVtbj5cclxuICAgICAgICA8L2R4LWRhdGEtZ3JpZD5cclxuICAgICAgICA8YnI+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiBzdHlsZT1cImZsb2F0OiByaWdodDtcIiAoY2xpY2spPVwicnVuUXVlcnkoKVwiPlxyXG4gICAgICAgICAge3sgJ2VEb251c3VtOjpSdW5RdWVyeScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnI+PGJyPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxoMz57eyAnZURvbnVzdW06OlF1ZXJ5UmVzdWx0JyB8IGFicExvY2FsaXphdGlvbiB9fTwvaDM+XHJcbiAgICAgIDxocj5cclxuICAgICAgPGR4LWRhdGEtZ3JpZCAjZHhQcmV2aWV3IFtkYXRhU291cmNlXT1cInByZXZpZXdEYXRhU291cmNlXCIgW3Nob3dSb3dMaW5lc109XCJ0cnVlXCIgW3Nob3dCb3JkZXJzXT1cInRydWVcIlxyXG4gICAgICAgIFtyZW1vdGVPcGVyYXRpb25zXT1cInRydWVcIiBbaG92ZXJTdGF0ZUVuYWJsZWRdPVwidHJ1ZVwiIFtyZXBhaW50Q2hhbmdlc09ubHldPVwidHJ1ZVwiIFthbGxvd0NvbHVtblJlc2l6aW5nXT1cInRydWVcIlxyXG4gICAgICAgIGNvbHVtblJlc2l6aW5nTW9kZT1cIndpZGdldFwiIFthbGxvd0NvbHVtblJlb3JkZXJpbmddPVwidHJ1ZVwiIFtjb2x1bW5BdXRvV2lkdGhdPVwidHJ1ZVwiIFtjb2x1bW5IaWRpbmdFbmFibGVkXT1cInRydWVcIlxyXG4gICAgICAgIHN0eWxlPVwiaGVpZ2h0OiA2MHZoO1wiPlxyXG4gICAgICAgIDxkeG8tY29sdW1uLWZpeGluZyBbZW5hYmxlZF09XCJ0cnVlXCI+PC9keG8tY29sdW1uLWZpeGluZz5cclxuXHJcbiAgICAgICAgPGR4by1oZWFkZXItZmlsdGVyIFthbGxvd1NlYXJjaF09XCJ0cnVlXCIgW3Zpc2libGVdPVwidHJ1ZVwiPjwvZHhvLWhlYWRlci1maWx0ZXI+XHJcblxyXG4gICAgICAgIDxkeG8tZmlsdGVyLXJvdyBbdmlzaWJsZV09XCJ0cnVlXCI+PC9keG8tZmlsdGVyLXJvdz5cclxuXHJcbiAgICAgICAgPGR4by1jb2x1bW4tZml4aW5nIFtlbmFibGVkXT1cInRydWVcIj48L2R4by1jb2x1bW4tZml4aW5nPlxyXG5cclxuICAgICAgICA8ZHhvLXNvcnRpbmcgbW9kZT1cInNpbmdsZVwiPjwvZHhvLXNvcnRpbmc+XHJcblxyXG4gICAgICAgIDxkeG8tc2Nyb2xsaW5nIG1vZGU9XCJob3Jpem9udGFsXCIgc2hvd1Njcm9sbGJhcj1cImFsd2F5c1wiPjwvZHhvLXNjcm9sbGluZz5cclxuXHJcbiAgICAgIDwvZHgtZGF0YS1ncmlkPlxyXG4gICAgPC9mb3JtPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwRm9vdGVyPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIGFicENsb3NlPlxyXG4gICAgICB7eyAnQWJwVWk6OkNhbmNlbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvYWJwLW1vZGFsPiJdfQ==
|