vcomply-workflow-engine 3.5.3 → 3.5.4
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/esm2022/lib/add-multiple-responsibility/add-multiple-responsibility.component.mjs +897 -0
- package/esm2022/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.mjs +204 -0
- package/esm2022/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.mjs +1569 -0
- package/esm2022/lib/add-multiple-risk/add-multiple-risk.component.mjs +774 -0
- package/esm2022/lib/configurations.mjs +6 -0
- package/esm2022/lib/confirmation-alert/confirmation-alert.component.mjs +28 -0
- package/esm2022/lib/constants/link-responsibility.constants.mjs +9 -0
- package/esm2022/lib/constants/time.constants.mjs +3 -0
- package/esm2022/lib/create-documents/create-documents.component.mjs +145 -0
- package/esm2022/lib/formgroup/cs-checkbox/cs-checkbox.component.mjs +36 -0
- package/esm2022/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.mjs +35 -0
- package/esm2022/lib/formgroup/cs-radio/cs-radio.component.mjs +34 -0
- package/esm2022/lib/formgroup/cs-radio-group/cs-radio-group.component.mjs +14 -0
- package/esm2022/lib/formgroup/cs-select/cs-select.component.mjs +95 -0
- package/esm2022/lib/formgroup/cs-switch/cs-switch.component.mjs +31 -0
- package/esm2022/lib/formgroup/formgroup.module.mjs +56 -0
- package/esm2022/lib/formgroup/pipes/pascal.pipe.mjs +19 -0
- package/esm2022/lib/formgroup/select/cs-option/cs-option.component.mjs +42 -0
- package/esm2022/lib/formgroup/select/cs-select/cs-select.component.mjs +106 -0
- package/esm2022/lib/formgroup/select/select.module.mjs +21 -0
- package/esm2022/lib/formgroup/select/select.service.mjs +48 -0
- package/esm2022/lib/interfaces/categoryList.mjs +2 -0
- package/esm2022/lib/interfaces/confirmation-alert.mjs +2 -0
- package/esm2022/lib/interfaces/issue-data.mjs +2 -0
- package/esm2022/lib/log-an-issue/log-an-issue.component.mjs +1212 -0
- package/esm2022/lib/more-option/more-option.component.mjs +790 -0
- package/esm2022/lib/pipes/data-type.pipe.mjs +16 -0
- package/esm2022/lib/pipes/dom-sanitizer.pipe.mjs +24 -0
- package/esm2022/lib/pipes/filter.pipe.mjs +24 -0
- package/esm2022/lib/pipes/is-read-more.pipe.mjs +21 -0
- package/esm2022/lib/pipes/list-mapper.pipe.mjs +21 -0
- package/esm2022/lib/pipes/pipes.module.mjs +67 -0
- package/esm2022/lib/pipes/search.pipe.mjs +37 -0
- package/esm2022/lib/pipes/space-breaker.pipe.mjs +21 -0
- package/esm2022/lib/pipes/uncategorized-filter.pipe.mjs +21 -0
- package/esm2022/lib/pipes/user-filter.pipe.mjs +30 -0
- package/esm2022/lib/services/bulk-upload.service.mjs +44 -0
- package/esm2022/lib/services/common.service.mjs +41 -0
- package/esm2022/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.mjs +265 -0
- package/esm2022/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.mjs +73 -0
- package/esm2022/lib/sharedComponents/approval-workflow/approval-workflow.component.mjs +83 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.mjs +347 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.mjs +75 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.mjs +33 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.mjs +124 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.mjs +154 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/build.module.mjs +111 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.mjs +37 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.mjs +74 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.mjs +18 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.mjs +37 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.mjs +15 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.mjs +37 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.mjs +28 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.mjs +56 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.mjs +179 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/errorInterface/error.mjs +2 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/errorInterface/question.mjs +2 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/errorInterface/validateStructure.mjs +2 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic/logic.component.mjs +104 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.mjs +26 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.mjs +56 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.mjs +33 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.mjs +17 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.mjs +26 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.mjs +101 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.mjs +24 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/move/move.component.mjs +103 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.mjs +23 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe.mjs +22 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe.mjs +27 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe.mjs +21 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe.mjs +17 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe.mjs +21 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.mjs +28 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.mjs +49 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.mjs +30 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.mjs +21 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.mjs +17 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.mjs +31 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.mjs +28 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.mjs +28 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.mjs +78 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview.module.mjs +152 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.mjs +19 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.mjs +252 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.mjs +35 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.mjs +61 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.mjs +163 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.mjs +118 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.mjs +23 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.mjs +97 -0
- package/esm2022/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.mjs +493 -0
- package/esm2022/lib/sharedComponents/assessment-editor/create-assessment.module.mjs +154 -0
- package/esm2022/lib/sharedComponents/assessment-editor/services/editor.service.mjs +635 -0
- package/esm2022/lib/sharedComponents/assessment-editor/services/result-criteria.service.mjs +48 -0
- package/esm2022/lib/sharedComponents/assessment-editor/services/validator.service.mjs +546 -0
- package/esm2022/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.mjs +15 -0
- package/esm2022/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.mjs +15 -0
- package/esm2022/lib/sharedComponents/assessment-list/assessment-list.component.mjs +207 -0
- package/esm2022/lib/sharedComponents/assessment-list/service/assessment.interface.mjs +2 -0
- package/esm2022/lib/sharedComponents/assessment-list/service/assessment.service.mjs +31 -0
- package/esm2022/lib/sharedComponents/assessment-preview/assessment-preview.module.mjs +113 -0
- package/esm2022/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.mjs +33 -0
- package/esm2022/lib/sharedComponents/assessment-preview/date-time/date-time.component.mjs +53 -0
- package/esm2022/lib/sharedComponents/assessment-preview/description-preview/description-preview.component.mjs +24 -0
- package/esm2022/lib/sharedComponents/assessment-preview/device/device.component.mjs +21 -0
- package/esm2022/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.mjs +22 -0
- package/esm2022/lib/sharedComponents/assessment-preview/page-header/page-header.component.mjs +21 -0
- package/esm2022/lib/sharedComponents/assessment-preview/pipes/get-section-order.pipe.mjs +24 -0
- package/esm2022/lib/sharedComponents/assessment-preview/preview/preview.component.mjs +62 -0
- package/esm2022/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.mjs +22 -0
- package/esm2022/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.mjs +22 -0
- package/esm2022/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.mjs +33 -0
- package/esm2022/lib/sharedComponents/assessment-preview/section-details/section-details.component.mjs +20 -0
- package/esm2022/lib/sharedComponents/assessment-preview/select-question/select-question.component.mjs +35 -0
- package/esm2022/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.mjs +21 -0
- package/esm2022/lib/sharedComponents/assessment-preview/welcome/welcome.component.mjs +17 -0
- package/esm2022/lib/sharedComponents/audit-category-list/audit-category-list.component.mjs +61 -0
- package/esm2022/lib/sharedComponents/audit-category-list/audit-category.model.mjs +2 -0
- package/esm2022/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.mjs +72 -0
- package/esm2022/lib/sharedComponents/bulk-view/bulk-view.component.mjs +75 -0
- package/esm2022/lib/sharedComponents/category-list/category-list.component.mjs +84 -0
- package/esm2022/lib/sharedComponents/category-multiselect/category-multi-select.component.mjs +166 -0
- package/esm2022/lib/sharedComponents/checkbox-list/checkbox-list.component.mjs +92 -0
- package/esm2022/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.mjs +315 -0
- package/esm2022/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.mjs +25 -0
- package/esm2022/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.mjs +149 -0
- package/esm2022/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.mjs +48 -0
- package/esm2022/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.mjs +77 -0
- package/esm2022/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.mjs +197 -0
- package/esm2022/lib/sharedComponents/directive/autofocus.directive.mjs +22 -0
- package/esm2022/lib/sharedComponents/directive/conditional-focus.directive.mjs +35 -0
- package/esm2022/lib/sharedComponents/directive/drag-drop.directive.mjs +52 -0
- package/esm2022/lib/sharedComponents/directive/input-trim.directive.mjs +21 -0
- package/esm2022/lib/sharedComponents/directive/scroll-in-view.directive.mjs +35 -0
- package/esm2022/lib/sharedComponents/document-section/document-section.component.mjs +184 -0
- package/esm2022/lib/sharedComponents/floating-bar/floating-bar.component.mjs +122 -0
- package/esm2022/lib/sharedComponents/floating-bar/floating-bar.module.mjs +20 -0
- package/esm2022/lib/sharedComponents/format-and-evidence/format-and-evidence.component.mjs +308 -0
- package/esm2022/lib/sharedComponents/framework-list/framework-integration-interfaces.mjs +2 -0
- package/esm2022/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.mjs +38 -0
- package/esm2022/lib/sharedComponents/framework-list/framework-list.component.mjs +429 -0
- package/esm2022/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.mjs +43 -0
- package/esm2022/lib/sharedComponents/framework-list/framework-table-loader/framework-table-loader.component.mjs +15 -0
- package/esm2022/lib/sharedComponents/framework-list/parent-table/parent-table.component.mjs +95 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.mjs +297 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.mjs +218 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.mjs +36 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-container/frequency-container.component.mjs +303 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.mjs +152 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-due-date/due-date.contant.mjs +21 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.mjs +83 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.mjs +199 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-lifecycle/lifecycl.constant.mjs +12 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.mjs +223 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.mjs +170 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.mjs +189 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.mjs +75 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.mjs +214 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.mjs +36 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-random/frequency-random.component.mjs +253 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.mjs +213 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-top/frequency-top.component.mjs +133 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.mjs +200 -0
- package/esm2022/lib/sharedComponents/frequency/frequency.service.mjs +573 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.mjs +300 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.mjs +216 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.mjs +29 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.mjs +296 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.mjs +110 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.mjs +227 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.mjs +213 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.mjs +212 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.mjs +33 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.mjs +128 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.mjs +197 -0
- package/esm2022/lib/sharedComponents/group-users-list/group-users-list.component.mjs +259 -0
- package/esm2022/lib/sharedComponents/link-program/link-program/link-program.component.mjs +472 -0
- package/esm2022/lib/sharedComponents/link-program/link-program/program-list-model.mjs +2 -0
- package/esm2022/lib/sharedComponents/link-program/program-integration-interfaces.mjs +2 -0
- package/esm2022/lib/sharedComponents/link-program/restapi.service.mjs +149 -0
- package/esm2022/lib/sharedComponents/link-program/tooltip-validation.pipe.mjs +28 -0
- package/esm2022/lib/sharedComponents/link-responsibility/link-responsibility.component.mjs +221 -0
- package/esm2022/lib/sharedComponents/list-loader/list-loader.component.mjs +15 -0
- package/esm2022/lib/sharedComponents/list-loader/list-loader.module.mjs +18 -0
- package/esm2022/lib/sharedComponents/no-data/no-data.component.mjs +36 -0
- package/esm2022/lib/sharedComponents/no-data/no-data.module.mjs +18 -0
- package/esm2022/lib/sharedComponents/owner-list/owner-list.component.mjs +176 -0
- package/esm2022/lib/sharedComponents/pipes/array-filter.pipe.mjs +18 -0
- package/esm2022/lib/sharedComponents/pipes/filterPipe.mjs +30 -0
- package/esm2022/lib/sharedComponents/pipes/rcTreeToolTip.pipe.mjs +26 -0
- package/esm2022/lib/sharedComponents/pipes/short-merge.pipe.mjs +24 -0
- package/esm2022/lib/sharedComponents/pipes/spaceTrim.pipe.mjs +18 -0
- package/esm2022/lib/sharedComponents/pipes/within-data.pipe.mjs +21 -0
- package/esm2022/lib/sharedComponents/policy-access/policy-access.component.mjs +88 -0
- package/esm2022/lib/sharedComponents/program-listing/program-list-model.mjs +2 -0
- package/esm2022/lib/sharedComponents/program-listing/program-listing.component.mjs +739 -0
- package/esm2022/lib/sharedComponents/radio-list/radio-list.component.mjs +82 -0
- package/esm2022/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/radio-list-with-pagination/radio-list.component.mjs +128 -0
- package/esm2022/lib/sharedComponents/responsibility-centers-list/rc-list.module.mjs +40 -0
- package/esm2022/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.mjs +125 -0
- package/esm2022/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.mjs +81 -0
- package/esm2022/lib/sharedComponents/review-frequency/review-frequency.component.mjs +44 -0
- package/esm2022/lib/sharedComponents/risk-classification/risk-classification.component.mjs +102 -0
- package/esm2022/lib/sharedComponents/roles-list/roles-list.component.mjs +30 -0
- package/esm2022/lib/sharedComponents/select-approvers/select-approvers.component.mjs +78 -0
- package/esm2022/lib/sharedComponents/table-card-loader/table-card-loader.component.mjs +15 -0
- package/esm2022/lib/sharedComponents/users-radio-list/users-radio-list.component.mjs +83 -0
- package/esm2022/lib/sharedComponents/v-loader/loader/loader.component.mjs +21 -0
- package/esm2022/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.mjs +21 -0
- package/esm2022/lib/sharedComponents/v-loader/v-loader.module.mjs +19 -0
- package/esm2022/lib/ui-kit/action-dialog/action-dialog.module.mjs +21 -0
- package/esm2022/lib/ui-kit/action-dialog/active/active.component.mjs +32 -0
- package/esm2022/lib/ui-kit/action-dialog/deactivate/deactivate.component.mjs +33 -0
- package/esm2022/lib/ui-kit/action-dialog/delete/delete.component.mjs +26 -0
- package/esm2022/lib/ui-kit/action-dialog/duplicate/duplicate.component.mjs +28 -0
- package/esm2022/lib/ui-kit/click-outside/click-outside.directive.mjs +29 -0
- package/esm2022/lib/ui-kit/click-outside/click-outside.module.mjs +22 -0
- package/esm2022/lib/ui-kit/dialog/dialog-config.mjs +3 -0
- package/esm2022/lib/ui-kit/dialog/dialog-injector.mjs +14 -0
- package/esm2022/lib/ui-kit/dialog/dialog-ref.mjs +11 -0
- package/esm2022/lib/ui-kit/dialog/dialog.component.mjs +88 -0
- package/esm2022/lib/ui-kit/dialog/dialog.module.mjs +20 -0
- package/esm2022/lib/ui-kit/dialog/dialog.service.mjs +58 -0
- package/esm2022/lib/ui-kit/dialog/insertion.directive.mjs +16 -0
- package/esm2022/lib/ui-kit/directive/directive.module.mjs +24 -0
- package/esm2022/lib/ui-kit/directive/stop-propagation.directive.mjs +20 -0
- package/esm2022/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.mjs +15 -0
- package/esm2022/lib/ui-kit/editor-loader/editor-loader.module.mjs +22 -0
- package/esm2022/lib/ui-kit/format-html.pipe.mjs +20 -0
- package/esm2022/lib/ui-kit/formgroup/click-outside.directive.mjs +29 -0
- package/esm2022/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.mjs +31 -0
- package/esm2022/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.mjs +35 -0
- package/esm2022/lib/ui-kit/formgroup/cs-radio/cs-radio.component.mjs +30 -0
- package/esm2022/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.mjs +14 -0
- package/esm2022/lib/ui-kit/formgroup/cs-select/cs-select.component.mjs +100 -0
- package/esm2022/lib/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +32 -0
- package/esm2022/lib/ui-kit/formgroup/formgroup.module.mjs +60 -0
- package/esm2022/lib/ui-kit/formgroup/pipes/pascal.pipe.mjs +19 -0
- package/esm2022/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.mjs +24 -0
- package/esm2022/lib/ui-kit/line-loader/line-loader.component.mjs +15 -0
- package/esm2022/lib/ui-kit/line-loader/line-loader.module.mjs +18 -0
- package/esm2022/lib/ui-kit/no-data/no-data.component.mjs +45 -0
- package/esm2022/lib/ui-kit/no-data/no-data.module.mjs +18 -0
- package/esm2022/lib/ui-kit/pagination/pagination/pagination.component.mjs +116 -0
- package/esm2022/lib/ui-kit/pagination/pagination.module.mjs +28 -0
- package/esm2022/lib/ui-kit/popover/popover-event.directive.mjs +28 -0
- package/esm2022/lib/ui-kit/popover/popover-longpress.directive.mjs +44 -0
- package/esm2022/lib/ui-kit/popover/popover.component.mjs +138 -0
- package/esm2022/lib/ui-kit/popover/popover.directive.mjs +97 -0
- package/esm2022/lib/ui-kit/popover/popover.module.mjs +23 -0
- package/esm2022/lib/ui-kit/popover/popover.service.mjs +15 -0
- package/esm2022/lib/ui-kit/popover-hover/popover-hover.component.mjs +109 -0
- package/esm2022/lib/ui-kit/popover-hover/popover-hover.directive.mjs +34 -0
- package/esm2022/lib/ui-kit/popover-hover/popover-hover.module.mjs +31 -0
- package/esm2022/lib/ui-kit/popover-hover/popover-hover.service.mjs +14 -0
- package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.component.mjs +43 -0
- package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.module.mjs +18 -0
- package/esm2022/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.mjs +43 -0
- package/esm2022/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.module.mjs +18 -0
- package/esm2022/lib/ui-kit/snack-bar/snack-bar.component.mjs +51 -0
- package/esm2022/lib/ui-kit/snack-bar/snack-bar.module.mjs +18 -0
- package/esm2022/lib/ui-kit/snack-bar/snack-bar.service.mjs +32 -0
- package/esm2022/lib/ui-kit/time-picker/constants/constant.mjs +5 -0
- package/esm2022/lib/ui-kit/time-picker/time-picker/time-picker.component.mjs +220 -0
- package/esm2022/lib/ui-kit/time-picker/time-picker.module.mjs +24 -0
- package/esm2022/lib/ui-kit/tooltip/tooltip.directive.mjs +156 -0
- package/esm2022/lib/ui-kit/tooltip/tooltip.module.mjs +18 -0
- package/esm2022/lib/workflow/grc-object/grc-object-container/grc-object-container.component.mjs +831 -0
- package/esm2022/lib/workflow/grc-object/grc-object.module.mjs +64 -0
- package/esm2022/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.mjs +95 -0
- package/esm2022/lib/workflow/shared/components/attributes/attributes-dropdown/attributes-dropdown.component.mjs +110 -0
- package/esm2022/lib/workflow/shared/components/attributes/attributes-text-box/attributes-text-box.component.mjs +118 -0
- package/esm2022/lib/workflow/shared/components/attributes/attributes.component.mjs +100 -0
- package/esm2022/lib/workflow/shared/components/attributes/date-picker/date-picker.component.mjs +116 -0
- package/esm2022/lib/workflow/shared/components/edit-mode/edit-mode.component.mjs +216 -0
- package/esm2022/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.mjs +119 -0
- package/esm2022/lib/workflow/shared/components/grc-object-list/grc-object-list.component.mjs +198 -0
- package/esm2022/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.mjs +202 -0
- package/esm2022/lib/workflow/shared/components/grc-risk-listing/grc-risk-listing.component.mjs +191 -0
- package/esm2022/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.mjs +86 -0
- package/esm2022/lib/workflow/shared/components/list-popup/list-popup.component.mjs +209 -0
- package/esm2022/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.mjs +411 -0
- package/esm2022/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.mjs +241 -0
- package/esm2022/lib/workflow/shared/components/table-card/table-card.component.mjs +32 -0
- package/esm2022/lib/workflow/shared/components/text-field/text-field.component.mjs +143 -0
- package/esm2022/lib/workflow/shared/components/text-field-icon/text-field-icon.component.mjs +56 -0
- package/esm2022/lib/workflow/shared/constants/cdn-link.constant.mjs +11 -0
- package/esm2022/lib/workflow/shared/constants/field-text.constant.mjs +17 -0
- package/esm2022/lib/workflow/shared/constants/grcObject.constant.mjs +88 -0
- package/esm2022/lib/workflow/shared/constants/link-responsibility.constant.mjs +19 -0
- package/esm2022/lib/workflow/shared/constants/message.contstant.mjs +5 -0
- package/esm2022/lib/workflow/shared/constants/pagination-limits.constant.mjs +6 -0
- package/esm2022/lib/workflow/shared/constants/svg-link.constant.mjs +4 -0
- package/esm2022/lib/workflow/shared/constants/validation-message.constant.mjs +8 -0
- package/esm2022/lib/workflow/shared/interfaces/add-grc.mjs +2 -0
- package/esm2022/lib/workflow/shared/services/grc.service.mjs +310 -0
- package/esm2022/lib/workflow/shared/workflow-pipes/get-selected-value.pipe.mjs +30 -0
- package/esm2022/lib/workflow/shared/workflow-pipes/is-attributes-valid.pipe.mjs +48 -0
- package/esm2022/lib/workflow/shared/workflow-pipes/unique-responsibilities.pipe.mjs +24 -0
- package/esm2022/lib/workflow/shared/workflow-pipes/workflow-pipes.module.mjs +32 -0
- package/esm2022/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.mjs +668 -0
- package/esm2022/lib/workflow-assessment/workflow-assessment.component.mjs +254 -0
- package/esm2022/lib/workflow-compliance/workflow-compliance.component.mjs +3913 -0
- package/esm2022/lib/workflow-engine-container/workflow-engine-container.component.mjs +734 -0
- package/esm2022/lib/workflow-engine.module.mjs +467 -0
- package/esm2022/lib/workflow-engine.service.mjs +14 -0
- package/esm2022/lib/workflow-interfaces/create-policy-form.mjs +2 -0
- package/esm2022/lib/workflow-pagination/workflow-pagination.component.mjs +116 -0
- package/esm2022/lib/workflow-policy/workflow-policy.component.mjs +1875 -0
- package/esm2022/lib/workflow-program/constants.mjs +51 -0
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.mjs +15 -0
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.mjs +292 -0
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.mjs +15 -0
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment.service.mjs +43 -0
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/selected-assessment.pipe.mjs +22 -0
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.mjs +116 -0
- package/esm2022/lib/workflow-program/create-program-ui/checkbox/checkbox.component.mjs +39 -0
- package/esm2022/lib/workflow-program/create-program-ui/create-program-ui.module.mjs +194 -0
- package/esm2022/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.mjs +44 -0
- package/esm2022/lib/workflow-program/create-program-ui/custom-field/custom-field.component.mjs +82 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.mjs +267 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/framework.service.mjs +44 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.mjs +15 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/category-all-select.pipe.mjs +23 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/search.pipe.mjs +23 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/sub-cat-indeter.pipe.mjs +26 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/tooltip-message.pipe.mjs +68 -0
- package/esm2022/lib/workflow-program/create-program-ui/directives/input-trim.directive.mjs +21 -0
- package/esm2022/lib/workflow-program/create-program-ui/file-pill/file-pill.component.mjs +27 -0
- package/esm2022/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.mjs +106 -0
- package/esm2022/lib/workflow-program/create-program-ui/form-field/form-field.component.mjs +16 -0
- package/esm2022/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.mjs +30 -0
- package/esm2022/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.mjs +166 -0
- package/esm2022/lib/workflow-program/create-program-ui/pagination/pagination.module.mjs +28 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/array-concat.pipe.mjs +16 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/assessment-resolver.pipe.mjs +27 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/filter.pipe.mjs +30 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.mjs +16 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/pager.pipe.mjs +21 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.mjs +17 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/search.pipe.mjs +23 -0
- package/esm2022/lib/workflow-program/create-program-ui/role-list/loader/loader.component.mjs +15 -0
- package/esm2022/lib/workflow-program/create-program-ui/role-list/role-list.component.mjs +240 -0
- package/esm2022/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.mjs +43 -0
- package/esm2022/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.mjs +15 -0
- package/esm2022/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.mjs +434 -0
- package/esm2022/lib/workflow-program/workflow-program.component.mjs +1550 -0
- package/esm2022/lib/workflow-risk/workflow-risk.component.mjs +1642 -0
- package/esm2022/lib/workflow-services/add-risk.service.mjs +150 -0
- package/esm2022/lib/workflow-services/assessment.service.mjs +117 -0
- package/esm2022/lib/workflow-services/auth.service.mjs +229 -0
- package/esm2022/lib/workflow-services/frequency.service.mjs +173 -0
- package/esm2022/lib/workflow-services/log-issue.service.mjs +360 -0
- package/esm2022/lib/workflow-services/policy.service.mjs +163 -0
- package/esm2022/lib/workflow-services/programs.service.mjs +319 -0
- package/esm2022/lib/workflow-services/responsibility.service.mjs +293 -0
- package/esm2022/lib/workflow-services/token-decoder.service.mjs +38 -0
- package/esm2022/lib/workflow-services/ui-kit.service.mjs +17 -0
- package/esm2022/lib/workflow-survey-form/workflow-survey-form.component.mjs +26 -0
- package/esm2022/public-api.mjs +8 -0
- package/esm2022/vcomply-workflow-engine.mjs +5 -0
- package/fesm2022/vcomply-workflow-engine.mjs +44351 -0
- package/fesm2022/vcomply-workflow-engine.mjs.map +1 -0
- package/lib/add-multiple-responsibility/add-multiple-responsibility.component.d.ts +1 -1
- package/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.d.ts +1 -1
- package/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.d.ts +1 -1
- package/lib/add-multiple-risk/add-multiple-risk.component.d.ts +1 -1
- package/lib/confirmation-alert/confirmation-alert.component.d.ts +1 -1
- package/lib/create-documents/create-documents.component.d.ts +1 -1
- package/lib/formgroup/cs-checkbox/cs-checkbox.component.d.ts +1 -1
- package/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts +1 -1
- package/lib/formgroup/cs-radio/cs-radio.component.d.ts +1 -1
- package/lib/formgroup/cs-radio-group/cs-radio-group.component.d.ts +1 -1
- package/lib/formgroup/cs-select/cs-select.component.d.ts +1 -1
- package/lib/formgroup/cs-switch/cs-switch.component.d.ts +1 -1
- package/lib/formgroup/select/cs-option/cs-option.component.d.ts +1 -1
- package/lib/formgroup/select/cs-select/cs-select.component.d.ts +1 -1
- package/lib/log-an-issue/log-an-issue.component.d.ts +7 -3
- package/lib/more-option/more-option.component.d.ts +1 -1
- package/lib/services/common.service.d.ts +14 -0
- package/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.d.ts +1 -1
- package/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.d.ts +1 -1
- package/lib/sharedComponents/approval-workflow/approval-workflow.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic/logic.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.d.ts +7 -3
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/move/move.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.d.ts +8 -5
- package/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-list/assessment-list.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/date-time/date-time.component.d.ts +8 -5
- package/lib/sharedComponents/assessment-preview/description-preview/description-preview.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/device/device.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/page-header/page-header.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/preview/preview.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/section-details/section-details.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/select-question/select-question.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/welcome/welcome.component.d.ts +1 -1
- package/lib/sharedComponents/audit-category-list/audit-category-list.component.d.ts +1 -1
- package/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.d.ts +1 -1
- package/lib/sharedComponents/bulk-view/bulk-view.component.d.ts +1 -1
- package/lib/sharedComponents/category-list/category-list.component.d.ts +1 -1
- package/lib/sharedComponents/category-multiselect/category-multi-select.component.d.ts +1 -1
- package/lib/sharedComponents/checkbox-list/checkbox-list.component.d.ts +1 -1
- package/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.d.ts +1 -1
- package/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.d.ts +1 -1
- package/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.d.ts +6 -2
- package/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.d.ts +1 -1
- package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.d.ts +1 -1
- package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.d.ts +1 -1
- package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.d.ts +1 -1
- package/lib/sharedComponents/directive/autofocus.directive.d.ts +1 -1
- package/lib/sharedComponents/directive/conditional-focus.directive.d.ts +1 -1
- package/lib/sharedComponents/directive/drag-drop.directive.d.ts +1 -1
- package/lib/sharedComponents/directive/input-trim.directive.d.ts +1 -1
- package/lib/sharedComponents/directive/scroll-in-view.directive.d.ts +1 -1
- package/lib/sharedComponents/document-section/document-section.component.d.ts +1 -1
- package/lib/sharedComponents/floating-bar/floating-bar.component.d.ts +1 -1
- package/lib/sharedComponents/format-and-evidence/format-and-evidence.component.d.ts +1 -1
- package/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.d.ts +1 -1
- package/lib/sharedComponents/framework-list/framework-list.component.d.ts +1 -1
- package/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.d.ts +1 -1
- package/lib/sharedComponents/framework-list/framework-table-loader/framework-table-loader.component.d.ts +1 -1
- package/lib/sharedComponents/framework-list/parent-table/parent-table.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-container/frequency-container.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.d.ts +10 -4
- package/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.d.ts +9 -5
- package/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-random/frequency-random.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-top/frequency-top.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency.service.d.ts +1 -0
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.d.ts +10 -5
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.d.ts +1 -1
- package/lib/sharedComponents/group-users-list/group-users-list.component.d.ts +1 -1
- package/lib/sharedComponents/link-program/link-program/link-program.component.d.ts +1 -1
- package/lib/sharedComponents/link-responsibility/link-responsibility.component.d.ts +1 -1
- package/lib/sharedComponents/list-loader/list-loader.component.d.ts +1 -1
- package/lib/sharedComponents/no-data/no-data.component.d.ts +1 -1
- package/lib/sharedComponents/owner-list/owner-list.component.d.ts +1 -1
- package/lib/sharedComponents/policy-access/policy-access.component.d.ts +1 -1
- package/lib/sharedComponents/program-listing/program-listing.component.d.ts +1 -1
- package/lib/sharedComponents/radio-list/radio-list.component.d.ts +1 -1
- package/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.d.ts +1 -1
- package/lib/sharedComponents/radio-list-with-pagination/radio-list.component.d.ts +1 -1
- package/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.d.ts +1 -1
- package/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.d.ts +1 -1
- package/lib/sharedComponents/review-frequency/review-frequency.component.d.ts +1 -1
- package/lib/sharedComponents/risk-classification/risk-classification.component.d.ts +1 -1
- package/lib/sharedComponents/roles-list/roles-list.component.d.ts +1 -1
- package/lib/sharedComponents/select-approvers/select-approvers.component.d.ts +1 -1
- package/lib/sharedComponents/table-card-loader/table-card-loader.component.d.ts +1 -1
- package/lib/sharedComponents/users-radio-list/users-radio-list.component.d.ts +1 -1
- package/lib/sharedComponents/v-loader/loader/loader.component.d.ts +1 -1
- package/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.d.ts +1 -1
- package/lib/ui-kit/action-dialog/active/active.component.d.ts +1 -1
- package/lib/ui-kit/action-dialog/deactivate/deactivate.component.d.ts +1 -1
- package/lib/ui-kit/action-dialog/delete/delete.component.d.ts +1 -1
- package/lib/ui-kit/action-dialog/duplicate/duplicate.component.d.ts +1 -1
- package/lib/ui-kit/click-outside/click-outside.directive.d.ts +1 -1
- package/lib/ui-kit/dialog/dialog-injector.d.ts +2 -2
- package/lib/ui-kit/dialog/dialog.component.d.ts +6 -4
- package/lib/ui-kit/dialog/dialog.service.d.ts +3 -3
- package/lib/ui-kit/dialog/insertion.directive.d.ts +1 -1
- package/lib/ui-kit/directive/stop-propagation.directive.d.ts +1 -1
- package/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/click-outside.directive.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +1 -1
- package/lib/ui-kit/line-loader/line-loader.component.d.ts +1 -1
- package/lib/ui-kit/no-data/no-data.component.d.ts +1 -1
- package/lib/ui-kit/pagination/pagination/pagination.component.d.ts +1 -1
- package/lib/ui-kit/popover/popover-event.directive.d.ts +1 -1
- package/lib/ui-kit/popover/popover-longpress.directive.d.ts +1 -1
- package/lib/ui-kit/popover/popover.component.d.ts +1 -1
- package/lib/ui-kit/popover/popover.directive.d.ts +1 -1
- package/lib/ui-kit/popover-hover/popover-hover.component.d.ts +1 -1
- package/lib/ui-kit/popover-hover/popover-hover.directive.d.ts +1 -1
- package/lib/ui-kit/smiley-dialog/smiley-dialog.component.d.ts +1 -1
- package/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.d.ts +1 -1
- package/lib/ui-kit/snack-bar/snack-bar.component.d.ts +1 -1
- package/lib/ui-kit/time-picker/time-picker/time-picker.component.d.ts +1 -1
- package/lib/ui-kit/tooltip/tooltip.directive.d.ts +1 -1
- package/lib/workflow/grc-object/grc-object-container/grc-object-container.component.d.ts +1 -1
- package/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.d.ts +1 -1
- package/lib/workflow/shared/components/attributes/attributes-dropdown/attributes-dropdown.component.d.ts +1 -1
- package/lib/workflow/shared/components/attributes/attributes-text-box/attributes-text-box.component.d.ts +1 -1
- package/lib/workflow/shared/components/attributes/attributes.component.d.ts +1 -1
- package/lib/workflow/shared/components/attributes/date-picker/date-picker.component.d.ts +1 -1
- package/lib/workflow/shared/components/edit-mode/edit-mode.component.d.ts +1 -1
- package/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.d.ts +1 -1
- package/lib/workflow/shared/components/grc-object-list/grc-object-list.component.d.ts +1 -1
- package/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.d.ts +1 -1
- package/lib/workflow/shared/components/grc-risk-listing/grc-risk-listing.component.d.ts +1 -1
- package/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.d.ts +1 -1
- package/lib/workflow/shared/components/list-popup/list-popup.component.d.ts +1 -1
- package/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.d.ts +1 -1
- package/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.d.ts +1 -1
- package/lib/workflow/shared/components/table-card/table-card.component.d.ts +1 -1
- package/lib/workflow/shared/components/text-field/text-field.component.d.ts +1 -1
- package/lib/workflow/shared/components/text-field-icon/text-field-icon.component.d.ts +1 -1
- package/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.d.ts +1 -1
- package/lib/workflow-assessment/workflow-assessment.component.d.ts +1 -1
- package/lib/workflow-compliance/workflow-compliance.component.d.ts +1 -1
- package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +1 -1
- package/lib/workflow-pagination/workflow-pagination.component.d.ts +1 -1
- package/lib/workflow-policy/workflow-policy.component.d.ts +7 -3
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/checkbox/checkbox.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/custom-field/custom-field.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/directives/input-trim.directive.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/file-pill/file-pill.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/form-field/form-field.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/role-list/loader/loader.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/role-list/role-list.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.d.ts +1 -1
- package/lib/workflow-program/workflow-program.component.d.ts +1 -1
- package/lib/workflow-risk/workflow-risk.component.d.ts +1 -1
- package/lib/workflow-services/auth.service.d.ts +0 -1
- package/lib/workflow-services/log-issue.service.d.ts +1 -0
- package/lib/workflow-survey-form/workflow-survey-form.component.d.ts +1 -1
- package/package.json +5 -12
package/esm2022/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.mjs
ADDED
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
import { DatePipe } from '@angular/common';
|
|
2
|
+
import { Component } from '@angular/core';
|
|
3
|
+
import { cloneDeep, some } from 'lodash';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../../../ui-kit/dialog/dialog-config";
|
|
6
|
+
import * as i2 from "../../../../ui-kit/dialog/dialog-ref";
|
|
7
|
+
import * as i3 from "@angular/common";
|
|
8
|
+
import * as i4 from "../../../../ui-kit/tooltip/tooltip.directive";
|
|
9
|
+
import * as i5 from "../../../../ui-kit/popover/popover.component";
|
|
10
|
+
import * as i6 from "../../../../ui-kit/popover/popover.directive";
|
|
11
|
+
import * as i7 from "../../../../formgroup/cs-radio/cs-radio.component";
|
|
12
|
+
import * as i8 from "../logic-questions/logic-multiple-choice/logic-multiple-choice.component";
|
|
13
|
+
import * as i9 from "../logic-questions/logic-checkbox/logic-checkbox.component";
|
|
14
|
+
import * as i10 from "../logic-questions/logic-image-choice/logic-image-choice.component";
|
|
15
|
+
import * as i11 from "../logic-questions/logic-star-rating/logic-star-rating.component";
|
|
16
|
+
import * as i12 from "../logic-questions/logic-single-textbox/logic-single-textbox.component";
|
|
17
|
+
import * as i13 from "../logic-questions/logic-comment-box/logic-comment-box.component";
|
|
18
|
+
import * as i14 from "../logic-questions/logic-dropdown/logic-dropdown.component";
|
|
19
|
+
import * as i15 from "../logic-questions/logic-ranking/logic-ranking.component";
|
|
20
|
+
import * as i16 from "../logic-questions/logic-slider/logic-slider.component";
|
|
21
|
+
import * as i17 from "../logic-questions/logic-multiple-textbox/logic-multiple-textbox.component";
|
|
22
|
+
import * as i18 from "../logic-questions/logic-date-time/logic-date-time.component";
|
|
23
|
+
import * as i19 from "../pipes/question-filter.pipe";
|
|
24
|
+
import * as i20 from "../pipes/question-parser.pipe";
|
|
25
|
+
export class AddLogicComponent {
|
|
26
|
+
constructor(config, dialog) {
|
|
27
|
+
this.config = config;
|
|
28
|
+
this.dialog = dialog;
|
|
29
|
+
this.selectedValue = '';
|
|
30
|
+
this.selectedLogicQuestionType = '';
|
|
31
|
+
this.checkboxValue = [];
|
|
32
|
+
this.disableLogicDropdown = true;
|
|
33
|
+
this.operatorMap = [];
|
|
34
|
+
this.showError = { isVisible: false, errorMessage: '' };
|
|
35
|
+
this.logic = {
|
|
36
|
+
andOr: 'and',
|
|
37
|
+
questionName: '',
|
|
38
|
+
operator: '',
|
|
39
|
+
value: this.selectedValue,
|
|
40
|
+
questionTitle: ''
|
|
41
|
+
};
|
|
42
|
+
this.operatorVal = {
|
|
43
|
+
'=': 'Equals',
|
|
44
|
+
'!=': 'Not Equals',
|
|
45
|
+
'>': 'Greater than',
|
|
46
|
+
'<': 'Less than',
|
|
47
|
+
'>=': 'Greater or equals',
|
|
48
|
+
'<=': 'Less or equals',
|
|
49
|
+
answered: 'If answered',
|
|
50
|
+
before: 'Before',
|
|
51
|
+
after: 'After',
|
|
52
|
+
beforeEquals: 'Before or equals',
|
|
53
|
+
afterEquals: 'After or equals'
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
ngOnInit() {
|
|
57
|
+
this.currentQuestion = cloneDeep(this.config.data.currentQuestion);
|
|
58
|
+
this.getCurrentPageQuestions();
|
|
59
|
+
this.editorMode = this.config.data.editorMode;
|
|
60
|
+
this.questionIndex = this.config.data.questionIndex;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Fetches the questions on currently active page
|
|
64
|
+
*/
|
|
65
|
+
getCurrentPageQuestions() {
|
|
66
|
+
this.questionsArray = cloneDeep(this.config.data.allQuestions);
|
|
67
|
+
this.questionsArray = this.questionsArray.filter((question) => question.page === this.currentQuestion.page);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Sets the index and title of current question
|
|
71
|
+
* @param index Current index of question
|
|
72
|
+
* @param questionTitle Title of question at index i
|
|
73
|
+
*/
|
|
74
|
+
setIndex(selectedQuestionName) {
|
|
75
|
+
let index = this.questionsArray.findIndex((x) => x.name === selectedQuestionName);
|
|
76
|
+
this.showError.isVisible = false;
|
|
77
|
+
this.selectedLogicQuestion = index;
|
|
78
|
+
this.logic.operator = '';
|
|
79
|
+
this.selectedValue = '';
|
|
80
|
+
this.logic.questionTitle = this.questionsArray[index].title;
|
|
81
|
+
this.selectedLogicQuestionType = this.questionsArray[this.selectedLogicQuestion].type;
|
|
82
|
+
this.setValuesForLogicDropdown();
|
|
83
|
+
}
|
|
84
|
+
setOperator(evt) {
|
|
85
|
+
this.logic.operator = evt;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* populates the logic dropdown based on question type
|
|
89
|
+
*/
|
|
90
|
+
setValuesForLogicDropdown() {
|
|
91
|
+
let defaultOperatorMap = [{ key: '=', value: 'Equals' },
|
|
92
|
+
{ key: '!=', value: 'Not Equals' },
|
|
93
|
+
{ key: 'answered', value: 'If answered' }];
|
|
94
|
+
const type = this.questionsArray[this.selectedLogicQuestion].type;
|
|
95
|
+
if (['star-rating', 'slider'].includes(type)) {
|
|
96
|
+
defaultOperatorMap.push({ key: '>', value: 'Greater than' }, { key: '<', value: 'Less than' }, { key: '>=', value: 'Greater or equals' }, { key: '<=', value: 'Less or equals' });
|
|
97
|
+
}
|
|
98
|
+
else if (['file-upload', 'matrix-dropdown', 'rating-scale', 'multiple-textbox'].includes(type)) {
|
|
99
|
+
defaultOperatorMap = [{ key: 'answered', value: 'If answered' }];
|
|
100
|
+
}
|
|
101
|
+
else if (['date-time'].includes(type)) {
|
|
102
|
+
defaultOperatorMap.push({ key: 'before', value: 'Before' }, { key: 'after', value: 'After' }, { key: 'beforeEquals', value: 'Before or equals' }, { key: 'afterEquals', value: 'After or equals' });
|
|
103
|
+
}
|
|
104
|
+
this.operatorMap = [...defaultOperatorMap];
|
|
105
|
+
this.disableLogicDropdown = false;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Operation on selecting value from checkbox
|
|
109
|
+
* @param event Event triggered on selecting value of checkbox
|
|
110
|
+
* @param title Title of the checkbox option selected
|
|
111
|
+
*/
|
|
112
|
+
checkboxStatus(evt) {
|
|
113
|
+
this.selectedValue = '';
|
|
114
|
+
if (evt.checked === true) {
|
|
115
|
+
this.checkboxValue.push(evt.choice.title);
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
this.checkboxValue = this.checkboxValue.filter(value => evt.choice.title !== value);
|
|
119
|
+
}
|
|
120
|
+
this.selectedValue = this.checkboxValue;
|
|
121
|
+
}
|
|
122
|
+
multipleChoiceChecked(evt) {
|
|
123
|
+
this.setSelectedValue(evt.choice.title);
|
|
124
|
+
}
|
|
125
|
+
rankingStatus(choice) {
|
|
126
|
+
this.questionsArray[this.selectedLogicQuestion].choices = choice;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Operation on entering value to multiple text boxes
|
|
130
|
+
*/
|
|
131
|
+
setMultiplTextStatus() {
|
|
132
|
+
this.selectedValue = '';
|
|
133
|
+
this.questionsArray[this.selectedLogicQuestion].choices.forEach((choice) => {
|
|
134
|
+
if (choice.value !== '') {
|
|
135
|
+
this.selectedValue += choice.title + ':' + choice.value;
|
|
136
|
+
}
|
|
137
|
+
if (this.selectedValue !== '') {
|
|
138
|
+
this.selectedValue += ';';
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Adds the logic on click of add logic button
|
|
144
|
+
*/
|
|
145
|
+
addLogic() {
|
|
146
|
+
if (this.questionsArray[this.selectedLogicQuestion].type === 'ranking') {
|
|
147
|
+
this.populateSelectedValueForRanking();
|
|
148
|
+
}
|
|
149
|
+
else if (this.questionsArray[this.selectedLogicQuestion].type === 'multiple-textbox') {
|
|
150
|
+
this.setMultiplTextStatus();
|
|
151
|
+
}
|
|
152
|
+
else if (this.questionsArray[this.selectedLogicQuestion].type === 'date-time') {
|
|
153
|
+
this.setValueForDateTimeType();
|
|
154
|
+
}
|
|
155
|
+
this.showError.isVisible = false;
|
|
156
|
+
this.logic.value = this.selectedValue;
|
|
157
|
+
if (this.logic.operator === 'answered' || this.selectedValue !== '') {
|
|
158
|
+
if (!some([this.currentQuestion.visibilityLogic], this.logic) &&
|
|
159
|
+
(this.selectedValue !== 'answered') && this.logic.questionName !== '' && this.logic.operator !== '') {
|
|
160
|
+
if (this.checkForLogicValue()) {
|
|
161
|
+
this.currentQuestion.visibilityLogic.push(this.logic);
|
|
162
|
+
this.checkboxValue = [];
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
this.showError.isVisible = true;
|
|
168
|
+
if (this.selectedLogicQuestionType == 'single-textbox' || this.selectedLogicQuestionType == 'comment-box') {
|
|
169
|
+
this.showError.errorMessage = 'Please enter a value to add logic';
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
this.showError.errorMessage = 'Please select a value to add logic';
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
if (this.currentQuestion.visibilityLogic.length > 0) {
|
|
176
|
+
this.currentQuestion.isRequired = false;
|
|
177
|
+
}
|
|
178
|
+
if (!this.showError.isVisible) {
|
|
179
|
+
this.resetLogic();
|
|
180
|
+
this.closePopup('ADD_LOGIC');
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
closePopup(mode) {
|
|
184
|
+
this.dialog.close({ action: mode, logic: this.currentQuestion.visibilityLogic });
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Populates logic selected value for ranking type question
|
|
188
|
+
*/
|
|
189
|
+
populateSelectedValueForRanking() {
|
|
190
|
+
const rankingArray = [];
|
|
191
|
+
this.questionsArray[this.selectedLogicQuestion].choices.forEach((choice) => {
|
|
192
|
+
rankingArray.push(choice.title);
|
|
193
|
+
});
|
|
194
|
+
this.selectedValue = rankingArray.join();
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Validation for logic value (Validation: Previously value is entered or not for the particular question type)
|
|
198
|
+
*/
|
|
199
|
+
checkForLogicValue() {
|
|
200
|
+
const logicValues = [];
|
|
201
|
+
this.currentQuestion.visibilityLogic.forEach((logic) => {
|
|
202
|
+
if (this.logic.questionTitle === logic.questionTitle) {
|
|
203
|
+
logicValues.push(logic.value);
|
|
204
|
+
}
|
|
205
|
+
});
|
|
206
|
+
if (!logicValues.includes(this.logic.value)) {
|
|
207
|
+
logicValues.push(this.logic.value);
|
|
208
|
+
this.showError.isVisible = false;
|
|
209
|
+
return true;
|
|
210
|
+
}
|
|
211
|
+
this.showError.errorMessage = 'Logic already applied for this value. Please select another value to apply logic';
|
|
212
|
+
this.showError.isVisible = true;
|
|
213
|
+
if (!this.showError.isVisible) {
|
|
214
|
+
this.resetLogic();
|
|
215
|
+
}
|
|
216
|
+
return false;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Deletes the logic having given index from visibility logic list
|
|
220
|
+
* @param index Index of selected logic
|
|
221
|
+
*/
|
|
222
|
+
deleteLogic(index) {
|
|
223
|
+
this.currentQuestion.visibilityLogic.splice(index, 1);
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Assigns the selected value to value that needs to be displayed to user
|
|
227
|
+
* @param selectedVal Value selected to be displayed
|
|
228
|
+
*/
|
|
229
|
+
setSelectedValue(selectedVal) {
|
|
230
|
+
this.showError.isVisible = false;
|
|
231
|
+
if (this.questionsArray[this.selectedLogicQuestion].type === 'date-time') {
|
|
232
|
+
this.setValueForDateTimeType();
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
this.selectedValue = selectedVal;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* For date/time assigns the selected value to value that needs to be displayed to user
|
|
240
|
+
*/
|
|
241
|
+
setValueForDateTimeType() {
|
|
242
|
+
this.selectedValue = '';
|
|
243
|
+
if (!this.questionsArray[this.selectedLogicQuestion].date.value &&
|
|
244
|
+
!this.questionsArray[this.selectedLogicQuestion].time.value) {
|
|
245
|
+
this.showError.isVisible = true;
|
|
246
|
+
this.showError.errorMessage = 'Please select a value to add logic';
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
if (!this.questionsArray[this.selectedLogicQuestion].date.value &&
|
|
250
|
+
this.questionsArray[this.selectedLogicQuestion].time.value) {
|
|
251
|
+
this.selectedValue = this.questionsArray[this.selectedLogicQuestion].time.title + ': ' +
|
|
252
|
+
this.questionsArray[this.selectedLogicQuestion].time.value;
|
|
253
|
+
}
|
|
254
|
+
else if (this.questionsArray[this.selectedLogicQuestion].date.value &&
|
|
255
|
+
!this.questionsArray[this.selectedLogicQuestion].time.value) {
|
|
256
|
+
this.selectedValue = this.questionsArray[this.selectedLogicQuestion].date.title + ': ' +
|
|
257
|
+
this.formateWithPipe(this.questionsArray[this.selectedLogicQuestion].date.value);
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
this.selectedValue = this.questionsArray[this.selectedLogicQuestion].date.title + ': ' +
|
|
261
|
+
this.formateWithPipe(this.questionsArray[this.selectedLogicQuestion].date.value) + ', ' +
|
|
262
|
+
this.questionsArray[this.selectedLogicQuestion].time.title + ': ' +
|
|
263
|
+
this.questionsArray[this.selectedLogicQuestion].time.value;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
if (this.questionsArray[this.selectedLogicQuestion].date.value) {
|
|
267
|
+
this.logic['date'] = this.formateBySlash(this.questionsArray[this.selectedLogicQuestion].date.value);
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
this.logic['date'] = '';
|
|
271
|
+
}
|
|
272
|
+
if (this.questionsArray[this.selectedLogicQuestion].time.value) {
|
|
273
|
+
this.logic['time'] = this.questionsArray[this.selectedLogicQuestion].time.value;
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
this.logic['time'] = '';
|
|
277
|
+
}
|
|
278
|
+
this.questionsArray[this.selectedLogicQuestion].date.value = '';
|
|
279
|
+
this.questionsArray[this.selectedLogicQuestion].time.value = '';
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Empties the selected value if the logic operator is 'answered'
|
|
283
|
+
* @param logicOperator Logic operator selected from logic dropdown
|
|
284
|
+
*/
|
|
285
|
+
onSelectLogic(logicOperator) {
|
|
286
|
+
if (logicOperator === 'answered') {
|
|
287
|
+
this.selectedValue = '';
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Empties/Resets the logic fields
|
|
292
|
+
*/
|
|
293
|
+
resetLogic() {
|
|
294
|
+
this.selectedLogicQuestionType = '';
|
|
295
|
+
this.selectedValue = '';
|
|
296
|
+
this.selectedLogicQuestion = null;
|
|
297
|
+
this.disableLogicDropdown = true;
|
|
298
|
+
this.operatorMap = [];
|
|
299
|
+
this.logic = {
|
|
300
|
+
andOr: 'and',
|
|
301
|
+
questionName: '',
|
|
302
|
+
operator: '',
|
|
303
|
+
questionTitle: '',
|
|
304
|
+
value: this.selectedValue
|
|
305
|
+
};
|
|
306
|
+
this.showError.isVisible = false;
|
|
307
|
+
this.showError.errorMessage = '';
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Assigns the selected star rating value to selected value and updates in main question array list
|
|
311
|
+
* @param selectedValueIndex Index of selected value
|
|
312
|
+
* @param questionIndex Index of current question
|
|
313
|
+
*/
|
|
314
|
+
captureStarValue(selectedValueIndex) {
|
|
315
|
+
this.questionsArray[this.selectedLogicQuestion].value = selectedValueIndex + 1;
|
|
316
|
+
this.selectedValue = selectedValueIndex + 1;
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* Converts the date to toLocaleDateString format
|
|
320
|
+
* @param date Date to be converted
|
|
321
|
+
*/
|
|
322
|
+
formatDate(date) {
|
|
323
|
+
return (new Date(date)).toLocaleDateString();
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Operation On drag/drop of option of ranking type question
|
|
327
|
+
* @param event Event triggered when option of ranking type question is dragged and dropped
|
|
328
|
+
*/
|
|
329
|
+
// drop(event: CdkDragDrop<string[]>) {
|
|
330
|
+
// moveItemInArray(this.questionsArray[this.selectedLogicQuestion].choices, event.previousIndex, event.currentIndex);
|
|
331
|
+
// }
|
|
332
|
+
formateWithPipe(date) {
|
|
333
|
+
var datePipe = new DatePipe('en-US');
|
|
334
|
+
return datePipe.transform(date, 'dd MMM yyyy');
|
|
335
|
+
}
|
|
336
|
+
formateBySlash(date) {
|
|
337
|
+
var datePipe = new DatePipe('en-US');
|
|
338
|
+
return datePipe.transform(date, 'yyyy-MM-ddTHH:mm:ss.SSS', '+0:00') + 'Z';
|
|
339
|
+
}
|
|
340
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddLogicComponent, deps: [{ token: i1.DialogConfig }, { token: i2.DialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
341
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AddLogicComponent, selector: "app-add-logic", ngImport: i0, template: "<div class=\"add-logic\">\r\n <div class=\"add-logic-head vx-d-flex vx-align-center vx-justify-between vx-pl-3 vx-pr-3 vx-mb-5\">\r\n <div class=\"heading vx-fs-14 vx-fw-500 vx-label-txt\">Add Logic & Display Conditions</div>\r\n <button class=\"close vx-p-0 vx-m-0 vx-d-flex vx-align-center\" (click)=\"closePopup('CLOSE')\"><i class=\"icons vx-fs-16 vx-label-txt\"></i></button>\r\n </div>\r\n <div class=\"add-logic-body\">\r\n <div class=\"question-heading vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-2 vx-pl-2\">QUESTION {{questionIndex+1}} <span class=\"vx-fs-16 vx-fw-400 vx-txt-red vx-ml-1\" *ngIf=\"currentQuestion.isRequired === true\">*</span></div>\r\n <div class=\"question-name vx-fs-16 vx-label-txt vx-lh-6 vx-pt-1 vx-pb-1 vx-mb-5\" [innerHTML]=\"currentQuestion?.title ? currentQuestion?.title:'Question'\">\r\n <i class=\"icons info vx-txt-blue vx-ml-2\" *ngIf=\"currentQuestion.hasComments\" [appTooltip]=\"currentQuestion.comments\" placement=\"bottom-right\" delay=\"0\" type=\"white\" [tooltipMandatory]=\"true\"></i></div>\r\n <div class=\"logic-condition vx-p-2 vx-pl-3 vx-pr-3 vx-mb-5\">\r\n <div class=\"heading vx-fs-14 vx-fw-500 vx-label-txt vx-mb-1\">Is visible when</div>\r\n <div class=\"details vx-fs-12 vx-paragraph-txt\">Use this to define display conditions for the questions in the assessment.</div>\r\n </div>\r\n <div class=\"label vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">SELECT QUESTION</div>\r\n <div class=\"select-box vx-d-flex vx-align-center vx-justify-between vx-pl-3 vx-pr-3 vx-mb-5\" appPopover (click)=\"selectQuestion.popover()\" placement=\"left\">\r\n <span class=\"name vx-fs-12 vx-paragraph-txt\" [appTooltip]=\"'Select a question'\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{questionsArray[selectedLogicQuestion]?.title | questionParser}}</span>\r\n <i class=\"icons vx-fs-10 vx-paragraph-txt\"></i>\r\n </div>\r\n <app-popover #selectQuestion>\r\n <div class=\"select-question-popover\">\r\n <ul class=\"vx-p-0 vx-m-0\">\r\n <li *ngFor=\"let data of questionsArray | questionFilter : currentQuestion.name\">\r\n <button class=\"vx-d-block vx-p-2 vx-m-0 vx-w-100\" (click)=\"logic.questionName = data?.name;setIndex(data?.name)\">\r\n <div class=\"value vx-fs-12 vx-paragraph-txt\" [appTooltip]=\"data?.title\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{data?.title}}</div>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <ng-container *ngIf=\"operatorMap?.length > 0\">\r\n <div class=\"label vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">LOGICAL OPERATOR</div>\r\n\r\n <div class=\"operator-item vx-mb-5\">\r\n <ul class=\"vx-d-flex vx-p-0 vx-m-0\">\r\n <li class=\"vx-d-flex vx-align-center vx-p-3 vx-mr-2\" *ngFor='let operator of operatorMap'>\r\n <app-cs-radio name=\"question.name\" (checkedEvent)=\"setOperator(operator.key)\"><span class=\"name vx-fs-11 vx-paragraph-txt vx-tt-uppercase\">{{operator.value}}</span></app-cs-radio>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"logic.questionName != '' && (logic.operator && logic.operator != 'answered') \">\r\n <div class=\"label vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">PLEASE SELECT THE VALUE</div>\r\n <app-logic-multiple-choice *ngIf=\"selectedLogicQuestionType=='multiple-choice'\" [question]=\"questionsArray[selectedLogicQuestion]\" (changeEvent)=\"multipleChoiceChecked($event)\"></app-logic-multiple-choice>\r\n <app-logic-checkbox *ngIf=\"selectedLogicQuestionType=='checkbox'\" [question]=\"questionsArray[selectedLogicQuestion]\" (changeEvent)=\"checkboxStatus($event)\"></app-logic-checkbox>\r\n <app-logic-image-choice *ngIf=\"false\"></app-logic-image-choice>\r\n <app-logic-star-rating *ngIf=\"false\"></app-logic-star-rating>\r\n <app-logic-single-textbox *ngIf=\"selectedLogicQuestionType=='single-textbox'\" [question]=\"questionsArray[selectedLogicQuestion]\" (changeEvent)=\"selectedValue = $event\"></app-logic-single-textbox>\r\n <app-logic-comment-box *ngIf=\"false\"></app-logic-comment-box>\r\n <app-logic-dropdown *ngIf=\"selectedLogicQuestionType=='dropdown'\" [question]=\"questionsArray[selectedLogicQuestion]\" (changeEvent)=\"multipleChoiceChecked($event)\"></app-logic-dropdown>\r\n <app-logic-ranking *ngIf=\"false\"></app-logic-ranking>\r\n <app-logic-slider *ngIf=\"false\"></app-logic-slider>\r\n <app-logic-multiple-textbox *ngIf=\"false\" ></app-logic-multiple-textbox>\r\n <app-logic-date-time *ngIf=\"selectedLogicQuestionType=='date-time'\" [question]=\"questionsArray[selectedLogicQuestion]\" (changeEvent)=\"multipleChoiceChecked($event)\"></app-logic-date-time>\r\n </ng-container>\r\n <div class=\"error-msg vx-fs-11 vx-txt-red\" *ngIf='showError.isVisible'>{{showError.errorMessage}}</div>\r\n </div>\r\n <div class=\"add-logic-footer vx-d-flex vx-align-center vx-justify-end vx-pl-3 vx-pr-3 vx-mt-5\">\r\n <button class=\"reset-btn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-pl-4 vx-pr-4 vx-m-0 vx-d-flex vx-align-center vx-justify-between\" (click)=\"resetLogic()\">RESET</button>\r\n <button class=\"logic-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-pl-4 vx-pr-4 vx-m-0 vx-ml-1 vx-d-flex vx-align-center vx-justify-between\" (click)=\"addLogic()\">ADD LOGIC</button>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .add-logic{background:#fff;border-radius:.25rem;width:80rem}::ng-deep .add-logic-head{background:#fbfbfb;border-bottom:1px solid #F1F1F1;border-radius:.25rem .25rem 0 0;height:2.75rem}::ng-deep .add-logic-head button.close{background:transparent;border:none;border-radius:0}::ng-deep .add-logic-body{height:28rem;padding-left:2rem;padding-right:2rem;overflow-y:auto}::ng-deep .add-logic-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .add-logic-body .question-heading{position:relative}::ng-deep .add-logic-body .question-heading:before{background:#4681ef;content:\"\";position:absolute;top:.4375rem;left:0;width:.125rem;height:.875rem}::ng-deep .add-logic-body .question-name i.info{cursor:pointer;position:relative;top:.125rem}::ng-deep .add-logic-body .logic-condition{background:#f8f8f8;border-radius:.25rem;position:relative}::ng-deep .add-logic-body .logic-condition:before{background:#4681ef;border-radius:.25rem;content:\"\";position:absolute;top:0;left:0;width:3px;height:100%}::ng-deep .add-logic-body .logic-condition .heading,::ng-deep .add-logic-body .logic-condition .details{padding-left:.125rem}::ng-deep .add-logic-body .select-box{border:1px solid #DBDBDB;border-radius:.25rem;height:2.5rem;cursor:pointer}::ng-deep .add-logic-body .select-box .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 3rem)}::ng-deep .add-logic-body .operator-item ul{list-style-type:none}::ng-deep .add-logic-body .operator-item ul li{border:1px solid #DBDBDB;border-radius:.25rem;height:2.5rem;width:100%}::ng-deep .add-logic-body .operator-item ul li:only-child,::ng-deep .add-logic-body .operator-item ul li:last-of-type{margin-right:0!important}::ng-deep .add-logic-body .operator-item ul li cs-radio{height:1.25rem;width:100%}::ng-deep .add-logic-body .operator-item ul li cs-radio .radio-item{width:100%!important}::ng-deep .add-logic-footer{background:#fbfbfb;border-top:1px solid #F1F1F1;border-radius:0 0 .25rem .25rem;height:2.75rem}::ng-deep .add-logic-footer button{border-radius:.125rem;height:1.75rem}::ng-deep .add-logic-footer button.reset-btn{background:#fff;border:1px solid #F1F1F1}::ng-deep .add-logic-footer button.logic-btn{background:#1e5dd3;border:none}.select-question-popover{background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:.25rem;width:71rem;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}.select-question-popover ul{list-style-type:none;max-height:12rem;overflow-y:auto}.select-question-popover ul::-webkit-scrollbar-track{background-color:transparent}.select-question-popover ul li{border-bottom:1px solid #F1F1F1}.select-question-popover ul li:only-child,.select-question-popover ul li:last-of-type{border-bottom:none}.select-question-popover ul li button{background:transparent;border:none;border-radius:0;text-align:left}.select-question-popover ul li button .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i5.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"] }, { kind: "directive", type: i6.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "component", type: i7.CsRadioComponent, selector: "app-cs-radio", inputs: ["disabled", "readonly", "name", "checked", "value", "oneLine"], outputs: ["checkedEvent"] }, { kind: "component", type: i8.LogicMultipleChoiceComponent, selector: "app-logic-multiple-choice", inputs: ["question"], outputs: ["changeEvent"] }, { kind: "component", type: i9.LogicCheckboxComponent, selector: "app-logic-checkbox", inputs: ["question"], outputs: ["changeEvent"] }, { kind: "component", type: i10.LogicImageChoiceComponent, selector: "app-logic-image-choice" }, { kind: "component", type: i11.LogicStarRatingComponent, selector: "app-logic-star-rating" }, { kind: "component", type: i12.LogicSingleTextboxComponent, selector: "app-logic-single-textbox", inputs: ["question"], outputs: ["changeEvent"] }, { kind: "component", type: i13.LogicCommentBoxComponent, selector: "app-logic-comment-box" }, { kind: "component", type: i14.LogicDropdownComponent, selector: "app-logic-dropdown", inputs: ["question"], outputs: ["changeEvent"] }, { kind: "component", type: i15.LogicRankingComponent, selector: "app-logic-ranking" }, { kind: "component", type: i16.LogicSliderComponent, selector: "app-logic-slider" }, { kind: "component", type: i17.LogicMultipleTextboxComponent, selector: "app-logic-multiple-textbox" }, { kind: "component", type: i18.LogicDateTimeComponent, selector: "app-logic-date-time", inputs: ["question"], outputs: ["changeEvent"] }, { kind: "pipe", type: i19.QuestionFilterPipe, name: "questionFilter" }, { kind: "pipe", type: i20.QuestionParserPipe, name: "questionParser" }] }); }
|
|
342
|
+
}
|
|
343
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddLogicComponent, decorators: [{
|
|
344
|
+
type: Component,
|
|
345
|
+
args: [{ selector: 'app-add-logic', template: "<div class=\"add-logic\">\r\n <div class=\"add-logic-head vx-d-flex vx-align-center vx-justify-between vx-pl-3 vx-pr-3 vx-mb-5\">\r\n <div class=\"heading vx-fs-14 vx-fw-500 vx-label-txt\">Add Logic & Display Conditions</div>\r\n <button class=\"close vx-p-0 vx-m-0 vx-d-flex vx-align-center\" (click)=\"closePopup('CLOSE')\"><i class=\"icons vx-fs-16 vx-label-txt\"></i></button>\r\n </div>\r\n <div class=\"add-logic-body\">\r\n <div class=\"question-heading vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-2 vx-pl-2\">QUESTION {{questionIndex+1}} <span class=\"vx-fs-16 vx-fw-400 vx-txt-red vx-ml-1\" *ngIf=\"currentQuestion.isRequired === true\">*</span></div>\r\n <div class=\"question-name vx-fs-16 vx-label-txt vx-lh-6 vx-pt-1 vx-pb-1 vx-mb-5\" [innerHTML]=\"currentQuestion?.title ? currentQuestion?.title:'Question'\">\r\n <i class=\"icons info vx-txt-blue vx-ml-2\" *ngIf=\"currentQuestion.hasComments\" [appTooltip]=\"currentQuestion.comments\" placement=\"bottom-right\" delay=\"0\" type=\"white\" [tooltipMandatory]=\"true\"></i></div>\r\n <div class=\"logic-condition vx-p-2 vx-pl-3 vx-pr-3 vx-mb-5\">\r\n <div class=\"heading vx-fs-14 vx-fw-500 vx-label-txt vx-mb-1\">Is visible when</div>\r\n <div class=\"details vx-fs-12 vx-paragraph-txt\">Use this to define display conditions for the questions in the assessment.</div>\r\n </div>\r\n <div class=\"label vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">SELECT QUESTION</div>\r\n <div class=\"select-box vx-d-flex vx-align-center vx-justify-between vx-pl-3 vx-pr-3 vx-mb-5\" appPopover (click)=\"selectQuestion.popover()\" placement=\"left\">\r\n <span class=\"name vx-fs-12 vx-paragraph-txt\" [appTooltip]=\"'Select a question'\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{questionsArray[selectedLogicQuestion]?.title | questionParser}}</span>\r\n <i class=\"icons vx-fs-10 vx-paragraph-txt\"></i>\r\n </div>\r\n <app-popover #selectQuestion>\r\n <div class=\"select-question-popover\">\r\n <ul class=\"vx-p-0 vx-m-0\">\r\n <li *ngFor=\"let data of questionsArray | questionFilter : currentQuestion.name\">\r\n <button class=\"vx-d-block vx-p-2 vx-m-0 vx-w-100\" (click)=\"logic.questionName = data?.name;setIndex(data?.name)\">\r\n <div class=\"value vx-fs-12 vx-paragraph-txt\" [appTooltip]=\"data?.title\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{data?.title}}</div>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <ng-container *ngIf=\"operatorMap?.length > 0\">\r\n <div class=\"label vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">LOGICAL OPERATOR</div>\r\n\r\n <div class=\"operator-item vx-mb-5\">\r\n <ul class=\"vx-d-flex vx-p-0 vx-m-0\">\r\n <li class=\"vx-d-flex vx-align-center vx-p-3 vx-mr-2\" *ngFor='let operator of operatorMap'>\r\n <app-cs-radio name=\"question.name\" (checkedEvent)=\"setOperator(operator.key)\"><span class=\"name vx-fs-11 vx-paragraph-txt vx-tt-uppercase\">{{operator.value}}</span></app-cs-radio>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"logic.questionName != '' && (logic.operator && logic.operator != 'answered') \">\r\n <div class=\"label vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">PLEASE SELECT THE VALUE</div>\r\n <app-logic-multiple-choice *ngIf=\"selectedLogicQuestionType=='multiple-choice'\" [question]=\"questionsArray[selectedLogicQuestion]\" (changeEvent)=\"multipleChoiceChecked($event)\"></app-logic-multiple-choice>\r\n <app-logic-checkbox *ngIf=\"selectedLogicQuestionType=='checkbox'\" [question]=\"questionsArray[selectedLogicQuestion]\" (changeEvent)=\"checkboxStatus($event)\"></app-logic-checkbox>\r\n <app-logic-image-choice *ngIf=\"false\"></app-logic-image-choice>\r\n <app-logic-star-rating *ngIf=\"false\"></app-logic-star-rating>\r\n <app-logic-single-textbox *ngIf=\"selectedLogicQuestionType=='single-textbox'\" [question]=\"questionsArray[selectedLogicQuestion]\" (changeEvent)=\"selectedValue = $event\"></app-logic-single-textbox>\r\n <app-logic-comment-box *ngIf=\"false\"></app-logic-comment-box>\r\n <app-logic-dropdown *ngIf=\"selectedLogicQuestionType=='dropdown'\" [question]=\"questionsArray[selectedLogicQuestion]\" (changeEvent)=\"multipleChoiceChecked($event)\"></app-logic-dropdown>\r\n <app-logic-ranking *ngIf=\"false\"></app-logic-ranking>\r\n <app-logic-slider *ngIf=\"false\"></app-logic-slider>\r\n <app-logic-multiple-textbox *ngIf=\"false\" ></app-logic-multiple-textbox>\r\n <app-logic-date-time *ngIf=\"selectedLogicQuestionType=='date-time'\" [question]=\"questionsArray[selectedLogicQuestion]\" (changeEvent)=\"multipleChoiceChecked($event)\"></app-logic-date-time>\r\n </ng-container>\r\n <div class=\"error-msg vx-fs-11 vx-txt-red\" *ngIf='showError.isVisible'>{{showError.errorMessage}}</div>\r\n </div>\r\n <div class=\"add-logic-footer vx-d-flex vx-align-center vx-justify-end vx-pl-3 vx-pr-3 vx-mt-5\">\r\n <button class=\"reset-btn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-pl-4 vx-pr-4 vx-m-0 vx-d-flex vx-align-center vx-justify-between\" (click)=\"resetLogic()\">RESET</button>\r\n <button class=\"logic-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-pl-4 vx-pr-4 vx-m-0 vx-ml-1 vx-d-flex vx-align-center vx-justify-between\" (click)=\"addLogic()\">ADD LOGIC</button>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .add-logic{background:#fff;border-radius:.25rem;width:80rem}::ng-deep .add-logic-head{background:#fbfbfb;border-bottom:1px solid #F1F1F1;border-radius:.25rem .25rem 0 0;height:2.75rem}::ng-deep .add-logic-head button.close{background:transparent;border:none;border-radius:0}::ng-deep .add-logic-body{height:28rem;padding-left:2rem;padding-right:2rem;overflow-y:auto}::ng-deep .add-logic-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .add-logic-body .question-heading{position:relative}::ng-deep .add-logic-body .question-heading:before{background:#4681ef;content:\"\";position:absolute;top:.4375rem;left:0;width:.125rem;height:.875rem}::ng-deep .add-logic-body .question-name i.info{cursor:pointer;position:relative;top:.125rem}::ng-deep .add-logic-body .logic-condition{background:#f8f8f8;border-radius:.25rem;position:relative}::ng-deep .add-logic-body .logic-condition:before{background:#4681ef;border-radius:.25rem;content:\"\";position:absolute;top:0;left:0;width:3px;height:100%}::ng-deep .add-logic-body .logic-condition .heading,::ng-deep .add-logic-body .logic-condition .details{padding-left:.125rem}::ng-deep .add-logic-body .select-box{border:1px solid #DBDBDB;border-radius:.25rem;height:2.5rem;cursor:pointer}::ng-deep .add-logic-body .select-box .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 3rem)}::ng-deep .add-logic-body .operator-item ul{list-style-type:none}::ng-deep .add-logic-body .operator-item ul li{border:1px solid #DBDBDB;border-radius:.25rem;height:2.5rem;width:100%}::ng-deep .add-logic-body .operator-item ul li:only-child,::ng-deep .add-logic-body .operator-item ul li:last-of-type{margin-right:0!important}::ng-deep .add-logic-body .operator-item ul li cs-radio{height:1.25rem;width:100%}::ng-deep .add-logic-body .operator-item ul li cs-radio .radio-item{width:100%!important}::ng-deep .add-logic-footer{background:#fbfbfb;border-top:1px solid #F1F1F1;border-radius:0 0 .25rem .25rem;height:2.75rem}::ng-deep .add-logic-footer button{border-radius:.125rem;height:1.75rem}::ng-deep .add-logic-footer button.reset-btn{background:#fff;border:1px solid #F1F1F1}::ng-deep .add-logic-footer button.logic-btn{background:#1e5dd3;border:none}.select-question-popover{background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:.25rem;width:71rem;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}.select-question-popover ul{list-style-type:none;max-height:12rem;overflow-y:auto}.select-question-popover ul::-webkit-scrollbar-track{background-color:transparent}.select-question-popover ul li{border-bottom:1px solid #F1F1F1}.select-question-popover ul li:only-child,.select-question-popover ul li:last-of-type{border-bottom:none}.select-question-popover ul li button{background:transparent;border:none;border-radius:0;text-align:left}.select-question-popover ul li button .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}\n"] }]
|
|
346
|
+
}], ctorParameters: function () { return [{ type: i1.DialogConfig }, { type: i2.DialogRef }]; } });
|
|
347
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxvZ2ljLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1lZGl0b3IvY29tcG9uZW50cy9hZGQtbG9naWMvYWRkLWxvZ2ljLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1lZGl0b3IvY29tcG9uZW50cy9hZGQtbG9naWMvYWRkLWxvZ2ljLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVXpDLE1BQU0sT0FBTyxpQkFBaUI7SUFpQzVCLFlBQW1CLE1BQW9CLEVBQVMsTUFBaUI7UUFBOUMsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQUFTLFdBQU0sR0FBTixNQUFNLENBQVc7UUE3QmpFLGtCQUFhLEdBQVEsRUFBRSxDQUFDO1FBRXhCLDhCQUF5QixHQUFHLEVBQUUsQ0FBQztRQUMvQixrQkFBYSxHQUFVLEVBQUUsQ0FBQztRQUMxQix5QkFBb0IsR0FBRyxJQUFJLENBQUM7UUFDNUIsZ0JBQVcsR0FBUSxFQUFFLENBQUM7UUFFdEIsY0FBUyxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFFbkQsVUFBSyxHQUFPO1lBQ1YsS0FBSyxFQUFFLEtBQUs7WUFDWixZQUFZLEVBQUUsRUFBRTtZ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YXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNsb25lRGVlcCwgc29tZSB9IGZyb20gJ2xvZGFzaCc7XHJcblxyXG5pbXBvcnQgeyBEaWFsb2dDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvZGlhbG9nL2RpYWxvZy1jb25maWcnO1xyXG5cclxuaW1wb3J0IHsgRGlhbG9nUmVmIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L2RpYWxvZy9kaWFsb2ctcmVmJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYWRkLWxvZ2ljJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLWxvZ2ljLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZGQtbG9naWMuY29tcG9uZW50Lmxlc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRkTG9naWNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBwdWJsaWMgY3VycmVudFF1ZXN0aW9uICE6YW55O1xyXG4gIHB1YmxpYyBxdWVzdGlvbnNBcnJheSAhOmFueTtcclxuICBzZWxlY3RlZFZhbHVlOiBhbnkgPSAnJztcclxuICBzZWxlY3RlZExvZ2ljUXVlc3Rpb24gITogYW55O1xyXG4gIHNlbGVjdGVkTG9naWNRdWVzdGlvblR5cGUgPSAnJztcclxuICBjaGVja2JveFZhbHVlOiBhbnlbXSA9IFtdO1xyXG4gIGRpc2FibGVMb2dpY0Ryb3Bkb3duID0gdHJ1ZTtcclxuICBvcGVyYXRvck1hcDogYW55ID0gW107XHJcbiAgcXVlc3Rpb25JbmRleCE6IG51bWJlcjtcclxuICBzaG93RXJyb3IgPSB7IGlzVmlzaWJsZTogZmFsc2UsIGVycm9yTWVzc2FnZTogJycgfTtcclxuICBlZGl0b3JNb2RlICE6YW55O1xyXG4gIGxvZ2ljOmFueSA9IHtcclxuICAgIGFuZE9yOiAnYW5kJyxcclxuICAgIHF1ZXN0aW9uTmFtZTogJycsXHJcbiAgICBvcGVyYXRvcjogJycsXHJcbiAgICB2YWx1ZTogdGhpcy5zZWxlY3RlZFZhbHVlLFxyXG4gICAgcXVlc3Rpb25UaXRsZTogJydcclxuICB9O1xyXG4gIG9wZXJhdG9yVmFsID0ge1xyXG4gICAgJz0nOiAnRXF1YWxzJyxcclxuICAgICchPSc6ICdOb3QgRXF1YWxzJyxcclxuICAgICc+JzogJ0dyZWF0ZXIgdGhhbicsXHJcbiAgICAnPCc6ICdMZXNzIHRoYW4nLFxyXG4gICAgJz49JzogJ0dyZWF0ZXIgb3IgZXF1YWxzJyxcclxuICAgICc8PSc6ICdMZXNzIG9yIGVxdWFscycsXHJcbiAgICBhbnN3ZXJlZDogJ0lmIGFuc3dlcmVkJyxcclxuICAgIGJlZm9yZTogJ0JlZm9yZScsXHJcbiAgICBhZnRlcjogJ0FmdGVyJyxcclxuICAgIGJlZm9yZUVxdWFsczogJ0JlZm9yZSBvciBlcXVhbHMnLFxyXG4gICAgYWZ0ZXJFcXVhbHM6ICdBZnRlciBvciBlcXVhbHMnXHJcbiAgfTtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29uZmlnOiBEaWFsb2dDb25maWcsIHB1YmxpYyBkaWFsb2c6IERpYWxvZ1JlZikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jdXJyZW50UXVlc3Rpb24gPSBjbG9uZURlZXAodGhpcy5jb25maWcuZGF0YS5jdXJyZW50UXVlc3Rpb24pO1xyXG4gICAgdGhpcy5nZXRDdXJyZW50UGFnZVF1ZXN0aW9ucygpO1xyXG4gICAgdGhpcy5lZGl0b3JNb2RlID0gdGhpcy5jb25maWcuZGF0YS5lZGl0b3JNb2RlO1xyXG4gICAgdGhpcy5xdWVzdGlvbkluZGV4ID0gdGhpcy5jb25maWcuZGF0YS5xdWVzdGlvbkluZGV4O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgKiBGZXRjaGVzIHRoZSBxdWVzdGlvbnMgb24gY3VycmVudGx5IGFjdGl2ZSBwYWdlXHJcbiAgKi9cclxuICBnZXRDdXJyZW50UGFnZVF1ZXN0aW9ucygpIHtcclxuICAgIHRoaXMucXVlc3Rpb25zQXJyYXkgPSBjbG9uZURlZXAodGhpcy5jb25maWcuZGF0YS5hbGxRdWVzdGlvbnMpO1xyXG4gICAgdGhpcy5xdWVzdGlvbnNBcnJheSA9IHRoaXMucXVlc3Rpb25zQXJyYXkuZmlsdGVyKChxdWVzdGlvbjphbnkpID0+XHJcbiAgICAgIHF1ZXN0aW9uLnBhZ2UgPT09IHRoaXMuY3VycmVudFF1ZXN0aW9uLnBhZ2UpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqIFNldHMgdGhlIGluZGV4IGFuZCB0aXRsZSBvZiBjdXJyZW50IHF1ZXN0aW9uXHJcbiAqIEBwYXJhbSBpbmRleCBDdXJyZW50IGluZGV4IG9mIHF1ZXN0aW9uXHJcbiAqIEBwYXJhbSBxdWVzdGlvblRpdGxlIFRpdGxlIG9mIHF1ZXN0aW9uIGF0IGluZGV4IGlcclxuICovXHJcbiAgc2V0SW5kZXgoc2VsZWN0ZWRRdWVzdGlvbk5hbWU6YW55KSB7XHJcbiAgICBsZXQgaW5kZXggPSB0aGlzLnF1ZXN0aW9uc0FycmF5LmZpbmRJbmRleCgoeDphbnkpID0+IHgubmFtZSA9PT0gc2VsZWN0ZWRRdWVzdGlvbk5hbWUpO1xyXG4gICAgdGhpcy5zaG93RXJyb3IuaXNWaXNpYmxlID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbiA9IGluZGV4O1xyXG4gICAgdGhpcy5sb2dpYy5vcGVyYXRvciA9ICcnO1xyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gJyc7XHJcbiAgICB0aGlzLmxvZ2ljLnF1ZXN0aW9uVGl0bGUgPSB0aGlzLnF1ZXN0aW9uc0FycmF5W2luZGV4XS50aXRsZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uVHlwZSA9IHRoaXMucXVlc3Rpb25zQXJyYXlbdGhpcy5zZWxlY3RlZExvZ2ljUXVlc3Rpb25dLnR5cGU7XHJcbiAgICB0aGlzLnNldFZhbHVlc0ZvckxvZ2ljRHJvcGRvd24oKTtcclxuICB9XHJcblxyXG4gIHNldE9wZXJhdG9yKGV2dDphbnkpIHtcclxuICAgIHRoaXMubG9naWMub3BlcmF0b3IgPSBldnQ7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIHBvcHVsYXRlcyB0aGUgbG9naWMgZHJvcGRvd24gYmFzZWQgb24gcXVlc3Rpb24gdHlwZVxyXG4gICAqL1xyXG4gIHNldFZhbHVlc0ZvckxvZ2ljRHJvcGRvd24oKSB7XHJcbiAgICBsZXQgZGVmYXVsdE9wZXJhdG9yTWFwID0gW3sga2V5OiAnPScsIHZhbHVlOiAnRXF1YWxzJyB9LFxyXG4gICAgeyBrZXk6ICchPScsIHZhbHVlOiAnTm90IEVxdWFscycgfSxcclxuICAgIHsga2V5OiAnYW5zd2VyZWQnLCB2YWx1ZTogJ0lmIGFuc3dlcmVkJyB9XTtcclxuXHJcbiAgICBjb25zdCB0eXBlID0gdGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0udHlwZTtcclxuXHJcbiAgICBpZiAoWydzdGFyLXJhdGluZycsICdzbGlkZXInXS5pbmNsdWRlcyh0eXBlKSkge1xyXG4gICAgICBkZWZhdWx0T3BlcmF0b3JNYXAucHVzaChcclxuICAgICAgICB7IGtleTogJz4nLCB2YWx1ZTogJ0dyZWF0ZXIgdGhhbicgfSxcclxuICAgICAgICB7IGtleTogJzwnLCB2YWx1ZTogJ0xlc3MgdGhhbicgfSxcclxuICAgICAgICB7IGtleTogJz49JywgdmFsdWU6ICdHcmVhdGVyIG9yIGVxdWFscycgfSxcclxuICAgICAgICB7IGtleTogJzw9JywgdmFsdWU6ICdMZXNzIG9yIGVxdWFscycgfSxcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSBpZiAoWydmaWxlLXVwbG9hZCcsICdtYXRyaXgtZHJvcGRvd24nLCAncmF0aW5nLXNjYWxlJywgJ211bHRpcGxlLXRleHRib3gnXS5pbmNsdWRlcyh0eXBlKSkge1xyXG4gICAgICBkZWZhdWx0T3BlcmF0b3JNYXAgPSBbeyBrZXk6ICdhbnN3ZXJlZCcsIHZhbHVlOiAnSWYgYW5zd2VyZWQnIH1dO1xyXG4gICAgfSBlbHNlIGlmIChbJ2RhdGUtdGltZSddLmluY2x1ZGVzKHR5cGUpKSB7XHJcbiAgICAgIGRlZmF1bHRPcGVyYXRvck1hcC5wdXNoKFxyXG4gICAgICAgIHsga2V5OiAnYmVmb3JlJywgdmFsdWU6ICdCZWZvcmUnIH0sXHJcbiAgICAgICAgeyBrZXk6ICdhZnRlcicsIHZhbHVlOiAnQWZ0ZXInIH0sXHJcbiAgICAgICAgeyBrZXk6ICdiZWZvcmVFcXVhbHMnLCB2YWx1ZTogJ0JlZm9yZSBvciBlcXVhbHMnIH0sXHJcbiAgICAgICAgeyBrZXk6ICdhZnRlckVxdWFscycsIHZhbHVlOiAnQWZ0ZXIgb3IgZXF1YWxzJyB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9wZXJhdG9yTWFwID0gWy4uLmRlZmF1bHRPcGVyYXRvck1hcF07XHJcbiAgICB0aGlzLmRpc2FibGVMb2dpY0Ryb3Bkb3duID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICogT3BlcmF0aW9uIG9uIHNlbGVjdGluZyB2YWx1ZSBmcm9tIGNoZWNrYm94XHJcbiAqIEBwYXJhbSBldmVudCBFdmVudCB0cmlnZ2VyZWQgb24gc2VsZWN0aW5nIHZhbHVlIG9mIGNoZWNrYm94XHJcbiAqIEBwYXJhbSB0aXRsZSBUaXRsZSBvZiB0aGUgY2hlY2tib3ggb3B0aW9uIHNlbGVjdGVkXHJcbiAqL1xyXG4gIGNoZWNrYm94U3RhdHVzKGV2dDphbnkpIHtcclxuICAgIFxyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gJyc7XHJcbiAgICBpZiAoZXZ0LmNoZWNrZWQgPT09IHRydWUpIHtcclxuICAgICAgdGhpcy5jaGVja2JveFZhbHVlLnB1c2goZXZ0LmNob2ljZS50aXRsZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNoZWNrYm94VmFsdWUgPSB0aGlzLmNoZWNrYm94VmFsdWUuZmlsdGVyKHZhbHVlID0+IGV2dC5jaG9pY2UudGl0bGUgIT09IHZhbHVlKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHRoaXMuY2hlY2tib3hWYWx1ZTtcclxuICB9XHJcblxyXG5cclxuICBtdWx0aXBsZUNob2ljZUNoZWNrZWQoZXZ0OmFueSkge1xyXG4gICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKGV2dC5jaG9pY2UudGl0bGUpXHJcbiAgfVxyXG5cclxuICByYW5raW5nU3RhdHVzKGNob2ljZTphbnkpIHtcclxuICAgIHRoaXMucXVlc3Rpb25zQXJyYXlbdGhpcy5zZWxlY3RlZExvZ2ljUXVlc3Rpb25dLmNob2ljZXMgPSBjaG9pY2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAqIE9wZXJhdGlvbiBvbiBlbnRlcmluZyB2YWx1ZSB0byBtdWx0aXBsZSB0ZXh0IGJveGVzXHJcbiAgKi9cclxuICBzZXRNdWx0aXBsVGV4dFN0YXR1cygpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9ICcnO1xyXG4gICAgXHJcbiAgICB0aGlzLnF1ZXN0aW9uc0FycmF5W3RoaXMuc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXS5jaG9pY2VzLmZvckVhY2goKGNob2ljZTphbnkpID0+IHtcclxuICAgICAgaWYgKGNob2ljZS52YWx1ZSAhPT0gJycpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgKz0gY2hvaWNlLnRpdGxlICsgJzonICsgY2hvaWNlLnZhbHVlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkVmFsdWUgIT09ICcnKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlICs9ICc7JztcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRzIHRoZSBsb2dpYyBvbiBjbGljayBvZiBhZGQgbG9naWMgYnV0dG9uXHJcbiAgICovXHJcbiAgYWRkTG9naWMoKSB7XHJcbiAgICBpZiAodGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0udHlwZSA9PT0gJ3JhbmtpbmcnKSB7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVTZWxlY3RlZFZhbHVlRm9yUmFua2luZygpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnF1ZXN0aW9uc0FycmF5W3RoaXMuc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXS50eXBlID09PSAnbXVsdGlwbGUtdGV4dGJveCcpIHtcclxuICAgICAgdGhpcy5zZXRNdWx0aXBsVGV4dFN0YXR1cygpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnF1ZXN0aW9uc0FycmF5W3RoaXMuc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXS50eXBlID09PSAnZGF0ZS10aW1lJykge1xyXG4gICAgICB0aGlzLnNldFZhbHVlRm9yRGF0ZVRpbWVUeXBlKCk7XHJcbiAgICAgIFxyXG4gICAgfVxyXG4gICAgdGhpcy5zaG93RXJyb3IuaXNWaXNpYmxlID0gZmFsc2U7XHJcbiAgICB0aGlzLmxvZ2ljLnZhbHVlID0gdGhpcy5zZWxlY3RlZFZhbHVlO1xyXG4gICAgXHJcbiAgICBpZiAodGhpcy5sb2dpYy5vcGVyYXRvciA9PT0gJ2Fuc3dlcmVkJyB8fCB0aGlzLnNlbGVjdGVkVmFsdWUgIT09ICcnKSB7XHJcbiAgICAgIGlmICghc29tZShbdGhpcy5jdXJyZW50UXVlc3Rpb24udmlzaWJpbGl0eUxvZ2ljXSwgdGhpcy5sb2dpYykgJiZcclxuICAgICAgICAodGhpcy5zZWxlY3RlZFZhbHVlICE9PSAnYW5zd2VyZWQnKSAmJiB0aGlzLmxvZ2ljLnF1ZXN0aW9uTmFtZSAhPT0gJycgJiYgdGhpcy5sb2dpYy5vcGVyYXRvciAhPT0gJycpIHtcclxuICAgICAgICBpZiAodGhpcy5jaGVja0ZvckxvZ2ljVmFsdWUoKSkge1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50UXVlc3Rpb24udmlzaWJpbGl0eUxvZ2ljLnB1c2godGhpcy5sb2dpYyk7XHJcbiAgICAgICAgICB0aGlzLmNoZWNrYm94VmFsdWUgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd0Vycm9yLmlzVmlzaWJsZSA9IHRydWU7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvblR5cGUgPT0gJ3NpbmdsZS10ZXh0Ym94JyB8fCB0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvblR5cGUgPT0gJ2NvbW1lbnQtYm94Jykge1xyXG4gICAgICAgIHRoaXMuc2hvd0Vycm9yLmVycm9yTWVzc2FnZSA9ICdQbGVhc2UgZW50ZXIgYSB2YWx1ZSB0byBhZGQgbG9naWMnO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2hvd0Vycm9yLmVycm9yTWVzc2FnZSA9ICdQbGVhc2Ugc2VsZWN0IGEgdmFsdWUgdG8gYWRkIGxvZ2ljJztcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIGlmICh0aGlzLmN1cnJlbnRRdWVzdGlvbi52aXNpYmlsaXR5TG9naWMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRRdWVzdGlvbi5pc1JlcXVpcmVkID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuc2hvd0Vycm9yLmlzVmlzaWJsZSkge1xyXG4gICAgICB0aGlzLnJlc2V0TG9naWMoKTtcclxuICAgICAgdGhpcy5jbG9zZVBvcHVwKCdBRERfTE9HSUMnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NlUG9wdXAobW9kZTphbnkpIHtcclxuICAgIHRoaXMuZGlhbG9nLmNsb3NlKHsgYWN0aW9uOiBtb2RlLCBsb2dpYzogdGhpcy5jdXJyZW50UXVlc3Rpb24udmlzaWJpbGl0eUxvZ2ljIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUG9wdWxhdGVzIGxvZ2ljIHNlbGVjdGVkIHZhbHVlIGZvciByYW5raW5nIHR5cGUgcXVlc3Rpb25cclxuICAgKi9cclxuICBwb3B1bGF0ZVNlbGVjdGVkVmFsdWVGb3JSYW5raW5nKCkge1xyXG4gICAgY29uc3QgcmFua2luZ0FycmF5OmFueSA9IFtdO1xyXG4gICAgdGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0uY2hvaWNlcy5mb3JFYWNoKChjaG9pY2U6YW55KSA9PiB7XHJcbiAgICAgIHJhbmtpbmdBcnJheS5wdXNoKGNob2ljZS50aXRsZSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHJhbmtpbmdBcnJheS5qb2luKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0aW9uIGZvciBsb2dpYyB2YWx1ZSAoVmFsaWRhdGlvbjogUHJldmlvdXNseSB2YWx1ZSBpcyBlbnRlcmVkIG9yIG5vdCBmb3IgdGhlIHBhcnRpY3VsYXIgcXVlc3Rpb24gdHlwZSlcclxuICAgKi9cclxuICBjaGVja0ZvckxvZ2ljVmFsdWUoKSB7XHJcbiAgICBjb25zdCBsb2dpY1ZhbHVlczphbnkgPSBbXTtcclxuICAgIHRoaXMuY3VycmVudFF1ZXN0aW9uLnZpc2liaWxpdHlMb2dpYy5mb3JFYWNoKChsb2dpYzphbnkpID0+IHtcclxuICAgICAgaWYgKHRoaXMubG9naWMucXVlc3Rpb25UaXRsZSA9PT0gbG9naWMucXVlc3Rpb25UaXRsZSkge1xyXG4gICAgICAgIGxvZ2ljVmFsdWVzLnB1c2gobG9naWMudmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmICghbG9naWNWYWx1ZXMuaW5jbHVkZXModGhpcy5sb2dpYy52YWx1ZSkpIHtcclxuICAgICAgbG9naWNWYWx1ZXMucHVzaCh0aGlzLmxvZ2ljLnZhbHVlKTtcclxuICAgICAgdGhpcy5zaG93RXJyb3IuaXNWaXNpYmxlID0gZmFsc2U7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2hvd0Vycm9yLmVycm9yTWVzc2FnZSA9ICdMb2dpYyBhbHJlYWR5IGFwcGxpZWQgZm9yIHRoaXMgdmFsdWUuIFBsZWFzZSBzZWxlY3QgYW5vdGhlciB2YWx1ZSB0byBhcHBseSBsb2dpYyc7XHJcbiAgICB0aGlzLnNob3dFcnJvci5pc1Zpc2libGUgPSB0cnVlO1xyXG4gICAgaWYgKCF0aGlzLnNob3dFcnJvci5pc1Zpc2libGUpIHtcclxuICAgICAgdGhpcy5yZXNldExvZ2ljKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWxldGVzIHRoZSBsb2dpYyBoYXZpbmcgZ2l2ZW4gaW5kZXggZnJvbSB2aXNpYmlsaXR5IGxvZ2ljIGxpc3RcclxuICAgKiBAcGFyYW0gaW5kZXggSW5kZXggb2Ygc2VsZWN0ZWQgbG9naWNcclxuICAgKi9cclxuICBkZWxldGVMb2dpYyhpbmRleDphbnkpIHtcclxuICAgIHRoaXMuY3VycmVudFF1ZXN0aW9uLnZpc2liaWxpdHlMb2dpYy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQXNzaWducyB0aGUgc2VsZWN0ZWQgdmFsdWUgdG8gdmFsdWUgdGhhdCBuZWVkcyB0byBiZSBkaXNwbGF5ZWQgdG8gdXNlclxyXG4gICAqIEBwYXJhbSBzZWxlY3RlZFZhbCBWYWx1ZSBzZWxlY3RlZCB0byBiZSBkaXNwbGF5ZWRcclxuICAgKi9cclxuICBzZXRTZWxlY3RlZFZhbHVlKHNlbGVjdGVkVmFsPzogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNob3dFcnJvci5pc1Zpc2libGUgPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLnF1ZXN0aW9uc0FycmF5W3RoaXMuc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXS50eXBlID09PSAnZGF0ZS10aW1lJykge1xyXG4gICAgICB0aGlzLnNldFZhbHVlRm9yRGF0ZVRpbWVUeXBlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBzZWxlY3RlZFZhbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZvciBkYXRlL3RpbWUgYXNzaWducyB0aGUgc2VsZWN0ZWQgdmFsdWUgdG8gdmFsdWUgdGhhdCBuZWVkcyB0byBiZSBkaXNwbGF5ZWQgdG8gdXNlclxyXG4gICAqL1xyXG4gIHNldFZhbHVlRm9yRGF0ZVRpbWVUeXBlKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gJyc7XHJcbiAgICBcclxuICAgIGlmICghdGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0uZGF0ZS52YWx1ZSAgJiZcclxuICAgICAgIXRoaXMucXVlc3Rpb25zQXJyYXlbdGhpcy5zZWxlY3RlZExvZ2ljUXVlc3Rpb25dLnRpbWUudmFsdWUpIHtcclxuICAgICAgdGhpcy5zaG93RXJyb3IuaXNWaXNpYmxlID0gdHJ1ZTtcclxuICAgICBcclxuICAgICAgdGhpcy5zaG93RXJyb3IuZXJyb3JNZXNzYWdlID0gJ1BsZWFzZSBzZWxlY3QgYSB2YWx1ZSB0byBhZGQgbG9naWMnO1xyXG5cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICghdGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0uZGF0ZS52YWx1ZSAmJlxyXG4gICAgICAgIHRoaXMucXVlc3Rpb25zQXJyYXlbdGhpcy5zZWxlY3RlZExvZ2ljUXVlc3Rpb25dLnRpbWUudmFsdWUpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB0aGlzLnF1ZXN0aW9uc0FycmF5W3RoaXMuc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXS50aW1lLnRpdGxlICsgJzogJyArXHJcbiAgICAgICAgICB0aGlzLnF1ZXN0aW9uc0FycmF5W3RoaXMuc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXS50aW1lLnZhbHVlO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMucXVlc3Rpb25zQXJyYXlbdGhpcy5zZWxlY3RlZExvZ2ljUXVlc3Rpb25dLmRhdGUudmFsdWUgICYmXHJcbiAgICAgICAgIXRoaXMucXVlc3Rpb25zQXJyYXlbdGhpcy5zZWxlY3RlZExvZ2ljUXVlc3Rpb25dLnRpbWUudmFsdWUpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB0aGlzLnF1ZXN0aW9uc0FycmF5W3RoaXMuc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXS5kYXRlLnRpdGxlICsgJzogJyArXHJcbiAgICAgICAgICB0aGlzLmZvcm1hdGVXaXRoUGlwZSh0aGlzLnF1ZXN0aW9uc0FycmF5W3RoaXMuc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXS5kYXRlLnZhbHVlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB0aGlzLnF1ZXN0aW9uc0FycmF5W3RoaXMuc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXS5kYXRlLnRpdGxlICsgJzogJyArXHJcbiAgICAgICAgICB0aGlzLmZvcm1hdGVXaXRoUGlwZSh0aGlzLnF1ZXN0aW9uc0FycmF5W3RoaXMuc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXS5kYXRlLnZhbHVlKSArICcsICcgK1xyXG4gICAgICAgICAgdGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0udGltZS50aXRsZSArICc6ICcgK1xyXG4gICAgICAgICAgdGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0udGltZS52YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYodGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0uZGF0ZS52YWx1ZSl7XHJcbiAgICAgIHRoaXMubG9naWNbJ2RhdGUnXSA9IHRoaXMuZm9ybWF0ZUJ5U2xhc2godGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0uZGF0ZS52YWx1ZSk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5sb2dpY1snZGF0ZSddID0gJyc7XHJcbiAgICB9XHJcbiAgICBpZih0aGlzLnF1ZXN0aW9uc0FycmF5W3RoaXMuc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXS50aW1lLnZhbHVlKXtcclxuICAgICAgdGhpcy5sb2dpY1sndGltZSddID0gdGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0udGltZS52YWx1ZTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmxvZ2ljWyd0aW1lJ10gPSAnJztcclxuICAgIH1cclxuXHJcbiAgIFxyXG4gICAgdGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0uZGF0ZS52YWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0udGltZS52YWx1ZSA9ICcnO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1wdGllcyB0aGUgc2VsZWN0ZWQgdmFsdWUgaWYgdGhlIGxvZ2ljIG9wZXJhdG9yIGlzICdhbnN3ZXJlZCdcclxuICAgKiBAcGFyYW0gbG9naWNPcGVyYXRvciBMb2dpYyBvcGVyYXRvciBzZWxlY3RlZCBmcm9tIGxvZ2ljIGRyb3Bkb3duXHJcbiAgICovXHJcbiAgb25TZWxlY3RMb2dpYyhsb2dpY09wZXJhdG9yOiBzdHJpbmcpIHtcclxuICAgIGlmIChsb2dpY09wZXJhdG9yID09PSAnYW5zd2VyZWQnKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9ICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1wdGllcy9SZXNldHMgdGhlIGxvZ2ljIGZpZWxkc1xyXG4gICAqL1xyXG4gIHJlc2V0TG9naWMoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvblR5cGUgPSAnJztcclxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5zZWxlY3RlZExvZ2ljUXVlc3Rpb24gPSBudWxsO1xyXG4gICAgdGhpcy5kaXNhYmxlTG9naWNEcm9wZG93biA9IHRydWU7XHJcbiAgICB0aGlzLm9wZXJhdG9yTWFwID0gW11cclxuICAgIHRoaXMubG9naWMgPSB7XHJcbiAgICAgIGFuZE9yOiAnYW5kJyxcclxuICAgICAgcXVlc3Rpb25OYW1lOiAnJyxcclxuICAgICAgb3BlcmF0b3I6ICcnLFxyXG4gICAgICBxdWVzdGlvblRpdGxlOiAnJyxcclxuICAgICAgdmFsdWU6IHRoaXMuc2VsZWN0ZWRWYWx1ZVxyXG4gICAgfTtcclxuICAgIHRoaXMuc2hvd0Vycm9yLmlzVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93RXJyb3IuZXJyb3JNZXNzYWdlID0gJyc7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBc3NpZ25zIHRoZSBzZWxlY3RlZCBzdGFyIHJhdGluZyB2YWx1ZSB0byBzZWxlY3RlZCB2YWx1ZSBhbmQgdXBkYXRlcyBpbiBtYWluIHF1ZXN0aW9uIGFycmF5IGxpc3RcclxuICAgKiBAcGFyYW0gc2VsZWN0ZWRWYWx1ZUluZGV4IEluZGV4IG9mIHNlbGVjdGVkIHZhbHVlXHJcbiAgICogQHBhcmFtIHF1ZXN0aW9uSW5kZXggSW5kZXggb2YgY3VycmVudCBxdWVzdGlvblxyXG4gICAqL1xyXG4gIGNhcHR1cmVTdGFyVmFsdWUoc2VsZWN0ZWRWYWx1ZUluZGV4OmFueSkge1xyXG4gICAgdGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0udmFsdWUgPSBzZWxlY3RlZFZhbHVlSW5kZXggKyAxO1xyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gc2VsZWN0ZWRWYWx1ZUluZGV4ICsgMTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnZlcnRzIHRoZSBkYXRlIHRvIHRvTG9jYWxlRGF0ZVN0cmluZyBmb3JtYXRcclxuICAgKiBAcGFyYW0gZGF0ZSBEYXRlIHRvIGJlIGNvbnZlcnRlZFxyXG4gICAqL1xyXG4gIGZvcm1hdERhdGUoZGF0ZTogRGF0ZSkge1xyXG4gICAgcmV0dXJuIChuZXcgRGF0ZShkYXRlKSkudG9Mb2NhbGVEYXRlU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPcGVyYXRpb24gT24gZHJhZy9kcm9wIG9mIG9wdGlvbiBvZiByYW5raW5nIHR5cGUgcXVlc3Rpb25cclxuICAgKiBAcGFyYW0gZXZlbnQgRXZlbnQgdHJpZ2dlcmVkIHdoZW4gb3B0aW9uIG9mIHJhbmtpbmcgdHlwZSBxdWVzdGlvbiBpcyBkcmFnZ2VkIGFuZCBkcm9wcGVkXHJcbiAgICovXHJcbiAgLy8gZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8c3RyaW5nW10+KSB7XHJcbiAgLy8gICBtb3ZlSXRlbUluQXJyYXkodGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0uY2hvaWNlcywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICAvLyB9XHJcblxyXG5cclxuICBmb3JtYXRlV2l0aFBpcGUoZGF0ZTphbnkpe1xyXG4gICAgdmFyIGRhdGVQaXBlID0gbmV3IERhdGVQaXBlKCdlbi1VUycpO1xyXG4gICAgcmV0dXJuICBkYXRlUGlwZS50cmFuc2Zvcm0oZGF0ZSwgJ2RkIE1NTSB5eXl5Jyk7XHJcbiAgfVxyXG5cclxuICBmb3JtYXRlQnlTbGFzaChkYXRlOmFueSl7XHJcbiAgICB2YXIgZGF0ZVBpcGUgPSBuZXcgRGF0ZVBpcGUoJ2VuLVVTJyk7XHJcbiAgICByZXR1cm4gIGRhdGVQaXBlLnRyYW5zZm9ybShkYXRlLCAneXl5eS1NTS1kZFRISDptbTpzcy5TU1MnLCcrMDowMCcpKydaJztcclxuICB9XHJcblxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYWRkLWxvZ2ljXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWRkLWxvZ2ljLWhlYWQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtMyB2eC1wci0zIHZ4LW1iLTVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZyB2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+QWRkIExvZ2ljICYgRGlzcGxheSBDb25kaXRpb25zPC9kaXY+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNsb3NlIHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiIChjbGljayk9XCJjbG9zZVBvcHVwKCdDTE9TRScpXCI+PGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xNiB2eC1sYWJlbC10eHRcIj4mI3hlOWFlOzwvaT48L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImFkZC1sb2dpYy1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInF1ZXN0aW9uLWhlYWRpbmcgdngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWItMiB2eC1wbC0yXCI+UVVFU1RJT04ge3txdWVzdGlvbkluZGV4KzF9fSA8c3BhbiBjbGFzcz1cInZ4LWZzLTE2IHZ4LWZ3LTQwMCB2eC10eHQtcmVkIHZ4LW1sLTFcIiAqbmdJZj1cImN1cnJlbnRRdWVzdGlvbi5pc1JlcXVpcmVkID09PSAgdHJ1ZVwiPio8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInF1ZXN0aW9uLW5hbWUgdngtZnMtMTYgdngtbGFiZWwtdHh0IHZ4LWxoLTYgdngtcHQtMSB2eC1wYi0xIHZ4LW1iLTVcIiBbaW5uZXJIVE1MXT1cImN1cnJlbnRRdWVzdGlvbj8udGl0bGUgPyBjdXJyZW50UXVlc3Rpb24/LnRpdGxlOidRdWVzdGlvbidcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyBpbmZvIHZ4LXR4dC1ibHVlIHZ4LW1sLTJcIiAqbmdJZj1cImN1cnJlbnRRdWVzdGlvbi5oYXNDb21tZW50c1wiIFthcHBUb29sdGlwXT1cImN1cnJlbnRRdWVzdGlvbi5jb21tZW50c1wiIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJ3aGl0ZVwiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj4mI3hlOTFmOzwvaT48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibG9naWMtY29uZGl0aW9uIHZ4LXAtMiB2eC1wbC0zIHZ4LXByLTMgdngtbWItNVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZyB2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LW1iLTFcIj5JcyB2aXNpYmxlIHdoZW48L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbHMgdngtZnMtMTIgdngtcGFyYWdyYXBoLXR4dFwiPlVzZSB0aGlzIHRvIGRlZmluZSBkaXNwbGF5IGNvbmRpdGlvbnMgZm9yIHRoZSBxdWVzdGlvbnMgaW4gdGhlIGFzc2Vzc21lbnQuPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LW1iLTFcIj5TRUxFQ1QgUVVFU1RJT048L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LWJveCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wbC0zIHZ4LXByLTMgdngtbWItNVwiIGFwcFBvcG92ZXIgKGNsaWNrKT1cInNlbGVjdFF1ZXN0aW9uLnBvcG92ZXIoKVwiIHBsYWNlbWVudD1cImxlZnRcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuYW1lIHZ4LWZzLTEyIHZ4LXBhcmFncmFwaC10eHRcIiBbYXBwVG9vbHRpcF09XCInU2VsZWN0IGEgcXVlc3Rpb24nXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPnt7cXVlc3Rpb25zQXJyYXlbc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXT8udGl0bGUgfCBxdWVzdGlvblBhcnNlcn19PC9zcGFuPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIHZ4LWZzLTEwIHZ4LXBhcmFncmFwaC10eHRcIj4mI3hlOWU4OzwvaT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YXBwLXBvcG92ZXIgI3NlbGVjdFF1ZXN0aW9uPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LXF1ZXN0aW9uLXBvcG92ZXJcIj5cclxuICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInZ4LXAtMCB2eC1tLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGRhdGEgb2YgcXVlc3Rpb25zQXJyYXkgfCBxdWVzdGlvbkZpbHRlciA6IGN1cnJlbnRRdWVzdGlvbi5uYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJ2eC1kLWJsb2NrIHZ4LXAtMiB2eC1tLTAgdngtdy0xMDBcIiAoY2xpY2spPVwibG9naWMucXVlc3Rpb25OYW1lID0gZGF0YT8ubmFtZTtzZXRJbmRleChkYXRhPy5uYW1lKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlIHZ4LWZzLTEyIHZ4LXBhcmFncmFwaC10eHRcIiBbYXBwVG9vbHRpcF09XCJkYXRhPy50aXRsZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj57e2RhdGE/LnRpdGxlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvYXBwLXBvcG92ZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wZXJhdG9yTWFwPy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbCB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tYi0xXCI+TE9HSUNBTCBPUEVSQVRPUjwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9wZXJhdG9yLWl0ZW0gdngtbWItNVwiPlxyXG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidngtZC1mbGV4IHZ4LXAtMCB2eC1tLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXAtMyB2eC1tci0yXCIgKm5nRm9yPSdsZXQgb3BlcmF0b3Igb2Ygb3BlcmF0b3JNYXAnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWNzLXJhZGlvIG5hbWU9XCJxdWVzdGlvbi5uYW1lXCIgKGNoZWNrZWRFdmVudCk9XCJzZXRPcGVyYXRvcihvcGVyYXRvci5rZXkpXCI+PHNwYW4gY2xhc3M9XCJuYW1lIHZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHQgdngtdHQtdXBwZXJjYXNlXCI+e3tvcGVyYXRvci52YWx1ZX19PC9zcGFuPjwvYXBwLWNzLXJhZGlvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAgKm5nSWY9XCJsb2dpYy5xdWVzdGlvbk5hbWUgIT0gJycgJiYgKGxvZ2ljLm9wZXJhdG9yICYmIGxvZ2ljLm9wZXJhdG9yICE9ICdhbnN3ZXJlZCcpIFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgdngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWItMVwiPlBMRUFTRSBTRUxFQ1QgVEhFIFZBTFVFPC9kaXY+XHJcbiAgICAgICAgICAgIDxhcHAtbG9naWMtbXVsdGlwbGUtY2hvaWNlICpuZ0lmPVwic2VsZWN0ZWRMb2dpY1F1ZXN0aW9uVHlwZT09J211bHRpcGxlLWNob2ljZSdcIiBbcXVlc3Rpb25dPVwicXVlc3Rpb25zQXJyYXlbc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXVwiIChjaGFuZ2VFdmVudCk9XCJtdWx0aXBsZUNob2ljZUNoZWNrZWQoJGV2ZW50KVwiPjwvYXBwLWxvZ2ljLW11bHRpcGxlLWNob2ljZT5cclxuICAgICAgICAgICAgPGFwcC1sb2dpYy1jaGVja2JveCAqbmdJZj1cInNlbGVjdGVkTG9naWNRdWVzdGlvblR5cGU9PSdjaGVja2JveCdcIiAgW3F1ZXN0aW9uXT1cInF1ZXN0aW9uc0FycmF5W3NlbGVjdGVkTG9naWNRdWVzdGlvbl1cIiAoY2hhbmdlRXZlbnQpPVwiY2hlY2tib3hTdGF0dXMoJGV2ZW50KVwiPjwvYXBwLWxvZ2ljLWNoZWNrYm94PlxyXG4gICAgICAgICAgICA8YXBwLWxvZ2ljLWltYWdlLWNob2ljZSAqbmdJZj1cImZhbHNlXCI+PC9hcHAtbG9naWMtaW1hZ2UtY2hvaWNlPlxyXG4gICAgICAgICAgICA8YXBwLWxvZ2ljLXN0YXItcmF0aW5nICpuZ0lmPVwiZmFsc2VcIj48L2FwcC1sb2dpYy1zdGFyLXJhdGluZz5cclxuICAgICAgICAgICAgPGFwcC1sb2dpYy1zaW5nbGUtdGV4dGJveCAqbmdJZj1cInNlbGVjdGVkTG9naWNRdWVzdGlvblR5cGU9PSdzaW5nbGUtdGV4dGJveCdcIiBbcXVlc3Rpb25dPVwicXVlc3Rpb25zQXJyYXlbc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXVwiIChjaGFuZ2VFdmVudCk9XCJzZWxlY3RlZFZhbHVlID0gJGV2ZW50XCI+PC9hcHAtbG9naWMtc2luZ2xlLXRleHRib3g+XHJcbiAgICAgICAgICAgIDxhcHAtbG9naWMtY29tbWVudC1ib3ggKm5nSWY9XCJmYWxzZVwiPjwvYXBwLWxvZ2ljLWNvbW1lbnQtYm94PlxyXG4gICAgICAgICAgICA8YXBwLWxvZ2ljLWRyb3Bkb3duICpuZ0lmPVwic2VsZWN0ZWRMb2dpY1F1ZXN0aW9uVHlwZT09J2Ryb3Bkb3duJ1wiIFtxdWVzdGlvbl09XCJxdWVzdGlvbnNBcnJheVtzZWxlY3RlZExvZ2ljUXVlc3Rpb25dXCIgKGNoYW5nZUV2ZW50KT1cIm11bHRpcGxlQ2hvaWNlQ2hlY2tlZCgkZXZlbnQpXCI+PC9hcHAtbG9naWMtZHJvcGRvd24+XHJcbiAgICAgICAgICAgIDxhcHAtbG9naWMtcmFua2luZyAqbmdJZj1cImZhbHNlXCI+PC9hcHAtbG9naWMtcmFua2luZz5cclxuICAgICAgICAgICAgPGFwcC1sb2dpYy1zbGlkZXIgKm5nSWY9XCJmYWxzZVwiPjwvYXBwLWxvZ2ljLXNsaWRlcj5cclxuICAgICAgICAgICAgPGFwcC1sb2dpYy1tdWx0aXBsZS10ZXh0Ym94ICpuZ0lmPVwiZmFsc2VcIiA+PC9hcHAtbG9naWMtbXVsdGlwbGUtdGV4dGJveD5cclxuICAgICAgICAgICAgPGFwcC1sb2dpYy1kYXRlLXRpbWUgKm5nSWY9XCJzZWxlY3RlZExvZ2ljUXVlc3Rpb25UeXBlPT0nZGF0ZS10aW1lJ1wiIFtxdWVzdGlvbl09XCJxdWVzdGlvbnNBcnJheVtzZWxlY3RlZExvZ2ljUXVlc3Rpb25dXCIgKGNoYW5nZUV2ZW50KT1cIm11bHRpcGxlQ2hvaWNlQ2hlY2tlZCgkZXZlbnQpXCI+PC9hcHAtbG9naWMtZGF0ZS10aW1lPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvci1tc2cgdngtZnMtMTEgdngtdHh0LXJlZFwiICpuZ0lmPSdzaG93RXJyb3IuaXNWaXNpYmxlJz57e3Nob3dFcnJvci5lcnJvck1lc3NhZ2V9fTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWRkLWxvZ2ljLWZvb3RlciB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktZW5kIHZ4LXBsLTMgdngtcHItMyB2eC1tdC01XCI+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInJlc2V0LWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHh0LWJsdWUgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1wbC00IHZ4LXByLTQgdngtbS0wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuXCIgKGNsaWNrKT1cInJlc2V0TG9naWMoKVwiPlJFU0VUPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImxvZ2ljLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHh0LXdoaXRlIHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtcGwtNCB2eC1wci00IHZ4LW0tMCB2eC1tbC0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuXCIgKGNsaWNrKT1cImFkZExvZ2ljKClcIj5BREQgTE9HSUM8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|