@eqproject/eqp-dynamic-module 2.8.8 → 3.0.0
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/{esm2020 → esm2022}/eqproject-eqp-dynamic-module.mjs +4 -4
- package/esm2022/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.mjs +531 -0
- package/esm2022/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.mjs +1245 -0
- package/esm2022/lib/components/private/add-form-field/add-form-field.component.mjs +1263 -0
- package/esm2022/lib/components/private/add-formula-field/add-formula-field.component.mjs +200 -0
- package/esm2022/lib/components/private/dbgetter/dbgetter.component.mjs +233 -0
- package/esm2022/lib/components/private/dynamic-module-field-fix/dynamic-module-field.component.mjs +280 -0
- package/esm2022/lib/components/private/field-templates/attachment-field-template/attachment-field-template.component.mjs +143 -0
- package/esm2022/lib/components/private/field-templates/boolean-field-template/boolean-field-template.component.mjs +75 -0
- package/esm2022/lib/components/private/field-templates/date-field-template/date-field-template.component.mjs +106 -0
- package/esm2022/lib/components/private/field-templates/image-field-selector-template/image-field-selector-template.component.mjs +107 -0
- package/esm2022/lib/components/private/field-templates/image-field-template/image-field-template.component.mjs +265 -0
- package/esm2022/lib/components/private/field-templates/image-with-markers-field-template/image-with-markers-field-template.component.mjs +261 -0
- package/esm2022/lib/components/private/field-templates/label-field-template/label-field-template.component.mjs +82 -0
- package/esm2022/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.mjs +176 -0
- package/esm2022/lib/components/private/field-templates/numeric-field-template/numeric-field-template.component.mjs +129 -0
- package/esm2022/lib/components/private/field-templates/text-field-template/text-field-template.component.mjs +103 -0
- package/esm2022/lib/components/private/field-templates/textarea-field-template/textarea-field-template.component.mjs +78 -0
- package/esm2022/lib/components/private/form-records/add-form-record/add-form-record.component.mjs +837 -0
- package/esm2022/lib/components/private/form-records/list-form-record/list-form-record.component.mjs +408 -0
- package/esm2022/lib/components/private/form-records/list-view-form-record/list-view-form-record.component.mjs +651 -0
- package/esm2022/lib/components/private/form-records/list-view-form-record/single-record/single-record.component.mjs +82 -0
- package/esm2022/lib/components/private/form-records/repair-form-fields/repair-form-fields.component.mjs +59 -0
- package/esm2022/lib/components/private/form-records/view-form-record/view-form-record.component.mjs +131 -0
- package/esm2022/lib/components/private/form-statistics/dynamic-module-filter-fix/dynamic-module-filter-fix.component.mjs +89 -0
- package/esm2022/lib/components/private/form-statistics/filter-form-statistic/filter-form-statistic.component.mjs +460 -0
- package/esm2022/lib/components/private/form-statistics/filter-templates/attachment-filter-template/attachment-filter-template.component.mjs +58 -0
- package/esm2022/lib/components/private/form-statistics/filter-templates/boolean-filter-template/boolean-filter-template.component.mjs +110 -0
- package/esm2022/lib/components/private/form-statistics/filter-templates/date-filter-template/date-filter-template.component.mjs +108 -0
- package/esm2022/lib/components/private/form-statistics/filter-templates/image-filter-template/image-filter-template.component.mjs +58 -0
- package/esm2022/lib/components/private/form-statistics/filter-templates/image-selector-filter-template/image-selector-filter-template.component.mjs +135 -0
- package/esm2022/lib/components/private/form-statistics/filter-templates/list-form-record-filter-template/list-form-record-filter-template.component.mjs +58 -0
- package/esm2022/lib/components/private/form-statistics/filter-templates/list-value-filter-template/list-value-filter-template.component.mjs +141 -0
- package/esm2022/lib/components/private/form-statistics/filter-templates/numeric-filter-template/numeric-filter-template.component.mjs +126 -0
- package/esm2022/lib/components/private/form-statistics/filter-templates/text-filter-template/text-filter-template.component.mjs +111 -0
- package/esm2022/lib/components/private/form-statistics/filter-templates/textarea-filter-template/textarea-filter-template.component.mjs +111 -0
- package/esm2022/lib/components/private/graphs/graph/graph.component.mjs +186 -0
- package/esm2022/lib/components/private/graphs/graphs.component.mjs +175 -0
- package/esm2022/lib/components/private/spinner/spinner.component.mjs +21 -0
- package/{esm2020 → esm2022}/lib/components/private/tmw-image-drawer/i18n.mjs +62 -62
- package/esm2022/lib/components/private/tmw-image-drawer/tmw-image-drawer.component.mjs +413 -0
- package/esm2022/lib/components/private/tmw-image-marker/tmw-image-marker.component.mjs +348 -0
- package/esm2022/lib/components/private/trigger-creator/dynamic-module-trigger-fix/dynamic-module-trigger-fix.component.mjs +81 -0
- package/esm2022/lib/components/private/trigger-creator/trigger-creator.component.mjs +199 -0
- package/esm2022/lib/components/private/trigger-creator/trigger-templates/boolean-trigger-template/boolean-trigger-template.component.mjs +91 -0
- package/esm2022/lib/components/private/trigger-creator/trigger-templates/date-trigger-template/date-trigger-template.component.mjs +88 -0
- package/esm2022/lib/components/private/trigger-creator/trigger-templates/list-form-record-trigger-template/list-form-record-trigger-template.component.mjs +61 -0
- package/esm2022/lib/components/private/trigger-creator/trigger-templates/list-value-trigger-template/list-value-trigger-template.component.mjs +69 -0
- package/esm2022/lib/components/private/trigger-creator/trigger-templates/numeric-trigger-template/numeric-trigger-template.component.mjs +107 -0
- package/esm2022/lib/components/private/trigger-creator/trigger-templates/text-trigger-template/text-trigger-template.component.mjs +92 -0
- package/esm2022/lib/components/private/trigger-creator/trigger-templates/textarea-trigger-template/textarea-trigger-template.component.mjs +92 -0
- package/esm2022/lib/directives/dynamic-loader/dynamic-loader.directive.mjs +63 -0
- package/esm2022/lib/directives/speech-to-text/speech-to-text.directive.mjs +192 -0
- package/esm2022/lib/eqp-dynamic-module.module.mjs +253 -0
- package/{esm2020 → esm2022}/lib/interfaces/iBaseFieldComponent.interface.mjs +1 -1
- package/{esm2020 → esm2022}/lib/interfaces/iRootObject.interface.mjs +1 -1
- package/esm2022/lib/models/baseField.model.mjs +133 -0
- package/esm2022/lib/models/baseObj.model.mjs +10 -0
- package/{esm2020 → esm2022}/lib/models/context.model.mjs +10 -8
- package/esm2022/lib/models/dynAttachment.mjs +52 -0
- package/esm2022/lib/models/dynamicModuleCompileConfig.model.mjs +45 -0
- package/esm2022/lib/models/dynamicModuleConfig.model.mjs +13 -0
- package/esm2022/lib/models/dynamicModuleConfiguratorConfig.model.mjs +11 -0
- package/esm2022/lib/models/dynamicModuleConfiguratorSpecificConfig.model.mjs +16 -0
- package/{esm2020 → esm2022}/lib/models/dynamicModuleFilterResultViewModeEnum.model.mjs +6 -6
- package/esm2022/lib/models/dynamicModuleGeneralConfig.model.mjs +36 -0
- package/esm2022/lib/models/dynamicModuleListConfig.model.mjs +48 -0
- package/esm2022/lib/models/dynamicModuleListFormRecordActionsDefault.mjs +35 -0
- package/{esm2020 → esm2022}/lib/models/dynamicModuleRepairConfig.model.mjs +10 -10
- package/{esm2020 → esm2022}/lib/models/dynamicModuleViewModeEnum.mjs +11 -11
- package/esm2022/lib/models/endPointConfiguration.model.mjs +211 -0
- package/{esm2020 → esm2022}/lib/models/entity.model.mjs +10 -7
- package/esm2022/lib/models/fields/attachmentField.model.mjs +28 -0
- package/esm2022/lib/models/fields/booleanField.model.mjs +15 -0
- package/esm2022/lib/models/fields/dateField.model.mjs +15 -0
- package/esm2022/lib/models/fields/imageField.model.mjs +14 -0
- package/esm2022/lib/models/fields/imageSelectorField.model.mjs +10 -0
- package/esm2022/lib/models/fields/imageWithMarkersField.model.mjs +7 -0
- package/{esm2020 → esm2022}/lib/models/fields/labelField.model.mjs +5 -4
- package/esm2022/lib/models/fields/listValueField.model.mjs +24 -0
- package/esm2022/lib/models/fields/lookupField.model.mjs +11 -0
- package/esm2022/lib/models/fields/numericField.model.mjs +13 -0
- package/esm2022/lib/models/fields/textField.model.mjs +18 -0
- package/esm2022/lib/models/fields/textareaField.model.mjs +9 -0
- package/esm2022/lib/models/form.model.mjs +63 -0
- package/esm2022/lib/models/getter.model.mjs +6 -0
- package/esm2022/lib/models/graph.model.mjs +19 -0
- package/{esm2020 → esm2022}/lib/models/logicOperator.model.mjs +55 -55
- package/esm2022/lib/models/record.model.mjs +39 -0
- package/esm2022/lib/models/statistic.model.mjs +12 -0
- package/esm2022/lib/models/trigger.model.mjs +63 -0
- package/esm2022/lib/modules/formula.model.mjs +266 -0
- package/{esm2020 → esm2022}/lib/modules/material.module.mjs +231 -231
- package/{esm2020 → esm2022}/lib/services/custom-form-validators.service.mjs +18 -18
- package/esm2022/lib/services/db-date.service.mjs +178 -0
- package/esm2022/lib/services/eqp-dynamic-module-dialog.service.mjs +114 -0
- package/esm2022/lib/services/global.service.mjs +43 -0
- package/esm2022/lib/services/spinner.service.mjs +41 -0
- package/esm2022/lib/services/utilityHelper.services.mjs +601 -0
- package/{esm2020 → esm2022}/public-api.mjs +56 -56
- package/fesm2022/eqproject-eqp-dynamic-module.mjs +13506 -0
- package/fesm2022/eqproject-eqp-dynamic-module.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.d.ts +162 -162
- package/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.d.ts +308 -308
- package/lib/components/private/add-form-field/add-form-field.component.d.ts +263 -263
- package/lib/components/private/add-formula-field/add-formula-field.component.d.ts +45 -45
- package/lib/components/private/dbgetter/dbgetter.component.d.ts +51 -51
- package/lib/components/private/dynamic-module-field-fix/dynamic-module-field.component.d.ts +84 -84
- package/lib/components/private/field-templates/attachment-field-template/attachment-field-template.component.d.ts +57 -57
- package/lib/components/private/field-templates/boolean-field-template/boolean-field-template.component.d.ts +27 -27
- package/lib/components/private/field-templates/date-field-template/date-field-template.component.d.ts +36 -36
- package/lib/components/private/field-templates/image-field-selector-template/image-field-selector-template.component.d.ts +33 -33
- package/lib/components/private/field-templates/image-field-template/image-field-template.component.d.ts +80 -80
- package/lib/components/private/field-templates/image-with-markers-field-template/image-with-markers-field-template.component.d.ts +78 -78
- package/lib/components/private/field-templates/label-field-template/label-field-template.component.d.ts +33 -33
- package/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.d.ts +59 -59
- package/lib/components/private/field-templates/numeric-field-template/numeric-field-template.component.d.ts +40 -40
- package/lib/components/private/field-templates/text-field-template/text-field-template.component.d.ts +35 -35
- package/lib/components/private/field-templates/textarea-field-template/textarea-field-template.component.d.ts +31 -31
- package/lib/components/private/form-records/add-form-record/add-form-record.component.d.ts +104 -104
- package/lib/components/private/form-records/list-form-record/list-form-record.component.d.ts +83 -83
- package/lib/components/private/form-records/list-view-form-record/list-view-form-record.component.d.ts +151 -151
- package/lib/components/private/form-records/list-view-form-record/single-record/single-record.component.d.ts +39 -39
- package/lib/components/private/form-records/repair-form-fields/repair-form-fields.component.d.ts +20 -20
- package/lib/components/private/form-records/view-form-record/view-form-record.component.d.ts +36 -36
- package/lib/components/private/form-statistics/dynamic-module-filter-fix/dynamic-module-filter-fix.component.d.ts +42 -42
- package/lib/components/private/form-statistics/filter-form-statistic/filter-form-statistic.component.d.ts +109 -109
- package/lib/components/private/form-statistics/filter-templates/attachment-filter-template/attachment-filter-template.component.d.ts +21 -21
- package/lib/components/private/form-statistics/filter-templates/boolean-filter-template/boolean-filter-template.component.d.ts +37 -37
- package/lib/components/private/form-statistics/filter-templates/date-filter-template/date-filter-template.component.d.ts +37 -37
- package/lib/components/private/form-statistics/filter-templates/image-filter-template/image-filter-template.component.d.ts +21 -21
- package/lib/components/private/form-statistics/filter-templates/image-selector-filter-template/image-selector-filter-template.component.d.ts +47 -47
- package/lib/components/private/form-statistics/filter-templates/list-form-record-filter-template/list-form-record-filter-template.component.d.ts +21 -21
- package/lib/components/private/form-statistics/filter-templates/list-value-filter-template/list-value-filter-template.component.d.ts +47 -47
- package/lib/components/private/form-statistics/filter-templates/numeric-filter-template/numeric-filter-template.component.d.ts +40 -40
- package/lib/components/private/form-statistics/filter-templates/text-filter-template/text-filter-template.component.d.ts +38 -38
- package/lib/components/private/form-statistics/filter-templates/textarea-filter-template/textarea-filter-template.component.d.ts +38 -38
- package/lib/components/private/graphs/graph/graph.component.d.ts +25 -25
- package/lib/components/private/graphs/graphs.component.d.ts +47 -47
- package/lib/components/private/spinner/spinner.component.d.ts +12 -12
- package/lib/components/private/tmw-image-drawer/i18n.d.ts +27 -27
- package/lib/components/private/tmw-image-drawer/tmw-image-drawer.component.d.ts +70 -70
- package/lib/components/private/tmw-image-marker/tmw-image-marker.component.d.ts +62 -62
- package/lib/components/private/trigger-creator/dynamic-module-trigger-fix/dynamic-module-trigger-fix.component.d.ts +42 -42
- package/lib/components/private/trigger-creator/trigger-creator.component.d.ts +42 -42
- package/lib/components/private/trigger-creator/trigger-templates/boolean-trigger-template/boolean-trigger-template.component.d.ts +34 -34
- package/lib/components/private/trigger-creator/trigger-templates/date-trigger-template/date-trigger-template.component.d.ts +34 -34
- package/lib/components/private/trigger-creator/trigger-templates/list-form-record-trigger-template/list-form-record-trigger-template.component.d.ts +24 -24
- package/lib/components/private/trigger-creator/trigger-templates/list-value-trigger-template/list-value-trigger-template.component.d.ts +34 -34
- package/lib/components/private/trigger-creator/trigger-templates/numeric-trigger-template/numeric-trigger-template.component.d.ts +37 -37
- package/lib/components/private/trigger-creator/trigger-templates/text-trigger-template/text-trigger-template.component.d.ts +36 -36
- package/lib/components/private/trigger-creator/trigger-templates/textarea-trigger-template/textarea-trigger-template.component.d.ts +36 -36
- package/lib/directives/dynamic-loader/dynamic-loader.directive.d.ts +26 -26
- package/lib/directives/speech-to-text/speech-to-text.directive.d.ts +31 -31
- package/lib/eqp-dynamic-module.module.d.ts +85 -85
- package/lib/interfaces/iBaseFieldComponent.interface.d.ts +8 -8
- package/lib/interfaces/iRootObject.interface.d.ts +11 -11
- package/lib/models/baseField.model.d.ts +126 -126
- package/lib/models/baseObj.model.d.ts +9 -9
- package/lib/models/context.model.d.ts +9 -9
- package/lib/models/dynAttachment.d.ts +49 -49
- package/lib/models/dynamicModuleCompileConfig.model.d.ts +35 -35
- package/lib/models/dynamicModuleConfig.model.d.ts +11 -11
- package/lib/models/dynamicModuleConfiguratorConfig.model.d.ts +7 -7
- package/lib/models/dynamicModuleConfiguratorSpecificConfig.model.d.ts +11 -11
- package/lib/models/dynamicModuleFilterResultViewModeEnum.model.d.ts +5 -5
- package/lib/models/dynamicModuleGeneralConfig.model.d.ts +29 -29
- package/lib/models/dynamicModuleListConfig.model.d.ts +39 -39
- package/lib/models/dynamicModuleListFormRecordActionsDefault.d.ts +9 -9
- package/lib/models/dynamicModuleRepairConfig.model.d.ts +4 -4
- package/lib/models/dynamicModuleViewModeEnum.d.ts +10 -10
- package/lib/models/endPointConfiguration.model.d.ts +46 -46
- package/lib/models/entity.model.d.ts +11 -11
- package/lib/models/fields/attachmentField.model.d.ts +17 -17
- package/lib/models/fields/booleanField.model.d.ts +11 -11
- package/lib/models/fields/dateField.model.d.ts +13 -13
- package/lib/models/fields/imageField.model.d.ts +13 -13
- package/lib/models/fields/imageSelectorField.model.d.ts +12 -12
- package/lib/models/fields/imageWithMarkersField.model.d.ts +7 -7
- package/lib/models/fields/labelField.model.d.ts +4 -4
- package/lib/models/fields/listValueField.model.d.ts +24 -24
- package/lib/models/fields/lookupField.model.d.ts +10 -10
- package/lib/models/fields/numericField.model.d.ts +12 -12
- package/lib/models/fields/textField.model.d.ts +16 -16
- package/lib/models/fields/textareaField.model.d.ts +8 -8
- package/lib/models/form.model.d.ts +61 -61
- package/lib/models/getter.model.d.ts +5 -5
- package/lib/models/graph.model.d.ts +18 -18
- package/lib/models/logicOperator.model.d.ts +48 -48
- package/lib/models/record.model.d.ts +41 -41
- package/lib/models/statistic.model.d.ts +13 -13
- package/lib/models/trigger.model.d.ts +51 -51
- package/lib/modules/formula.model.d.ts +32 -32
- package/lib/modules/material.module.d.ts +37 -37
- package/lib/services/custom-form-validators.service.d.ts +5 -5
- package/lib/services/db-date.service.d.ts +24 -24
- package/lib/services/eqp-dynamic-module-dialog.service.d.ts +44 -44
- package/lib/services/global.service.d.ts +16 -16
- package/lib/services/spinner.service.d.ts +18 -18
- package/lib/services/utilityHelper.services.d.ts +101 -101
- package/package.json +20 -25
- package/public-api.d.ts +53 -53
- package/esm2020/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.mjs +0 -516
- package/esm2020/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.mjs +0 -1196
- package/esm2020/lib/components/private/add-form-field/add-form-field.component.mjs +0 -1202
- package/esm2020/lib/components/private/add-formula-field/add-formula-field.component.mjs +0 -196
- package/esm2020/lib/components/private/dbgetter/dbgetter.component.mjs +0 -226
- package/esm2020/lib/components/private/dynamic-module-field-fix/dynamic-module-field.component.mjs +0 -263
- package/esm2020/lib/components/private/field-templates/attachment-field-template/attachment-field-template.component.mjs +0 -138
- package/esm2020/lib/components/private/field-templates/boolean-field-template/boolean-field-template.component.mjs +0 -71
- package/esm2020/lib/components/private/field-templates/date-field-template/date-field-template.component.mjs +0 -104
- package/esm2020/lib/components/private/field-templates/image-field-selector-template/image-field-selector-template.component.mjs +0 -100
- package/esm2020/lib/components/private/field-templates/image-field-template/image-field-template.component.mjs +0 -256
- package/esm2020/lib/components/private/field-templates/image-with-markers-field-template/image-with-markers-field-template.component.mjs +0 -252
- package/esm2020/lib/components/private/field-templates/label-field-template/label-field-template.component.mjs +0 -74
- package/esm2020/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.mjs +0 -172
- package/esm2020/lib/components/private/field-templates/numeric-field-template/numeric-field-template.component.mjs +0 -124
- package/esm2020/lib/components/private/field-templates/text-field-template/text-field-template.component.mjs +0 -95
- package/esm2020/lib/components/private/field-templates/textarea-field-template/textarea-field-template.component.mjs +0 -71
- package/esm2020/lib/components/private/form-records/add-form-record/add-form-record.component.mjs +0 -828
- package/esm2020/lib/components/private/form-records/list-form-record/list-form-record.component.mjs +0 -400
- package/esm2020/lib/components/private/form-records/list-view-form-record/list-view-form-record.component.mjs +0 -628
- package/esm2020/lib/components/private/form-records/list-view-form-record/single-record/single-record.component.mjs +0 -75
- package/esm2020/lib/components/private/form-records/repair-form-fields/repair-form-fields.component.mjs +0 -54
- package/esm2020/lib/components/private/form-records/view-form-record/view-form-record.component.mjs +0 -125
- package/esm2020/lib/components/private/form-statistics/dynamic-module-filter-fix/dynamic-module-filter-fix.component.mjs +0 -76
- package/esm2020/lib/components/private/form-statistics/filter-form-statistic/filter-form-statistic.component.mjs +0 -453
- package/esm2020/lib/components/private/form-statistics/filter-templates/attachment-filter-template/attachment-filter-template.component.mjs +0 -57
- package/esm2020/lib/components/private/form-statistics/filter-templates/boolean-filter-template/boolean-filter-template.component.mjs +0 -104
- package/esm2020/lib/components/private/form-statistics/filter-templates/date-filter-template/date-filter-template.component.mjs +0 -105
- package/esm2020/lib/components/private/form-statistics/filter-templates/image-filter-template/image-filter-template.component.mjs +0 -57
- package/esm2020/lib/components/private/form-statistics/filter-templates/image-selector-filter-template/image-selector-filter-template.component.mjs +0 -128
- package/esm2020/lib/components/private/form-statistics/filter-templates/list-form-record-filter-template/list-form-record-filter-template.component.mjs +0 -57
- package/esm2020/lib/components/private/form-statistics/filter-templates/list-value-filter-template/list-value-filter-template.component.mjs +0 -135
- package/esm2020/lib/components/private/form-statistics/filter-templates/numeric-filter-template/numeric-filter-template.component.mjs +0 -120
- package/esm2020/lib/components/private/form-statistics/filter-templates/text-filter-template/text-filter-template.component.mjs +0 -102
- package/esm2020/lib/components/private/form-statistics/filter-templates/textarea-filter-template/textarea-filter-template.component.mjs +0 -102
- package/esm2020/lib/components/private/graphs/graph/graph.component.mjs +0 -180
- package/esm2020/lib/components/private/graphs/graphs.component.mjs +0 -164
- package/esm2020/lib/components/private/spinner/spinner.component.mjs +0 -19
- package/esm2020/lib/components/private/tmw-image-drawer/tmw-image-drawer.component.mjs +0 -403
- package/esm2020/lib/components/private/tmw-image-marker/tmw-image-marker.component.mjs +0 -336
- package/esm2020/lib/components/private/trigger-creator/dynamic-module-trigger-fix/dynamic-module-trigger-fix.component.mjs +0 -69
- package/esm2020/lib/components/private/trigger-creator/trigger-creator.component.mjs +0 -191
- package/esm2020/lib/components/private/trigger-creator/trigger-templates/boolean-trigger-template/boolean-trigger-template.component.mjs +0 -86
- package/esm2020/lib/components/private/trigger-creator/trigger-templates/date-trigger-template/date-trigger-template.component.mjs +0 -86
- package/esm2020/lib/components/private/trigger-creator/trigger-templates/list-form-record-trigger-template/list-form-record-trigger-template.component.mjs +0 -60
- package/esm2020/lib/components/private/trigger-creator/trigger-templates/list-value-trigger-template/list-value-trigger-template.component.mjs +0 -66
- package/esm2020/lib/components/private/trigger-creator/trigger-templates/numeric-trigger-template/numeric-trigger-template.component.mjs +0 -102
- package/esm2020/lib/components/private/trigger-creator/trigger-templates/text-trigger-template/text-trigger-template.component.mjs +0 -84
- package/esm2020/lib/components/private/trigger-creator/trigger-templates/textarea-trigger-template/textarea-trigger-template.component.mjs +0 -84
- package/esm2020/lib/directives/dynamic-loader/dynamic-loader.directive.mjs +0 -59
- package/esm2020/lib/directives/speech-to-text/speech-to-text.directive.mjs +0 -186
- package/esm2020/lib/eqp-dynamic-module.module.mjs +0 -253
- package/esm2020/lib/models/baseField.model.mjs +0 -101
- package/esm2020/lib/models/baseObj.model.mjs +0 -9
- package/esm2020/lib/models/dynAttachment.mjs +0 -21
- package/esm2020/lib/models/dynamicModuleCompileConfig.model.mjs +0 -13
- package/esm2020/lib/models/dynamicModuleConfig.model.mjs +0 -9
- package/esm2020/lib/models/dynamicModuleConfiguratorConfig.model.mjs +0 -9
- package/esm2020/lib/models/dynamicModuleConfiguratorSpecificConfig.model.mjs +0 -15
- package/esm2020/lib/models/dynamicModuleGeneralConfig.model.mjs +0 -36
- package/esm2020/lib/models/dynamicModuleListConfig.model.mjs +0 -30
- package/esm2020/lib/models/dynamicModuleListFormRecordActionsDefault.mjs +0 -11
- package/esm2020/lib/models/endPointConfiguration.model.mjs +0 -205
- package/esm2020/lib/models/fields/attachmentField.model.mjs +0 -22
- package/esm2020/lib/models/fields/booleanField.model.mjs +0 -12
- package/esm2020/lib/models/fields/dateField.model.mjs +0 -15
- package/esm2020/lib/models/fields/imageField.model.mjs +0 -15
- package/esm2020/lib/models/fields/imageSelectorField.model.mjs +0 -8
- package/esm2020/lib/models/fields/imageWithMarkersField.model.mjs +0 -8
- package/esm2020/lib/models/fields/listValueField.model.mjs +0 -11
- package/esm2020/lib/models/fields/lookupField.model.mjs +0 -5
- package/esm2020/lib/models/fields/numericField.model.mjs +0 -5
- package/esm2020/lib/models/fields/textField.model.mjs +0 -14
- package/esm2020/lib/models/fields/textareaField.model.mjs +0 -4
- package/esm2020/lib/models/form.model.mjs +0 -24
- package/esm2020/lib/models/getter.model.mjs +0 -3
- package/esm2020/lib/models/graph.model.mjs +0 -15
- package/esm2020/lib/models/record.model.mjs +0 -10
- package/esm2020/lib/models/statistic.model.mjs +0 -8
- package/esm2020/lib/models/trigger.model.mjs +0 -41
- package/esm2020/lib/modules/formula.model.mjs +0 -265
- package/esm2020/lib/services/db-date.service.mjs +0 -178
- package/esm2020/lib/services/eqp-dynamic-module-dialog.service.mjs +0 -114
- package/esm2020/lib/services/global.service.mjs +0 -41
- package/esm2020/lib/services/spinner.service.mjs +0 -43
- package/esm2020/lib/services/utilityHelper.services.mjs +0 -598
- package/fesm2015/eqproject-eqp-dynamic-module.mjs +0 -12782
- package/fesm2015/eqproject-eqp-dynamic-module.mjs.map +0 -1
- package/fesm2020/eqproject-eqp-dynamic-module.mjs +0 -12751
- package/fesm2020/eqproject-eqp-dynamic-module.mjs.map +0 -1
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
export var LogicOperatorNumeric;
|
|
2
|
-
(function (LogicOperatorNumeric) {
|
|
3
|
-
LogicOperatorNumeric[LogicOperatorNumeric["="] = 1] = "=";
|
|
4
|
-
LogicOperatorNumeric[LogicOperatorNumeric["!="] = 2] = "!=";
|
|
5
|
-
LogicOperatorNumeric[LogicOperatorNumeric[">"] = 5] = ">";
|
|
6
|
-
LogicOperatorNumeric[LogicOperatorNumeric[">="] = 6] = ">=";
|
|
7
|
-
LogicOperatorNumeric[LogicOperatorNumeric["<"] = 7] = "<";
|
|
8
|
-
LogicOperatorNumeric[LogicOperatorNumeric["<="] = 8] = "<=";
|
|
9
|
-
})(LogicOperatorNumeric || (LogicOperatorNumeric = {}));
|
|
10
|
-
export var LogicOperatorDate;
|
|
11
|
-
(function (LogicOperatorDate) {
|
|
12
|
-
LogicOperatorDate[LogicOperatorDate["="] = 1] = "=";
|
|
13
|
-
LogicOperatorDate[LogicOperatorDate["!="] = 2] = "!=";
|
|
14
|
-
LogicOperatorDate[LogicOperatorDate[">"] = 5] = ">";
|
|
15
|
-
LogicOperatorDate[LogicOperatorDate[">="] = 6] = ">=";
|
|
16
|
-
LogicOperatorDate[LogicOperatorDate["<"] = 7] = "<";
|
|
17
|
-
LogicOperatorDate[LogicOperatorDate["<="] = 8] = "<=";
|
|
18
|
-
})(LogicOperatorDate || (LogicOperatorDate = {}));
|
|
19
|
-
export var LogicOperatorText;
|
|
20
|
-
(function (LogicOperatorText) {
|
|
21
|
-
LogicOperatorText[LogicOperatorText["="] = 1] = "=";
|
|
22
|
-
LogicOperatorText[LogicOperatorText["!="] = 2] = "!=";
|
|
23
|
-
LogicOperatorText[LogicOperatorText["LIKE"] = 3] = "LIKE";
|
|
24
|
-
LogicOperatorText[LogicOperatorText["NOT LIKE"] = 4] = "NOT LIKE";
|
|
25
|
-
})(LogicOperatorText || (LogicOperatorText = {}));
|
|
26
|
-
export var LogicOperatorBoolean;
|
|
27
|
-
(function (LogicOperatorBoolean) {
|
|
28
|
-
LogicOperatorBoolean[LogicOperatorBoolean["Si"] = 9] = "Si";
|
|
29
|
-
LogicOperatorBoolean[LogicOperatorBoolean["No"] = 10] = "No";
|
|
30
|
-
})(LogicOperatorBoolean || (LogicOperatorBoolean = {}));
|
|
31
|
-
export var LogicOperatorListValue;
|
|
32
|
-
(function (LogicOperatorListValue) {
|
|
33
|
-
LogicOperatorListValue[LogicOperatorListValue["CONTIENE ALMENO UNO"] = 11] = "CONTIENE ALMENO UNO";
|
|
34
|
-
LogicOperatorListValue[LogicOperatorListValue["CONTIENE TUTTI"] = 12] = "CONTIENE TUTTI";
|
|
35
|
-
})(LogicOperatorListValue || (LogicOperatorListValue = {}));
|
|
36
|
-
export var LogicOperatorImageSelector;
|
|
37
|
-
(function (LogicOperatorImageSelector) {
|
|
38
|
-
LogicOperatorImageSelector[LogicOperatorImageSelector["="] = 1] = "=";
|
|
39
|
-
LogicOperatorImageSelector[LogicOperatorImageSelector["!="] = 2] = "!=";
|
|
40
|
-
})(LogicOperatorImageSelector || (LogicOperatorImageSelector = {}));
|
|
41
|
-
export var LogicOperator;
|
|
42
|
-
(function (LogicOperator) {
|
|
43
|
-
LogicOperator[LogicOperator["="] = 1] = "=";
|
|
44
|
-
LogicOperator[LogicOperator["!="] = 2] = "!=";
|
|
45
|
-
LogicOperator[LogicOperator["LIKE"] = 3] = "LIKE";
|
|
46
|
-
LogicOperator[LogicOperator["NOT LIKE"] = 4] = "NOT LIKE";
|
|
47
|
-
LogicOperator[LogicOperator[">"] = 5] = ">";
|
|
48
|
-
LogicOperator[LogicOperator[">="] = 6] = ">=";
|
|
49
|
-
LogicOperator[LogicOperator["<"] = 7] = "<";
|
|
50
|
-
LogicOperator[LogicOperator["<="] = 8] = "<=";
|
|
51
|
-
LogicOperator[LogicOperator["Si"] = 9] = "Si";
|
|
52
|
-
LogicOperator[LogicOperator["No"] = 10] = "No";
|
|
53
|
-
LogicOperator[LogicOperator["CONTIENE ALMENO UNO"] = 11] = "CONTIENE ALMENO UNO";
|
|
54
|
-
LogicOperator[LogicOperator["CONTIENE TUTTI"] = 12] = "CONTIENE TUTTI";
|
|
55
|
-
})(LogicOperator || (LogicOperator = {}));
|
|
1
|
+
export var LogicOperatorNumeric;
|
|
2
|
+
(function (LogicOperatorNumeric) {
|
|
3
|
+
LogicOperatorNumeric[LogicOperatorNumeric["="] = 1] = "=";
|
|
4
|
+
LogicOperatorNumeric[LogicOperatorNumeric["!="] = 2] = "!=";
|
|
5
|
+
LogicOperatorNumeric[LogicOperatorNumeric[">"] = 5] = ">";
|
|
6
|
+
LogicOperatorNumeric[LogicOperatorNumeric[">="] = 6] = ">=";
|
|
7
|
+
LogicOperatorNumeric[LogicOperatorNumeric["<"] = 7] = "<";
|
|
8
|
+
LogicOperatorNumeric[LogicOperatorNumeric["<="] = 8] = "<=";
|
|
9
|
+
})(LogicOperatorNumeric || (LogicOperatorNumeric = {}));
|
|
10
|
+
export var LogicOperatorDate;
|
|
11
|
+
(function (LogicOperatorDate) {
|
|
12
|
+
LogicOperatorDate[LogicOperatorDate["="] = 1] = "=";
|
|
13
|
+
LogicOperatorDate[LogicOperatorDate["!="] = 2] = "!=";
|
|
14
|
+
LogicOperatorDate[LogicOperatorDate[">"] = 5] = ">";
|
|
15
|
+
LogicOperatorDate[LogicOperatorDate[">="] = 6] = ">=";
|
|
16
|
+
LogicOperatorDate[LogicOperatorDate["<"] = 7] = "<";
|
|
17
|
+
LogicOperatorDate[LogicOperatorDate["<="] = 8] = "<=";
|
|
18
|
+
})(LogicOperatorDate || (LogicOperatorDate = {}));
|
|
19
|
+
export var LogicOperatorText;
|
|
20
|
+
(function (LogicOperatorText) {
|
|
21
|
+
LogicOperatorText[LogicOperatorText["="] = 1] = "=";
|
|
22
|
+
LogicOperatorText[LogicOperatorText["!="] = 2] = "!=";
|
|
23
|
+
LogicOperatorText[LogicOperatorText["LIKE"] = 3] = "LIKE";
|
|
24
|
+
LogicOperatorText[LogicOperatorText["NOT LIKE"] = 4] = "NOT LIKE";
|
|
25
|
+
})(LogicOperatorText || (LogicOperatorText = {}));
|
|
26
|
+
export var LogicOperatorBoolean;
|
|
27
|
+
(function (LogicOperatorBoolean) {
|
|
28
|
+
LogicOperatorBoolean[LogicOperatorBoolean["Si"] = 9] = "Si";
|
|
29
|
+
LogicOperatorBoolean[LogicOperatorBoolean["No"] = 10] = "No";
|
|
30
|
+
})(LogicOperatorBoolean || (LogicOperatorBoolean = {}));
|
|
31
|
+
export var LogicOperatorListValue;
|
|
32
|
+
(function (LogicOperatorListValue) {
|
|
33
|
+
LogicOperatorListValue[LogicOperatorListValue["CONTIENE ALMENO UNO"] = 11] = "CONTIENE ALMENO UNO";
|
|
34
|
+
LogicOperatorListValue[LogicOperatorListValue["CONTIENE TUTTI"] = 12] = "CONTIENE TUTTI";
|
|
35
|
+
})(LogicOperatorListValue || (LogicOperatorListValue = {}));
|
|
36
|
+
export var LogicOperatorImageSelector;
|
|
37
|
+
(function (LogicOperatorImageSelector) {
|
|
38
|
+
LogicOperatorImageSelector[LogicOperatorImageSelector["="] = 1] = "=";
|
|
39
|
+
LogicOperatorImageSelector[LogicOperatorImageSelector["!="] = 2] = "!=";
|
|
40
|
+
})(LogicOperatorImageSelector || (LogicOperatorImageSelector = {}));
|
|
41
|
+
export var LogicOperator;
|
|
42
|
+
(function (LogicOperator) {
|
|
43
|
+
LogicOperator[LogicOperator["="] = 1] = "=";
|
|
44
|
+
LogicOperator[LogicOperator["!="] = 2] = "!=";
|
|
45
|
+
LogicOperator[LogicOperator["LIKE"] = 3] = "LIKE";
|
|
46
|
+
LogicOperator[LogicOperator["NOT LIKE"] = 4] = "NOT LIKE";
|
|
47
|
+
LogicOperator[LogicOperator[">"] = 5] = ">";
|
|
48
|
+
LogicOperator[LogicOperator[">="] = 6] = ">=";
|
|
49
|
+
LogicOperator[LogicOperator["<"] = 7] = "<";
|
|
50
|
+
LogicOperator[LogicOperator["<="] = 8] = "<=";
|
|
51
|
+
LogicOperator[LogicOperator["Si"] = 9] = "Si";
|
|
52
|
+
LogicOperator[LogicOperator["No"] = 10] = "No";
|
|
53
|
+
LogicOperator[LogicOperator["CONTIENE ALMENO UNO"] = 11] = "CONTIENE ALMENO UNO";
|
|
54
|
+
LogicOperator[LogicOperator["CONTIENE TUTTI"] = 12] = "CONTIENE TUTTI";
|
|
55
|
+
})(LogicOperator || (LogicOperator = {}));
|
|
56
56
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naWNPcGVyYXRvci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL21vZGVscy9sb2dpY09wZXJhdG9yLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLG9CQU9YO0FBUEQsV0FBWSxvQkFBb0I7SUFDNUIseURBQU8sQ0FBQTtJQUNQLDJEQUFRLENBQUE7SUFDUix5REFBTyxDQUFBO0lBQ1AsMkRBQVEsQ0FBQTtJQUNSLHlEQUFPLENBQUE7SUFDUCwyREFBUSxDQUFBO0FBQ1osQ0FBQyxFQVBXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFPL0I7QUFFRCxNQUFNLENBQU4sSUFBWSxpQkFPWDtBQVBELFdBQVksaUJBQWlCO0lBQ3pCLG1EQUFPLENBQUE7SUFDUCxxREFBUSxDQUFBO0lBQ1IsbURBQU8sQ0FBQTtJQUNQLHFEQUFRLENBQUE7SUFDUixtREFBTyxDQUFBO0lBQ1AscURBQVEsQ0FBQTtBQUNaLENBQUMsRUFQVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBTzVCO0FBRUQsTUFBTSxDQUFOLElBQVksaUJBS1g7QUFMRCxXQUFZLGlCQUFpQjtJQUN6QixtREFBTyxDQUFBO0lBQ1AscURBQVEsQ0FBQTtJQUNSLHlEQUFVLENBQUE7SUFDVixpRUFBYyxDQUFBO0FBQ2xCLENBQUMsRUFMVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBSzVCO0FBRUQsTUFBTSxDQUFOLElBQVksb0JBR1g7QUFIRCxXQUFZLG9CQUFvQjtJQUM1QiwyREFBUSxDQUFBO0lBQ1IsNERBQVMsQ0FBQTtBQUNiLENBQUMsRUFIVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBRy9CO0FBRUQsTUFBTSxDQUFOLElBQVksc0JBR1g7QUFIRCxXQUFZLHNCQUFzQjtJQUM5QixrR0FBMEIsQ0FBQTtJQUMxQix3RkFBcUIsQ0FBQTtBQUN6QixDQUFDLEVBSFcsc0JBQXNCLEtBQXRCLHNCQUFzQixRQUdqQztBQUVELE1BQU0sQ0FBTixJQUFZLDBCQUdYO0FBSEQsV0FBWSwwQkFBMEI7SUFDbEMscUVBQU8sQ0FBQTtJQUNQLHVFQUFRLENBQUE7QUFDWixDQUFDLEVBSFcsMEJBQTBCLEtBQTFCLDBCQUEwQixRQUdyQztBQUVELE1BQU0sQ0FBTixJQUFZLGFBYVg7QUFiRCxXQUFZLGFBQWE7SUFDckIsMkNBQU8sQ0FBQTtJQUNQLDZDQUFRLENBQUE7SUFDUixpREFBVSxDQUFBO0lBQ1YseURBQWMsQ0FBQTtJQUNkLDJDQUFPLENBQUE7SUFDUCw2Q0FBUSxDQUFBO0lBQ1IsMkNBQU8sQ0FBQTtJQUNQLDZDQUFRLENBQUE7SUFDUiw2Q0FBUSxDQUFBO0lBQ1IsOENBQVMsQ0FBQTtJQUNULGdGQUEwQixDQUFBO0lBQzFCLHNFQUFxQixDQUFBO0FBQ3pCLENBQUMsRUFiVyxhQUFhLEtBQWIsYUFBYSxRQWF4QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIExvZ2ljT3BlcmF0b3JOdW1lcmljIHtcclxuICAgIFwiPVwiID0gMSxcclxuICAgIFwiIT1cIiA9IDIsXHJcbiAgICBcIj5cIiA9IDUsXHJcbiAgICBcIj49XCIgPSA2LFxyXG4gICAgXCI8XCIgPSA3LFxyXG4gICAgXCI8PVwiID0gOCxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gTG9naWNPcGVyYXRvckRhdGUge1xyXG4gICAgXCI9XCIgPSAxLFxyXG4gICAgXCIhPVwiID0gMixcclxuICAgIFwiPlwiID0gNSxcclxuICAgIFwiPj1cIiA9IDYsXHJcbiAgICBcIjxcIiA9IDcsXHJcbiAgICBcIjw9XCIgPSA4LFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBMb2dpY09wZXJhdG9yVGV4dCB7XHJcbiAgICBcIj1cIiA9IDEsXHJcbiAgICBcIiE9XCIgPSAyLFxyXG4gICAgXCJMSUtFXCIgPSAzLFxyXG4gICAgXCJOT1QgTElLRVwiID0gNCxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gTG9naWNPcGVyYXRvckJvb2xlYW4ge1xyXG4gICAgXCJTaVwiID0gOSxcclxuICAgIFwiTm9cIiA9IDEwXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIExvZ2ljT3BlcmF0b3JMaXN0VmFsdWUge1xyXG4gICAgXCJDT05USUVORSBBTE1FTk8gVU5PXCIgPSAxMSxcclxuICAgIFwiQ09OVElFTkUgVFVUVElcIiA9IDEyLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBMb2dpY09wZXJhdG9ySW1hZ2VTZWxlY3RvciB7XHJcbiAgICBcIj1cIiA9IDEsXHJcbiAgICBcIiE9XCIgPSAyXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIExvZ2ljT3BlcmF0b3Ige1xyXG4gICAgXCI9XCIgPSAxLFxyXG4gICAgXCIhPVwiID0gMixcclxuICAgIFwiTElLRVwiID0gMyxcclxuICAgIFwiTk9UIExJS0VcIiA9IDQsICAgIFxyXG4gICAgXCI+XCIgPSA1LFxyXG4gICAgXCI+PVwiID0gNixcclxuICAgIFwiPFwiID0gNyxcclxuICAgIFwiPD1cIiA9IDgsXHJcbiAgICBcIlNpXCIgPSA5LFxyXG4gICAgXCJOb1wiID0gMTAsXHJcbiAgICBcIkNPTlRJRU5FIEFMTUVOTyBVTk9cIiA9IDExLFxyXG4gICAgXCJDT05USUVORSBUVVRUSVwiID0gMTIsICAgIFxyXG59Il19
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export class Record {
|
|
2
|
+
ID;
|
|
3
|
+
EntID;
|
|
4
|
+
Version;
|
|
5
|
+
userID;
|
|
6
|
+
AnswerDate;
|
|
7
|
+
HTMLreadableValues;
|
|
8
|
+
AdditionalParams;
|
|
9
|
+
AdditionalInfo;
|
|
10
|
+
FK_InsertUser; // int o string
|
|
11
|
+
InsertDate;
|
|
12
|
+
FK_UpdateUser; // int o string
|
|
13
|
+
UpdateDate;
|
|
14
|
+
}
|
|
15
|
+
export class DynRecord {
|
|
16
|
+
ID;
|
|
17
|
+
EntID;
|
|
18
|
+
Version;
|
|
19
|
+
userID;
|
|
20
|
+
Values = {};
|
|
21
|
+
SerializedValues;
|
|
22
|
+
HTMLreadableValues;
|
|
23
|
+
AnswerDate;
|
|
24
|
+
AdditionalParams;
|
|
25
|
+
AdditionalInfo;
|
|
26
|
+
PrefilterParams;
|
|
27
|
+
FK_InsertUser; // int o string
|
|
28
|
+
InsertDate;
|
|
29
|
+
FK_UpdateUser; // int o string
|
|
30
|
+
UpdateDate;
|
|
31
|
+
}
|
|
32
|
+
export class RecordButton {
|
|
33
|
+
icon;
|
|
34
|
+
text;
|
|
35
|
+
visible;
|
|
36
|
+
fn;
|
|
37
|
+
extraClass;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvbW9kZWxzL3JlY29yZC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sTUFBTTtJQUNmLEVBQUUsQ0FBUztJQUNYLEtBQUssQ0FBUztJQUNkLE9BQU8sQ0FBUztJQUNoQixNQUFNLENBQVM7SUFDZixVQUFVLENBQVM7SUFDbkIsa0JBQWtCLENBQVM7SUFDM0IsZ0JBQWdCLENBQU07SUFDdEIsY0FBYyxDQUFNO0lBRXBCLGFBQWEsQ0FBTSxDQUFDLGVBQWU7SUFDbkMsVUFBVSxDQUFPO0lBQ2pCLGFBQWEsQ0FBTSxDQUFDLGVBQWU7SUFDbkMsVUFBVSxDQUFPO0NBQ3BCO0FBRUQsTUFBTSxPQUFPLFNBQVM7SUFDbEIsRUFBRSxDQUFTO0lBQ1gsS0FBSyxDQUFTO0lBQ2QsT0FBTyxDQUFTO0lBQ2hCLE1BQU0sQ0FBUztJQUNmLE1BQU0sR0FBNEIsRUFBRSxDQUFDO0lBQ3JDLGdCQUFnQixDQUFTO0lBQ3pCLGtCQUFrQixDQUFTO0lBQzNCLFVBQVUsQ0FBUztJQUNuQixnQkFBZ0IsQ0FBUztJQUN6QixjQUFjLENBQU07SUFDcEIsZUFBZSxDQUFTO0lBQ3hCLGFBQWEsQ0FBTSxDQUFDLGVBQWU7SUFDbkMsVUFBVSxDQUFPO0lBQ2pCLGFBQWEsQ0FBTSxDQUFDLGVBQWU7SUFDbkMsVUFBVSxDQUFPO0NBQ3BCO0FBRUQsTUFBTSxPQUFPLFlBQVk7SUFDakIsSUFBSSxDQUFTO0lBQ2IsSUFBSSxDQUFTO0lBQ2IsT0FBTyxDQUFVO0lBQ2pCLEVBQUUsQ0FBVztJQUNiLFVBQVUsQ0FBUztDQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBSZWNvcmQge1xyXG4gICAgSUQ6IHN0cmluZztcclxuICAgIEVudElEOiBzdHJpbmc7XHJcbiAgICBWZXJzaW9uOiBudW1iZXI7XHJcbiAgICB1c2VySUQ6IHN0cmluZztcclxuICAgIEFuc3dlckRhdGU6IHN0cmluZztcclxuICAgIEhUTUxyZWFkYWJsZVZhbHVlczogc3RyaW5nO1xyXG4gICAgQWRkaXRpb25hbFBhcmFtczogYW55O1xyXG4gICAgQWRkaXRpb25hbEluZm86IGFueTtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgIEZLX0luc2VydFVzZXI6IGFueTsgLy8gaW50IG8gc3RyaW5nXHJcbiAgICBJbnNlcnREYXRlOiBEYXRlO1xyXG4gICAgRktfVXBkYXRlVXNlcjogYW55OyAvLyBpbnQgbyBzdHJpbmdcclxuICAgIFVwZGF0ZURhdGU6IERhdGU7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBEeW5SZWNvcmQge1xyXG4gICAgSUQ6IHN0cmluZztcclxuICAgIEVudElEOiBzdHJpbmc7XHJcbiAgICBWZXJzaW9uOiBudW1iZXI7XHJcbiAgICB1c2VySUQ6IHN0cmluZztcclxuICAgIFZhbHVlczogeyBba2V5OiBzdHJpbmddOiBhbnk7IH0gPSB7fTtcclxuICAgIFNlcmlhbGl6ZWRWYWx1ZXM6IHN0cmluZztcclxuICAgIEhUTUxyZWFkYWJsZVZhbHVlczogc3RyaW5nO1xyXG4gICAgQW5zd2VyRGF0ZTogc3RyaW5nO1xyXG4gICAgQWRkaXRpb25hbFBhcmFtczogc3RyaW5nO1xyXG4gICAgQWRkaXRpb25hbEluZm86IGFueTtcclxuICAgIFByZWZpbHRlclBhcmFtczogc3RyaW5nO1xyXG4gICAgRktfSW5zZXJ0VXNlcjogYW55OyAvLyBpbnQgbyBzdHJpbmdcclxuICAgIEluc2VydERhdGU6IERhdGU7XHJcbiAgICBGS19VcGRhdGVVc2VyOiBhbnk7IC8vIGludCBvIHN0cmluZ1xyXG4gICAgVXBkYXRlRGF0ZTogRGF0ZTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJlY29yZEJ1dHRvbiB7XHJcblx0cHVibGljIGljb246IHN0cmluZztcclxuXHRwdWJsaWMgdGV4dDogc3RyaW5nO1xyXG5cdHB1YmxpYyB2aXNpYmxlOiBib29sZWFuO1xyXG5cdHB1YmxpYyBmbjogRnVuY3Rpb247XHJcblx0cHVibGljIGV4dHJhQ2xhc3M6IHN0cmluZzsgXHJcbn0iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export class Statistic {
|
|
2
|
+
fieldtype;
|
|
3
|
+
key;
|
|
4
|
+
value;
|
|
5
|
+
logicoperator;
|
|
6
|
+
}
|
|
7
|
+
export class FilterStatistic {
|
|
8
|
+
Statistics = new Array();
|
|
9
|
+
PrefilterParams;
|
|
10
|
+
AdditionalParams;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGlzdGljLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvbW9kZWxzL3N0YXRpc3RpYy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sU0FBUztJQUNsQixTQUFTLENBQWU7SUFDeEIsR0FBRyxDQUFTO0lBQ1osS0FBSyxDQUFTO0lBQ2QsYUFBYSxDQUEwSTtDQUMxSjtBQUVELE1BQU0sT0FBTyxlQUFlO0lBQ3hCLFVBQVUsR0FBcUIsSUFBSSxLQUFLLEVBQWEsQ0FBQztJQUN0RCxlQUFlLENBQU07SUFDckIsZ0JBQWdCLENBQU07Q0FDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWVsZFR5cGVFbnVtIH0gZnJvbSBcIi4vYmFzZUZpZWxkLm1vZGVsXCI7XHJcbmltcG9ydCB7IExvZ2ljT3BlcmF0b3JCb29sZWFuLCBMb2dpY09wZXJhdG9yRGF0ZSwgTG9naWNPcGVyYXRvckltYWdlU2VsZWN0b3IsIExvZ2ljT3BlcmF0b3JMaXN0VmFsdWUsIExvZ2ljT3BlcmF0b3JOdW1lcmljLCBMb2dpY09wZXJhdG9yVGV4dCB9IGZyb20gXCIuL2xvZ2ljT3BlcmF0b3IubW9kZWxcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBTdGF0aXN0aWN7XHJcbiAgICBmaWVsZHR5cGU6RmllbGRUeXBlRW51bTtcclxuICAgIGtleTogc3RyaW5nO1xyXG4gICAgdmFsdWU6IHN0cmluZztcclxuICAgIGxvZ2ljb3BlcmF0b3I6TG9naWNPcGVyYXRvckJvb2xlYW4gfCBMb2dpY09wZXJhdG9yTGlzdFZhbHVlIHwgTG9naWNPcGVyYXRvck51bWVyaWMgfCBMb2dpY09wZXJhdG9yVGV4dCB8IExvZ2ljT3BlcmF0b3JEYXRlIHwgTG9naWNPcGVyYXRvckltYWdlU2VsZWN0b3JcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEZpbHRlclN0YXRpc3RpYyB7XHJcbiAgICBTdGF0aXN0aWNzOiBBcnJheTxTdGF0aXN0aWM+ID0gbmV3IEFycmF5PFN0YXRpc3RpYz4oKTtcclxuICAgIFByZWZpbHRlclBhcmFtczogYW55O1xyXG4gICAgQWRkaXRpb25hbFBhcmFtczogYW55O1xyXG59Il19
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Record } from '../models/record.model';
|
|
2
|
+
export class Trigger {
|
|
3
|
+
CID;
|
|
4
|
+
description;
|
|
5
|
+
execution;
|
|
6
|
+
conditions;
|
|
7
|
+
formulas = {};
|
|
8
|
+
constructor() {
|
|
9
|
+
this.CID = 'xxxx-xxxx-xxxx-xxxx'.replace(/[xy]/g, function (c) {
|
|
10
|
+
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
|
|
11
|
+
return v.toString(16);
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export class TriggerCondition {
|
|
16
|
+
CID;
|
|
17
|
+
Field;
|
|
18
|
+
record = new Record();
|
|
19
|
+
logicoperator;
|
|
20
|
+
booleanlogicoperator;
|
|
21
|
+
constructor() {
|
|
22
|
+
this.CID = 'xxxx-xxxx-xxxx-xxxx'.replace(/[xy]/g, function (c) {
|
|
23
|
+
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
|
|
24
|
+
return v.toString(16);
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export class TriggerProperty {
|
|
29
|
+
type;
|
|
30
|
+
value;
|
|
31
|
+
tooltip;
|
|
32
|
+
constructor(type) {
|
|
33
|
+
this.type = type;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export var TriggerPropertyTypeEnum;
|
|
37
|
+
(function (TriggerPropertyTypeEnum) {
|
|
38
|
+
TriggerPropertyTypeEnum[TriggerPropertyTypeEnum["STRING"] = 1] = "STRING";
|
|
39
|
+
TriggerPropertyTypeEnum[TriggerPropertyTypeEnum["DMMODULE"] = 2] = "DMMODULE";
|
|
40
|
+
})(TriggerPropertyTypeEnum || (TriggerPropertyTypeEnum = {}));
|
|
41
|
+
export class Condition {
|
|
42
|
+
fieldType;
|
|
43
|
+
key;
|
|
44
|
+
value;
|
|
45
|
+
logicoperator;
|
|
46
|
+
booleanlogicoperator;
|
|
47
|
+
}
|
|
48
|
+
export var BooleanLogicOperatorType;
|
|
49
|
+
(function (BooleanLogicOperatorType) {
|
|
50
|
+
BooleanLogicOperatorType[BooleanLogicOperatorType["AND"] = 1] = "AND";
|
|
51
|
+
BooleanLogicOperatorType[BooleanLogicOperatorType["AND NOT"] = 2] = "AND NOT";
|
|
52
|
+
BooleanLogicOperatorType[BooleanLogicOperatorType["OR"] = 3] = "OR";
|
|
53
|
+
BooleanLogicOperatorType[BooleanLogicOperatorType["OR NOT"] = 4] = "OR NOT";
|
|
54
|
+
})(BooleanLogicOperatorType || (BooleanLogicOperatorType = {}));
|
|
55
|
+
export class FireTrigger {
|
|
56
|
+
form;
|
|
57
|
+
trigger;
|
|
58
|
+
record;
|
|
59
|
+
formulas;
|
|
60
|
+
userPatient;
|
|
61
|
+
userMedicalExamination;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL21vZGVscy90cmlnZ2VyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUdoRCxNQUFNLE9BQU8sT0FBTztJQUNoQixHQUFHLENBQVM7SUFDWixXQUFXLENBQVM7SUFDcEIsU0FBUyxDQUFTO0lBQ2xCLFVBQVUsQ0FBMEI7SUFDcEMsUUFBUSxHQUFRLEVBQUUsQ0FBQztJQUVuQjtRQUNJLElBQUksQ0FBQyxHQUFHLEdBQUcscUJBQXFCLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUM7WUFDekQsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQzVCLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQztZQUNyQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sZ0JBQWdCO0lBQ3pCLEdBQUcsQ0FBUztJQUNaLEtBQUssQ0FBWTtJQUNqQixNQUFNLEdBQVcsSUFBSSxNQUFNLEVBQUUsQ0FBQztJQUM5QixhQUFhLENBQTBKO0lBQ3ZLLG9CQUFvQixDQUEwQjtJQUU5QztRQUNJLElBQUksQ0FBQyxHQUFHLEdBQUcscUJBQXFCLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUM7WUFDekQsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQzVCLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQztZQUNyQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sZUFBZTtJQUN4QixJQUFJLENBQTBCO0lBQzlCLEtBQUssQ0FBUztJQUNkLE9BQU8sQ0FBUztJQUVoQixZQUFZLElBQUk7UUFDWixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0NBQ0o7QUFFRCxNQUFNLENBQU4sSUFBWSx1QkFHWDtBQUhELFdBQVksdUJBQXVCO0lBQy9CLHlFQUFVLENBQUE7SUFDViw2RUFBWSxDQUFBO0FBQ2hCLENBQUMsRUFIVyx1QkFBdUIsS0FBdkIsdUJBQXVCLFFBR2xDO0FBRUQsTUFBTSxPQUFPLFNBQVM7SUFDbEIsU0FBUyxDQUFlO0lBQ3hCLEdBQUcsQ0FBUztJQUNaLEtBQUssQ0FBUztJQUNkLGFBQWEsQ0FBMEk7SUFDdkosb0JBQW9CLENBQTBCO0NBQ2pEO0FBRUQsTUFBTSxDQUFOLElBQVksd0JBS1g7QUFMRCxXQUFZLHdCQUF3QjtJQUNoQyxxRUFBUyxDQUFBO0lBQ1QsNkVBQWEsQ0FBQTtJQUNiLG1FQUFRLENBQUE7SUFDUiwyRUFBWSxDQUFBO0FBQ2hCLENBQUMsRUFMVyx3QkFBd0IsS0FBeEIsd0JBQXdCLFFBS25DO0FBRUQsTUFBTSxPQUFPLFdBQVc7SUFDcEIsSUFBSSxDQUFPO0lBQ1gsT0FBTyxDQUFVO0lBQ2pCLE1BQU0sQ0FBUztJQUNmLFFBQVEsQ0FBTTtJQUNkLFdBQVcsQ0FBUztJQUNwQixzQkFBc0IsQ0FBUztDQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkVHlwZUVudW0sIEJhc2VGaWVsZCB9IGZyb20gJy4vYmFzZUZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgTG9naWNPcGVyYXRvckJvb2xlYW4sIExvZ2ljT3BlcmF0b3JMaXN0VmFsdWUsIExvZ2ljT3BlcmF0b3JOdW1lcmljLCBMb2dpY09wZXJhdG9yVGV4dCwgTG9naWNPcGVyYXRvckRhdGUsIExvZ2ljT3BlcmF0b3JJbWFnZVNlbGVjdG9yLCBMb2dpY09wZXJhdG9yIH0gZnJvbSBcIi4vbG9naWNPcGVyYXRvci5tb2RlbFwiO1xyXG5pbXBvcnQgeyBSZWNvcmQgfSBmcm9tICcuLi9tb2RlbHMvcmVjb3JkLm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybSB9IGZyb20gXCIuL2Zvcm0ubW9kZWxcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBUcmlnZ2VyIHtcclxuICAgIENJRDogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIGV4ZWN1dGlvbjogc3RyaW5nO1xyXG4gICAgY29uZGl0aW9uczogQXJyYXk8VHJpZ2dlckNvbmRpdGlvbj47XHJcbiAgICBmb3JtdWxhczogYW55ID0ge307XHJcblxyXG4gICAgY29uc3RydWN0b3IoKXtcclxuICAgICAgICB0aGlzLkNJRCA9ICd4eHh4LXh4eHgteHh4eC14eHh4Jy5yZXBsYWNlKC9beHldL2csIGZ1bmN0aW9uIChjKSB7XHJcbiAgICAgICAgICAgIHZhciByID0gTWF0aC5yYW5kb20oKSAqIDE2IHwgMCxcclxuICAgICAgICAgICAgICB2ID0gYyA9PSAneCcgPyByIDogKHIgJiAweDMgfCAweDgpO1xyXG4gICAgICAgICAgICByZXR1cm4gdi50b1N0cmluZygxNik7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUcmlnZ2VyQ29uZGl0aW9uIHtcclxuICAgIENJRDogc3RyaW5nO1xyXG4gICAgRmllbGQ6IEJhc2VGaWVsZDtcclxuICAgIHJlY29yZDogUmVjb3JkID0gbmV3IFJlY29yZCgpO1xyXG4gICAgbG9naWNvcGVyYXRvcjpMb2dpY09wZXJhdG9yQm9vbGVhbiB8IExvZ2ljT3BlcmF0b3JMaXN0VmFsdWUgfCBMb2dpY09wZXJhdG9yTnVtZXJpYyB8IExvZ2ljT3BlcmF0b3JUZXh0IHwgTG9naWNPcGVyYXRvckRhdGUgfCBMb2dpY09wZXJhdG9ySW1hZ2VTZWxlY3RvciB8IExvZ2ljT3BlcmF0b3JcclxuICAgIGJvb2xlYW5sb2dpY29wZXJhdG9yOiBCb29sZWFuTG9naWNPcGVyYXRvclR5cGVcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcigpe1xyXG4gICAgICAgIHRoaXMuQ0lEID0gJ3h4eHgteHh4eC14eHh4LXh4eHgnLnJlcGxhY2UoL1t4eV0vZywgZnVuY3Rpb24gKGMpIHtcclxuICAgICAgICAgICAgdmFyIHIgPSBNYXRoLnJhbmRvbSgpICogMTYgfCAwLFxyXG4gICAgICAgICAgICAgIHYgPSBjID09ICd4JyA/IHIgOiAociAmIDB4MyB8IDB4OCk7XHJcbiAgICAgICAgICAgIHJldHVybiB2LnRvU3RyaW5nKDE2KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFRyaWdnZXJQcm9wZXJ0eSB7XHJcbiAgICB0eXBlOiBUcmlnZ2VyUHJvcGVydHlUeXBlRW51bTtcclxuICAgIHZhbHVlOiBzdHJpbmc7XHJcbiAgICB0b29sdGlwOiBzdHJpbmc7XHJcblxyXG4gICAgY29uc3RydWN0b3IodHlwZSl7XHJcbiAgICAgICAgdGhpcy50eXBlID0gdHlwZTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGVudW0gVHJpZ2dlclByb3BlcnR5VHlwZUVudW0ge1xyXG4gICAgU1RSSU5HID0gMSxcclxuICAgIERNTU9EVUxFID0gMlxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ29uZGl0aW9ue1xyXG4gICAgZmllbGRUeXBlOkZpZWxkVHlwZUVudW07XHJcbiAgICBrZXk6IHN0cmluZztcclxuICAgIHZhbHVlOiBzdHJpbmc7XHJcbiAgICBsb2dpY29wZXJhdG9yOkxvZ2ljT3BlcmF0b3JCb29sZWFuIHwgTG9naWNPcGVyYXRvckxpc3RWYWx1ZSB8IExvZ2ljT3BlcmF0b3JOdW1lcmljIHwgTG9naWNPcGVyYXRvclRleHQgfCBMb2dpY09wZXJhdG9yRGF0ZSB8IExvZ2ljT3BlcmF0b3JJbWFnZVNlbGVjdG9yXHJcbiAgICBib29sZWFubG9naWNvcGVyYXRvcjogQm9vbGVhbkxvZ2ljT3BlcmF0b3JUeXBlXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZSB7XHJcbiAgICBcIkFORFwiID0gMSxcclxuICAgIFwiQU5EIE5PVFwiID0gMixcclxuICAgIFwiT1JcIiA9IDMsXHJcbiAgICBcIk9SIE5PVFwiID0gNFxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgRmlyZVRyaWdnZXIge1xyXG4gICAgZm9ybTogRm9ybTtcclxuICAgIHRyaWdnZXI6IFRyaWdnZXI7XHJcbiAgICByZWNvcmQ6IFJlY29yZDtcclxuICAgIGZvcm11bGFzOiBhbnk7XHJcbiAgICB1c2VyUGF0aWVudDogc3RyaW5nO1xyXG4gICAgdXNlck1lZGljYWxFeGFtaW5hdGlvbjogbnVtYmVyO1xyXG59Il19
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
export class Formula {
|
|
2
|
+
formula;
|
|
3
|
+
current_number = 0;
|
|
4
|
+
prev_number = 0;
|
|
5
|
+
stack = [];
|
|
6
|
+
start = false;
|
|
7
|
+
dotted = false; // input number having dot
|
|
8
|
+
is_operand = false;
|
|
9
|
+
radians = true;
|
|
10
|
+
operation = '';
|
|
11
|
+
memory = 0;
|
|
12
|
+
in_memory = false;
|
|
13
|
+
bracket = false;
|
|
14
|
+
secondScreen = false;
|
|
15
|
+
constructor(formula = '') {
|
|
16
|
+
this.formula = formula;
|
|
17
|
+
}
|
|
18
|
+
get() {
|
|
19
|
+
return this.formula;
|
|
20
|
+
}
|
|
21
|
+
parse(value) {
|
|
22
|
+
return parseFloat(value);
|
|
23
|
+
}
|
|
24
|
+
getCurrentNumber() {
|
|
25
|
+
return this.parse(this.formula);
|
|
26
|
+
}
|
|
27
|
+
setRadians(switcher) {
|
|
28
|
+
this.radians = switcher;
|
|
29
|
+
return this.radians;
|
|
30
|
+
}
|
|
31
|
+
clear() {
|
|
32
|
+
this.formula = '0';
|
|
33
|
+
this.dotted = false;
|
|
34
|
+
this.is_operand = false;
|
|
35
|
+
this.operation = '';
|
|
36
|
+
this.start = false;
|
|
37
|
+
this.stack = [];
|
|
38
|
+
this.bracket = false;
|
|
39
|
+
return this.formula;
|
|
40
|
+
}
|
|
41
|
+
clearMemory() {
|
|
42
|
+
this.memory = 0;
|
|
43
|
+
this.in_memory = false;
|
|
44
|
+
}
|
|
45
|
+
sumToMemory() {
|
|
46
|
+
let value = this.getCurrentNumber();
|
|
47
|
+
this.memory += value;
|
|
48
|
+
this.in_memory = true;
|
|
49
|
+
this.start = true;
|
|
50
|
+
}
|
|
51
|
+
deductToMemory() {
|
|
52
|
+
let value = this.getCurrentNumber();
|
|
53
|
+
this.memory -= value;
|
|
54
|
+
this.in_memory = true;
|
|
55
|
+
this.start = true;
|
|
56
|
+
}
|
|
57
|
+
readMemory() {
|
|
58
|
+
this.formula = this.memory.toString();
|
|
59
|
+
return this.formula;
|
|
60
|
+
}
|
|
61
|
+
addBracket(value) {
|
|
62
|
+
// brackets can be set only if we have not set them before and we set operand (if we set brackets first - it will not make sense)
|
|
63
|
+
if (value == '(' && this.bracket == false && this.is_operand == true) {
|
|
64
|
+
this.stack.push(value);
|
|
65
|
+
this.bracket = true;
|
|
66
|
+
this.is_operand = false;
|
|
67
|
+
}
|
|
68
|
+
if (value == ')' && this.bracket == true && this.is_operand != true) {
|
|
69
|
+
this.bracket = false;
|
|
70
|
+
this.stack.push(this.formula);
|
|
71
|
+
this.stack.push(')');
|
|
72
|
+
this.is_operand = false;
|
|
73
|
+
this.start = true;
|
|
74
|
+
this.formula = eval(this.stack.join('')).toString();
|
|
75
|
+
this.stack = [this.formula];
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
setOperation(operand) {
|
|
79
|
+
this.operation = operand;
|
|
80
|
+
// If operator already set - nothing doing
|
|
81
|
+
if (this.is_operand) {
|
|
82
|
+
this.operation = operand;
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
this.is_operand = true;
|
|
86
|
+
this.stack.push(this.formula);
|
|
87
|
+
this.stack.push(this.operation);
|
|
88
|
+
this.start = true;
|
|
89
|
+
}
|
|
90
|
+
calculate() {
|
|
91
|
+
let result;
|
|
92
|
+
if (this.stack.length < 3)
|
|
93
|
+
return;
|
|
94
|
+
this.is_operand = false;
|
|
95
|
+
this.current_number = this.parse(this.stack.pop());
|
|
96
|
+
this.operation = this.stack.pop();
|
|
97
|
+
this.prev_number = this.parse(this.stack.pop());
|
|
98
|
+
if (!this.prev_number)
|
|
99
|
+
return 0;
|
|
100
|
+
switch (this.operation) {
|
|
101
|
+
case '+':
|
|
102
|
+
result = this.prev_number + this.current_number;
|
|
103
|
+
this.show(result);
|
|
104
|
+
break;
|
|
105
|
+
case '-':
|
|
106
|
+
result = this.prev_number - this.current_number;
|
|
107
|
+
this.show(result);
|
|
108
|
+
break;
|
|
109
|
+
case '*':
|
|
110
|
+
result = this.prev_number * this.current_number;
|
|
111
|
+
this.show(result);
|
|
112
|
+
break;
|
|
113
|
+
case '/':
|
|
114
|
+
result = this.prev_number / this.current_number;
|
|
115
|
+
this.show(result);
|
|
116
|
+
break;
|
|
117
|
+
case 'sqrt':
|
|
118
|
+
result = Math.pow(this.prev_number, 1 / this.current_number);
|
|
119
|
+
this.show(result);
|
|
120
|
+
break;
|
|
121
|
+
case 'pow':
|
|
122
|
+
result = Math.pow(this.prev_number, this.current_number);
|
|
123
|
+
this.show(result);
|
|
124
|
+
break;
|
|
125
|
+
case 'yx':
|
|
126
|
+
result = Math.pow(this.current_number, this.prev_number);
|
|
127
|
+
this.show(result);
|
|
128
|
+
break;
|
|
129
|
+
case 'log':
|
|
130
|
+
result = Math.log(this.prev_number) / Math.log(this.current_number);
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
this.current_number = this.parse(this.formula);
|
|
134
|
+
this.start = true;
|
|
135
|
+
return result;
|
|
136
|
+
}
|
|
137
|
+
addValue(value, start) {
|
|
138
|
+
if (start || this.start || (this.dotted == false && this.formula == '0' && value != '.')) {
|
|
139
|
+
this.formula = '';
|
|
140
|
+
}
|
|
141
|
+
this.start = start;
|
|
142
|
+
if (value == '.') {
|
|
143
|
+
if (this.dotted == true) {
|
|
144
|
+
return this.formula;
|
|
145
|
+
}
|
|
146
|
+
this.dotted = true;
|
|
147
|
+
}
|
|
148
|
+
this.formula += value;
|
|
149
|
+
this.is_operand = false;
|
|
150
|
+
return this.formula;
|
|
151
|
+
}
|
|
152
|
+
removeSymbol() {
|
|
153
|
+
let len = this.formula.length;
|
|
154
|
+
let last_symbol = this.formula.substring(len - 1, len);
|
|
155
|
+
if (last_symbol == '.') {
|
|
156
|
+
this.dotted = false;
|
|
157
|
+
}
|
|
158
|
+
this.formula = this.formula.slice(0, -1);
|
|
159
|
+
}
|
|
160
|
+
singleton(operand, data) {
|
|
161
|
+
let result = 0;
|
|
162
|
+
let rad = 0;
|
|
163
|
+
let grad = 180 / Math.PI;
|
|
164
|
+
this.current_number = parseFloat(this.formula);
|
|
165
|
+
switch (operand) {
|
|
166
|
+
case 'invert':
|
|
167
|
+
result = this.current_number * data;
|
|
168
|
+
break;
|
|
169
|
+
case 'sqrt':
|
|
170
|
+
result = Math.sqrt(this.current_number);
|
|
171
|
+
break;
|
|
172
|
+
case 'sqrt3':
|
|
173
|
+
result = Math.pow(this.current_number, 1 / 3);
|
|
174
|
+
break;
|
|
175
|
+
case 'ln':
|
|
176
|
+
result = Math.log(this.current_number);
|
|
177
|
+
break;
|
|
178
|
+
case 'lg':
|
|
179
|
+
result = Math.log(this.current_number) / Math.log(data);
|
|
180
|
+
break;
|
|
181
|
+
case 'pow_base':
|
|
182
|
+
let base = data == 'e' ? Math.E : data;
|
|
183
|
+
result = Math.pow(base, this.current_number);
|
|
184
|
+
break;
|
|
185
|
+
case 'pow':
|
|
186
|
+
let step = parseFloat(data);
|
|
187
|
+
result = Math.pow(this.current_number, step);
|
|
188
|
+
break;
|
|
189
|
+
case 'div':
|
|
190
|
+
result = 1 / this.current_number;
|
|
191
|
+
break;
|
|
192
|
+
case 'sin':
|
|
193
|
+
rad = (this.radians) ? this.current_number : this.current_number / grad;
|
|
194
|
+
result = Math.sin(rad);
|
|
195
|
+
break;
|
|
196
|
+
case 'cos':
|
|
197
|
+
rad = (this.radians) ? this.current_number : this.current_number / grad;
|
|
198
|
+
result = Math.cos(rad);
|
|
199
|
+
break;
|
|
200
|
+
case 'tan':
|
|
201
|
+
rad = (this.radians) ? this.current_number : this.current_number / grad;
|
|
202
|
+
result = Math.tan(rad);
|
|
203
|
+
break;
|
|
204
|
+
case 'sinh':
|
|
205
|
+
rad = (this.radians) ? this.current_number : this.current_number / grad;
|
|
206
|
+
result = (Math.exp(rad) - Math.exp(-rad)) / 2;
|
|
207
|
+
break;
|
|
208
|
+
case 'cosh':
|
|
209
|
+
rad = (this.radians) ? this.current_number : this.current_number / grad;
|
|
210
|
+
result = (Math.exp(rad) + Math.exp(-rad)) / 2;
|
|
211
|
+
break;
|
|
212
|
+
case 'tanh':
|
|
213
|
+
rad = (this.radians) ? this.current_number : this.current_number / grad;
|
|
214
|
+
result = (Math.exp(rad) - Math.exp(-rad)) / (Math.exp(rad) + Math.exp(-rad));
|
|
215
|
+
break;
|
|
216
|
+
case 'asin':
|
|
217
|
+
result = Math.asin(this.current_number);
|
|
218
|
+
result = (this.radians) ? result : result * grad;
|
|
219
|
+
break;
|
|
220
|
+
case 'acos':
|
|
221
|
+
result = Math.acos(this.current_number);
|
|
222
|
+
result = (this.radians) ? result : result * grad;
|
|
223
|
+
break;
|
|
224
|
+
case 'atan':
|
|
225
|
+
result = Math.atan(this.current_number);
|
|
226
|
+
result = (this.radians) ? result : result * grad;
|
|
227
|
+
break;
|
|
228
|
+
case 'asinh':
|
|
229
|
+
result = Math.asinh(this.current_number);
|
|
230
|
+
result = (this.radians) ? result : result * grad;
|
|
231
|
+
break;
|
|
232
|
+
case 'acosh':
|
|
233
|
+
result = Math.acosh(this.current_number);
|
|
234
|
+
result = (this.radians) ? result : result * grad;
|
|
235
|
+
break;
|
|
236
|
+
case 'atanh':
|
|
237
|
+
result = Math.atanh(this.current_number);
|
|
238
|
+
result = (this.radians) ? result : result * grad;
|
|
239
|
+
break;
|
|
240
|
+
case 'rand':
|
|
241
|
+
result = Math.random();
|
|
242
|
+
break;
|
|
243
|
+
case 'factorial':
|
|
244
|
+
let n = Math.ceil(this.current_number);
|
|
245
|
+
result = 1;
|
|
246
|
+
for (let i = 1; i <= n; i++) {
|
|
247
|
+
result *= i;
|
|
248
|
+
}
|
|
249
|
+
break;
|
|
250
|
+
case 'percent':
|
|
251
|
+
result = this.current_number / 100;
|
|
252
|
+
break;
|
|
253
|
+
case 'ee':
|
|
254
|
+
this.formula = this.current_number.toExponential();
|
|
255
|
+
return 0;
|
|
256
|
+
}
|
|
257
|
+
this.start = true;
|
|
258
|
+
this.show(result);
|
|
259
|
+
return result;
|
|
260
|
+
}
|
|
261
|
+
show(value) {
|
|
262
|
+
this.formula = value.toString();
|
|
263
|
+
return this.formula;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXVsYS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL21vZHVsZXMvZm9ybXVsYS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sT0FBTztJQUNoQixPQUFPLENBQVE7SUFDZixjQUFjLEdBQVUsQ0FBQyxDQUFDO0lBQzFCLFdBQVcsR0FBVSxDQUFDLENBQUM7SUFDdkIsS0FBSyxHQUFZLEVBQUUsQ0FBQztJQUNwQixLQUFLLEdBQVcsS0FBSyxDQUFDO0lBQ3RCLE1BQU0sR0FBVyxLQUFLLENBQUMsQ0FBQywwQkFBMEI7SUFDbEQsVUFBVSxHQUFXLEtBQUssQ0FBQztJQUMzQixPQUFPLEdBQVcsSUFBSSxDQUFDO0lBQ3ZCLFNBQVMsR0FBVSxFQUFFLENBQUM7SUFDdEIsTUFBTSxHQUFVLENBQUMsQ0FBQztJQUNsQixTQUFTLEdBQVcsS0FBSyxDQUFDO0lBQzFCLE9BQU8sR0FBVyxLQUFLLENBQUM7SUFDeEIsWUFBWSxHQUFXLEtBQUssQ0FBQztJQUU3QixZQUFZLFVBQWUsRUFBRTtRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFDLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRUQsR0FBRztRQUNDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQVk7UUFDZCxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsVUFBVSxDQUFDLFFBQWdCO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUMsUUFBUSxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBR0QsS0FBSztR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Q0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUMsSUFBSSxDQUFDO2dCQUNwRSxNQUFNLEdBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQztnQkFDNUMsTUFBTTtZQUNOLEtBQUssTUFBTTtnQkFDUCxHQUFHLEdBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUMsSUFBSSxDQUFDO2dCQUNwRSxNQUFNLEdBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQztnQkFDNUMsTUFBTTtZQUNOLEtBQUssTUFBTTtnQkFDUCxHQUFHLEdBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUMsSUFBSSxDQUFDO2dCQUNwRSxNQUFNLEdBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDekUsTUFBTTtZQUNOLEtBQUssTUFBTTtnQkFDUCxNQUFNLEdBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQ3RDLE1BQU0sR0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsSUFBSSxDQUFDO2dCQUNqRCxNQUFNO1lBQ04sS0FBSyxNQUFNO2dCQUNQLE1BQU0sR0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDdEMsTUFBTSxHQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUM7Z0JBQ2pELE1BQU07WUFDTixLQUFLLE1BQU07Z0JBQ1AsTUFBTSxHQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUN0QyxNQUFNLEdBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFDLElBQUksQ0FBQztnQkFDakQsTUFBTTtZQUNOLEtBQUssT0FBTztnQkFDUixNQUFNLEdBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQ3ZDLE1BQU0sR0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsSUFBSSxDQUFDO2dCQUNqRCxNQUFNO1lBQ04sS0FBSyxPQUFPO2dCQUNSLE1BQU0sR0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDdkMsTUFBTSxHQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUM7Z0JBQ2pELE1BQU07WUFDTixLQUFLLE9BQU87Z0JBQ1IsTUFBTSxHQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUN2QyxNQUFNLEdBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFDLElBQUksQ0FBQztnQkFDakQsTUFBTTtZQUNOLEtBQUssTUFBTTtnQkFDUCxNQUFNLEdBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN6QixNQUFNO1lBQ04sS0FBSyxXQUFXO2dCQUNaLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUNyQyxNQUFNLEdBQUMsQ0FBQyxDQUFDO2dCQUNULEtBQUssSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxDQUFDLEVBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFDcEIsTUFBTSxJQUFFLENBQUMsQ0FBQztnQkFDZCxDQUFDO2dCQUNMLE1BQU07WUFDTixLQUFLLFNBQVM7Z0JBQ1YsTUFBTSxHQUFDLElBQUksQ0FBQyxjQUFjLEdBQUMsR0FBRyxDQUFDO2dCQUNuQyxNQUFNO1lBQ04sS0FBSyxJQUFJO2dCQUNMLElBQUksQ0FBQyxPQUFPLEdBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDakQsT0FBTyxDQUFDLENBQUM7UUFDakIsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLEdBQUMsSUFBSSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEIsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQUksQ0FBQyxLQUFZO1FBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBGb3JtdWxhIHtcclxuICAgIGZvcm11bGE6c3RyaW5nO1xyXG4gICAgY3VycmVudF9udW1iZXI6bnVtYmVyID0gMDtcclxuICAgIHByZXZfbnVtYmVyOm51bWJlciA9IDA7XHJcbiAgICBzdGFjazpzdHJpbmdbXSA9IFtdO1xyXG4gICAgc3RhcnQ6Ym9vbGVhbiA9IGZhbHNlOyBcclxuICAgIGRvdHRlZDpib29sZWFuID0gZmFsc2U7IC8vIGlucHV0IG51bWJlciBoYXZpbmcgZG90XHJcbiAgICBpc19vcGVyYW5kOmJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHJhZGlhbnM6Ym9vbGVhbiA9IHRydWU7XHJcbiAgICBvcGVyYXRpb246c3RyaW5nID0gJyc7XHJcbiAgICBtZW1vcnk6bnVtYmVyID0gMDtcclxuICAgIGluX21lbW9yeTpib29sZWFuID0gZmFsc2U7XHJcbiAgICBicmFja2V0OmJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHNlY29uZFNjcmVlbjpib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoZm9ybXVsYTpzdHJpbmc9JycpIHtcclxuICAgICAgICB0aGlzLmZvcm11bGE9Zm9ybXVsYTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybXVsYTtcclxuICAgIH1cclxuXHJcbiAgICBwYXJzZSh2YWx1ZTpzdHJpbmcpOm51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHBhcnNlRmxvYXQodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEN1cnJlbnROdW1iZXIoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyc2UodGhpcy5mb3JtdWxhKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRSYWRpYW5zKHN3aXRjaGVyOmJvb2xlYW4pOmJvb2xlYW4ge1xyXG4gICAgICAgIHRoaXMucmFkaWFucz1zd2l0Y2hlcjtcclxuICAgICAgICByZXR1cm4gdGhpcy5yYWRpYW5zO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBjbGVhcigpOnN0cmluZyB7XHJcbiAgICAgICAgdGhpcy5mb3JtdWxhID0gJzAnO1xyXG5cclxuICAgICAgICB0aGlzLmRvdHRlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaXNfb3BlcmFuZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMub3BlcmF0aW9uID0gJyc7XHJcbiAgICAgICAgdGhpcy5zdGFydCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc3RhY2sgPSBbXTtcclxuICAgICAgICB0aGlzLmJyYWNrZXQgPSBmYWxzZTtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtdWxhO1xyXG4gICAgfVxyXG5cclxuICAgIGNsZWFyTWVtb3J5KCkge1xyXG4gICAgICAgIHRoaXMubWVtb3J5ID0gMDtcclxuICAgICAgICB0aGlzLmluX21lbW9yeSA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHN1bVRvTWVtb3J5KCkge1xyXG4gICAgICAgIGxldCB2YWx1ZT10aGlzLmdldEN1cnJlbnROdW1iZXIoKTtcclxuICAgICAgICB0aGlzLm1lbW9yeSArPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmluX21lbW9yeSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zdGFydCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgZGVkdWN0VG9NZW1vcnkoKSB7XHJcbiAgICAgICAgbGV0IHZhbHVlPXRoaXMuZ2V0Q3VycmVudE51bWJlcigpO1xyXG4gICAgICAgIHRoaXMubWVtb3J5IC09IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuaW5fbWVtb3J5ID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnN0YXJ0ID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZWFkTWVtb3J5KCk6c3RyaW5nIHtcclxuICAgICAgICB0aGlzLmZvcm11bGE9dGhpcy5tZW1vcnkudG9TdHJpbmcoKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtdWxhO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZEJyYWNrZXQodmFsdWU6c3RyaW5nKTp2b2lkIHtcclxuICAgICAgICAvLyBicmFja2V0cyBjYW4gYmUgc2V0IG9ubHkgaWYgd2UgaGF2ZSBub3Qgc2V0IHRoZW0gYmVmb3JlIGFuZCB3ZSBzZXQgb3BlcmFuZCAoaWYgd2Ugc2V0IGJyYWNrZXRzIGZpcnN0IC0gaXQgd2lsbCBub3QgbWFrZSBzZW5zZSlcclxuICAgICAgICBpZiAodmFsdWUgPT0gJygnICYmIHRoaXMuYnJhY2tldCA9PSBmYWxzZSAmJiB0aGlzLmlzX29wZXJhbmQgPT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLnN0YWNrLnB1c2godmFsdWUpO1xyXG4gICAgICAgICAgICB0aGlzLmJyYWNrZXQgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmlzX29wZXJhbmQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHZhbHVlID09ICcpJyAmJiB0aGlzLmJyYWNrZXQgPT0gdHJ1ZSAmJiB0aGlzLmlzX29wZXJhbmQgIT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmJyYWNrZXQgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5zdGFjay5wdXNoKHRoaXMuZm9ybXVsYSk7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhY2sucHVzaCgnKScpO1xyXG4gICAgICAgICAgICB0aGlzLmlzX29wZXJhbmQgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5zdGFydCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybXVsYT1ldmFsKHRoaXMuc3RhY2suam9pbignJykpLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhY2s9W3RoaXMuZm9ybXVsYV07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNldE9wZXJhdGlvbihvcGVyYW5kOnN0cmluZyk6dm9pZCB7XHJcbiAgICAgICAgdGhpcy5vcGVyYXRpb249b3BlcmFuZDtcclxuICAgICAgICAvLyBJZiBvcGVyYXRvciBhbHJlYWR5IHNldCAtIG5vdGhpbmcgZG9pbmdcclxuICAgICAgICBpZiAodGhpcy5pc19vcGVyYW5kKSB7XHJcbiAgICAgICAgICAgIHRoaXMub3BlcmF0aW9uID0gb3BlcmFuZDtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaXNfb3BlcmFuZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zdGFjay5wdXNoKHRoaXMuZm9ybXVsYSk7XHJcbiAgICAgICAgdGhpcy5zdGFjay5wdXNoKHRoaXMub3BlcmF0aW9uKTtcclxuICAgICAgICB0aGlzLnN0YXJ0PXRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgY2FsY3VsYXRlKCk6bnVtYmVyIHtcclxuICAgICAgICBsZXQgcmVzdWx0Om51bWJlcjtcclxuICAgICAgICBpZiAodGhpcy5zdGFjay5sZW5ndGg8MykgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMuaXNfb3BlcmFuZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY3VycmVudF9udW1iZXI9dGhpcy5wYXJzZSh0aGlzLnN0YWNrLnBvcCgpKTtcclxuICAgICAgICB0aGlzLm9wZXJhdGlvbj10aGlzLnN0YWNrLnBvcCgpO1xyXG4gICAgICAgIHRoaXMucHJldl9udW1iZXI9dGhpcy5wYXJzZSh0aGlzLnN0YWNrLnBvcCgpKTtcclxuICAgICAgICBpZiAoIXRoaXMucHJldl9udW1iZXIpIHJldHVybiAwO1xyXG5cclxuICAgICAgICBzd2l0Y2ggKHRoaXMub3BlcmF0aW9uKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJysnOlxyXG4gICAgICAgICAgICAgICAgcmVzdWx0PXRoaXMucHJldl9udW1iZXIrdGhpcy5jdXJyZW50X251bWJlcjtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvdyhyZXN1bHQpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJy0nOlxyXG4gICAgICAgICAgICAgICAgcmVzdWx0PXRoaXMucHJldl9udW1iZXItdGhpcy5jdXJyZW50X251bWJlcjtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvdyhyZXN1bHQpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJyonOlxyXG4gICAgICAgICAgICAgICAgcmVzdWx0PXRoaXMucHJldl9udW1iZXIqdGhpcy5jdXJyZW50X251bWJlcjtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvdyhyZXN1bHQpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJy8nOlxyXG4gICAgICAgICAgICAgICAgcmVzdWx0PXRoaXMucHJldl9udW1iZXIvdGhpcy5jdXJyZW50X251bWJlcjtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvdyhyZXN1bHQpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ3NxcnQnOlxyXG4gICAgICAgICAgICAgICAgcmVzdWx0PU1hdGgucG93KHRoaXMucHJldl9udW1iZXIsMS90aGlzLmN1cnJlbnRfbnVtYmVyKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvdyhyZXN1bHQpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ3Bvdyc6XHJcbiAgICAgICAgICAgICAgICByZXN1bHQ9TWF0aC5wb3codGhpcy5wcmV2X251bWJlcix0aGlzLmN1cnJlbnRfbnVtYmVyKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvdyhyZXN1bHQpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ3l4JzpcclxuICAgICAgICAgICAgICAgIHJlc3VsdCA9IE1hdGgucG93KHRoaXMuY3VycmVudF9udW1iZXIsIHRoaXMucHJldl9udW1iZXIpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93KHJlc3VsdCk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnbG9nJzpcclxuICAgICAgICAgICAgICAgIHJlc3VsdCA9IE1hdGgubG9nKHRoaXMucHJldl9udW1iZXIpIC8gTWF0aC5sb2codGhpcy5jdXJyZW50X251bWJlcik7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuY3VycmVudF9udW1iZXI9dGhpcy5wYXJzZSh0aGlzLmZvcm11bGEpO1xyXG5cclxuICAgICAgICB0aGlzLnN0YXJ0PXRydWU7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgYWRkVmFsdWUodmFsdWU6c3RyaW5nLHN0YXJ0OmJvb2xlYW4pOnN0cmluZyB7XHJcbiAgICAgICAgaWYgKHN0YXJ0IHx8IHRoaXMuc3RhcnQgfHwgKHRoaXMuZG90dGVkID09IGZhbHNlICYmIHRoaXMuZm9ybXVsYSA9PSAnMCcgJiYgdmFsdWUgIT0gJy4nKSkge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm11bGE9Jyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc3RhcnQ9c3RhcnQ7XHJcbiAgICAgICAgaWYgKHZhbHVlPT0nLicpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuZG90dGVkPT10cnVlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mb3JtdWxhOyAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmRvdHRlZD10cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZvcm11bGErPXZhbHVlO1xyXG4gICAgICAgIHRoaXMuaXNfb3BlcmFuZCA9IGZhbHNlO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm11bGE7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlU3ltYm9sKCk6dm9pZCB7XHJcbiAgICAgICAgbGV0IGxlbj10aGlzLmZvcm11bGEubGVuZ3RoO1xyXG4gICAgICAgIGxldCBsYXN0X3N5bWJvbD10aGlzLmZvcm11bGEuc3Vic3RyaW5nKGxlbiAtIDEsbGVuKTtcclxuICAgICAgICBpZiAobGFzdF9zeW1ib2wgPT0gJy4nKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZG90dGVkPWZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZvcm11bGE9dGhpcy5mb3JtdWxhLnNsaWNlKDAsLTEpO1xyXG4gICAgfVxyXG5cclxuICAgIHNpbmdsZXRvbihvcGVyYW5kOnN0cmluZyxkYXRhOmFueSk6bnVtYmVyIHtcclxuICAgICAgICBsZXQgcmVzdWx0Om51bWJlcj0wO1xyXG4gICAgICAgIGxldCByYWQ6bnVtYmVyPTA7XHJcbiAgICAgICAgbGV0IGdyYWQ9MTgwL01hdGguUEk7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50X251bWJlcj1wYXJzZUZsb2F0KHRoaXMuZm9ybXVsYSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgc3dpdGNoIChvcGVyYW5kKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ2ludmVydCc6XHJcbiAgICAgICAgICAgICAgICByZXN1bHQ9dGhpcy5jdXJyZW50X251bWJlcipkYXRhO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnc3FydCc6XHJcbiAgICAgICAgICAgICAgICByZXN1bHQ9TWF0aC5zcXJ0KHRoaXMuY3VycmVudF9udW1iZXIpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnc3FydDMnOlxyXG4gICAgICAgICAgICAgICAgcmVzdWx0PU1hdGgucG93KHRoaXMuY3VycmVudF9udW1iZXIsMS8zKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ2xuJzpcclxuICAgICAgICAgICAgICAgIHJlc3VsdD1NYXRoLmxvZyh0aGlzLmN1cnJlbnRfbnVtYmVyKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ2xnJzpcclxuICAgICAgICAgICAgICAgIHJlc3VsdD1NYXRoLmxvZyh0aGlzLmN1cnJlbnRfbnVtYmVyKS9NYXRoLmxvZyhkYXRhKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ3Bvd19iYXNlJzpcclxuICAgICAgICAgICAgICAgIGxldCBiYXNlPWRhdGE9PSdlJyA/IE1hdGguRSA6IGRhdGE7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQ9TWF0aC5wb3coYmFzZSx0aGlzLmN1cnJlbnRfbnVtYmVyKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ3Bvdyc6XHJcbiAgICAgICAgICAgICAgICBsZXQgc3RlcD1wYXJzZUZsb2F0KGRhdGEpO1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0PU1hdGgucG93KHRoaXMuY3VycmVudF9udW1iZXIsc3RlcCk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdkaXYnOlxyXG4gICAgICAgICAgICAgICAgcmVzdWx0PTEvdGhpcy5jdXJyZW50X251bWJlcjtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ3Npbic6XHJcbiAgICAgICAgICAgICAgICByYWQ9KHRoaXMucmFkaWFucykgPyB0aGlzLmN1cnJlbnRfbnVtYmVyIDogdGhpcy5jdXJyZW50X251bWJlci9ncmFkO1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0PU1hdGguc2luKHJhZCk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdjb3MnOlxyXG4gICAgICAgICAgICAgICAgcmFkPSh0aGlzLnJhZGlhbnMpID8gdGhpcy5jdXJyZW50X251bWJlciA6IHRoaXMuY3VycmVudF9udW1iZXIvZ3JhZDtcclxuICAgICAgICAgICAgICAgIHJlc3VsdD1NYXRoLmNvcyhyYWQpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAndGFuJzpcclxuICAgICAgICAgICAgICAgIHJhZD0odGhpcy5yYWRpYW5zKSA/IHRoaXMuY3VycmVudF9udW1iZXIgOiB0aGlzLmN1cnJlbnRfbnVtYmVyL2dyYWQ7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQ9TWF0aC50YW4ocmFkKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ3NpbmgnOlxyXG4gICAgICAgICAgICAgICAgcmFkPSh0aGlzLnJhZGlhbnMpID8gdGhpcy5jdXJyZW50X251bWJlciA6IHRoaXMuY3VycmVudF9udW1iZXIvZ3JhZDtcclxuICAgICAgICAgICAgICAgIHJlc3VsdD0oTWF0aC5leHAocmFkKS1NYXRoLmV4cCgtcmFkKSkvMjtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ2Nvc2gnOlxyXG4gICAgICAgICAgICAgICAgcmFkPSh0aGlzLnJhZGlhbnMpID8gdGhpcy5jdXJyZW50X251bWJlciA6IHRoaXMuY3VycmVudF9udW1iZXIvZ3JhZDtcclxuICAgICAgICAgICAgICAgIHJlc3VsdD0oTWF0aC5leHAocmFkKStNYXRoLmV4cCgtcmFkKSkvMjtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ3RhbmgnOlxyXG4gICAgICAgICAgICAgICAgcmFkPSh0aGlzLnJhZGlhbnMpID8gdGhpcy5jdXJyZW50X251bWJlciA6IHRoaXMuY3VycmVudF9udW1iZXIvZ3JhZDtcclxuICAgICAgICAgICAgICAgIHJlc3VsdD0oTWF0aC5leHAocmFkKS1NYXRoLmV4cCgtcmFkKSkvKE1hdGguZXhwKHJhZCkrTWF0aC5leHAoLXJhZCkpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnYXNpbic6XHJcbiAgICAgICAgICAgICAgICByZXN1bHQ9TWF0aC5hc2luKHRoaXMuY3VycmVudF9udW1iZXIpO1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0PSh0aGlzLnJhZGlhbnMpID8gcmVzdWx0IDogcmVzdWx0KmdyYWQ7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdhY29zJzpcclxuICAgICAgICAgICAgICAgIHJlc3VsdD1NYXRoLmFjb3ModGhpcy5jdXJyZW50X251bWJlcik7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQ9KHRoaXMucmFkaWFucykgPyByZXN1bHQgOiByZXN1bHQqZ3JhZDtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ2F0YW4nOlxyXG4gICAgICAgICAgICAgICAgcmVzdWx0PU1hdGguYXRhbih0aGlzLmN1cnJlbnRfbnVtYmVyKTtcclxuICAgICAgICAgICAgICAgIHJlc3VsdD0odGhpcy5yYWRpYW5zKSA/IHJlc3VsdCA6IHJlc3VsdCpncmFkO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnYXNpbmgnOlxyXG4gICAgICAgICAgICAgICAgcmVzdWx0PU1hdGguYXNpbmgodGhpcy5jdXJyZW50X251bWJlcik7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQ9KHRoaXMucmFkaWFucykgPyByZXN1bHQgOiByZXN1bHQqZ3JhZDtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ2Fjb3NoJzpcclxuICAgICAgICAgICAgICAgIHJlc3VsdD1NYXRoLmFjb3NoKHRoaXMuY3VycmVudF9udW1iZXIpO1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0PSh0aGlzLnJhZGlhbnMpID8gcmVzdWx0IDogcmVzdWx0KmdyYWQ7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdhdGFuaCc6XHJcbiAgICAgICAgICAgICAgICByZXN1bHQ9TWF0aC5hdGFuaCh0aGlzLmN1cnJlbnRfbnVtYmVyKTtcclxuICAgICAgICAgICAgICAgIHJlc3VsdD0odGhpcy5yYWRpYW5zKSA/IHJlc3VsdCA6IHJlc3VsdCpncmFkO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAncmFuZCc6XHJcbiAgICAgICAgICAgICAgICByZXN1bHQ9TWF0aC5yYW5kb20oKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ2ZhY3RvcmlhbCc6XHJcbiAgICAgICAgICAgICAgICBsZXQgbj1NYXRoLmNlaWwodGhpcy5jdXJyZW50X251bWJlcik7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQ9MTtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGk9MTtpPD1uO2krKykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCo9aTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ3BlcmNlbnQnOlxyXG4gICAgICAgICAgICAgICAgcmVzdWx0PXRoaXMuY3VycmVudF9udW1iZXIvMTAwO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnZWUnOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtdWxhPXRoaXMuY3VycmVudF9udW1iZXIudG9FeHBvbmVudGlhbCgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnN0YXJ0PXRydWU7XHJcbiAgICAgICAgdGhpcy5zaG93KHJlc3VsdCk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBzaG93KHZhbHVlOm51bWJlcik6c3RyaW5nIHtcclxuICAgICAgICB0aGlzLmZvcm11bGE9dmFsdWUudG9TdHJpbmcoKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtdWxhO1xyXG4gICAgfVxyXG59Il19
|