ca-components 1.0.28 → 1.0.30
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/assets/scss/custompickers.scss +918 -0
- package/assets/scss/details_page_ske.scss +1951 -0
- package/assets/scss/font-family.scss +2 -0
- package/assets/scss/font-weight.scss +36 -0
- package/assets/scss/input-dropdown.scss +1882 -0
- package/assets/scss/popover.scss +158 -0
- package/assets/scss/special-svgs.scss +282 -0
- package/assets/scss/styles.scss +49 -0
- package/assets/scss/tooltip.scss +318 -0
- package/esm2022/lib/components/ca-app-tooltip-v2/ca-app-tooltip-v2.component.mjs +8 -2
- package/esm2022/lib/components/ca-burger-menu/ca-burger-menu.component.mjs +147 -5
- package/esm2022/lib/components/ca-burger-menu/constants/burger-menu.constants.mjs +15 -0
- package/esm2022/lib/components/ca-burger-menu/enums/burger-menu.enum.mjs +5 -0
- package/esm2022/lib/components/ca-burger-menu/models/burger-menu.model.mjs +2 -0
- package/esm2022/lib/components/ca-comment/ca-comment.component.mjs +3 -3
- package/esm2022/lib/components/ca-comment/modals/comment-modal/comment-modal.component.mjs +2 -2
- package/esm2022/lib/components/ca-filters/ca-filter.component.mjs +1 -1
- package/esm2022/lib/components/ca-filters/components/ca-user-filter/ca-user-filter.component.mjs +2 -2
- package/esm2022/lib/components/ca-input/ca-input.component.mjs +2 -2
- package/esm2022/lib/components/ca-input/components/ca-input-clear/ca-input-clear.component.mjs +1 -1
- package/esm2022/lib/components/ca-input/components/ca-input-commands/ca-input-commands.component.mjs +1 -1
- package/esm2022/lib/components/ca-input/components/ca-input-password/ca-input-password.component.mjs +1 -1
- package/esm2022/lib/components/ca-input/components/ca-input-placeholder-icon/ca-input-placeholder-icon.component.mjs +1 -1
- package/esm2022/lib/components/ca-input-address-dropdown/ca-input-address-dropdown.component.mjs +1 -1
- package/esm2022/lib/components/ca-map/ca-map.component.mjs +1 -1
- package/esm2022/lib/components/ca-map-dropdown/ca-map-dropdown.component.mjs +3 -3
- package/esm2022/lib/components/ca-note/ca-note.component.mjs +2 -2
- package/esm2022/lib/components/ca-note-container/ca-note-container.component.mjs +2 -2
- package/esm2022/lib/components/ca-period-content/components/ca-period-content-payment/ca-period-content-payment.component.mjs +2 -2
- package/esm2022/lib/components/ca-pickup-delivery-block/components/ca-load/ca-load.component.mjs +2 -2
- package/esm2022/lib/components/ca-progress-bar/ca-progress-bar.component.mjs +1 -1
- package/esm2022/lib/components/ca-progress-expiration/ca-progress-expiration.component.mjs +2 -2
- package/esm2022/lib/components/ca-rating-review/ca-rating-review.component.mjs +2 -2
- package/esm2022/lib/components/ca-rating-review/components/ca-rating-review-user/ca-rating-review-user.component.mjs +2 -2
- package/esm2022/lib/components/ca-right-side-panel/components/ca-right-side-panel-company/ca-right-side-panel-company.component.mjs +1 -1
- package/esm2022/lib/components/ca-right-side-panel/components/ca-right-side-panel-menu/ca-right-side-panel-menu.component.mjs +1 -1
- package/esm2022/lib/components/ca-right-side-panel/components/ca-right-side-panel-top-bar/ca-right-side-panel-top-bar.component.mjs +1 -1
- package/esm2022/lib/components/ca-search-multiple-states/ca-search-multiple-states.component.mjs +1 -1
- package/esm2022/lib/components/ca-todo/ca-todo.component.mjs +2 -2
- package/esm2022/lib/components/ca-todo/components/ca-todo-card.component.mjs +4 -4
- package/esm2022/lib/components/ca-truck-trailer-progress-bar/ca-truck-trailer-progress-bar.component.mjs +1 -1
- package/esm2022/lib/components/ca-upload-files/ca-upload-files.component.mjs +2 -2
- package/esm2022/lib/components/ca-upload-files/components/ca-upload-dropzone/ca-upload-dropzone.component.mjs +2 -2
- package/esm2022/lib/components/ca-upload-files/components/ca-upload-file/ca-upload-file.component.mjs +2 -2
- package/esm2022/lib/components/ca-upload-files/components/ca-upload-files-carousel/ca-upload-files-carousel.component.mjs +2 -2
- package/esm2022/lib/directives/index.mjs +4 -0
- package/esm2022/lib/directives/prevent-multipleclicks.directive.mjs +38 -0
- package/fesm2022/ca-components.mjs +249 -48
- package/fesm2022/ca-components.mjs.map +1 -1
- package/lib/components/ca-app-tooltip-v2/ca-app-tooltip-v2.component.d.ts +2 -1
- package/lib/components/ca-burger-menu/ca-burger-menu.component.d.ts +16 -1
- package/lib/components/ca-burger-menu/constants/burger-menu.constants.d.ts +4 -0
- package/lib/components/ca-burger-menu/enums/burger-menu.enum.d.ts +3 -0
- package/lib/components/ca-burger-menu/models/burger-menu.model.d.ts +13 -0
- package/lib/components/ca-filters/ca-filter.component.d.ts +2 -2
- package/lib/directives/index.d.ts +3 -0
- package/lib/directives/prevent-multipleclicks.directive.d.ts +10 -0
- package/package.json +1 -1
- package/src/assets/ca-components/svg/applicant/arrow-disabled.svg +0 -3
- package/src/assets/ca-components/svg/applicant/arrow-hover.svg +0 -4
- package/src/assets/ca-components/svg/applicant/back-btn.svg +0 -4
- package/src/assets/ca-components/svg/applicant/book.svg +0 -3
- package/src/assets/ca-components/svg/applicant/cancel-circle.svg +0 -3
- package/src/assets/ca-components/svg/applicant/cancel.svg +0 -6
- package/src/assets/ca-components/svg/applicant/car.svg +0 -5
- package/src/assets/ca-components/svg/applicant/card.svg +0 -5
- package/src/assets/ca-components/svg/applicant/case.svg +0 -6
- package/src/assets/ca-components/svg/applicant/check.svg +0 -3
- package/src/assets/ca-components/svg/applicant/clock.svg +0 -3
- package/src/assets/ca-components/svg/applicant/close-small-square.svg +0 -6
- package/src/assets/ca-components/svg/applicant/close-x.svg +0 -6
- package/src/assets/ca-components/svg/applicant/confirm-circle.svg +0 -5
- package/src/assets/ca-components/svg/applicant/double-check.svg +0 -10
- package/src/assets/ca-components/svg/applicant/end.svg +0 -100
- package/src/assets/ca-components/svg/applicant/exclamation-mark.svg +0 -3
- package/src/assets/ca-components/svg/applicant/ic_logo-dark.svg +0 -28
- package/src/assets/ca-components/svg/applicant/ic_logo-light.svg +0 -19
- package/src/assets/ca-components/svg/applicant/info.svg +0 -3
- package/src/assets/ca-components/svg/applicant/invalid-review-x.svg +0 -3
- package/src/assets/ca-components/svg/applicant/location.svg +0 -3
- package/src/assets/ca-components/svg/applicant/logo.svg +0 -21
- package/src/assets/ca-components/svg/applicant/medical.svg +0 -8
- package/src/assets/ca-components/svg/applicant/new-logo-dark.svg +0 -30
- package/src/assets/ca-components/svg/applicant/new-logo.svg +0 -30
- package/src/assets/ca-components/svg/applicant/next-arrow.svg +0 -3
- package/src/assets/ca-components/svg/applicant/next-btn.svg +0 -4
- package/src/assets/ca-components/svg/applicant/notification-light.svg +0 -4
- package/src/assets/ca-components/svg/applicant/notification.svg +0 -4
- package/src/assets/ca-components/svg/applicant/pen-box.svg +0 -9
- package/src/assets/ca-components/svg/applicant/reset.svg +0 -7
- package/src/assets/ca-components/svg/applicant/shield.svg +0 -6
- package/src/assets/ca-components/svg/applicant/ssn.svg +0 -3
- package/src/assets/ca-components/svg/applicant/user-active.svg +0 -5
- package/src/assets/ca-components/svg/applicant/user.svg +0 -6
- package/src/assets/ca-components/svg/applicant/welcome.svg +0 -77
- package/src/assets/ca-components/svg/chart/chart_no_data_green.svg +0 -242
- package/src/assets/ca-components/svg/chart/chart_no_data_mixed.svg +0 -62
- package/src/assets/ca-components/svg/chart/chart_no_data_pay.svg +0 -115
- package/src/assets/ca-components/svg/chart/chart_no_data_stacked.svg +0 -225
- package/src/assets/ca-components/svg/chart/chart_no_data_yellow.svg +0 -51
- package/src/assets/ca-components/svg/comment/cancel.svg +0 -3
- package/src/assets/ca-components/svg/comment/confirm.svg +0 -3
- package/src/assets/ca-components/svg/comment/delete.svg +0 -4
- package/src/assets/ca-components/svg/comment/edit.svg +0 -4
- package/src/assets/ca-components/svg/comment/exclamation-mark.svg +0 -3
- package/src/assets/ca-components/svg/comment/trash.svg +0 -32
- package/src/assets/ca-components/svg/common/actions/action_add.svg +0 -4
- package/src/assets/ca-components/svg/common/actions/action_check.svg +0 -4
- package/src/assets/ca-components/svg/common/actions/action_play.svg +0 -4
- package/src/assets/ca-components/svg/common/actions/action_recheck.svg +0 -5
- package/src/assets/ca-components/svg/common/actions/action_stop.svg +0 -4
- package/src/assets/ca-components/svg/common/actions/action_write.svg +0 -5
- package/src/assets/ca-components/svg/common/actions/action_x.svg +0 -4
- package/src/assets/ca-components/svg/common/calendar/arrow-left.svg +0 -3
- package/src/assets/ca-components/svg/common/category/ic_alignment.svg +0 -5
- package/src/assets/ca-components/svg/common/colors/ic_circle.svg +0 -3
- package/src/assets/ca-components/svg/common/colors/ic_color.svg +0 -6
- package/src/assets/ca-components/svg/common/ic_accounting.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_action.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_address.svg +0 -6
- package/src/assets/ca-components/svg/common/ic_arrow_filter.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_arrow_input.svg +0 -4
- package/src/assets/ca-components/svg/common/ic_billing.svg +0 -7
- package/src/assets/ca-components/svg/common/ic_broker-half-circle.svg +0 -1
- package/src/assets/ca-components/svg/common/ic_cancel_violation.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_confirm.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_contact.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_customer.svg +0 -4
- package/src/assets/ca-components/svg/common/ic_debtor.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_default_pm.svg +0 -6
- package/src/assets/ca-components/svg/common/ic_department.svg +0 -5
- package/src/assets/ca-components/svg/common/ic_document.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_dollar-additional-load.svg +0 -6
- package/src/assets/ca-components/svg/common/ic_dollar.svg +0 -6
- package/src/assets/ca-components/svg/common/ic_driver.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_fmcsa.svg +0 -5
- package/src/assets/ca-components/svg/common/ic_forbidden.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_fuel.svg +0 -4
- package/src/assets/ca-components/svg/common/ic_funnel.svg +0 -1
- package/src/assets/ca-components/svg/common/ic_grid.svg +0 -8
- package/src/assets/ca-components/svg/common/ic_hazardous.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_integration.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_key-repair.svg +0 -1
- package/src/assets/ca-components/svg/common/ic_label.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_load.svg +0 -5
- package/src/assets/ca-components/svg/common/ic_location_map.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_miles.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_module.svg +0 -5
- package/src/assets/ca-components/svg/common/ic_owner.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_parking.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_password_key.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_plus.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_radial.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_reset.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_settings.svg +0 -4
- package/src/assets/ca-components/svg/common/ic_side-panel-right.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_spec-confirm.svg +0 -7
- package/src/assets/ca-components/svg/common/ic_state.svg +0 -1
- package/src/assets/ca-components/svg/common/ic_telematics.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_time.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_todo.svg +0 -4
- package/src/assets/ca-components/svg/common/ic_towing.svg +0 -18
- package/src/assets/ca-components/svg/common/ic_trailer.svg +0 -1
- package/src/assets/ca-components/svg/common/ic_truck.svg +0 -1
- package/src/assets/ca-components/svg/common/ic_two_arrows.svg +0 -4
- package/src/assets/ca-components/svg/common/ic_unsafe_driving.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_user.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_vacation.svg +0 -3
- package/src/assets/ca-components/svg/common/ic_x.svg +0 -3
- package/src/assets/ca-components/svg/common/owner-badge-blue.svg +0 -5
- package/src/assets/ca-components/svg/common/payroll-down-arrow.svg +0 -3
- package/src/assets/ca-components/svg/common/payroll-up-arrow.svg +0 -3
- package/src/assets/ca-components/svg/common/repair-pm/ic_ac_compressor.svg +0 -6
- package/src/assets/ca-components/svg/common/repair-pm/ic_air_compressor.svg +0 -7
- package/src/assets/ca-components/svg/common/repair-pm/ic_air_filter.svg +0 -8
- package/src/assets/ca-components/svg/common/repair-pm/ic_alignment.svg +0 -8
- package/src/assets/ca-components/svg/common/repair-pm/ic_battery.svg +0 -6
- package/src/assets/ca-components/svg/common/repair-pm/ic_belts.svg +0 -8
- package/src/assets/ca-components/svg/common/repair-pm/ic_brake_chamber.svg +0 -6
- package/src/assets/ca-components/svg/common/repair-pm/ic_brake_filter.svg +0 -6
- package/src/assets/ca-components/svg/common/repair-pm/ic_custom_pm.svg +0 -6
- package/src/assets/ca-components/svg/common/repair-pm/ic_engine_oil_filter.svg +0 -7
- package/src/assets/ca-components/svg/common/repair-pm/ic_engine_tune_up.svg +0 -6
- package/src/assets/ca-components/svg/common/repair-pm/ic_fuel_pump.svg +0 -8
- package/src/assets/ca-components/svg/common/repair-pm/ic_oil_pump.svg +0 -7
- package/src/assets/ca-components/svg/common/repair-pm/ic_radiator.svg +0 -3
- package/src/assets/ca-components/svg/common/repair-pm/ic_transmission_fluid.svg +0 -7
- package/src/assets/ca-components/svg/common/repair-pm/ic_turbo.svg +0 -6
- package/src/assets/ca-components/svg/common/repair-pm/ic_water_pump.svg +0 -8
- package/src/assets/ca-components/svg/common/repair-services/ic_align.svg +0 -5
- package/src/assets/ca-components/svg/common/repair-services/ic_alignment.svg +0 -5
- package/src/assets/ca-components/svg/common/repair-services/ic_body.svg +0 -3
- package/src/assets/ca-components/svg/common/repair-services/ic_dealer.svg +0 -1
- package/src/assets/ca-components/svg/common/repair-services/ic_dpf.svg +0 -13
- package/src/assets/ca-components/svg/common/repair-services/ic_engine.svg +0 -3
- package/src/assets/ca-components/svg/common/repair-services/ic_heavy.svg +0 -3
- package/src/assets/ca-components/svg/common/repair-services/ic_mobile.svg +0 -1
- package/src/assets/ca-components/svg/common/repair-services/ic_parts.svg +0 -1
- package/src/assets/ca-components/svg/common/repair-services/ic_reefer_shop_service.svg +0 -6
- package/src/assets/ca-components/svg/common/repair-services/ic_repair.svg +0 -1
- package/src/assets/ca-components/svg/common/repair-services/ic_shop.svg +0 -1
- package/src/assets/ca-components/svg/common/repair-services/ic_tire.svg +0 -1
- package/src/assets/ca-components/svg/common/repair-services/ic_towing.svg +0 -1
- package/src/assets/ca-components/svg/common/repair-services/ic_trailer.svg +0 -1
- package/src/assets/ca-components/svg/common/repair-services/ic_truck.svg +0 -1
- package/src/assets/ca-components/svg/common/sortArrow_filter.svg +0 -3
- package/src/assets/ca-components/svg/common/trailers/ic_hazardous.svg +0 -3
- package/src/assets/ca-components/svg/common/trailers/ic_trailer_bottom-dump.svg +0 -5
- package/src/assets/ca-components/svg/common/trailers/ic_trailer_carhauler-stinger.svg +0 -6
- package/src/assets/ca-components/svg/common/trailers/ic_trailer_carhauler.svg +0 -1
- package/src/assets/ca-components/svg/common/trailers/ic_trailer_chassis.svg +0 -1
- package/src/assets/ca-components/svg/common/trailers/ic_trailer_conestoga.svg +0 -1
- package/src/assets/ca-components/svg/common/trailers/ic_trailer_container.svg +0 -1
- package/src/assets/ca-components/svg/common/trailers/ic_trailer_dryvan.svg +0 -1
- package/src/assets/ca-components/svg/common/trailers/ic_trailer_end-dump.svg +0 -5
- package/src/assets/ca-components/svg/common/trailers/ic_trailer_flatbed.svg +0 -1
- package/src/assets/ca-components/svg/common/trailers/ic_trailer_hopper.svg +0 -6
- package/src/assets/ca-components/svg/common/trailers/ic_trailer_low-boy.svg +0 -1
- package/src/assets/ca-components/svg/common/trailers/ic_trailer_reefer.svg +0 -1
- package/src/assets/ca-components/svg/common/trailers/ic_trailer_side-kit.svg +0 -1
- package/src/assets/ca-components/svg/common/trailers/ic_trailer_step-deck.svg +0 -1
- package/src/assets/ca-components/svg/common/trailers/ic_trailer_tanker-pneumatic.svg +0 -6
- package/src/assets/ca-components/svg/common/trailers/ic_trailer_tanker.svg +0 -6
- package/src/assets/ca-components/svg/common/trucks/ic_truck_box-truck.svg +0 -1
- package/src/assets/ca-components/svg/common/trucks/ic_truck_car-hauler.svg +0 -1
- package/src/assets/ca-components/svg/common/trucks/ic_truck_cargo-van.svg +0 -1
- package/src/assets/ca-components/svg/common/trucks/ic_truck_cement.svg +0 -8
- package/src/assets/ca-components/svg/common/trucks/ic_truck_dump.svg +0 -8
- package/src/assets/ca-components/svg/common/trucks/ic_truck_garbage.svg +0 -10
- package/src/assets/ca-components/svg/common/trucks/ic_truck_reefer.svg +0 -6
- package/src/assets/ca-components/svg/common/trucks/ic_truck_semi-truck.svg +0 -1
- package/src/assets/ca-components/svg/common/trucks/ic_truck_semi-wSleeper.svg +0 -9
- package/src/assets/ca-components/svg/common/trucks/ic_truck_spotter.svg +0 -1
- package/src/assets/ca-components/svg/common/trucks/ic_truck_tow-truck.svg +0 -1
- package/src/assets/ca-components/svg/dropdown/add.svg +0 -8
- package/src/assets/ca-components/svg/dropzone/carousel-arrow.svg +0 -17
- package/src/assets/ca-components/svg/dropzone/documentDropzone.svg +0 -43
- package/src/assets/ca-components/svg/dropzone/ic_confirm.svg +0 -3
- package/src/assets/ca-components/svg/dropzone/ic_download.svg +0 -6
- package/src/assets/ca-components/svg/dropzone/ic_grid.svg +0 -3
- package/src/assets/ca-components/svg/dropzone/ic_grid_light.svg +0 -3
- package/src/assets/ca-components/svg/dropzone/ic_tag.svg +0 -6
- package/src/assets/ca-components/svg/dropzone/ic_trash.svg +0 -4
- package/src/assets/ca-components/svg/dropzone/imageDropzone.svg +0 -58
- package/src/assets/ca-components/svg/dropzone/logoDropzone.svg +0 -34
- package/src/assets/ca-components/svg/dropzone/mediaDropzone.svg +0 -41
- package/src/assets/ca-components/svg/dropzone/upload-arrow.svg +0 -14
- package/src/assets/ca-components/svg/dropzone/x.svg +0 -3
- package/src/assets/ca-components/svg/input/ic_address.svg +0 -6
- package/src/assets/ca-components/svg/input/ic_arrow_down_updated.svg +0 -6
- package/src/assets/ca-components/svg/input/ic_arrow_input.svg +0 -4
- package/src/assets/ca-components/svg/input/ic_billing.svg +0 -7
- package/src/assets/ca-components/svg/input/ic_confirm.svg +0 -3
- package/src/assets/ca-components/svg/input/ic_danger.svg +0 -3
- package/src/assets/ca-components/svg/input/ic_date.svg +0 -3
- package/src/assets/ca-components/svg/input/ic_dollar-additional-load.svg +0 -6
- package/src/assets/ca-components/svg/input/ic_dollar.svg +0 -6
- package/src/assets/ca-components/svg/input/ic_dynamic_focus_label.svg +0 -6
- package/src/assets/ca-components/svg/input/ic_dynamic_label.svg +0 -6
- package/src/assets/ca-components/svg/input/ic_email.svg +0 -6
- package/src/assets/ca-components/svg/input/ic_eye-hidden.svg +0 -6
- package/src/assets/ca-components/svg/input/ic_eye-visible.svg +0 -6
- package/src/assets/ca-components/svg/input/ic_miles.svg +0 -3
- package/src/assets/ca-components/svg/input/ic_password.svg +0 -6
- package/src/assets/ca-components/svg/input/ic_phone.svg +0 -6
- package/src/assets/ca-components/svg/input/ic_pm_decrement.svg +0 -4
- package/src/assets/ca-components/svg/input/ic_pm_increment.svg +0 -4
- package/src/assets/ca-components/svg/input/ic_remove_input.svg +0 -7
- package/src/assets/ca-components/svg/input/ic_search.svg +0 -3
- package/src/assets/ca-components/svg/input/ic_spec_input_pen.svg +0 -8
- package/src/assets/ca-components/svg/input/ic_time.svg +0 -3
- package/src/assets/ca-components/svg/input/ic_weight.svg +0 -6
- package/src/assets/ca-components/svg/input/ic_x.svg +0 -4
- package/src/assets/ca-components/svg/input/owner-badge-black.svg +0 -5
- package/src/assets/ca-components/svg/map/18px_tooltip.svg +0 -3
- package/src/assets/ca-components/svg/map/accident_calender.svg +0 -3
- package/src/assets/ca-components/svg/map/accident_hazmat.svg +0 -3
- package/src/assets/ca-components/svg/map/accident_injury.svg +0 -3
- package/src/assets/ca-components/svg/map/accident_towing.svg +0 -3
- package/src/assets/ca-components/svg/map/accident_vechile.svg +0 -3
- package/src/assets/ca-components/svg/map/address.svg +0 -3
- package/src/assets/ca-components/svg/map/arrow_corner_top.svg +0 -3
- package/src/assets/ca-components/svg/map/calender_last_used.svg +0 -3
- package/src/assets/ca-components/svg/map/check.svg +0 -3
- package/src/assets/ca-components/svg/map/cluster_marker_4.svg +0 -32
- package/src/assets/ca-components/svg/map/cluster_marker_6.svg +0 -32
- package/src/assets/ca-components/svg/map/details_options.svg +0 -10
- package/src/assets/ca-components/svg/map/details_options_2.svg +0 -3
- package/src/assets/ca-components/svg/map/dislike.svg +0 -3
- package/src/assets/ca-components/svg/map/email.svg +0 -3
- package/src/assets/ca-components/svg/map/extended_stop_ignition.svg +0 -11
- package/src/assets/ca-components/svg/map/gps-location.svg +0 -4
- package/src/assets/ca-components/svg/map/gps-short-stop-icon.svg +0 -4
- package/src/assets/ca-components/svg/map/gps_extended_status.svg +0 -4
- package/src/assets/ca-components/svg/map/gps_full.svg +0 -7
- package/src/assets/ca-components/svg/map/gps_parking_status.svg +0 -4
- package/src/assets/ca-components/svg/map/gps_short_status.svg +0 -4
- package/src/assets/ca-components/svg/map/gps_trailer_extended.svg +0 -11
- package/src/assets/ca-components/svg/map/gps_trailer_moving.svg +0 -16
- package/src/assets/ca-components/svg/map/gps_trailer_parking.svg +0 -11
- package/src/assets/ca-components/svg/map/gps_trailer_short_stop.svg +0 -11
- package/src/assets/ca-components/svg/map/ic_date_checked.svg +0 -1
- package/src/assets/ca-components/svg/map/ic_date_deactivated.svg +0 -3
- package/src/assets/ca-components/svg/map/ic_favorite.svg +0 -3
- package/src/assets/ca-components/svg/map/ic_marker_office.svg +0 -18
- package/src/assets/ca-components/svg/map/ic_permanently_closed.svg +0 -4
- package/src/assets/ca-components/svg/map/ic_pulse_circle.svg +0 -1
- package/src/assets/ca-components/svg/map/like.svg +0 -3
- package/src/assets/ca-components/svg/map/marker.svg +0 -27
- package/src/assets/ca-components/svg/map/marker_2.svg +0 -27
- package/src/assets/ca-components/svg/map/marker_3.svg +0 -27
- package/src/assets/ca-components/svg/map/marker_4.svg +0 -27
- package/src/assets/ca-components/svg/map/marker_5.svg +0 -27
- package/src/assets/ca-components/svg/map/marker_cluster.svg +0 -32
- package/src/assets/ca-components/svg/map/marker_cluster_2.svg +0 -32
- package/src/assets/ca-components/svg/map/marker_dot.svg +0 -18
- package/src/assets/ca-components/svg/map/marker_dot_2.svg +0 -18
- package/src/assets/ca-components/svg/map/mask_group.svg +0 -546
- package/src/assets/ca-components/svg/map/no_gps_status.svg +0 -8
- package/src/assets/ca-components/svg/map/oss.svg +0 -3
- package/src/assets/ca-components/svg/map/parking_ignition.svg +0 -11
- package/src/assets/ca-components/svg/map/parking_trailer_ignition.svg +0 -11
- package/src/assets/ca-components/svg/map/phone.svg +0 -3
- package/src/assets/ca-components/svg/map/progress-marker-checked.svg +0 -20
- package/src/assets/ca-components/svg/map/progress-marker-pickup-checked.svg +0 -20
- package/src/assets/ca-components/svg/map/progress-marker-pickup.svg +0 -20
- package/src/assets/ca-components/svg/map/progress_marker-pin-dark.svg +0 -20
- package/src/assets/ca-components/svg/map/progress_marker.svg +0 -20
- package/src/assets/ca-components/svg/map/progress_marker_reached.svg +0 -20
- package/src/assets/ca-components/svg/map/review.svg +0 -3
- package/src/assets/ca-components/svg/map/routing_marker.svg +0 -19
- package/src/assets/ca-components/svg/map/short_stop_ignition.svg +0 -11
- package/src/assets/ca-components/svg/map/short_stop_trailer_ignition.svg +0 -16
- package/src/assets/ca-components/svg/map/telematic_marker.svg +0 -19
- package/src/assets/ca-components/svg/map/telematic_marker_1.svg +0 -19
- package/src/assets/ca-components/svg/map/telematic_marker_2.svg +0 -18
- package/src/assets/ca-components/svg/map/unitView_marker.svg +0 -20
- package/src/assets/ca-components/svg/note/Itallic.svg +0 -3
- package/src/assets/ca-components/svg/note/Note.svg +0 -3
- package/src/assets/ca-components/svg/note/Underline.svg +0 -3
- package/src/assets/ca-components/svg/note/arrow.svg +0 -3
- package/src/assets/ca-components/svg/note/bold.svg +0 -3
- package/src/assets/ca-components/svg/note/color-picker-inverse.svg +0 -10
- package/src/assets/ca-components/svg/note/note-empty-dark.svg +0 -3
- package/src/assets/ca-components/svg/note/note-empty.svg +0 -3
- package/src/assets/ca-components/svg/note/note-filled.svg +0 -3
- package/src/assets/ca-components/svg/note/tick.svg +0 -3
- package/src/assets/ca-components/svg/period-content/dollar-sign.svg +0 -3
- package/src/assets/ca-components/svg/period-content/infinity.svg +0 -4
- package/src/assets/ca-components/svg/period-content/list-options.svg +0 -11
- package/src/assets/ca-components/svg/period-content/options-clicked.svg +0 -11
- package/src/assets/ca-components/svg/period-content/options.svg +0 -3
- package/src/assets/ca-components/svg/period-content/plus.svg +0 -3
- package/src/assets/ca-components/svg/period-content/semi-truck.svg +0 -8
- package/src/assets/ca-components/svg/period-content/status-active-lite.svg +0 -3
- package/src/assets/ca-components/svg/period-content/status-pending-lite.svg +0 -3
- package/src/assets/ca-components/svg/period-content/status-warning-lite.svg +0 -3
- package/src/assets/ca-components/svg/pickup-delivery/Miles.svg +0 -3
- package/src/assets/ca-components/svg/pickup-delivery/Options.svg +0 -3
- package/src/assets/ca-components/svg/pickup-delivery/arrowLeft.svg +0 -10
- package/src/assets/ca-components/svg/pickup-delivery/arrowLeftHover.svg +0 -10
- package/src/assets/ca-components/svg/pickup-delivery/arrowRight.svg +0 -3
- package/src/assets/ca-components/svg/pickup-delivery/detailsOptions.svg +0 -3
- package/src/assets/ca-components/svg/pickup-delivery/leftArrow.svg +0 -3
- package/src/assets/ca-components/svg/pickup-delivery/mailIcon.svg +0 -3
- package/src/assets/ca-components/svg/pickup-delivery/mapOptionsDark.svg +0 -11
- package/src/assets/ca-components/svg/pickup-delivery/optionsVertical.svg +0 -10
- package/src/assets/ca-components/svg/pickup-delivery/phoneIcon.svg +0 -3
- package/src/assets/ca-components/svg/pickup-delivery/userIcon.svg +0 -3
- package/src/assets/ca-components/svg/pickup-delivery/vector.svg +0 -3
- package/src/assets/ca-components/svg/popup/Delete.svg +0 -4
- package/src/assets/ca-components/svg/popup/Information.svg +0 -3
- package/src/assets/ca-components/svg/popup/Minus.svg +0 -3
- package/src/assets/ca-components/svg/popup/Print.svg +0 -3
- package/src/assets/ca-components/svg/popup/Share.svg +0 -3
- package/src/assets/ca-components/svg/popup/close-business-icon.svg +0 -6
- package/src/assets/ca-components/svg/popup/delete-hover-new.svg +0 -9
- package/src/assets/ca-components/svg/popup/edit-hover.svg +0 -10
- package/src/assets/ca-components/svg/popup/ic_broker-user.svg +0 -1
- package/src/assets/ca-components/svg/popup/ic_info.svg +0 -6
- package/src/assets/ca-components/svg/popup/ic_print.svg +0 -1
- package/src/assets/ca-components/svg/popup/resize-arrow.svg +0 -1
- package/src/assets/ca-components/svg/popup/review-pen.svg +0 -6
- package/src/assets/ca-components/svg/popup/share-icon.svg +0 -6
- package/src/assets/ca-components/svg/popup/trash.svg +0 -4
- package/src/assets/ca-components/svg/progress-range/progress-range-last-price-bar.svg +0 -7
- package/src/assets/ca-components/svg/progress-range/progress-range-last-price-cursor.svg +0 -4
- package/src/assets/ca-components/svg/rating-reviews/colaps-button.svg +0 -3
- package/src/assets/ca-components/svg/rating-reviews/dislikes.svg +0 -3
- package/src/assets/ca-components/svg/rating-reviews/likes.svg +0 -3
- package/src/assets/ca-components/svg/rating-reviews/pen.svg +0 -4
- package/src/assets/ca-components/svg/rating-reviews/reviews.svg +0 -3
- package/src/assets/ca-components/svg/rating-reviews/sort_icon.svg +0 -3
- package/src/assets/ca-components/svg/rating-reviews/trash.svg +0 -4
- package/src/assets/ca-components/svg/right-side-panel/ic_accident_insurance_policy.svg +0 -3
- package/src/assets/ca-components/svg/right-side-panel/ic_activity_log.svg +0 -3
- package/src/assets/ca-components/svg/right-side-panel/ic_address.svg +0 -3
- package/src/assets/ca-components/svg/right-side-panel/ic_amex.svg +0 -6
- package/src/assets/ca-components/svg/right-side-panel/ic_arrow_primary_right.svg +0 -3
- package/src/assets/ca-components/svg/right-side-panel/ic_arrow_primary_up.svg +0 -3
- package/src/assets/ca-components/svg/right-side-panel/ic_bank_account.svg +0 -7
- package/src/assets/ca-components/svg/right-side-panel/ic_chat.svg +0 -3
- package/src/assets/ca-components/svg/right-side-panel/ic_company.svg +0 -3
- package/src/assets/ca-components/svg/right-side-panel/ic_company_division.svg +0 -7
- package/src/assets/ca-components/svg/right-side-panel/ic_copy.svg +0 -3
- package/src/assets/ca-components/svg/right-side-panel/ic_discover.svg +0 -5
- package/src/assets/ca-components/svg/right-side-panel/ic_edit.svg +0 -4
- package/src/assets/ca-components/svg/right-side-panel/ic_fax.svg +0 -5
- package/src/assets/ca-components/svg/right-side-panel/ic_fuel_card.svg +0 -3
- package/src/assets/ca-components/svg/right-side-panel/ic_hamburger_menu.svg +0 -3
- package/src/assets/ca-components/svg/right-side-panel/ic_mastercard.svg +0 -3
- package/src/assets/ca-components/svg/right-side-panel/ic_notification.svg +0 -3
- package/src/assets/ca-components/svg/right-side-panel/ic_people.svg +0 -3
- package/src/assets/ca-components/svg/right-side-panel/ic_pin.svg +0 -3
- package/src/assets/ca-components/svg/right-side-panel/ic_reload_refresh.svg +0 -3
- package/src/assets/ca-components/svg/right-side-panel/ic_user2.svg +0 -3
- package/src/assets/ca-components/svg/right-side-panel/ic_visa.svg +0 -4
- package/src/assets/ca-components/svg/right-side-panel/ic_website.svg +0 -3
- package/src/assets/ca-components/svg/right-side-panel/ic_widget.svg +0 -6
- package/src/assets/ca-components/svg/search-multiple-states/add.svg +0 -4
- package/src/assets/ca-components/svg/search-multiple-states/clear-search.svg +0 -4
- package/src/assets/ca-components/svg/search-multiple-states/focused-search-button.svg +0 -3
- package/src/assets/ca-components/svg/search-multiple-states/new-search-icon.svg +0 -1
- package/src/assets/ca-components/svg/search-multiple-states/search-button.svg +0 -3
- package/src/assets/ca-components/svg/telematic-map-list/ic_arrow-right.svg +0 -11
- package/src/assets/ca-components/svg/telematic-map-list/ic_arrow-up-rectangle.svg +0 -11
- package/src/assets/ca-components/svg/telematic-map-list/ic_arrow-up-right.svg +0 -11
- package/src/assets/ca-components/svg/telematic-map-list/ic_arrow-up.svg +0 -11
- package/src/assets/ca-components/svg/telematic-map-list/ic_circle-grey-filled.svg +0 -4
- package/src/assets/ca-components/svg/telematic-map-list/ic_circle-grey.svg +0 -4
- package/src/assets/ca-components/svg/telematic-map-list/ic_circle-orange.svg +0 -4
- package/src/assets/ca-components/svg/telematic-map-list/ic_circle-red-filled.svg +0 -4
- package/src/assets/ca-components/svg/telematic-map-list/ic_document.svg +0 -3
- package/src/assets/ca-components/svg/telematic-map-list/ic_eye-icon-closed.svg +0 -3
- package/src/assets/ca-components/svg/telematic-map-list/ic_eye-icon.svg +0 -3
- package/src/assets/ca-components/svg/telematic-map-list/ic_no-document.svg +0 -7
- package/src/assets/ca-components/svg/telematic-map-list/ic_rectangle-orange.svg +0 -11
- package/src/assets/ca-components/svg/telematic-map-list/ic_repair_engine.svg +0 -3
- package/src/assets/ca-components/svg/todo/attachment.svg +0 -3
- package/src/assets/ca-components/svg/todo/comments.svg +0 -4
- package/src/assets/ca-components/svg/todo/dropdown.svg +0 -3
- package/src/assets/ca-components/svg/todo/plus.svg +0 -3
- package/src/assets/ca-components/svg/todo/upload.svg +0 -3
- package/src/assets/ca-components/svg/todo/web.svg +0 -3
- package/src/assets/ca-components/svg/truckassist-table/burger-icon.svg +0 -3
- package/src/assets/ca-components/svg/truckassist-table/x.svg +0 -1
|
@@ -408,7 +408,7 @@ export class CaFilterComponent {
|
|
|
408
408
|
// modules
|
|
409
409
|
CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: i1.UpperCasePipe, name: "uppercase" }, { kind: "ngmodule", type: HttpClientModule }, { kind: "ngmodule", type: AngularSvgIconModule }, { kind: "component", type: i2.SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "applyCss", "svgClass", "class", "viewBox", "svgAriaLabel", "svgStyle"] }, { kind: "ngmodule", type: NgbModule }, { kind: "directive", type: i3.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type:
|
|
410
410
|
// components
|
|
411
|
-
CaMoneyFilterComponent, selector: "app-ca-money-filter", inputs: ["type", "subType", "isMoneyFilter", "isMilesFilter", "isFuelType", "isLoadType", "categoryType", "isRepairFilter", "isFilterActive"] }, { kind: "component", type: CaStatusFilterComponent, selector: "app-ca-status-filter", inputs: ["type", "isLegendView", "isFilterActive", "toDoSubType", "loadStatusOptionsArray"] }, { kind: "component", type: CaTimeFilterComponent, selector: "app-ca-time-filter", inputs: ["type", "timeSubType", "isFilterActive"] }, { kind: "component", type: CaDispatcherFilterComponent, selector: "app-ca-dispatcher-filter", inputs: ["type", "isFilterActive", "filterTitle", "hasLeftSideIcon", "toDoSubType", "unselectedUser", "isSearchExpanded"] }, { kind: "component", type: CaStateFilterComponent, selector: "app-ca-state-filter", inputs: ["type", "isFilterActive", "isSearchExpanded", "usaStates", "canadaStates"] }, { kind: "component", type: CaTruckTypeFilterComponent, selector: "app-ca-truck-type-filter", inputs: ["type", "isFilterActive", "hasLeftSideIcon", "truckTypeArray", "isRepairFilter", "isSearchExpanded"] }, { kind: "component", type: CaTrailerTypeFilterComponent, selector: "app-ca-trailer-type-filter", inputs: ["type", "isFilterActive", "hasLeftSideIcon", "trailerTypeArray", "isSearchExpanded", "isRepairFilter"] }, { kind: "component", type: CaPmFilterComponent, selector: "app-ca-pm-filter", inputs: ["type", "isFilterActive", "hasLeftSideIcon", "pmSubtype", "pmFilterArray"] }, { kind: "component", type: CaLocationFilterComponent, selector: "app-ca-location-filter", inputs: ["type", "toDoSubType", "isLegendView", "isFilterActive", "isAreaFilter", "addressList"] }, { kind: "component", type: CaUserFilterComponent, selector: "app-ca-user-filter", inputs: ["type", "isFilterActive", "filterTitle", "hasLeftSideIcon", "toDoSubType", "userGroup", "isSearchExpanded"] }, { kind: "component", type: CaViolationFilterComponent, selector: "app-ca-violation-filter", inputs: ["type", "isFilterActive", "toDoSubType"] }, { kind: "component", type: CaAutoclosePopoverComponent, selector: "[app-ca-autoclose-popover]", inputs: ["isDisabled", "customClass", "placement"], outputs: ["closeFilter", "openFilter"] }, { kind: "component", type: CaAppTooltipV2Component, selector: "mainCaTooltip, [mainCaTooltip]", inputs: ["mainCaTooltip", "position", "openTooltipDelay", "tooltipBackground", "tooltipColor", "tooltipTextAlign", "tooltipMarginTop"] }, { kind: "pipe", type:
|
|
411
|
+
CaMoneyFilterComponent, selector: "app-ca-money-filter", inputs: ["type", "subType", "isMoneyFilter", "isMilesFilter", "isFuelType", "isLoadType", "categoryType", "isRepairFilter", "isFilterActive"] }, { kind: "component", type: CaStatusFilterComponent, selector: "app-ca-status-filter", inputs: ["type", "isLegendView", "isFilterActive", "toDoSubType", "loadStatusOptionsArray"] }, { kind: "component", type: CaTimeFilterComponent, selector: "app-ca-time-filter", inputs: ["type", "timeSubType", "isFilterActive"] }, { kind: "component", type: CaDispatcherFilterComponent, selector: "app-ca-dispatcher-filter", inputs: ["type", "isFilterActive", "filterTitle", "hasLeftSideIcon", "toDoSubType", "unselectedUser", "isSearchExpanded"] }, { kind: "component", type: CaStateFilterComponent, selector: "app-ca-state-filter", inputs: ["type", "isFilterActive", "isSearchExpanded", "usaStates", "canadaStates"] }, { kind: "component", type: CaTruckTypeFilterComponent, selector: "app-ca-truck-type-filter", inputs: ["type", "isFilterActive", "hasLeftSideIcon", "truckTypeArray", "isRepairFilter", "isSearchExpanded"] }, { kind: "component", type: CaTrailerTypeFilterComponent, selector: "app-ca-trailer-type-filter", inputs: ["type", "isFilterActive", "hasLeftSideIcon", "trailerTypeArray", "isSearchExpanded", "isRepairFilter"] }, { kind: "component", type: CaPmFilterComponent, selector: "app-ca-pm-filter", inputs: ["type", "isFilterActive", "hasLeftSideIcon", "pmSubtype", "pmFilterArray"] }, { kind: "component", type: CaLocationFilterComponent, selector: "app-ca-location-filter", inputs: ["type", "toDoSubType", "isLegendView", "isFilterActive", "isAreaFilter", "addressList"] }, { kind: "component", type: CaUserFilterComponent, selector: "app-ca-user-filter", inputs: ["type", "isFilterActive", "filterTitle", "hasLeftSideIcon", "toDoSubType", "userGroup", "isSearchExpanded"] }, { kind: "component", type: CaViolationFilterComponent, selector: "app-ca-violation-filter", inputs: ["type", "isFilterActive", "toDoSubType"] }, { kind: "component", type: CaAutoclosePopoverComponent, selector: "[app-ca-autoclose-popover]", inputs: ["isDisabled", "customClass", "placement"], outputs: ["closeFilter", "openFilter"] }, { kind: "component", type: CaAppTooltipV2Component, selector: "mainCaTooltip, [mainCaTooltip]", inputs: ["mainCaTooltip", "position", "openTooltipDelay", "tooltipBackground", "tooltipColor", "tooltipTextAlign", "tooltipMarginTop", "disableTooltip"] }, { kind: "pipe", type:
|
|
412
412
|
// pipes
|
|
413
413
|
FilterConditionsSetPipe, name: "filterConditionsSet" }, { kind: "pipe", type: FilterConditionsClearPipe, name: "filterConditionsClear" }, { kind: "pipe", type: FilterConditionsUserBoxPipe, name: "filterConditionsUserBox" }, { kind: "pipe", type: FilterPopoverConditionsPipe, name: "filterPopoverConditionsPipe" }, { kind: "pipe", type: CaSvgPipe, name: "caSvg" }], animations: [showAnimation('showAnimation'), closeForm('closeForm')] }); }
|
|
414
414
|
}
|
package/esm2022/lib/components/ca-filters/components/ca-user-filter/ca-user-filter.component.mjs
CHANGED
|
@@ -205,7 +205,7 @@ export class CaUserFilterComponent {
|
|
|
205
205
|
// modules
|
|
206
206
|
CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: HttpClientModule }, { kind: "ngmodule", type: AngularSvgIconModule }, { kind: "component", type: i3.SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "applyCss", "svgClass", "class", "viewBox", "svgAriaLabel", "svgStyle"] }, { kind: "component", type:
|
|
207
207
|
// components
|
|
208
|
-
CaInputComponent, selector: "app-ca-input", inputs: ["inputConfig", "incorrectValue", "selectedDropdownLabelColor", "template"], outputs: ["incorrectEvent", "blurInput", "focusInput", "change", "commandEvent", "clear", "showHideDropdown", "dropDownKeyNavigation"] }, { kind: "component", type: CaProfileImageComponent, selector: "app-ca-profile-image", inputs: ["indx", "avatarImg", "avatarColor", "textShortName", "name", "isRound", "size", "height", "fontSize", "isHoverEffect"] }, { kind: "component", type: CaAppTooltipV2Component, selector: "mainCaTooltip, [mainCaTooltip]", inputs: ["mainCaTooltip", "position", "openTooltipDelay", "tooltipBackground", "tooltipColor", "tooltipTextAlign", "tooltipMarginTop"] }, { kind: "ngmodule", type: NgbTooltipModule }, { kind: "directive", type: i4.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "pipe", type: FilterSelectedItemsPipe, name: "filterSelectedItems" }, { kind: "pipe", type: GroupSelectionStatePipe, name: "groupSelectionState" }, { kind: "pipe", type: SelectedUsersPipe, name: "selectedUser" }], animations: [
|
|
208
|
+
CaInputComponent, selector: "app-ca-input", inputs: ["inputConfig", "incorrectValue", "selectedDropdownLabelColor", "template"], outputs: ["incorrectEvent", "blurInput", "focusInput", "change", "commandEvent", "clear", "showHideDropdown", "dropDownKeyNavigation"] }, { kind: "component", type: CaProfileImageComponent, selector: "app-ca-profile-image", inputs: ["indx", "avatarImg", "avatarColor", "textShortName", "name", "isRound", "size", "height", "fontSize", "isHoverEffect"] }, { kind: "component", type: CaAppTooltipV2Component, selector: "mainCaTooltip, [mainCaTooltip]", inputs: ["mainCaTooltip", "position", "openTooltipDelay", "tooltipBackground", "tooltipColor", "tooltipTextAlign", "tooltipMarginTop", "disableTooltip"] }, { kind: "ngmodule", type: NgbTooltipModule }, { kind: "directive", type: i4.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "pipe", type: FilterSelectedItemsPipe, name: "filterSelectedItems" }, { kind: "pipe", type: GroupSelectionStatePipe, name: "groupSelectionState" }, { kind: "pipe", type: SelectedUsersPipe, name: "selectedUser" }], animations: [
|
|
209
209
|
inOutAnimation('inOutAnimation'),
|
|
210
210
|
showAnimation('showAnimation'),
|
|
211
211
|
closeForm('closeForm'),
|
|
@@ -250,4 +250,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
250
250
|
}], isSearchExpanded: [{
|
|
251
251
|
type: Input
|
|
252
252
|
}] } });
|
|
253
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtdXNlci1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtZmlsdGVycy9jb21wb25lbnRzL2NhLXVzZXItZmlsdGVyL2NhLXVzZXItZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWZpbHRlcnMvY29tcG9uZW50cy9jYS11c2VyLWZpbHRlci9jYS11c2VyLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFHTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxtQkFBbUIsR0FHcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQyxVQUFVO0FBQ1YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsYUFBYTtBQUNiLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFdEUsUUFBUTtBQUNSLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxr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LENBQUM7WUFDOUIsU0FBUyxDQUFDLFdBQVcsQ0FBQztTQUN2Qjs7NEZBRVUscUJBQXFCO2tCQTlCakMsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxpQkFDRCxpQkFBaUIsQ0FBQyxJQUFJLFdBRzVCO3dCQUNQLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLGdCQUFnQjt3QkFDaEIsUUFBUTt3QkFDUiwyQkFBMkI7d0JBQzNCLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjtxQkFDbEIsY0FDVzt3QkFDVixjQUFjLENBQUMsZ0JBQWdCLENBQUM7d0JBQ2hDLGFBQWEsQ0FBQyxlQUFlLENBQUM7d0JBQzlCLFNBQVMsQ0FBQyxXQUFXLENBQUM7cUJBQ3ZCO3lHQUdRLElBQUk7c0JBQVosS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3ksXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gIFVudHlwZWRGb3JtR3JvdXAsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG4vLyBtb2R1bGVzXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTmdiVG9vbHRpcE1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IEFuZ3VsYXJTdmdJY29uTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1zdmctaWNvbic7XG5cbi8vIGFuaW1hdGlvbnNcbmltcG9ydCB7IGluT3V0QW5pbWF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYW5pbWF0aW9ucy9pbi1vdXQuYW5pbWF0aW9uJztcbmltcG9ydCB7IHNob3dBbmltYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hbmltYXRpb25zL3Nob3cuYW5pbWF0aW9uJztcblxuLy8gZW51bXNcbmltcG9ydCB7IExvYWRTdGF0dXNFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vZW51bXMvbG9hZC1zdGF0dXMuZW51bSc7XG5pbXBvcnQgeyBUb29sYmFyRmlsdGVyU3RyaW5nRW51bSB9IGZyb20gJy4uLy4uLy4uL2NhLW1hcC9lbnVtcy90b29sYmFyLWZpbHRlci1zdHJpbmcuZW51bSc7XG5cbi8vIG1vZGVsc1xuaW1wb3J0IHsgZmlsdGVyT3V0cHV0IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2ZpbHRlci1vdXRwdXQubW9kZWwnO1xuaW1wb3J0IHsgZmlsdGVyT3V0cHV0V2l0aFBhcmFtcyB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9maWx0ZXItb3V0cHV0LXBhcmFtcy5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyRGF0YSB9IGZyb20gJy4vbW9kZWxzL2NhLXVzZXItZGF0YS5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyR3JvdXAgfSBmcm9tICcuL21vZGVscy9jYS11c2VyLWdyb3VwLm1vZGVsJztcblxuLy8gY29tcG9uZW50c1xuaW1wb3J0IHsgQ2FJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NhLWlucHV0L2NhLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYVByb2ZpbGVJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NhLXByb2ZpbGUtaW1hZ2UvY2EtcHJvZmlsZS1pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FBcHBUb29sdGlwVjJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jYS1hcHAtdG9vbHRpcC12Mi9jYS1hcHAtdG9vbHRpcC12Mi5jb21wb25lbnQnO1xuXG4vLyBwaXBlc1xuaW1wb3J0IHsgRHJvcGRvd25Mb2FkU3RhdHVzQ29sb3JQaXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcGlwZXMvZHJvcGRvd24tbG9hZC1zdGF0dXMtY29sb3IucGlwZSc7XG5pbXBvcnQgeyBGaWx0ZXJUcmFpbGVyQ29sb3JQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvZmlsdGVyLXRyYWlsZXItY29sb3IucGlwZSc7XG5pbXBvcnQgeyBGaWx0ZXJTZWxlY3RlZEl0ZW1zUGlwZSB9IGZyb20gJy4vcGlwZXMvZmlsdGVyLXNlbGVjdGVkLWl0ZW1zLnBpcGUnO1xuaW1wb3J0IHsgR3JvdXBTZWxlY3Rpb25TdGF0ZVBpcGUgfSBmcm9tICcuL3BpcGVzL2dyb3VwLXNlbGVjdGlvbi1zdGF0ZS5waXBlJztcbmltcG9ydCB7IFNlbGVjdGVkVXNlcnNQaXBlIH0gZnJvbSAnLi9waXBlcy9zZWxlY3RlZC11c2Vycy5waXBlJztcblxuLy8gYW5pbWF0aW9uc1xuaW1wb3J0IHsgY2xvc2VGb3JtIH0gZnJvbSAnLi4vLi4vLi4vLi4vYW5pbWF0aW9ucy9jbG9zZS1mb3JtLmFuaW1hdGlvbic7XG5cbi8vIHV0aWxzXG5pbXBvcnQgeyBDYUZpbHRlcnNTdmdSb3V0ZXMgfSBmcm9tICcuLi8uLi91dGlscy9zdmctcm91dGVzL2NhLWZpbHRlcnMtc3ZnLXJvdXRlcyc7XG5cbi8vIGhlbHBlcnNcbmltcG9ydCB7IEZpbHRlckhlbHBlciB9IGZyb20gJy4uLy4uL3V0aWxzL2hlbHBlcnMvZmlsdGVyLmhlbHBlcic7XG5cbi8vIGNvbmZpZ3NcbmltcG9ydCB7IElDYUlucHV0IH0gZnJvbSAnLi4vLi4vLi4vY2EtaW5wdXQvY29uZmlnL2NhLWlucHV0LmNvbmZpZyc7XG5pbXBvcnQgeyBDYVVzZXJGaWx0ZXJDb25maWcgfSBmcm9tICcuL2NvbmZpZy9jYS11c2VyLWZpbHRlci5jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY2EtdXNlci1maWx0ZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICB0ZW1wbGF0ZVVybDogJy4vY2EtdXNlci1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYS11c2VyLWZpbHRlci5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbXG4gICAgLy8gbW9kdWxlc1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgQW5ndWxhclN2Z0ljb25Nb2R1bGUsXG4gICAgLy8gY29tcG9uZW50c1xuICAgIENhSW5wdXRDb21wb25lbnQsXG4gICAgQ2FQcm9maWxlSW1hZ2VDb21wb25lbnQsXG4gICAgQ2FBcHBUb29sdGlwVjJDb21wb25lbnQsXG4gICAgTmdiVG9vbHRpcE1vZHVsZSxcbiAgICAvLyBwaXBlc1xuICAgIERyb3Bkb3duTG9hZFN0YXR1c0NvbG9yUGlwZSxcbiAgICBGaWx0ZXJUcmFpbGVyQ29sb3JQaXBlLFxuICAgIEZpbHRlclNlbGVjdGVkSXRlbXNQaXBlLFxuICAgIEdyb3VwU2VsZWN0aW9uU3RhdGVQaXBlLFxuICAgIFNlbGVjdGVkVXNlcnNQaXBlLFxuICBdLFxuICBhbmltYXRpb25zOiBbXG4gICAgaW5PdXRBbmltYXRpb24oJ2luT3V0QW5pbWF0aW9uJyksXG4gICAgc2hvd0FuaW1hdGlvbignc2hvd0FuaW1hdGlvbicpLFxuICAgIGNsb3NlRm9ybSgnY2xvc2VGb3JtJyksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENhVXNlckZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgdHlwZSE6IHN0cmluZztcbiAgQElucHV0KCkgaXNGaWx0ZXJBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZmlsdGVyVGl0bGUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhhc0xlZnRTaWRlSWNvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSB0b0RvU3ViVHlwZSE6IHN0cmluZztcbiAgQElucHV0KCkgdXNlckdyb3VwITogVXNlckdyb3VwW107XG4gIEBJbnB1dCgpIGlzU2VhcmNoRXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgbG9hZFN0YXR1c0VudW0gPSBMb2FkU3RhdHVzRW51bTtcbiAgcHVibGljIHNlYXJjaEZvcm0hOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBwdWJsaWMgc2VhcmNoSW5wdXRWYWx1ZSE6IHN0cmluZztcblxuICBwdWJsaWMgdW5zZWxlY3RlZFZpc2libGVDb3VudDogbnVtYmVyID0gMDtcbiAgcHVibGljIGNhRmlsdGVyc1N2Z1JvdXRlczogQ2FGaWx0ZXJzU3ZnUm91dGVzID0gQ2FGaWx0ZXJzU3ZnUm91dGVzO1xuXG4gIHB1YmxpYyBzZWxlY3RlZFVzZXJHcm91cDogVXNlckdyb3VwW10gPSBbXTtcbiAgcHVibGljIGZpbHRlckFjdGl2ZUFycmF5OiBVc2VyR3JvdXBbXSA9IFtdO1xuICBwdWJsaWMgaXNBc2NlbmRpbmdTb3J0T3JkZXI6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgaXNCdXR0b25BdmFpbGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGhhc1NlbGVjdGVkVXNlcnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHRvdGFsRmlsdGVyc051bTogbnVtYmVyID0gMDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG5cbiAgICB0aGlzLndhdGNoU2VhcmNoRm9ybVZhbHVlQ2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0IHVzZXJTZWFyY2goKTogSUNhSW5wdXQge1xuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLlVTRVJfRklMVEVSOlxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5NT0RVTEVfRklMVEVSOlxuICAgICAgICByZXR1cm4gQ2FVc2VyRmlsdGVyQ29uZmlnLmdldFVzZXJTZWFyY2goKTtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIGZpbHRlciB0eXBlJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEluaXRpYWxzKG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEZpbHRlckhlbHBlci5nZXRJbml0aWFscyhuYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkdyb3VwU3dpdGNoU3RhdGUoZ3JvdXA6IFVzZXJHcm91cCk6IHZvaWQge1xuICAgIGdyb3VwLmlzT3BlbiA9ICFncm91cC5pc09wZW47XG4gIH1cblxuICBwdWJsaWMgb25DaGVja2JveFNlbGVjdChldmVudDogRXZlbnQsIGdyb3VwOiBVc2VyR3JvdXApOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQpIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgY29uc3QgdG90YWxJdGVtcyA9IGdyb3VwLml0ZW1zLmxlbmd0aDtcbiAgICBjb25zdCBzZWxlY3RlZEl0ZW1zID0gZ3JvdXAuaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmlzU2VsZWN0ZWQpLmxlbmd0aDtcblxuICAgIGdyb3VwLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGlmIChzZWxlY3RlZEl0ZW1zID09PSB0b3RhbEl0ZW1zKSBpdGVtLmlzU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgIGVsc2UgaXRlbS5pc1NlbGVjdGVkID0gdHJ1ZTtcbiAgICB9KTtcblxuICAgIHRoaXMuaGFzU2VsZWN0ZWRVc2VycyA9IHNlbGVjdGVkSXRlbXMgIT09IHRvdGFsSXRlbXM7XG4gIH1cblxuICBwdWJsaWMgb25GaWx0ZXJDbG9zZSgpOiB2b2lkIHtcbiAgICBGaWx0ZXJIZWxwZXIuaGFuZGxlR3JvdXBGaWx0ZXJDbG9zZShcbiAgICAgIHRoaXMudXNlckdyb3VwLFxuICAgICAgdGhpcy5zZWxlY3RlZFVzZXJHcm91cCxcbiAgICAgIHRoaXMucmVtb3ZlRnJvbVNlbGVjdGVkVXNlci5iaW5kKHRoaXMpLFxuICAgICAgdGhpcy5hZGRUb1NlbGVjdGVkVXNlci5iaW5kKHRoaXMpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRGaWx0ZXJWYWx1ZShcbiAgICBldmVudDogRXZlbnRcbiAgKTogZmlsdGVyT3V0cHV0IHwgZmlsdGVyT3V0cHV0V2l0aFBhcmFtcyB8IHVuZGVmaW5lZCB7XG4gICAgdGhpcy5maWx0ZXJBY3RpdmVBcnJheSA9IFsuLi50aGlzLnVzZXJHcm91cF07XG4gICAgY29uc3Qgc2VsZWN0ZWRVc2Vyc0lkQXJyYXk6IG51bWJlcltdID0gW107XG4gICAgdGhpcy50b3RhbEZpbHRlcnNOdW0gPSB0aGlzLmZpbHRlckFjdGl2ZUFycmF5Lmxlbmd0aDtcblxuICAgIGNvbnN0IG1haW5BcnJheSA9IHRoaXMudXNlckdyb3VwO1xuICAgIGxldCBxdWVyeVBhcmFtcyA9IHt9O1xuICAgIGxldCBzdWJUeXBlOiBzdHJpbmcgPSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5FTVBUWV9TVFJJTkdfUExBQ0VIT0xERVI7XG5cbiAgICBtYWluQXJyYXkuZm9yRWFjaCgoZGF0YTogVXNlckdyb3VwKSA9PiB7XG4gICAgICBkYXRhLml0ZW1zLmZvckVhY2goKGl0ZW06IFVzZXJEYXRhKSA9PiB7XG4gICAgICAgIGlmIChpdGVtLmlzU2VsZWN0ZWQpIHNlbGVjdGVkVXNlcnNJZEFycmF5LnB1c2goaXRlbS5pZCEpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpZiAoIXNlbGVjdGVkVXNlcnNJZEFycmF5Lmxlbmd0aCkge1xuICAgICAgdGhpcy5jbGVhckFsbChldmVudCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcXVlcnlQYXJhbXMgPSBzZWxlY3RlZFVzZXJzSWRBcnJheTtcbiAgICBzdWJUeXBlID1cbiAgICAgIHRoaXMudG9Eb1N1YlR5cGUgPz8gVG9vbGJhckZpbHRlclN0cmluZ0VudW0uRU1QVFlfU1RSSU5HX1BMQUNFSE9MREVSO1xuXG4gICAgY29uc3QgYWN0aW9uID0gJ1NldCc7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGZpbHRlclR5cGU6IHRoaXMudHlwZSxcbiAgICAgIGFjdGlvbixcbiAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgc3ViVHlwZSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJBbGwoZXZlbnQ/OiBFdmVudCk6IGZpbHRlck91dHB1dCB8IGZpbHRlck91dHB1dFdpdGhQYXJhbXMge1xuICAgIGlmIChldmVudCkgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICB0aGlzLnNlbGVjdGVkVXNlckdyb3VwID0gW107XG4gICAgdGhpcy5maWx0ZXJBY3RpdmVBcnJheSA9IFtdO1xuICAgIHRoaXMudG90YWxGaWx0ZXJzTnVtID0gMDtcbiAgICB0aGlzLmhhc1NlbGVjdGVkVXNlcnMgPSBmYWxzZTtcblxuICAgIHRoaXMudXNlckdyb3VwLmZvckVhY2goKGdyb3VwKSA9PiB7XG4gICAgICBncm91cC5pdGVtcy5mb3JFYWNoKChpdGVtOiBVc2VyRGF0YSkgPT4ge1xuICAgICAgICBpdGVtLmlzU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgaXRlbS5jdXJyZW50U2V0ID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGFjdGlvbiA9ICdDbGVhcic7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGFjdGlvbixcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgIGZpbHRlclR5cGU6IHRoaXMudHlwZSxcbiAgICB9O1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgcHVibGljIHRyYWNrQnlJZGVudGl0eShpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBzZWFyY2g6IG51bGwsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlU2VsZWN0ZWRVc2VycyhpdGVtOiBVc2VyRGF0YSwgaW5keDogbnVtYmVyLCBpbmR4MjogbnVtYmVyKSB7XG4gICAgaWYgKGl0ZW0uaXNTZWxlY3RlZCkgdGhpcy5yZW1vdmVGcm9tU2VsZWN0ZWRVc2VyKGl0ZW0sIGluZHgsIGluZHgyKTtcbiAgICBlbHNlIHRoaXMuYWRkVG9TZWxlY3RlZFVzZXIoaXRlbSwgaW5keCwgaW5keDIpO1xuICB9XG5cbiAgcHVibGljIGFkZFRvU2VsZWN0ZWRVc2VyKGl0ZW06IFVzZXJEYXRhLCBpbmR4OiBudW1iZXIsIGluZHgyOiBudW1iZXIpIHtcbiAgICBjb25zdCB7IGhhc1NlbGVjdGVkVXNlcnMsIHVuc2VsZWN0ZWRWaXNpYmxlQ291bnQsIGdyb3VwQXJyYXkgfSA9XG4gICAgICBGaWx0ZXJIZWxwZXIuYWRkT3JSZW1vdmVGcm9tR3JvdXAoXG4gICAgICAgICdhZGQnLFxuICAgICAgICB0aGlzLnVzZXJHcm91cCxcbiAgICAgICAgaXRlbSxcbiAgICAgICAgaW5keCxcbiAgICAgICAgaW5keDJcbiAgICAgICk7XG5cbiAgICB0aGlzLmhhc1NlbGVjdGVkVXNlcnMgPSBoYXNTZWxlY3RlZFVzZXJzO1xuICAgIHRoaXMudW5zZWxlY3RlZFZpc2libGVDb3VudCA9IHVuc2VsZWN0ZWRWaXNpYmxlQ291bnQ7XG4gICAgdGhpcy51c2VyR3JvdXAgPSBbLi4uZ3JvdXBBcnJheV07XG5cbiAgICB0aGlzLmNoZWNrRmlsdGVyQWN0aXZlVmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVGcm9tU2VsZWN0ZWRVc2VyKFxuICAgIGl0ZW06IFVzZXJEYXRhLFxuICAgIGluZHg6IG51bWJlcixcbiAgICBpbmR4MjogbnVtYmVyXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHsgaGFzU2VsZWN0ZWRVc2VycywgdW5zZWxlY3RlZFZpc2libGVDb3VudCwgZ3JvdXBBcnJheSB9ID1cbiAgICAgIEZpbHRlckhlbHBlci5hZGRPclJlbW92ZUZyb21Hcm91cChcbiAgICAgICAgJ3JlbW92ZScsXG4gICAgICAgIHRoaXMudXNlckdyb3VwLFxuICAgICAgICBpdGVtLFxuICAgICAgICBpbmR4LFxuICAgICAgICBpbmR4MlxuICAgICAgKTtcblxuICAgIHRoaXMuaGFzU2VsZWN0ZWRVc2VycyA9IGhhc1NlbGVjdGVkVXNlcnM7XG4gICAgdGhpcy51bnNlbGVjdGVkVmlzaWJsZUNvdW50ID0gdW5zZWxlY3RlZFZpc2libGVDb3VudDtcbiAgICB0aGlzLnVzZXJHcm91cCA9IGdyb3VwQXJyYXk7XG5cbiAgICB0aGlzLmNoZWNrRmlsdGVyQWN0aXZlVmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGVja0ZpbHRlckFjdGl2ZVZhbHVlKCk6IHZvaWQge1xuICAgIGNvbnN0IGZpbHRlckNoZWNrID0gRmlsdGVySGVscGVyLmNoZWNrR3JvdXBGaWx0ZXJBY3RpdmVWYWx1ZShcbiAgICAgIHRoaXMuZmlsdGVyQWN0aXZlQXJyYXksXG4gICAgICB0aGlzLmlzQnV0dG9uQXZhaWxhYmxlXG4gICAgKTtcblxuICAgIHRoaXMuaXNCdXR0b25BdmFpbGFibGUgPSBmaWx0ZXJDaGVjay5pc0J1dHRvbkF2YWlsYWJsZTtcbiAgfVxuXG4gIHByaXZhdGUgd2F0Y2hTZWFyY2hGb3JtVmFsdWVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoRm9ybS52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNoYW5nZXMpID0+IHtcbiAgICAgICAgY29uc3QgaW5wdXRWYWx1ZSA9IGNoYW5nZXMuc2VhcmNoPy50b0xvd2VyQ2FzZSgpIHx8ICcnO1xuXG4gICAgICAgIHRoaXMudXNlckdyb3VwLmZvckVhY2goKGdyb3VwKSA9PiAoe1xuICAgICAgICAgIC4uLmdyb3VwLFxuICAgICAgICAgIGl0ZW1zOiBncm91cC5pdGVtcy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgaGlkZGVuOlxuICAgICAgICAgICAgICAodGhpcy50eXBlID09PSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5VU0VSX0ZJTFRFUiB8fFxuICAgICAgICAgICAgICAgIHRoaXMudHlwZSA9PT0gVG9vbGJhckZpbHRlclN0cmluZ0VudW0uTU9EVUxFX0ZJTFRFUikgJiZcbiAgICAgICAgICAgICAgaW5wdXRWYWx1ZSAmJlxuICAgICAgICAgICAgICAhaXRlbS5uYW1lIS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGlucHV0VmFsdWUpLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHRoaXMuc2VhcmNoSW5wdXRWYWx1ZSA9XG4gICAgICAgICAgaW5wdXRWYWx1ZSB8fCBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5FTVBUWV9TVFJJTkdfUExBQ0VIT0xERVI7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0SXRlbXMoKTogdm9pZCB7XG4gICAgY29uc3Qgc29ydFJlc3VsdCA9IEZpbHRlckhlbHBlci5zb3J0R3JvdXBJdGVtc0NvdW50KFxuICAgICAgdGhpcy51c2VyR3JvdXAsXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlckdyb3VwLFxuICAgICAgdGhpcy5pc0FzY2VuZGluZ1NvcnRPcmRlclxuICAgICk7XG5cbiAgICB0aGlzLnVzZXJHcm91cCA9IHNvcnRSZXN1bHQuc29ydGVkRmlsdGVyQXJyYXk7XG4gICAgdGhpcy5zZWxlY3RlZFVzZXJHcm91cCA9IHNvcnRSZXN1bHQuc29ydGVkU2VsZWN0ZWRGaWx0ZXJBcnJheTtcbiAgICB0aGlzLmlzQXNjZW5kaW5nU29ydE9yZGVyID0gc29ydFJlc3VsdC5pc0FzY2VuZGluZ1NvcnRPcmRlcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTdmdQYXRoKHByb3BlcnR5TmFtZToga2V5b2YgdHlwZW9mIENhRmlsdGVyc1N2Z1JvdXRlcyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEZpbHRlckhlbHBlci5nZXRTdmdQYXRoKHByb3BlcnR5TmFtZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlID09PSAndXNlckZpbHRlcicgfHwgdHlwZSA9PT0gJ21vZHVsZUZpbHRlcidcIj5cbiAgPGRpdiBjbGFzcz1cImJvcmRlci1maWx0ZXJcIj48L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09ICd1c2VyRmlsdGVyJ1wiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2VhcmNoLWlucHV0LWhlYWRlclwiXG4gICAgICBbY2xhc3MuYWN0aXZlU2VhcmNoXT1cImlzU2VhcmNoRXhwYW5kZWRcIlxuICAgICAgW2NsYXNzLmluYWN0aXZlU2VhcmNoXT1cIiFpc1NlYXJjaEV4cGFuZGVkXCJcbiAgICAgIFtmb3JtR3JvdXBdPVwic2VhcmNoRm9ybVwiXG4gICAgPlxuICAgICAgPGFwcC1jYS1pbnB1dFxuICAgICAgICBjbGFzcz1cImlucHV0LWZvcm0taG9sZGVyXCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2VhcmNoXCJcbiAgICAgICAgW2lucHV0Q29uZmlnXT1cInVzZXJTZWFyY2hcIlxuICAgICAgPjwvYXBwLWNhLWlucHV0PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZmlsdGVyLXVzZXItaG9sZGVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nRm9yPVwiXG4gICAgICAgIGxldCBncm91cCBvZiB1c2VyR3JvdXA7XG4gICAgICAgIGxldCBpbmR4ID0gaW5kZXg7XG4gICAgICAgIHRyYWNrQnk6IHRyYWNrQnlJZGVudGl0eVxuICAgICAgXCJcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidXNlci1pdGVtcy1ob2xkZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgIChjbGljayk9XCJvbkdyb3VwU3dpdGNoU3RhdGUoZ3JvdXApXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94LWhvbGRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tib3gtdG9vbHRpcFwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIG5nYlRvb2x0aXBcbiAgICAgICAgICAgIFttYWluQ2FUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAoZ3JvdXAgfCBncm91cFNlbGVjdGlvblN0YXRlKS5zb21lU2VsZWN0ZWRcbiAgICAgICAgICAgICAgICA/ICdDbGVhciBzZWxlY3RlZCdcbiAgICAgICAgICAgICAgICA6ICdDbGVhciBncm91cCdcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICB0b29sdGlwQmFja2dyb3VuZD1cIiNDQ0NDQ0NcIlxuICAgICAgICAgICAgdG9vbHRpcENvbG9yPVwiIzJGMkYyRlwiXG4gICAgICAgICAgICBwb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgICAgICBjdXN0b21DbGFzcz1cIm10LTFcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNoZWNrYm94XCJcbiAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgaWQ9XCJjaGVja2JveHt7IGluZHggfX1cIlxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCIoZ3JvdXAgfCBncm91cFNlbGVjdGlvblN0YXRlKS5hbGxTZWxlY3RlZFwiXG4gICAgICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cIihncm91cCB8IGdyb3VwU2VsZWN0aW9uU3RhdGUpLnNvbWVTZWxlY3RlZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbkNoZWNrYm94U2VsZWN0KCRldmVudCwgZ3JvdXApXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jaGVja2JveC1sYWJlbFwiXG4gICAgICAgICAgICAgIGZvcj1cImNoZWNrYm94e3sgaW5keCB9fVwiXG4gICAgICAgICAgICA+PC9sYWJlbD5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJoaWRlLXVzZXItZ3JvdXBcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICBzdmdfcm90YXRlOiAhZ3JvdXAuaXNPcGVuLFxuICAgICAgICAgICAgICByb3RhdGVfYmFjazogZ3JvdXAuaXNPcGVuLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHN2Zy1pY29uIFtzcmNdPVwiZ2V0U3ZnUGF0aCgnYXJyb3dGaWx0ZXInKVwiPjwvc3ZnLWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJ1c2VyLXRpdGxlLXRleHQgY291bnRlci1wYWRkLXRpdGxlIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgY2EtZm9udC1ib2xkXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGdyb3VwLmxhYmVsLnRvVXBwZXJDYXNlKCkgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInVzZXItZmlsdGVyLWJveCBkLWZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgY2EtZm9udC1ib2xkIG1zLTFcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgZ3JvdXAuaXRlbXMgfCBmaWx0ZXJTZWxlY3RlZEl0ZW1zIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidXNlci1ncm91cC1ob2xkZXJcIlxuICAgICAgICBbY2xhc3MudXNlci1ncm91cC1yZWR1Y2VkLWhvbGRlcl09XCJ0eXBlID09PSAndXNlckZpbHRlcidcIlxuICAgICAgICBbQGNsb3NlRm9ybV09XCJncm91cC5pc09wZW5cIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICBsZXQgaXRlbSBvZiBncm91cC5pdGVtcyB8IHNlbGVjdGVkVXNlcjtcbiAgICAgICAgICAgIGxldCBpbmR4MiA9IGluZGV4O1xuICAgICAgICAgICAgdHJhY2tCeTogdHJhY2tCeUlkZW50aXR5XG4gICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgW0Bpbk91dEFuaW1hdGlvbl09XCInaW4nXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgdXNlclRlbXBsYXRlO1xuICAgICAgICAgICAgICAgIGNvbnRleHQ6IHsgaXRlbTogaXRlbSwgaW5keDogaW5keCwgaW5keDI6IGluZHgyIH1cbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihncm91cCB8IGdyb3VwU2VsZWN0aW9uU3RhdGUpLnNvbWVTZWxlY3RlZFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXItZmlsdGVyIGJvcmRlci10aHJpcmQtbWFyZ2luXCI+PC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgIGxldCBpdGVtIG9mIGdyb3VwLml0ZW1zIHwgc2VsZWN0ZWRVc2VyOiB0cnVlO1xuICAgICAgICAgICAgbGV0IGluZHgyID0gaW5kZXg7XG4gICAgICAgICAgICB0cmFja0J5OiB0cmFja0J5SWRlbnRpdHlcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBbQGluT3V0QW5pbWF0aW9uXT1cIidpbidcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICB1c2VyVGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgY29udGV4dDogeyBpdGVtOiBpdGVtLCBpbmR4OiBpbmR4LCBpbmR4MjogaW5keDIgfVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVzZXJHcm91cD8ubGVuZ3RoICE9PSBzZWxlY3RlZFVzZXJHcm91cD8ubGVuZ3RoXCI+XG4gICAgPGRpdiBjbGFzcz1cImJvcmRlci1maWx0ZXJcIj48L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICN1c2VyVGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWluZHg9XCJpbmR4XCIgbGV0LWluZHgyPVwiaW5keDJcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZC1mbGV4XCJcbiAgICBbbmdDbGFzc109XCJcbiAgICAgIGl0ZW0uaXNTZWxlY3RlZFxuICAgICAgICA/ICdzZWxlY3RlZC11c2VyLWhvbGRlciBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW4nXG4gICAgICAgIDogJ3VzZXItZnJhbWUtaG9sZGVyIGFsaWduLWl0ZW1zLWNlbnRlcidcbiAgICBcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmhpZGRlblwiPlxuICAgICAgPGRpdlxuICAgICAgICAoY2xpY2spPVwiaGFuZGxlU2VsZWN0ZWRVc2VycyhpdGVtLCBpbmR4LCBpbmR4MilcIlxuICAgICAgICBjbGFzcz1cInVzZXItbWFpbi1ob2xkZXIgdXNlci1mcmFtZS1ob2xkZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcbiAgICAgICAgW2NsYXNzLnVzZXJfc3ZnX2ljb25faG9sZGVyXT1cInR5cGUgIT09ICd1c2VyRmlsdGVyJ1wiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlID09PSAndXNlckZpbHRlcic7IGVsc2Ugc3ZnSWNvblRlbXBsYXRlXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItcHJvZmlsZS1pbWcgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmF2YXRhcjsgZWxzZSBhdmF0YXJUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICA8YXBwLWNhLXByb2ZpbGUtaW1hZ2VcbiAgICAgICAgICAgICAgICBbaW5keF09XCJpbmR4MlwiXG4gICAgICAgICAgICAgICAgW3RleHRTaG9ydE5hbWVdPVwiZ2V0SW5pdGlhbHMoaXRlbS5uYW1lKVwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwiJ3NtYWxsJ1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9hcHAtY2EtcHJvZmlsZS1pbWFnZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2F2YXRhclRlbXBsYXRlPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ1c2VyX2F2YXRhclwiXG4gICAgICAgICAgICAgICAgc3R5bGUuYmFja2dyb3VuZC1pbWFnZT1cInVybCgne3sgaXRlbS5hdmF0YXIgfX0nKVwiXG4gICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI3N2Z0ljb25UZW1wbGF0ZT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidHlwZS1pY29uIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxzdmctaWNvbiBzcmM9XCJ7eyBpdGVtLmljb24gfX1cIj48L3N2Zy1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJpdGVtLmlzU2VsZWN0ZWQgPyAnc2VsZWN0ZWQtdXNlci1mcmFtZScgOiAndXNlci1mcmFtZSdcIlxuICAgICAgICAgIFtjbGFzcy51c2VyLWZyYW1lLW5vLWljb25dPVwidHlwZSAhPT0gJ3VzZXJGaWx0ZXInXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC1uYW1lLXRleHQgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPHNwYW4+IHt7IGl0ZW0ubmFtZSB9fSA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0/LmNvdW50OyBlbHNlIG5vQ291bnRcIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIGNsYXNzPVwiY291bnQtaG9sZGVyIGQtaW5saW5lLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiXG4gICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVDb3VudF09XCJpdGVtLmlzU2VsZWN0ZWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBpdGVtLmNvdW50IH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI25vQ291bnQ+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9Db3VudFRlbXBsYXRlOyBjb250ZXh0OiB7IGl0ZW06IGl0ZW0gfVwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmlzU2VsZWN0ZWRcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUZyb21TZWxlY3RlZFVzZXIoaXRlbSwgaW5keCwgaW5keDIpXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJpY29uLWRlbGV0ZSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAgICAgICBbY2xhc3MuY291bnRlck1hcmdpbl09XCJpdGVtLmNvdW50XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24tZGVsZXRlLWhvbGRcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPHN2Zy1pY29uIFtzcmNdPVwiZ2V0U3ZnUGF0aCgncmVtb3ZlU2VsZWN0ZWRWYWx1ZScpXCI+PC9zdmctaWNvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG48IS0tIGlmIG5vIGNvdW50IGZvdW5kIC0tPlxuPG5nLXRlbXBsYXRlICNub0NvdW50VGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbS5jb3VudDsgZWxzZSBub0NvdW50ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtaWNvbiBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxzdmctaWNvbiBbc3JjXT1cImdldFN2Z1BhdGgoJ2ljb25Db25maXJtJylcIj48L3N2Zy1pY29uPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICNub0NvdW50ZXI+XG4gICAgPGRpdiBjbGFzcz1cImNvdW50ZXItaG9sZGVyIGFjdGl2ZUNvdW50ZXJcIj4wPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
253
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtdXNlci1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtZmlsdGVycy9jb21wb25lbnRzL2NhLXVzZXItZmlsdGVyL2NhLXVzZXItZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWZpbHRlcnMvY29tcG9uZW50cy9jYS11c2VyLWZpbHRlci9jYS11c2VyLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFHTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxtQkFBbUIsR0FHcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQyxVQUFVO0FBQ1YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsYUFBYTtBQUNiLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFdEUsUUFBUTtBQUNSLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxr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LENBQUM7WUFDOUIsU0FBUyxDQUFDLFdBQVcsQ0FBQztTQUN2Qjs7NEZBRVUscUJBQXFCO2tCQTlCakMsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxpQkFDRCxpQkFBaUIsQ0FBQyxJQUFJLFdBRzVCO3dCQUNQLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLGdCQUFnQjt3QkFDaEIsUUFBUTt3QkFDUiwyQkFBMkI7d0JBQzNCLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjtxQkFDbEIsY0FDVzt3QkFDVixjQUFjLENBQUMsZ0JBQWdCLENBQUM7d0JBQ2hDLGFBQWEsQ0FBQyxlQUFlLENBQUM7d0JBQzlCLFNBQVMsQ0FBQyxXQUFXLENBQUM7cUJBQ3ZCO3lHQUdRLElBQUk7c0JBQVosS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3ksXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gIFVudHlwZWRGb3JtR3JvdXAsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG4vLyBtb2R1bGVzXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTmdiVG9vbHRpcE1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IEFuZ3VsYXJTdmdJY29uTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1zdmctaWNvbic7XG5cbi8vIGFuaW1hdGlvbnNcbmltcG9ydCB7IGluT3V0QW5pbWF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYW5pbWF0aW9ucy9pbi1vdXQuYW5pbWF0aW9uJztcbmltcG9ydCB7IHNob3dBbmltYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hbmltYXRpb25zL3Nob3cuYW5pbWF0aW9uJztcblxuLy8gZW51bXNcbmltcG9ydCB7IExvYWRTdGF0dXNFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vZW51bXMvbG9hZC1zdGF0dXMuZW51bSc7XG5pbXBvcnQgeyBUb29sYmFyRmlsdGVyU3RyaW5nRW51bSB9IGZyb20gJy4uLy4uLy4uL2NhLW1hcC9lbnVtcy90b29sYmFyLWZpbHRlci1zdHJpbmcuZW51bSc7XG5cbi8vIG1vZGVsc1xuaW1wb3J0IHsgZmlsdGVyT3V0cHV0IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2ZpbHRlci1vdXRwdXQubW9kZWwnO1xuaW1wb3J0IHsgZmlsdGVyT3V0cHV0V2l0aFBhcmFtcyB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9maWx0ZXItb3V0cHV0LXBhcmFtcy5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyRGF0YSB9IGZyb20gJy4vbW9kZWxzL2NhLXVzZXItZGF0YS5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyR3JvdXAgfSBmcm9tICcuL21vZGVscy9jYS11c2VyLWdyb3VwLm1vZGVsJztcblxuLy8gY29tcG9uZW50c1xuaW1wb3J0IHsgQ2FJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NhLWlucHV0L2NhLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYVByb2ZpbGVJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NhLXByb2ZpbGUtaW1hZ2UvY2EtcHJvZmlsZS1pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FBcHBUb29sdGlwVjJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jYS1hcHAtdG9vbHRpcC12Mi9jYS1hcHAtdG9vbHRpcC12Mi5jb21wb25lbnQnO1xuXG4vLyBwaXBlc1xuaW1wb3J0IHsgRHJvcGRvd25Mb2FkU3RhdHVzQ29sb3JQaXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcGlwZXMvZHJvcGRvd24tbG9hZC1zdGF0dXMtY29sb3IucGlwZSc7XG5pbXBvcnQgeyBGaWx0ZXJUcmFpbGVyQ29sb3JQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvZmlsdGVyLXRyYWlsZXItY29sb3IucGlwZSc7XG5pbXBvcnQgeyBGaWx0ZXJTZWxlY3RlZEl0ZW1zUGlwZSB9IGZyb20gJy4vcGlwZXMvZmlsdGVyLXNlbGVjdGVkLWl0ZW1zLnBpcGUnO1xuaW1wb3J0IHsgR3JvdXBTZWxlY3Rpb25TdGF0ZVBpcGUgfSBmcm9tICcuL3BpcGVzL2dyb3VwLXNlbGVjdGlvbi1zdGF0ZS5waXBlJztcbmltcG9ydCB7IFNlbGVjdGVkVXNlcnNQaXBlIH0gZnJvbSAnLi9waXBlcy9zZWxlY3RlZC11c2Vycy5waXBlJztcblxuLy8gYW5pbWF0aW9uc1xuaW1wb3J0IHsgY2xvc2VGb3JtIH0gZnJvbSAnLi4vLi4vLi4vLi4vYW5pbWF0aW9ucy9jbG9zZS1mb3JtLmFuaW1hdGlvbic7XG5cbi8vIHV0aWxzXG5pbXBvcnQgeyBDYUZpbHRlcnNTdmdSb3V0ZXMgfSBmcm9tICcuLi8uLi91dGlscy9zdmctcm91dGVzL2NhLWZpbHRlcnMtc3ZnLXJvdXRlcyc7XG5cbi8vIGhlbHBlcnNcbmltcG9ydCB7IEZpbHRlckhlbHBlciB9IGZyb20gJy4uLy4uL3V0aWxzL2hlbHBlcnMvZmlsdGVyLmhlbHBlcic7XG5cbi8vIGNvbmZpZ3NcbmltcG9ydCB7IElDYUlucHV0IH0gZnJvbSAnLi4vLi4vLi4vY2EtaW5wdXQvY29uZmlnL2NhLWlucHV0LmNvbmZpZyc7XG5pbXBvcnQgeyBDYVVzZXJGaWx0ZXJDb25maWcgfSBmcm9tICcuL2NvbmZpZy9jYS11c2VyLWZpbHRlci5jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY2EtdXNlci1maWx0ZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICB0ZW1wbGF0ZVVybDogJy4vY2EtdXNlci1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYS11c2VyLWZpbHRlci5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbXG4gICAgLy8gbW9kdWxlc1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgQW5ndWxhclN2Z0ljb25Nb2R1bGUsXG4gICAgLy8gY29tcG9uZW50c1xuICAgIENhSW5wdXRDb21wb25lbnQsXG4gICAgQ2FQcm9maWxlSW1hZ2VDb21wb25lbnQsXG4gICAgQ2FBcHBUb29sdGlwVjJDb21wb25lbnQsXG4gICAgTmdiVG9vbHRpcE1vZHVsZSxcbiAgICAvLyBwaXBlc1xuICAgIERyb3Bkb3duTG9hZFN0YXR1c0NvbG9yUGlwZSxcbiAgICBGaWx0ZXJUcmFpbGVyQ29sb3JQaXBlLFxuICAgIEZpbHRlclNlbGVjdGVkSXRlbXNQaXBlLFxuICAgIEdyb3VwU2VsZWN0aW9uU3RhdGVQaXBlLFxuICAgIFNlbGVjdGVkVXNlcnNQaXBlLFxuICBdLFxuICBhbmltYXRpb25zOiBbXG4gICAgaW5PdXRBbmltYXRpb24oJ2luT3V0QW5pbWF0aW9uJyksXG4gICAgc2hvd0FuaW1hdGlvbignc2hvd0FuaW1hdGlvbicpLFxuICAgIGNsb3NlRm9ybSgnY2xvc2VGb3JtJyksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENhVXNlckZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgdHlwZSE6IHN0cmluZztcbiAgQElucHV0KCkgaXNGaWx0ZXJBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZmlsdGVyVGl0bGUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhhc0xlZnRTaWRlSWNvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSB0b0RvU3ViVHlwZSE6IHN0cmluZztcbiAgQElucHV0KCkgdXNlckdyb3VwITogVXNlckdyb3VwW107XG4gIEBJbnB1dCgpIGlzU2VhcmNoRXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgbG9hZFN0YXR1c0VudW0gPSBMb2FkU3RhdHVzRW51bTtcbiAgcHVibGljIHNlYXJjaEZvcm0hOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBwdWJsaWMgc2VhcmNoSW5wdXRWYWx1ZSE6IHN0cmluZztcblxuICBwdWJsaWMgdW5zZWxlY3RlZFZpc2libGVDb3VudDogbnVtYmVyID0gMDtcbiAgcHVibGljIGNhRmlsdGVyc1N2Z1JvdXRlczogQ2FGaWx0ZXJzU3ZnUm91dGVzID0gQ2FGaWx0ZXJzU3ZnUm91dGVzO1xuXG4gIHB1YmxpYyBzZWxlY3RlZFVzZXJHcm91cDogVXNlckdyb3VwW10gPSBbXTtcbiAgcHVibGljIGZpbHRlckFjdGl2ZUFycmF5OiBVc2VyR3JvdXBbXSA9IFtdO1xuICBwdWJsaWMgaXNBc2NlbmRpbmdTb3J0T3JkZXI6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgaXNCdXR0b25BdmFpbGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGhhc1NlbGVjdGVkVXNlcnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHRvdGFsRmlsdGVyc051bTogbnVtYmVyID0gMDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG5cbiAgICB0aGlzLndhdGNoU2VhcmNoRm9ybVZhbHVlQ2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0IHVzZXJTZWFyY2goKTogSUNhSW5wdXQge1xuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLlVTRVJfRklMVEVSOlxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5NT0RVTEVfRklMVEVSOlxuICAgICAgICByZXR1cm4gQ2FVc2VyRmlsdGVyQ29uZmlnLmdldFVzZXJTZWFyY2goKTtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIGZpbHRlciB0eXBlJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEluaXRpYWxzKG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEZpbHRlckhlbHBlci5nZXRJbml0aWFscyhuYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkdyb3VwU3dpdGNoU3RhdGUoZ3JvdXA6IFVzZXJHcm91cCk6IHZvaWQge1xuICAgIGdyb3VwLmlzT3BlbiA9ICFncm91cC5pc09wZW47XG4gIH1cblxuICBwdWJsaWMgb25DaGVja2JveFNlbGVjdChldmVudDogRXZlbnQsIGdyb3VwOiBVc2VyR3JvdXApOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQpIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgY29uc3QgdG90YWxJdGVtcyA9IGdyb3VwLml0ZW1zLmxlbmd0aDtcbiAgICBjb25zdCBzZWxlY3RlZEl0ZW1zID0gZ3JvdXAuaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmlzU2VsZWN0ZWQpLmxlbmd0aDtcblxuICAgIGdyb3VwLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGlmIChzZWxlY3RlZEl0ZW1zID09PSB0b3RhbEl0ZW1zKSBpdGVtLmlzU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgIGVsc2UgaXRlbS5pc1NlbGVjdGVkID0gdHJ1ZTtcbiAgICB9KTtcblxuICAgIHRoaXMuaGFzU2VsZWN0ZWRVc2VycyA9IHNlbGVjdGVkSXRlbXMgIT09IHRvdGFsSXRlbXM7XG4gIH1cblxuICBwdWJsaWMgb25GaWx0ZXJDbG9zZSgpOiB2b2lkIHtcbiAgICBGaWx0ZXJIZWxwZXIuaGFuZGxlR3JvdXBGaWx0ZXJDbG9zZShcbiAgICAgIHRoaXMudXNlckdyb3VwLFxuICAgICAgdGhpcy5zZWxlY3RlZFVzZXJHcm91cCxcbiAgICAgIHRoaXMucmVtb3ZlRnJvbVNlbGVjdGVkVXNlci5iaW5kKHRoaXMpLFxuICAgICAgdGhpcy5hZGRUb1NlbGVjdGVkVXNlci5iaW5kKHRoaXMpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRGaWx0ZXJWYWx1ZShcbiAgICBldmVudDogRXZlbnRcbiAgKTogZmlsdGVyT3V0cHV0IHwgZmlsdGVyT3V0cHV0V2l0aFBhcmFtcyB8IHVuZGVmaW5lZCB7XG4gICAgdGhpcy5maWx0ZXJBY3RpdmVBcnJheSA9IFsuLi50aGlzLnVzZXJHcm91cF07XG4gICAgY29uc3Qgc2VsZWN0ZWRVc2Vyc0lkQXJyYXk6IG51bWJlcltdID0gW107XG4gICAgdGhpcy50b3RhbEZpbHRlcnNOdW0gPSB0aGlzLmZpbHRlckFjdGl2ZUFycmF5Lmxlbmd0aDtcblxuICAgIGNvbnN0IG1haW5BcnJheSA9IHRoaXMudXNlckdyb3VwO1xuICAgIGxldCBxdWVyeVBhcmFtcyA9IHt9O1xuICAgIGxldCBzdWJUeXBlOiBzdHJpbmcgPSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5FTVBUWV9TVFJJTkdfUExBQ0VIT0xERVI7XG5cbiAgICBtYWluQXJyYXkuZm9yRWFjaCgoZGF0YTogVXNlckdyb3VwKSA9PiB7XG4gICAgICBkYXRhLml0ZW1zLmZvckVhY2goKGl0ZW06IFVzZXJEYXRhKSA9PiB7XG4gICAgICAgIGlmIChpdGVtLmlzU2VsZWN0ZWQpIHNlbGVjdGVkVXNlcnNJZEFycmF5LnB1c2goaXRlbS5pZCEpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpZiAoIXNlbGVjdGVkVXNlcnNJZEFycmF5Lmxlbmd0aCkge1xuICAgICAgdGhpcy5jbGVhckFsbChldmVudCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcXVlcnlQYXJhbXMgPSBzZWxlY3RlZFVzZXJzSWRBcnJheTtcbiAgICBzdWJUeXBlID1cbiAgICAgIHRoaXMudG9Eb1N1YlR5cGUgPz8gVG9vbGJhckZpbHRlclN0cmluZ0VudW0uRU1QVFlfU1RSSU5HX1BMQUNFSE9MREVSO1xuXG4gICAgY29uc3QgYWN0aW9uID0gJ1NldCc7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGZpbHRlclR5cGU6IHRoaXMudHlwZSxcbiAgICAgIGFjdGlvbixcbiAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgc3ViVHlwZSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJBbGwoZXZlbnQ/OiBFdmVudCk6IGZpbHRlck91dHB1dCB8IGZpbHRlck91dHB1dFdpdGhQYXJhbXMge1xuICAgIGlmIChldmVudCkgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICB0aGlzLnNlbGVjdGVkVXNlckdyb3VwID0gW107XG4gICAgdGhpcy5maWx0ZXJBY3RpdmVBcnJheSA9IFtdO1xuICAgIHRoaXMudG90YWxGaWx0ZXJzTnVtID0gMDtcbiAgICB0aGlzLmhhc1NlbGVjdGVkVXNlcnMgPSBmYWxzZTtcblxuICAgIHRoaXMudXNlckdyb3VwLmZvckVhY2goKGdyb3VwKSA9PiB7XG4gICAgICBncm91cC5pdGVtcy5mb3JFYWNoKChpdGVtOiBVc2VyRGF0YSkgPT4ge1xuICAgICAgICBpdGVtLmlzU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgaXRlbS5jdXJyZW50U2V0ID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGFjdGlvbiA9ICdDbGVhcic7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGFjdGlvbixcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgIGZpbHRlclR5cGU6IHRoaXMudHlwZSxcbiAgICB9O1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgcHVibGljIHRyYWNrQnlJZGVudGl0eShpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBzZWFyY2g6IG51bGwsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlU2VsZWN0ZWRVc2VycyhpdGVtOiBVc2VyRGF0YSwgaW5keDogbnVtYmVyLCBpbmR4MjogbnVtYmVyKSB7XG4gICAgaWYgKGl0ZW0uaXNTZWxlY3RlZCkgdGhpcy5yZW1vdmVGcm9tU2VsZWN0ZWRVc2VyKGl0ZW0sIGluZHgsIGluZHgyKTtcbiAgICBlbHNlIHRoaXMuYWRkVG9TZWxlY3RlZFVzZXIoaXRlbSwgaW5keCwgaW5keDIpO1xuICB9XG5cbiAgcHVibGljIGFkZFRvU2VsZWN0ZWRVc2VyKGl0ZW06IFVzZXJEYXRhLCBpbmR4OiBudW1iZXIsIGluZHgyOiBudW1iZXIpIHtcbiAgICBjb25zdCB7IGhhc1NlbGVjdGVkVXNlcnMsIHVuc2VsZWN0ZWRWaXNpYmxlQ291bnQsIGdyb3VwQXJyYXkgfSA9XG4gICAgICBGaWx0ZXJIZWxwZXIuYWRkT3JSZW1vdmVGcm9tR3JvdXAoXG4gICAgICAgICdhZGQnLFxuICAgICAgICB0aGlzLnVzZXJHcm91cCxcbiAgICAgICAgaXRlbSxcbiAgICAgICAgaW5keCxcbiAgICAgICAgaW5keDJcbiAgICAgICk7XG5cbiAgICB0aGlzLmhhc1NlbGVjdGVkVXNlcnMgPSBoYXNTZWxlY3RlZFVzZXJzO1xuICAgIHRoaXMudW5zZWxlY3RlZFZpc2libGVDb3VudCA9IHVuc2VsZWN0ZWRWaXNpYmxlQ291bnQ7XG4gICAgdGhpcy51c2VyR3JvdXAgPSBbLi4uZ3JvdXBBcnJheV07XG5cbiAgICB0aGlzLmNoZWNrRmlsdGVyQWN0aXZlVmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVGcm9tU2VsZWN0ZWRVc2VyKFxuICAgIGl0ZW06IFVzZXJEYXRhLFxuICAgIGluZHg6IG51bWJlcixcbiAgICBpbmR4MjogbnVtYmVyXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHsgaGFzU2VsZWN0ZWRVc2VycywgdW5zZWxlY3RlZFZpc2libGVDb3VudCwgZ3JvdXBBcnJheSB9ID1cbiAgICAgIEZpbHRlckhlbHBlci5hZGRPclJlbW92ZUZyb21Hcm91cChcbiAgICAgICAgJ3JlbW92ZScsXG4gICAgICAgIHRoaXMudXNlckdyb3VwLFxuICAgICAgICBpdGVtLFxuICAgICAgICBpbmR4LFxuICAgICAgICBpbmR4MlxuICAgICAgKTtcblxuICAgIHRoaXMuaGFzU2VsZWN0ZWRVc2VycyA9IGhhc1NlbGVjdGVkVXNlcnM7XG4gICAgdGhpcy51bnNlbGVjdGVkVmlzaWJsZUNvdW50ID0gdW5zZWxlY3RlZFZpc2libGVDb3VudDtcbiAgICB0aGlzLnVzZXJHcm91cCA9IGdyb3VwQXJyYXk7XG5cbiAgICB0aGlzLmNoZWNrRmlsdGVyQWN0aXZlVmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGVja0ZpbHRlckFjdGl2ZVZhbHVlKCk6IHZvaWQge1xuICAgIGNvbnN0IGZpbHRlckNoZWNrID0gRmlsdGVySGVscGVyLmNoZWNrR3JvdXBGaWx0ZXJBY3RpdmVWYWx1ZShcbiAgICAgIHRoaXMuZmlsdGVyQWN0aXZlQXJyYXksXG4gICAgICB0aGlzLmlzQnV0dG9uQXZhaWxhYmxlXG4gICAgKTtcblxuICAgIHRoaXMuaXNCdXR0b25BdmFpbGFibGUgPSBmaWx0ZXJDaGVjay5pc0J1dHRvbkF2YWlsYWJsZTtcbiAgfVxuXG4gIHByaXZhdGUgd2F0Y2hTZWFyY2hGb3JtVmFsdWVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoRm9ybS52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNoYW5nZXMpID0+IHtcbiAgICAgICAgY29uc3QgaW5wdXRWYWx1ZSA9IGNoYW5nZXMuc2VhcmNoPy50b0xvd2VyQ2FzZSgpIHx8ICcnO1xuXG4gICAgICAgIHRoaXMudXNlckdyb3VwLmZvckVhY2goKGdyb3VwKSA9PiAoe1xuICAgICAgICAgIC4uLmdyb3VwLFxuICAgICAgICAgIGl0ZW1zOiBncm91cC5pdGVtcy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgaGlkZGVuOlxuICAgICAgICAgICAgICAodGhpcy50eXBlID09PSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5VU0VSX0ZJTFRFUiB8fFxuICAgICAgICAgICAgICAgIHRoaXMudHlwZSA9PT0gVG9vbGJhckZpbHRlclN0cmluZ0VudW0uTU9EVUxFX0ZJTFRFUikgJiZcbiAgICAgICAgICAgICAgaW5wdXRWYWx1ZSAmJlxuICAgICAgICAgICAgICAhaXRlbS5uYW1lIS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGlucHV0VmFsdWUpLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHRoaXMuc2VhcmNoSW5wdXRWYWx1ZSA9XG4gICAgICAgICAgaW5wdXRWYWx1ZSB8fCBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5FTVBUWV9TVFJJTkdfUExBQ0VIT0xERVI7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0SXRlbXMoKTogdm9pZCB7XG4gICAgY29uc3Qgc29ydFJlc3VsdCA9IEZpbHRlckhlbHBlci5zb3J0R3JvdXBJdGVtc0NvdW50KFxuICAgICAgdGhpcy51c2VyR3JvdXAsXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlckdyb3VwLFxuICAgICAgdGhpcy5pc0FzY2VuZGluZ1NvcnRPcmRlclxuICAgICk7XG5cbiAgICB0aGlzLnVzZXJHcm91cCA9IHNvcnRSZXN1bHQuc29ydGVkRmlsdGVyQXJyYXk7XG4gICAgdGhpcy5zZWxlY3RlZFVzZXJHcm91cCA9IHNvcnRSZXN1bHQuc29ydGVkU2VsZWN0ZWRGaWx0ZXJBcnJheTtcbiAgICB0aGlzLmlzQXNjZW5kaW5nU29ydE9yZGVyID0gc29ydFJlc3VsdC5pc0FzY2VuZGluZ1NvcnRPcmRlcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTdmdQYXRoKHByb3BlcnR5TmFtZToga2V5b2YgdHlwZW9mIENhRmlsdGVyc1N2Z1JvdXRlcyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEZpbHRlckhlbHBlci5nZXRTdmdQYXRoKHByb3BlcnR5TmFtZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlID09PSAndXNlckZpbHRlcicgfHwgdHlwZSA9PT0gJ21vZHVsZUZpbHRlcidcIj5cbiAgPGRpdiBjbGFzcz1cImJvcmRlci1maWx0ZXJcIj48L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09ICd1c2VyRmlsdGVyJ1wiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2VhcmNoLWlucHV0LWhlYWRlclwiXG4gICAgICBbY2xhc3MuYWN0aXZlU2VhcmNoXT1cImlzU2VhcmNoRXhwYW5kZWRcIlxuICAgICAgW2NsYXNzLmluYWN0aXZlU2VhcmNoXT1cIiFpc1NlYXJjaEV4cGFuZGVkXCJcbiAgICAgIFtmb3JtR3JvdXBdPVwic2VhcmNoRm9ybVwiXG4gICAgPlxuICAgICAgPGFwcC1jYS1pbnB1dFxuICAgICAgICBjbGFzcz1cImlucHV0LWZvcm0taG9sZGVyXCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2VhcmNoXCJcbiAgICAgICAgW2lucHV0Q29uZmlnXT1cInVzZXJTZWFyY2hcIlxuICAgICAgPjwvYXBwLWNhLWlucHV0PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZmlsdGVyLXVzZXItaG9sZGVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nRm9yPVwiXG4gICAgICAgIGxldCBncm91cCBvZiB1c2VyR3JvdXA7XG4gICAgICAgIGxldCBpbmR4ID0gaW5kZXg7XG4gICAgICAgIHRyYWNrQnk6IHRyYWNrQnlJZGVudGl0eVxuICAgICAgXCJcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidXNlci1pdGVtcy1ob2xkZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgIChjbGljayk9XCJvbkdyb3VwU3dpdGNoU3RhdGUoZ3JvdXApXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94LWhvbGRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tib3gtdG9vbHRpcFwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIG5nYlRvb2x0aXBcbiAgICAgICAgICAgIFttYWluQ2FUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAoZ3JvdXAgfCBncm91cFNlbGVjdGlvblN0YXRlKS5zb21lU2VsZWN0ZWRcbiAgICAgICAgICAgICAgICA/ICdDbGVhciBzZWxlY3RlZCdcbiAgICAgICAgICAgICAgICA6ICdDbGVhciBncm91cCdcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICB0b29sdGlwQmFja2dyb3VuZD1cIiNDQ0NDQ0NcIlxuICAgICAgICAgICAgdG9vbHRpcENvbG9yPVwiIzJGMkYyRlwiXG4gICAgICAgICAgICBwb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgICAgICBjdXN0b21DbGFzcz1cIm10LTFcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNoZWNrYm94XCJcbiAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgaWQ9XCJjaGVja2JveHt7IGluZHggfX1cIlxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCIoZ3JvdXAgfCBncm91cFNlbGVjdGlvblN0YXRlKS5hbGxTZWxlY3RlZFwiXG4gICAgICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cIihncm91cCB8IGdyb3VwU2VsZWN0aW9uU3RhdGUpLnNvbWVTZWxlY3RlZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbkNoZWNrYm94U2VsZWN0KCRldmVudCwgZ3JvdXApXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jaGVja2JveC1sYWJlbFwiXG4gICAgICAgICAgICAgIGZvcj1cImNoZWNrYm94e3sgaW5keCB9fVwiXG4gICAgICAgICAgICA+PC9sYWJlbD5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJoaWRlLXVzZXItZ3JvdXBcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICBzdmdfcm90YXRlOiAhZ3JvdXAuaXNPcGVuLFxuICAgICAgICAgICAgICByb3RhdGVfYmFjazogZ3JvdXAuaXNPcGVuLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHN2Zy1pY29uIFtzcmNdPVwiZ2V0U3ZnUGF0aCgnYXJyb3dGaWx0ZXInKVwiPjwvc3ZnLWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJ1c2VyLXRpdGxlLXRleHQgY291bnRlci1wYWRkLXRpdGxlIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgY2EtZm9udC1ib2xkXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGdyb3VwLmxhYmVsLnRvVXBwZXJDYXNlKCkgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInVzZXItZmlsdGVyLWJveCBkLWZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgY2EtZm9udC1ib2xkIG1zLTFcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgZ3JvdXAuaXRlbXMgfCBmaWx0ZXJTZWxlY3RlZEl0ZW1zIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidXNlci1ncm91cC1ob2xkZXJcIlxuICAgICAgICBbY2xhc3MudXNlci1ncm91cC1yZWR1Y2VkLWhvbGRlcl09XCJ0eXBlID09PSAndXNlckZpbHRlcidcIlxuICAgICAgICBbQGNsb3NlRm9ybV09XCJncm91cC5pc09wZW5cIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICBsZXQgaXRlbSBvZiBncm91cC5pdGVtcyB8IHNlbGVjdGVkVXNlcjtcbiAgICAgICAgICAgIGxldCBpbmR4MiA9IGluZGV4O1xuICAgICAgICAgICAgdHJhY2tCeTogdHJhY2tCeUlkZW50aXR5XG4gICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgW0Bpbk91dEFuaW1hdGlvbl09XCInaW4nXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgdXNlclRlbXBsYXRlO1xuICAgICAgICAgICAgICAgIGNvbnRleHQ6IHsgaXRlbTogaXRlbSwgaW5keDogaW5keCwgaW5keDI6IGluZHgyIH1cbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihncm91cCB8IGdyb3VwU2VsZWN0aW9uU3RhdGUpLnNvbWVTZWxlY3RlZFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXItZmlsdGVyIGJvcmRlci10aHJpcmQtbWFyZ2luXCI+PC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgIGxldCBpdGVtIG9mIGdyb3VwLml0ZW1zIHwgc2VsZWN0ZWRVc2VyOiB0cnVlO1xuICAgICAgICAgICAgbGV0IGluZHgyID0gaW5kZXg7XG4gICAgICAgICAgICB0cmFja0J5OiB0cmFja0J5SWRlbnRpdHlcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBbQGluT3V0QW5pbWF0aW9uXT1cIidpbidcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICB1c2VyVGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgY29udGV4dDogeyBpdGVtOiBpdGVtLCBpbmR4OiBpbmR4LCBpbmR4MjogaW5keDIgfVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVzZXJHcm91cD8ubGVuZ3RoICE9PSBzZWxlY3RlZFVzZXJHcm91cD8ubGVuZ3RoXCI+XG4gICAgPGRpdiBjbGFzcz1cImJvcmRlci1maWx0ZXJcIj48L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICN1c2VyVGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWluZHg9XCJpbmR4XCIgbGV0LWluZHgyPVwiaW5keDJcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZC1mbGV4XCJcbiAgICBbbmdDbGFzc109XCJcbiAgICAgIGl0ZW0uaXNTZWxlY3RlZFxuICAgICAgICA/ICdzZWxlY3RlZC11c2VyLWhvbGRlciBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW4nXG4gICAgICAgIDogJ3VzZXItZnJhbWUtaG9sZGVyIGFsaWduLWl0ZW1zLWNlbnRlcidcbiAgICBcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmhpZGRlblwiPlxuICAgICAgPGRpdlxuICAgICAgICAoY2xpY2spPVwiaGFuZGxlU2VsZWN0ZWRVc2VycyhpdGVtLCBpbmR4LCBpbmR4MilcIlxuICAgICAgICBjbGFzcz1cInVzZXItbWFpbi1ob2xkZXIgdXNlci1mcmFtZS1ob2xkZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcbiAgICAgICAgW2NsYXNzLnVzZXJfc3ZnX2ljb25faG9sZGVyXT1cInR5cGUgIT09ICd1c2VyRmlsdGVyJ1wiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlID09PSAndXNlckZpbHRlcic7IGVsc2Ugc3ZnSWNvblRlbXBsYXRlXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItcHJvZmlsZS1pbWcgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmF2YXRhcjsgZWxzZSBhdmF0YXJUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICA8YXBwLWNhLXByb2ZpbGUtaW1hZ2VcbiAgICAgICAgICAgICAgICBbaW5keF09XCJpbmR4MlwiXG4gICAgICAgICAgICAgICAgW3RleHRTaG9ydE5hbWVdPVwiZ2V0SW5pdGlhbHMoaXRlbS5uYW1lKVwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwiJ3NtYWxsJ1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9hcHAtY2EtcHJvZmlsZS1pbWFnZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2F2YXRhclRlbXBsYXRlPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ1c2VyX2F2YXRhclwiXG4gICAgICAgICAgICAgICAgc3R5bGUuYmFja2dyb3VuZC1pbWFnZT1cInVybCgne3sgaXRlbS5hdmF0YXIgfX0nKVwiXG4gICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI3N2Z0ljb25UZW1wbGF0ZT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidHlwZS1pY29uIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxzdmctaWNvbiBzcmM9XCJ7eyBpdGVtLmljb24gfX1cIj48L3N2Zy1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJpdGVtLmlzU2VsZWN0ZWQgPyAnc2VsZWN0ZWQtdXNlci1mcmFtZScgOiAndXNlci1mcmFtZSdcIlxuICAgICAgICAgIFtjbGFzcy51c2VyLWZyYW1lLW5vLWljb25dPVwidHlwZSAhPT0gJ3VzZXJGaWx0ZXInXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC1uYW1lLXRleHQgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPHNwYW4+IHt7IGl0ZW0ubmFtZSB9fSA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0/LmNvdW50OyBlbHNlIG5vQ291bnRcIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIGNsYXNzPVwiY291bnQtaG9sZGVyIGQtaW5saW5lLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiXG4gICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVDb3VudF09XCJpdGVtLmlzU2VsZWN0ZWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBpdGVtLmNvdW50IH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI25vQ291bnQ+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9Db3VudFRlbXBsYXRlOyBjb250ZXh0OiB7IGl0ZW06IGl0ZW0gfVwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmlzU2VsZWN0ZWRcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUZyb21TZWxlY3RlZFVzZXIoaXRlbSwgaW5keCwgaW5keDIpXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJpY29uLWRlbGV0ZSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAgICAgICBbY2xhc3MuY291bnRlck1hcmdpbl09XCJpdGVtLmNvdW50XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24tZGVsZXRlLWhvbGRcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPHN2Zy1pY29uIFtzcmNdPVwiZ2V0U3ZnUGF0aCgncmVtb3ZlU2VsZWN0ZWRWYWx1ZScpXCI+PC9zdmctaWNvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG48IS0tIGlmIG5vIGNvdW50IGZvdW5kIC0tPlxuPG5nLXRlbXBsYXRlICNub0NvdW50VGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbS5jb3VudDsgZWxzZSBub0NvdW50ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtaWNvbiBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxzdmctaWNvbiBbc3JjXT1cImdldFN2Z1BhdGgoJ2ljb25Db25maXJtJylcIj48L3N2Zy1pY29uPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICNub0NvdW50ZXI+XG4gICAgPGRpdiBjbGFzcz1cImNvdW50ZXItaG9sZGVyIGFjdGl2ZUNvdW50ZXJcIj4wPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -262,7 +262,7 @@ export class CaInputComponent {
|
|
|
262
262
|
// Pipe
|
|
263
263
|
InputErrorPipe, name: "inputError" }, { kind: "pipe", type: InputContainerClassPipe, name: "inputContainerClass" }, { kind: "pipe", type: InputClassPipe, name: "inputClass" }, { kind: "pipe", type: LabelClassPipe, name: "labelClass" }, { kind: "pipe", type: ShowClearPipe, name: "showClear" }, { kind: "pipe", type: ShowInvalidDangerMarkPipe, name: "showInvalidDangerMark" }, { kind: "pipe", type: ShowValidCheckPipe, name: "showValidCheck" }, { kind: "pipe", type: InputTypePipe, name: "inputType" }, { kind: "pipe", type: InputDropdownArrowClassPipe, name: "inputDropdownArrowClass" }, { kind: "pipe", type: ShowDropdownArrowPipe, name: "showDropdownArrow" }, { kind: "pipe", type: CaSvgPipe, name: "caSvg" }, { kind: "pipe", type: LoadStatusColorPipe, name: "loadStatusColor" }, { kind: "pipe", type: InputPlaceholderIconRightClassPipe, name: "inputPlaceholderIconRightClass" }, { kind: "pipe", type: InputPlaceholderTextClassPipe, name: "inputPlaceholderTextClass" }, { kind: "pipe", type: ShowPlaceholderTextPipe, name: "showPlaceholderText" }, { kind: "component", type:
|
|
264
264
|
// Components
|
|
265
|
-
CaInputClearComponent, selector: "app-ca-input-clear", inputs: ["inputConfig", "getSuperControl", "isFocusInput", "incorrectValue", "selectedDropdownLabelColor", "template"], outputs: ["clearInputClick"] }, { kind: "component", type: CaAppTooltipV2Component, selector: "mainCaTooltip, [mainCaTooltip]", inputs: ["mainCaTooltip", "position", "openTooltipDelay", "tooltipBackground", "tooltipColor", "tooltipTextAlign", "tooltipMarginTop"] }, { kind: "component", type: CaInputPasswordComponent, selector: "app-ca-input-password", inputs: ["inputConfig", "getSuperControl", "isFocusInput", "isTouchedInput", "isCapsLockOn", "isTogglePassword"], outputs: ["onTogglePasswordClick"] }, { kind: "component", type: CaInputPlaceholderIconComponent, selector: "app-ca-input-placeholder-icon", inputs: ["inputConfig", "getSuperControl", "isFocusInput", "isTouchedInput", "selectedDropdownLabelColor", "isEditInput", "dateTimePopover"], outputs: ["onPopoverShownEmitter", "onPopoverHiddenEmitter", "onPlaceholderIconEventEmitter"] }, { kind: "component", type: CaInputCommandsComponent, selector: "app-ca-input-commands", inputs: ["inputConfig", "isFocusInput", "isVisibleCommands"], outputs: ["onCommandsClick"] }, { kind: "component", type: CaCustomDatetimePickersComponent, selector: "app-ca-custom-datetime-pickers", inputs: ["dateTime", "inputConfig", "calendarType", "placeholder"], outputs: ["closePopover"] }, { kind: "component", type: CaInputDatetimePickerComponent, selector: "app-ca-input-datetime-picker", inputs: ["showDateInput", "inputConfig", "getSuperControl", "isFocusInput", "isVisibleCommands", "isTouchedInput"], outputs: ["selectLastOneForSelectionEmitter", "selectLastOneAfterMouseUpEmitter", "onDatePasteEmitter", "onBlurEmitter", "onFocusEmitter", "changeSelectionEmmiter", "setSelectionEmmiter"] }, { kind: "component", type: CaProfileImageComponent, selector: "app-ca-profile-image", inputs: ["indx", "avatarImg", "avatarColor", "textShortName", "name", "isRound", "size", "height", "fontSize", "isHoverEffect"] }, { kind: "component", type: CaLoadModalProgressBarComponent, selector: "ca-load-modal-progress-bar", inputs: ["totalAmount", "availableCredit", "inputFocus", "disable"] }, { kind: "directive", type:
|
|
265
|
+
CaInputClearComponent, selector: "app-ca-input-clear", inputs: ["inputConfig", "getSuperControl", "isFocusInput", "incorrectValue", "selectedDropdownLabelColor", "template"], outputs: ["clearInputClick"] }, { kind: "component", type: CaAppTooltipV2Component, selector: "mainCaTooltip, [mainCaTooltip]", inputs: ["mainCaTooltip", "position", "openTooltipDelay", "tooltipBackground", "tooltipColor", "tooltipTextAlign", "tooltipMarginTop", "disableTooltip"] }, { kind: "component", type: CaInputPasswordComponent, selector: "app-ca-input-password", inputs: ["inputConfig", "getSuperControl", "isFocusInput", "isTouchedInput", "isCapsLockOn", "isTogglePassword"], outputs: ["onTogglePasswordClick"] }, { kind: "component", type: CaInputPlaceholderIconComponent, selector: "app-ca-input-placeholder-icon", inputs: ["inputConfig", "getSuperControl", "isFocusInput", "isTouchedInput", "selectedDropdownLabelColor", "isEditInput", "dateTimePopover"], outputs: ["onPopoverShownEmitter", "onPopoverHiddenEmitter", "onPlaceholderIconEventEmitter"] }, { kind: "component", type: CaInputCommandsComponent, selector: "app-ca-input-commands", inputs: ["inputConfig", "isFocusInput", "isVisibleCommands"], outputs: ["onCommandsClick"] }, { kind: "component", type: CaCustomDatetimePickersComponent, selector: "app-ca-custom-datetime-pickers", inputs: ["dateTime", "inputConfig", "calendarType", "placeholder"], outputs: ["closePopover"] }, { kind: "component", type: CaInputDatetimePickerComponent, selector: "app-ca-input-datetime-picker", inputs: ["showDateInput", "inputConfig", "getSuperControl", "isFocusInput", "isVisibleCommands", "isTouchedInput"], outputs: ["selectLastOneForSelectionEmitter", "selectLastOneAfterMouseUpEmitter", "onDatePasteEmitter", "onBlurEmitter", "onFocusEmitter", "changeSelectionEmmiter", "setSelectionEmmiter"] }, { kind: "component", type: CaProfileImageComponent, selector: "app-ca-profile-image", inputs: ["indx", "avatarImg", "avatarColor", "textShortName", "name", "isRound", "size", "height", "fontSize", "isHoverEffect"] }, { kind: "component", type: CaLoadModalProgressBarComponent, selector: "ca-load-modal-progress-bar", inputs: ["totalAmount", "availableCredit", "inputFocus", "disable"] }, { kind: "directive", type:
|
|
266
266
|
// Directives
|
|
267
267
|
MinMaxValueDirective, selector: "[appMinMaxValue]", inputs: ["minValue", "maxValue"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
268
268
|
}
|
|
@@ -347,4 +347,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
347
347
|
type: Output,
|
|
348
348
|
args: ['dropDownKeyNavigation']
|
|
349
349
|
}] } });
|
|
350
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQvY2EtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQvY2EtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFFTCxzQkFBc0IsRUFDdEIsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFDTixJQUFJLEVBRUosU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsV0FBVyxFQUVYLG1CQUFtQixHQUNwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxhQUFhLEVBQWMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQU14RCxRQUFRO0FBQ1IsT0FBTyxFQUNMLGNBQWMsRUFDZCx1QkFBdUIsRUFDdkIsY0FBYyxFQUNkLGNBQWMsRUFDZCxhQUFhLEVBQ2IseUJBQXlCLEVBQ3pCLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsMkJBQTJCLEVBQzNCLHFCQUFxQixFQUNyQiw2QkFBNkIsRUFDN0Isa0NBQWtDLEVBQ2xDLDZCQUE2QixFQUM3Qix1QkFBdUIsR0FDeEIsTUFBTSxTQUFTLENBQUM7QUFDakIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFN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QUMzQixxQkFBcUI7d0JBQ3JCLFNBQVM7d0JBQ1QsNkJBQTZCO3dCQUM3QixtQkFBbUI7d0JBQ25CLGtDQUFrQzt3QkFDbEMsNkJBQTZCO3dCQUM3Qix1QkFBdUI7d0JBRXZCLGFBQWE7d0JBQ2IscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLHdCQUF3Qjt3QkFDeEIsK0JBQStCO3dCQUMvQix3QkFBd0I7d0JBQ3hCLGdDQUFnQzt3QkFDaEMsOEJBQThCO3dCQUM5Qix1QkFBdUI7d0JBQ3ZCLCtCQUErQjt3QkFFL0IsYUFBYTt3QkFDYixvQkFBb0I7cUJBQ3JCLFdBQ1EsQ0FBQyxzQkFBc0IsQ0FBQyxhQUN0QixDQUFDLGlCQUFpQixFQUFFLDZCQUE2QixDQUFDOzswQkFzRTFELElBQUk7Z0pBakVzQyxLQUFLO3NCQUFqRCxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ2IsY0FBYztzQkFBcEMsU0FBUzt1QkFBQyxVQUFVO2dCQUVaLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFDRywwQkFBMEI7c0JBQWxDLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFb0IsY0FBYztzQkFBdkMsTUFBTTt1QkFBQyxnQkFBZ0I7Z0JBRUgsU0FBUztzQkFBN0IsTUFBTTt1QkFBQyxXQUFXO2dCQUVHLGVBQWU7c0JBQXBDLE1BQU07dUJBQUMsWUFBWTtnQkFFRixXQUFXO3NCQUE1QixNQUFNO3VCQUFDLFFBQVE7Z0JBRVEsWUFBWTtzQkFBbkMsTUFBTTt1QkFBQyxjQUFjO2dCQUVMLGVBQWU7c0JBQS9CLE1BQU07dUJBQUMsT0FBTztnQkFJYSxxQkFBcUI7c0JBQWhELE1BQU07dUJBQUMsa0JBQWtCO2dCQUVPLDBCQUEwQjtzQkFBMUQsTUFBTTt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2VsZixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgRm9ybXNNb2R1bGUsXG4gIE5nQ29udHJvbCxcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBbmd1bGFyU3ZnSWNvbk1vZHVsZSB9IGZyb20gJ2FuZ3VsYXItc3ZnLWljb24nO1xuXG4vLyBtb2RlbHNcbmltcG9ydCB7IElDYUlucHV0IH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgTGFiZWxDb2xvciwgQ29tbWFuZHNFdmVudCB9IGZyb20gJy4vbW9kZWxzJztcblxuLy8gcGlwZXNcbmltcG9ydCB7XG4gIElucHV0RXJyb3JQaXBlLFxuICBJbnB1dENvbnRhaW5lckNsYXNzUGlwZSxcbiAgSW5wdXRDbGFzc1BpcGUsXG4gIExhYmVsQ2xhc3NQaXBlLFxuICBTaG93Q2xlYXJQaXBlLFxuICBTaG93SW52YWxpZERhbmdlck1hcmtQaXBlLFxuICBTaG93VmFsaWRDaGVja1BpcGUsXG4gIElucHV0VHlwZVBpcGUsXG4gIElucHV0RHJvcGRvd25BcnJvd0NsYXNzUGlwZSxcbiAgU2hvd0Ryb3Bkb3duQXJyb3dQaXBlLFxuICBJbnB1dFBsYWNlaG9sZGVySWNvbkNsYXNzUGlwZSxcbiAgSW5wdXRQbGFjZWhvbGRlckljb25SaWdodENsYXNzUGlwZSxcbiAgSW5wdXRQbGFjZWhvbGRlclRleHRDbGFzc1BpcGUsXG4gIFNob3dQbGFjZWhvbGRlclRleHRQaXBlLFxufSBmcm9tICcuL3BpcGVzJztcbmltcG9ydCB7IENhU3ZnUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL2NhLXN2Zy5waXBlJztcbmltcG9ydCB7IExvYWRTdGF0dXNDb2xvclBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy9sb2FkLXN0YXR1cy1jb2xvci5waXBlJztcbmltcG9ydCB7IFRob3VzYW5kU2VwYXJhdG9yUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3Rob3VzYW5kLXNlcGFyYXRvci5waXBlJztcblxuLy8gY29tcG9uZW50c1xuaW1wb3J0IHsgQ2FBcHBUb29sdGlwVjJDb21wb25lbnQgfSBmcm9tICcuLi9jYS1hcHAtdG9vbHRpcC12Mi9jYS1hcHAtdG9vbHRpcC12Mi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FJbnB1dENsZWFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLWlucHV0LWNsZWFyL2NhLWlucHV0LWNsZWFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUlucHV0Q29tbWFuZHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtaW5wdXQtY29tbWFuZHMvY2EtaW5wdXQtY29tbWFuZHMuY29tcG9uZW50JztcbmltcG9ydCB7IENhSW5wdXRQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYS1pbnB1dC1wYXNzd29yZC9jYS1pbnB1dC1wYXNzd29yZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FJbnB1dFBsYWNlaG9sZGVySWNvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYS1pbnB1dC1wbGFjZWhvbGRlci1pY29uL2NhLWlucHV0LXBsYWNlaG9sZGVyLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IENhSW5wdXREYXRldGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYS1pbnB1dC1kYXRldGltZS1waWNrZXIvY2EtaW5wdXQtZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUN1c3RvbURhdGV0aW1lUGlja2Vyc0NvbXBvbmVudCB9IGZyb20gJy4uL2NhLWN1c3RvbS1kYXRldGltZS1waWNrZXJzL2NhLWN1c3RvbS1kYXRldGltZS1waWNrZXJzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYVByb2ZpbGVJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4uL2NhLXByb2ZpbGUtaW1hZ2UvY2EtcHJvZmlsZS1pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FMb2FkTW9kYWxQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gJy4uL2NhLWxvYWQtbW9kYWwtcHJvZ3Jlc3MtYmFyL2NhLWxvYWQtbW9kYWwtcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudCc7XG5cbi8vIHNlcnZpY2VzXG5pbXBvcnQgeyBJbnB1dFN0YXRlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJEYXRlVGltZVBpY2tlclNlcnZpY2UgfSBmcm9tICcuLi9jYS1jdXN0b20tZGF0ZXRpbWUtcGlja2Vycy9zZXJ2aWNlcy9jYWxlbmRhci1kYXRldGltZS1waWNrZXIuc2VydmljZSc7XG5cbi8vIGhlbHBlcnNcbmltcG9ydCB7IElucHV0Q2hhbmdlVmFsdWUsIElucHV0U3ZnUm91dGVzIH0gZnJvbSAnLi91dGlscyc7XG5cbi8vIG1vZHVsZXNcbmltcG9ydCB7IE5nYk1vZHVsZSwgTmdiUG9wb3ZlciB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IE5neE1hc2tNb2R1bGUgfSBmcm9tICduZ3gtbWFzayc7XG5cbi8vIGRpcmVjdGl2ZXNcbmltcG9ydCB7IE1pbk1heFZhbHVlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcblxuLy8gZW51bXNcbmltcG9ydCB7IElucHV0Q29tbWFuZHNUeXBlLCBJbnB1dFN0cmluZ0VudW0gfSBmcm9tICcuL2VudW1zJztcbmltcG9ydCB7IERyb3Bkb3duVGVtcGxhdGVUeXBlRW51bSB9IGZyb20gJy4uL2NhLWlucHV0LWRyb3Bkb3duL2VudW1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNhLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2EtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICAvLyBNb2R1bGVcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBBbmd1bGFyU3ZnSWNvbk1vZHVsZSxcbiAgICBOZ2JNb2R1bGUsXG4gICAgTmd4TWFza01vZHVsZSxcblxuICAgIC8vIFBpcGVcbiAgICBJbnB1dEVycm9yUGlwZSxcbiAgICBJbnB1dENvbnRhaW5lckNsYXNzUGlwZSxcbiAgICBJbnB1dENsYXNzUGlwZSxcbiAgICBMYWJlbENsYXNzUGlwZSxcbiAgICBTaG93Q2xlYXJQaXBlLFxuICAgIFNob3dJbnZhbGlkRGFuZ2VyTWFya1BpcGUsXG4gICAgU2hvd1ZhbGlkQ2hlY2tQaXBlLFxuICAgIElucHV0VHlwZVBpcGUsXG4gICAgSW5wdXREcm9wZG93bkFycm93Q2xhc3NQaXBlLFxuICAgIFNob3dEcm9wZG93bkFycm93UGlwZSxcbiAgICBDYVN2Z1BpcGUsXG4gICAgSW5wdXRQbGFjZWhvbGRlckljb25DbGFzc1BpcGUsXG4gICAgTG9hZFN0YXR1c0NvbG9yUGlwZSxcbiAgICBJbnB1dFBsYWNlaG9sZGVySWNvblJpZ2h0Q2xhc3NQaXBlLFxuICAgIElucHV0UGxhY2Vob2xkZXJUZXh0Q2xhc3NQaXBlLFxuICAgIFNob3dQbGFjZWhvbGRlclRleHRQaXBlLFxuXG4gICAgLy8gQ29tcG9uZW50c1xuICAgIENhSW5wdXRDbGVhckNvbXBvbmVudCxcbiAgICBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCxcbiAgICBDYUlucHV0UGFzc3dvcmRDb21wb25lbnQsXG4gICAgQ2FJbnB1dFBsYWNlaG9sZGVySWNvbkNvbXBvbmVudCxcbiAgICBDYUlucHV0Q29tbWFuZHNDb21wb25lbnQsXG4gICAgQ2FDdXN0b21EYXRldGltZVBpY2tlcnNDb21wb25lbnQsXG4gICAgQ2FJbnB1dERhdGV0aW1lUGlja2VyQ29tcG9uZW50LFxuICAgIENhUHJvZmlsZUltYWdlQ29tcG9uZW50LFxuICAgIENhTG9hZE1vZGFsUHJvZ3Jlc3NCYXJDb21wb25lbnQsXG5cbiAgICAvLyBEaXJlY3RpdmVzXG4gICAgTWluTWF4VmFsdWVEaXJlY3RpdmUsXG4gIF0sXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbiAgcHJvdmlkZXJzOiBbSW5wdXRTdGF0ZVNlcnZpY2UsIENhbGVuZGFyRGF0ZVRpbWVQaWNrZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FJbnB1dENvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG57XG4gIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyBzdGF0aWM6IHRydWUgfSkgcHVibGljIGlucHV0ITogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZChOZ2JQb3BvdmVyKSBuZ2JNYWluUG9wb3ZlciE6IE5nYlBvcG92ZXI7XG5cbiAgQElucHV0KCkgaW5wdXRDb25maWchOiBJQ2FJbnB1dDtcblxuICBASW5wdXQoKSBpbmNvcnJlY3RWYWx1ZSE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHNlbGVjdGVkRHJvcGRvd25MYWJlbENvbG9yITogTGFiZWxDb2xvciB8IG51bGw7XG4gIEBJbnB1dCgpIHRlbXBsYXRlITogc3RyaW5nO1xuXG4gIEBPdXRwdXQoJ2luY29ycmVjdEV2ZW50JykgaW5jb3JyZWN0SW5wdXQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCdibHVySW5wdXQnKSBibHVySW5wdXQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCdmb2N1c0lucHV0JykgZm9jdXNJbnB1dEV2ZW50OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgnY2hhbmdlJykgY2hhbmdlSW5wdXQ6IEV2ZW50RW1pdHRlcjxJbnB1dENoYW5nZVZhbHVlPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxJbnB1dENoYW5nZVZhbHVlPigpO1xuICBAT3V0cHV0KCdjb21tYW5kRXZlbnQnKSBjb21tYW5kRXZlbnQ6IEV2ZW50RW1pdHRlcjxDb21tYW5kc0V2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxDb21tYW5kc0V2ZW50PigpO1xuICBAT3V0cHV0KCdjbGVhcicpIGNsZWFySW5wdXRFdmVudDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgLy8gRHJvcGRvd25cbiAgQE91dHB1dCgnc2hvd0hpZGVEcm9wZG93bicpIHNob3dIaWRlRHJvcGRvd25FdmVudDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoJ2Ryb3BEb3duS2V5TmF2aWdhdGlvbicpIGRyb3BEb3duS2V5TmF2aWdhdGlvbkV2ZW50OiBFdmVudEVtaXR0ZXI8e1xuICAgIGtleUNvZGU6IG51bWJlcjtcbiAgICBkYXRhOiBJQ2FJbnB1dCB8IG51bGw7XG4gIH0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAga2V5Q29kZTogbnVtYmVyO1xuICAgIGRhdGE6IElDYUlucHV0IHwgbnVsbDtcbiAgfT4oKTtcblxuICBwdWJsaWMgaXNUb3VjaGVkSW5wdXQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBJbnB1dCBDb21tYW5kc1xuICBwdWJsaWMgaXNWaXNpYmxlQ29tbWFuZHM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBFZGl0IElucHV0XG4gIHB1YmxpYyBpc0VkaXRJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8vIFBhc3N3b3JkXG4gIHB1YmxpYyBpc1RvZ2dsZVBhc3N3b3JkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBpc0NhcHNMb2NrT246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBEcm9wZG93blxuICBwdWJsaWMgaXNEcm9wZG93blRvZ2dsZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBEYXRlXG4gIHB1YmxpYyBzaG93RGF0ZUlucHV0OiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBkYXRlVGltZUlucHV0RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XG4gIHB1YmxpYyBuZXdJbnB1dENoYW5nZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBEZXN0cm95XG4gIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHB1YmxpYyBpbnB1dFN2Z1JvdXRlcyA9IElucHV0U3ZnUm91dGVzO1xuICBwdWJsaWMgaXNGb2N1c0lucHV0ITogYm9vbGVhbjtcbiAgcHVibGljIHByaWNlU2VwZXJhdG9yV2l0aEZpbGxlZFZhbHVlID0gdHJ1ZTtcblxuICBwdWJsaWMgaW5wdXRDb21tYW5kc1R5cGUgPSBJbnB1dENvbW1hbmRzVHlwZTtcbiAgcHVibGljIGlucHV0U3RyaW5nRW51bSA9IElucHV0U3RyaW5nRW51bTtcbiAgcHVibGljIGRyb3Bkb3duVGVtcGxhdGVUeXBlRW51bSA9IERyb3Bkb3duVGVtcGxhdGVUeXBlRW51bTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAU2VsZigpIHB1YmxpYyBzdXBlckNvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwdWJsaWMgaW5wdXRTdGF0ZVNlcnZpY2U6IElucHV0U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdGhvdXNhbmRTZXBhcmF0b3JQaXBlOiBUaG91c2FuZFNlcGFyYXRvclBpcGVcbiAgKSB7XG4gICAgdGhpcy5zdXBlckNvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gIH1cblxuICBnZXQgZ2V0U3VwZXJDb250cm9sKCkge1xuICAgIHJldHVybiB0aGlzLnN1cGVyQ29udHJvbC5jb250cm9sO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0Q2hhbmdlc0xpc3RlbmVyKCk7XG5cbiAgICB0aGlzLmluaXRTdGF0ZVNlcnZpY2UoKTtcblxuICAgIHRoaXMub3V0cHV0TGlzdGVuZXJzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5zZXRTdGF0ZUlucHV0cyhjaGFuZ2VzKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLmF1dG9Gb2N1c0ZpcnN0SW5wdXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0U3RhdGVTZXJ2aWNlKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2Uuc2V0U3VwZXJDb250cm9sKHRoaXMuc3VwZXJDb250cm9sKTtcbiAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLnNldElucHV0RWxlbWVudFJlZih0aGlzLmlucHV0LCB0aGlzLmNkUmVmKTtcblxuICAgIHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2UuY29tYmluZWRWYXJpYWJsZXMkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAoW1xuICAgICAgICAgIGZvY3VzLFxuICAgICAgICAgIHRvdWNoZWQsXG4gICAgICAgICAgaXNWaXNpYmxlQ29tbWFuZHMsXG4gICAgICAgICAgaXNFZGl0SW5wdXQsXG4gICAgICAgICAgaXNEcm9wZG93blRvZ2dsZXIsXG4gICAgICAgICAgZGF0ZVRpbWVJbnB1dERhdGUsXG4gICAgICAgICAgc2hvd0RhdGVJbnB1dCxcbiAgICAgICAgICBpc0NhcHNMb2NrT24sXG4gICAgICAgIF0pID0+IHtcbiAgICAgICAgICB0aGlzLmlzRm9jdXNJbnB1dCA9IGZvY3VzO1xuICAgICAgICAgIHRoaXMuaXNUb3VjaGVkSW5wdXQgPSB0b3VjaGVkO1xuICAgICAgICAgIHRoaXMuaXNWaXNpYmxlQ29tbWFuZHMgPSBpc1Zpc2libGVDb21tYW5kcztcbiAgICAgICAgICB0aGlzLmlzRWRpdElucHV0ID0gaXNFZGl0SW5wdXQ7XG4gICAgICAgICAgdGhpcy5pc0Ryb3Bkb3duVG9nZ2xlciA9IGlzRHJvcGRvd25Ub2dnbGVyO1xuICAgICAgICAgIHRoaXMuZGF0ZVRpbWVJbnB1dERhdGUgPSBkYXRlVGltZUlucHV0RGF0ZTtcbiAgICAgICAgICB0aGlzLnNob3dEYXRlSW5wdXQgPSBzaG93RGF0ZUlucHV0O1xuICAgICAgICAgIHRoaXMuaXNDYXBzTG9ja09uID0gaXNDYXBzTG9ja09uO1xuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIG91dHB1dExpc3RlbmVycygpOiB2b2lkIHtcbiAgICBjb25zdCBvYnNlcnZhYmxlczoge1xuICAgICAgc3RyZWFtJDogT2JzZXJ2YWJsZTxhbnk+O1xuICAgICAgZW1pdHRlcjogRXZlbnRFbWl0dGVyPGFueT47XG4gICAgfVtdID0gW1xuICAgICAge1xuICAgICAgICBzdHJlYW0kOiB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLmNvbW1hbmRFdmVudCQsXG4gICAgICAgIGVtaXR0ZXI6IHRoaXMuY29tbWFuZEV2ZW50LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc3RyZWFtJDogdGhpcy5pbnB1dFN0YXRlU2VydmljZS5jbGVhcklucHV0RXZlbnQkLFxuICAgICAgICBlbWl0dGVyOiB0aGlzLmNsZWFySW5wdXRFdmVudCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHN0cmVhbSQ6IHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2UuaW5jb3JyZWN0SW5wdXQkLFxuICAgICAgICBlbWl0dGVyOiB0aGlzLmluY29ycmVjdElucHV0LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc3RyZWFtJDogdGhpcy5pbnB1dFN0YXRlU2VydmljZS5ibHVySW5wdXQkLFxuICAgICAgICBlbWl0dGVyOiB0aGlzLmJsdXJJbnB1dCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHN0cmVhbSQ6IHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2UuY2hhbmdlSW5wdXQkLFxuICAgICAgICBlbWl0dGVyOiB0aGlzLmNoYW5nZUlucHV0LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc3RyZWFtJDogdGhpcy5pbnB1dFN0YXRlU2VydmljZS5zaG93SGlkZURyb3Bkb3duJCxcbiAgICAgICAgZW1pdHRlcjogdGhpcy5zaG93SGlkZURyb3Bkb3duRXZlbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzdHJlYW0kOiB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLmRyb3BEb3duS2V5TmF2aWdhdGlvbiQsXG4gICAgICAgIGVtaXR0ZXI6IHRoaXMuZHJvcERvd25LZXlOYXZpZ2F0aW9uRXZlbnQsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBvYnNlcnZhYmxlcy5mb3JFYWNoKCh7IHN0cmVhbSQsIGVtaXR0ZXIgfSkgPT5cbiAgICAgIHN0cmVhbSRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogYW55KSA9PiBlbWl0dGVyLmVtaXQodmFsdWUpKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgaW5pdENoYW5nZXNMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICBjb25zdCBjb21iaW5lZENoYW5nZXMgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuZ2V0U3VwZXJDb250cm9sPy52YWx1ZUNoYW5nZXMsXG4gICAgICB0aGlzLmdldFN1cGVyQ29udHJvbD8uc3RhdHVzQ2hhbmdlcyxcbiAgICBdKTtcblxuICAgIGNvbWJpbmVkQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5pbnB1dFN0YXRlU2VydmljZS5vbkNoYW5nZSRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2V0U3RhdGVJbnB1dHMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydpbnB1dENvbmZpZyddKSB7XG4gICAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLnNldElucHV0Q29uZmlnKFxuICAgICAgICBjaGFuZ2VzWydpbnB1dENvbmZpZyddPy5jdXJyZW50VmFsdWVcbiAgICAgICk7XG4gICAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLm9uSW5wdXRDb25maWdDaGFuZ2UoKTtcbiAgICB9XG4gICAgdGhpcy5pbnB1dFN0YXRlU2VydmljZS5zZXRJbmNvcnJlY3RWYWx1ZShcbiAgICAgIGNoYW5nZXNbJ2luY29ycmVjdFZhbHVlJ10/LmN1cnJlbnRWYWx1ZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZShvYmo6IElucHV0Q2hhbmdlVmFsdWUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pbnB1dENvbmZpZy5wcmljZVNlcGFyYXRvcikge1xuICAgICAgaWYgKG9iaiAmJiB0aGlzLnByaWNlU2VwZXJhdG9yV2l0aEZpbGxlZFZhbHVlKVxuICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPVxuICAgICAgICAgIHRoaXMudGhvdXNhbmRTZXBhcmF0b3JQaXBlLnRyYW5zZm9ybShvYmopO1xuICAgICAgZWxzZSB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBvYmo7XG5cbiAgICAgIHRoaXMucHJpY2VTZXBlcmF0b3JXaXRoRmlsbGVkVmFsdWUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLndyaXRlVmFsdWUob2JqKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgb25DaGFuZ2UoXzogYW55KTogdm9pZCB7fVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZCgpOiB2b2lkIHt9XG5cbiAgcHVibGljIG9uQmx1cihldmVudD86IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLm9uQmx1cihldmVudCk7XG5cbiAgICB0aGlzLmJsdXJJbnB1dC5lbWl0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIG9uRm9jdXMoZXZlbnQ/OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c0lucHV0RXZlbnQuZW1pdCh0cnVlKTtcblxuICAgIHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2Uub25Gb2N1cyhldmVudCk7XG4gIH1cblxuICBwdWJsaWMgb25LZXlQcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2Uub25LZXlwcmVzcyhldmVudCk7XG4gIH1cblxuICBwdWJsaWMgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dFN0YXRlU2VydmljZS5vbktleWRvd24oZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIG9uS2V5dXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLm9uS2V5dXAoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIHRyYW5zZm9ybVRleHQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dFN0YXRlU2VydmljZS50cmFuc2Zvcm1UZXh0KGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcklucHV0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2UuY2xlYXJJbnB1dChldmVudCk7XG4gIH1cblxuICBwdWJsaWMgb25Ub2dnbGVQYXNzd29yZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuaXNUb2dnbGVQYXNzd29yZCA9ICF0aGlzLmlzVG9nZ2xlUGFzc3dvcmQ7XG4gIH1cblxuICBwdWJsaWMgb25Db21tYW5kcyhldmVudDoge1xuICAgIGV2ZW50OiBFdmVudDtcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgYWN0aW9uOiBzdHJpbmc7XG4gIH0pOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLm9uQ29tbWFuZHMoZXZlbnQuZXZlbnQsIGV2ZW50LnR5cGUsIGV2ZW50LmFjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgb25FZGl0SW5wdXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dFN0YXRlU2VydmljZS5vbkVkaXRJbnB1dChldmVudCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlRHJvcGRvd25PcHRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2UudG9nZ2xlRHJvcGRvd25PcHRpb25zKCk7XG4gIH1cblxuICBwdWJsaWMgb25QbGFjZWhvbGRlckljb25FdmVudChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLm9uUGxhY2Vob2xkZXJJY29uRXZlbnQoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIHNldElucHV0Q3Vyc29yQXRUaGVFbmQoaW5wdXQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2Uuc2V0SW5wdXRDdXJzb3JBdFRoZUVuZChpbnB1dCk7XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIERhdGUgJiBUaW1lIFBpY2tlciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHB1YmxpYyBzZWxlY3Rpb25DaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dFN0YXRlU2VydmljZS5zZWxlY3Rpb25DaGFuZ2UoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIG9uRGF0ZVBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2Uub25EYXRlUGFzdGUoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIHNldFNlbGVjdGlvbihldmVudDoge1xuICAgIHByZXZlbnREZWZhdWx0OiAoKSA9PiB2b2lkO1xuICAgIHN0b3BQcm9wYWdhdGlvbjogKCkgPT4gdm9pZDtcbiAgICB0YXJnZXQ6IGFueTtcbiAgfSk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2Uuc2V0U2VsZWN0aW9uKGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VTZWxlY3Rpb24oZXZlbnQ6IHtcbiAgICBlOiBLZXlib2FyZEV2ZW50O1xuICAgIG5vUHJldmVudERlZmF1bHQ6IGJvb2xlYW47XG4gIH0pOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLmNoYW5nZVNlbGVjdGlvbihldmVudC5lLCBldmVudC5ub1ByZXZlbnREZWZhdWx0KTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvcG92ZXJTaG93bigpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLm9uUG9wb3ZlclNob3duKCk7XG4gIH1cblxuICBwdWJsaWMgb25Qb3BvdmVySGlkZGVuKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2Uub25Qb3BvdmVySGlkZGVuKCk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VQb3BvdmVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5nYk1haW5Qb3BvdmVyKSB0aGlzLm5nYk1haW5Qb3BvdmVyLmNsb3NlKCk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0TGFzdE9uZUZvclNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLnNlbGVjdExhc3RPbmVGb3JTZWxlY3Rpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RMYXN0T25lQWZ0ZXJNb3VzZVVwKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2Uuc2VsZWN0TGFzdE9uZUFmdGVyTW91c2VVcCgpO1xuICB9XG5cbiAgcHVibGljIHRyYWNrSWRlbnRpdHkgPSAoaW5kZXg6IG51bWJlcik6IG51bWJlciA9PiBpbmRleDtcblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLm9uRGVzdG9yeSgpO1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImlucHV0LWN1c3RvbS1ncm91cCB7eyBpbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiXG4gIFtuZ0NsYXNzXT1cIlxuICAgIGdldFN1cGVyQ29udHJvbFxuICAgICAgfCBpbnB1dENvbnRhaW5lckNsYXNzXG4gICAgICAgIDogaXNGb2N1c0lucHV0XG4gICAgICAgIDogaXNUb3VjaGVkSW5wdXRcbiAgICAgICAgOiBpbnB1dENvbmZpZ1xuICAgICAgICA6IGdldFN1cGVyQ29udHJvbD8udmFsdWVcbiAgXCJcbj5cbiAgPCEtLSBJbnB1dCBDb21tYW5kcyAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0Q29uZmlnLmNvbW1hbmRzPy5hY3RpdmUgJiYgaXNWaXNpYmxlQ29tbWFuZHNcIj5cbiAgICA8YXBwLWNhLWlucHV0LWNvbW1hbmRzXG4gICAgICBbaW5wdXRDb25maWddPVwiaW5wdXRDb25maWdcIlxuICAgICAgW2lzRm9jdXNJbnB1dF09XCJpc0ZvY3VzSW5wdXRcIlxuICAgICAgW2lzVmlzaWJsZUNvbW1hbmRzXT1cImlzVmlzaWJsZUNvbW1hbmRzXCJcbiAgICAgIChvbkNvbW1hbmRzQ2xpY2spPVwib25Db21tYW5kcygkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9hcHAtY2EtaW5wdXQtY29tbWFuZHM+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gRGF0ZVRpbWUgUGlja2VyIC0tPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJcbiAgICAgIChpbnB1dENvbmZpZy5uYW1lID09PSAnZGF0ZXBpY2tlcicgfHxcbiAgICAgICAgaW5wdXRDb25maWcubmFtZSA9PT0gJ3RpbWVwaWNrZXInKSAmJlxuICAgICAgIWlucHV0Q29uZmlnLmlzRGlzYWJsZWRcbiAgICBcIlxuICA+XG4gICAgPGFwcC1jYS1pbnB1dC1kYXRldGltZS1waWNrZXJcbiAgICAgIFtzaG93RGF0ZUlucHV0XT1cInNob3dEYXRlSW5wdXRcIlxuICAgICAgW2lucHV0Q29uZmlnXT1cImlucHV0Q29uZmlnXCJcbiAgICAgIFtnZXRTdXBlckNvbnRyb2xdPVwiZ2V0U3VwZXJDb250cm9sXCJcbiAgICAgIFtpc0ZvY3VzSW5wdXRdPVwiaXNGb2N1c0lucHV0XCJcbiAgICAgIFtpc1Zpc2libGVDb21tYW5kc109XCJpc1Zpc2libGVDb21tYW5kc1wiXG4gICAgICBbaXNUb3VjaGVkSW5wdXRdPVwiaXNUb3VjaGVkSW5wdXRcIlxuICAgICAgKHNlbGVjdExhc3RPbmVGb3JTZWxlY3Rpb25FbWl0dGVyKT1cInNlbGVjdExhc3RPbmVGb3JTZWxlY3Rpb24oKVwiXG4gICAgICAoc2VsZWN0TGFzdE9uZUFmdGVyTW91c2VVcEVtaXR0ZXIpPVwic2VsZWN0TGFzdE9uZUFmdGVyTW91c2VVcCgpXCJcbiAgICAgIChvbkRhdGVQYXN0ZUVtaXR0ZXIpPVwib25EYXRlUGFzdGUoJGV2ZW50KVwiXG4gICAgICAob25CbHVyRW1pdHRlcik9XCJvbkJsdXIoKVwiXG4gICAgICAoY2hhbmdlU2VsZWN0aW9uRW1taXRlcik9XCJjaGFuZ2VTZWxlY3Rpb24oJGV2ZW50KVwiXG4gICAgICAob25Gb2N1c0VtaXR0ZXIpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICAgIChzZXRTZWxlY3Rpb25FbW1pdGVyKT1cInNldFNlbGVjdGlvbigkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9hcHAtY2EtaW5wdXQtZGF0ZXRpbWUtcGlja2VyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tIElucHV0IExhYmVsIC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlucHV0Q29uZmlnLm11bHRpU2VsZWN0RHJvcGRvd25BY3RpdmVcIj5cbiAgICA8bGFiZWxcbiAgICAgIFtmb3JdPVwiaW5wdXRDb25maWcubmFtZVwiXG4gICAgICBjbGFzcz1cImlucHV0LWxhYmVsIHt7IGlucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19IHt7XG4gICAgICAgIGlucHV0Q29uZmlnLm11bHRpcGxlTGFiZWw/LmN1c3RvbUNsYXNzXG4gICAgICB9fVwiXG4gICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgZ2V0U3VwZXJDb250cm9sPy52YWx1ZSB8IGxhYmVsQ2xhc3M6IGlzRm9jdXNJbnB1dCA6IGlucHV0Q29uZmlnXG4gICAgICBcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dENvbmZpZy5sYWJlbFwiPlxuICAgICAgICA8c3Bhbj57eyBpbnB1dENvbmZpZy5sYWJlbCB9fSA8L3NwYW4+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dENvbmZpZy5tdWx0aXBsZUxhYmVsPy5sYWJlbHM/Lmxlbmd0aFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgW2NsYXNzXT1cImlucHV0Q29uZmlnLm11bHRpcGxlTGFiZWw/LmN1c3RvbUNsYXNzIVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ211bHRpcGxlLWxhYmVscy1wb3NpdGlvbi1vbi1mb2N1cyc6XG4gICAgICAgICAgICAgIGlzRm9jdXNJbnB1dCB8fFxuICAgICAgICAgICAgICBpbnB1dENvbmZpZy5tdWx0aXBsZUlucHV0VmFsdWVzPy5vcHRpb25zPy5sZW5ndGgsXG4gICAgICAgICAgICByZXF1aXJlZDogaW5wdXRDb25maWcuaXNSZXF1aXJlZCAmJiAhaW5wdXRDb25maWcuaXNEaXNhYmxlZFxuICAgICAgICAgIH1cIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IGxhYmVsIG9mIGlucHV0Q29uZmlnLm11bHRpcGxlTGFiZWw/LmxhYmVsc1wiPlxuICAgICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9sYWJlbD5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLSBJbnB1dCBDbGVhciAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0Q29uZmlnIHwgc2hvd0NsZWFyXCI+XG4gICAgPGFwcC1jYS1pbnB1dC1jbGVhclxuICAgICAgW2lucHV0Q29uZmlnXT1cImlucHV0Q29uZmlnXCJcbiAgICAgIFtnZXRTdXBlckNvbnRyb2xdPVwiZ2V0U3VwZXJDb250cm9sXCJcbiAgICAgIFtpc0ZvY3VzSW5wdXRdPVwiaXNGb2N1c0lucHV0XCJcbiAgICAgIFtpbmNvcnJlY3RWYWx1ZV09XCJpbmNvcnJlY3RWYWx1ZVwiXG4gICAgICBbc2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3JdPVwic2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3JcIlxuICAgICAgW3RlbXBsYXRlXT1cInRlbXBsYXRlXCJcbiAgICAgIChjbGVhcklucHV0Q2xpY2spPVwiY2xlYXJJbnB1dCgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9hcHAtY2EtaW5wdXQtY2xlYXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gSW5wdXQgQ2xlYXIgZm9yIGRpc3BhdGNoIGRyb3Bkb3duIC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidGVtcGxhdGUgPT09ICdzdmd0ZXh0LWRpc3BhdGNoLXRlbXBsYXRlJ1wiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiaW5wdXQtY2xlYXItZGlzcGF0Y2hcIlxuICAgICAgcG9zaXRpb249XCJ0b3BcIlxuICAgICAgKGNsaWNrKT1cImNsZWFySW5wdXQoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPHN2Zy1pY29uXG4gICAgICAgIFtzcmNdPVwiaW5wdXRTdmdSb3V0ZXMueENsZWFyQ29tbW9uU3ZnXCJcbiAgICAgICAgY2xhc3M9XCJpbnB1dC1jbGVhci1kaXNwYXRjaC1pY29uXCJcbiAgICAgID48L3N2Zy1pY29uPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tIElucHV0IFBlbiAtLT5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwiXG4gICAgICBzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvciAmJlxuICAgICAgIWlzRWRpdElucHV0ICYmXG4gICAgICAhaXNGb2N1c0lucHV0ICYmXG4gICAgICBnZXRTdXBlckNvbnRyb2w/LnZhbHVlXG4gICAgXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiaW5wdXQtcGVuLWNvbnRhaW5lclwiXG4gICAgICBuZ2JUb29sdGlwXG4gICAgICBbbWFpbkNhVG9vbHRpcF09XCInRWRpdCdcIlxuICAgICAgW3Rvb2x0aXBCYWNrZ3JvdW5kXT1cIicjMkYyRjJGJ1wiXG4gICAgICBwb3NpdGlvbj1cInRvcFwiXG4gICAgICAoY2xpY2spPVwib25FZGl0SW5wdXQoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPHN2Zy1pY29uIFtzcmNdPVwiaW5wdXRTdmdSb3V0ZXMuaW5wdXRQZW5TdmdcIiBjbGFzcz1cImlucHV0LXBlblwiPjwvc3ZnLWljb24+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gSW5wdXQgSW52YWxpZCBEYW5nZXIgTWFyayAtLT5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwiXG4gICAgICBpbnB1dENvbmZpZ1xuICAgICAgICB8IHNob3dJbnZhbGlkRGFuZ2VyTWFya1xuICAgICAgICAgIDogZ2V0U3VwZXJDb250cm9sXG4gICAgICAgICAgOiBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICA6IGlzVG91Y2hlZElucHV0XG4gICAgICAgICAgOiBnZXRTdXBlckNvbnRyb2w/LnZhbHVlXG4gICAgXCJcbiAgPlxuICAgIDxzdmctaWNvblxuICAgICAgY2xhc3M9XCJpbnB1dC1pbnZhbGlkLWRhbmdlci1tYXJrICB7eyBpbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiXG4gICAgICBbc3JjXT1cImlucHV0U3ZnUm91dGVzLmRhbmdlclN2Z1wiXG4gICAgPlxuICAgIDwvc3ZnLWljb24+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gSW5wdXQgVmFsaWQgQ2hlY2sgLS0+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIlxuICAgICAgZ2V0U3VwZXJDb250cm9sXG4gICAgICAgIHwgc2hvd1ZhbGlkQ2hlY2s6IGlzRm9jdXNJbnB1dCA6IGlucHV0Q29uZmlnIDogZ2V0U3VwZXJDb250cm9sPy52YWx1ZVxuICAgIFwiXG4gID5cbiAgICA8c3ZnLWljb25cbiAgICAgIGNsYXNzPVwiaW5wdXQtcmVxdWlyZWQtY2hlY2sge3sgaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cIlxuICAgICAgW3NyY109XCJpbnB1dFN2Z1JvdXRlcy5jb25maXJtU3ZnXCJcbiAgICA+PC9zdmctaWNvbj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLSBJbnB1dCBQYXNzd29yZCBDYXBzIExvY2sgQW5kIEV5ZSAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0Q29uZmlnLnR5cGUgPT09ICdwYXNzd29yZCdcIj5cbiAgICA8YXBwLWNhLWlucHV0LXBhc3N3b3JkXG4gICAgICBbaW5wdXRDb25maWddPVwiaW5wdXRDb25maWdcIlxuICAgICAgW2dldFN1cGVyQ29udHJvbF09XCJnZXRTdXBlckNvbnRyb2xcIlxuICAgICAgW2lzRm9jdXNJbnB1dF09XCJpc0ZvY3VzSW5wdXRcIlxuICAgICAgW2lzVG91Y2hlZElucHV0XT1cImlzVG91Y2hlZElucHV0XCJcbiAgICAgIFtpc0NhcHNMb2NrT25dPVwiaXNDYXBzTG9ja09uXCJcbiAgICAgIFtpc1RvZ2dsZVBhc3N3b3JkXT1cImlzVG9nZ2xlUGFzc3dvcmRcIlxuICAgICAgKG9uVG9nZ2xlUGFzc3dvcmRDbGljayk9XCJvblRvZ2dsZVBhc3N3b3JkKCRldmVudClcIlxuICAgID5cbiAgICA8L2FwcC1jYS1pbnB1dC1wYXNzd29yZD5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLSBJbnB1dCBEcm9wZG93biBBcnJvdyAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0Q29uZmlnIHwgc2hvd0Ryb3Bkb3duQXJyb3dcIj5cbiAgICA8c3ZnLWljb25cbiAgICAgIGNsYXNzPVwiaW5wdXQtZHJvcGRvd24tYXJyb3cge3sgaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cIlxuICAgICAgW25nQ2xhc3NdPVwiXG4gICAgICAgIGdldFN1cGVyQ29udHJvbFxuICAgICAgICAgIHwgaW5wdXREcm9wZG93bkFycm93Q2xhc3NcbiAgICAgICAgICAgIDogaXNGb2N1c0lucHV0XG4gICAgICAgICAgICA6IGlucHV0Q29uZmlnXG4gICAgICAgICAgICA6IGlzVG91Y2hlZElucHV0XG4gICAgICAgICAgICA6IGdldFN1cGVyQ29udHJvbD8udmFsdWVcbiAgICAgIFwiXG4gICAgICBbc3JjXT1cImlucHV0U3ZnUm91dGVzLmlucHV0RHJvcGRvd25BcnJvd1N2Z1wiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlRHJvcGRvd25PcHRpb25zKClcIlxuICAgID48L3N2Zy1pY29uPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tIElucHV0IFBsYWNlaG9sZGVyIEljb24gLS0+XG4gIDxuZy1jb250YWluZXIgXG4gICAgKm5nSWY9XCJcbiAgICAgIGlucHV0Q29uZmlnLnBsYWNlaG9sZGVySWNvbiB8fFxuICAgICAgaW5wdXRDb25maWcubmFtZSA9PT0gJ2RhdGVwaWNrZXInIHx8XG4gICAgICBpbnB1dENvbmZpZy5uYW1lID09PSAndGltZXBpY2tlcidcbiAgICBcIlxuICA+XG4gICAgPGFwcC1jYS1pbnB1dC1wbGFjZWhvbGRlci1pY29uXG4gICAgICBbaW5wdXRDb25maWddPVwiaW5wdXRDb25maWdcIlxuICAgICAgW2dldFN1cGVyQ29udHJvbF09XCJnZXRTdXBlckNvbnRyb2xcIlxuICAgICAgW2lzRm9jdXNJbnB1dF09XCJpc0ZvY3VzSW5wdXRcIlxuICAgICAgW2lzVG91Y2hlZElucHV0XT1cImlzVG91Y2hlZElucHV0XCJcbiAgICAgIFtzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvcl09XCJzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvclwiXG4gICAgICBbaXNFZGl0SW5wdXRdPVwiaXNFZGl0SW5wdXRcIlxuICAgICAgW2RhdGVUaW1lUG9wb3Zlcl09XCJkYXRlVGltZVBvcG92ZXJcIlxuICAgICAgKG9uUG9wb3ZlclNob3duRW1pdHRlcik9XCJvblBvcG92ZXJTaG93bigpXCJcbiAgICAgIChvblBvcG92ZXJIaWRkZW5FbWl0dGVyKT1cIm9uUG9wb3ZlckhpZGRlbigpXCJcbiAgICAgIChvblBsYWNlaG9sZGVySWNvbkV2ZW50RW1pdHRlcik9XCJvblBsYWNlaG9sZGVySWNvbkV2ZW50KCRldmVudClcIlxuICAgID5cbiAgICA8L2FwcC1jYS1pbnB1dC1wbGFjZWhvbGRlci1pY29uPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tIElucHV0IFBsYWNlaG9sZGVyIFRleHQgLS0+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIlxuICAgICAgaW5wdXRDb25maWcgfCBzaG93UGxhY2Vob2xkZXJUZXh0IDogZ2V0U3VwZXJDb250cm9sIDogXG4gICAgICBpc1Zpc2libGVDb21tYW5kcyA6IGdldFN1cGVyQ29udHJvbD8udmFsdWVcbiAgICBcIlxuICA+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwiY2EtcGxhY2Vob2xkZXItdGV4dCB7eyBpbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiXG4gICAgICBbbmdDbGFzc109XCIgICAgICBcbiAgICAgIGlzRm9jdXNJbnB1dCB8IGlucHV0UGxhY2Vob2xkZXJUZXh0Q2xhc3NcbiAgICAgICAgOiBpc1RvdWNoZWRJbnB1dCA6IGdldFN1cGVyQ29udHJvbCA6IGlucHV0Q29uZmlnXG4gICAgICAgIDogaXNWaXNpYmxlQ29tbWFuZHMgOiBnZXRTdXBlckNvbnRyb2w/LnZhbHVlXG4gICAgICBcIlxuICAgICAgW3N0eWxlLmxlZnRdPVwiXG4gICAgICAgIGlucHV0Q29uZmlnLnBsYWNlaG9sZGVyVGV4dD8udG9Mb3dlckNhc2UoKSA9PT0gaW5wdXRTdHJpbmdFbnVtLlBFUlNPTlMgfHxcbiAgICAgICAgaW5wdXRDb25maWcucGxhY2Vob2xkZXJUZXh0Py50b0xvd2VyQ2FzZSgpID09PSBpbnB1dFN0cmluZ0VudW0uVkVISUNMRVNcbiAgICAgICAgICA/IDMwICtcbiAgICAgICAgICAgIChnZXRTdXBlckNvbnRyb2w/LnZhbHVlPy50b1N0cmluZygpPy5sZW5ndGggKyAxKSAqIDkgK1xuICAgICAgICAgICAgJ3B4J1xuICAgICAgICAgIDogaXNGb2N1c0lucHV0ICYmXG4gICAgICAgICAgICBpbnB1dENvbmZpZy5wbGFjZWhvbGRlclRleHQ/LnRvTG93ZXJDYXNlKCkgIT09IGlucHV0Q29tbWFuZHNUeXBlLk1PTlRIU1xuICAgICAgICAgID8gJ2F1dG8nXG4gICAgICAgICAgOiAoZ2V0U3VwZXJDb250cm9sPy52YWx1ZT8udG9TdHJpbmcoKT8ubGVuZ3RoICsgMSkgKiA4ICsgJ3B4J1xuICAgICAgXCJcbiAgICAgIFtzdHlsZS5yaWdodF09XCJcbiAgICAgICAgaXNGb2N1c0lucHV0ICYmXG4gICAgICAgIGlucHV0Q29uZmlnLnBsYWNlaG9sZGVyVGV4dD8udG9Mb3dlckNhc2UoKSAhPT0gaW5wdXRDb21tYW5kc1R5cGUuTU9OVEhTXG4gICAgICAgICAgPyAnMjhweCdcbiAgICAgICAgICA6ICdhdXRvJ1xuICAgICAgXCJcbiAgICAgID5cbiAgICAgICAge3sgaW5wdXRDb25maWcucGxhY2Vob2xkZXJUZXh0IH19XG4gICAgPC9zcGFuPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgXG4gIDwhLS0gSW5wdXQgTGFiZWwgQ291bnRlciAtLT5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwiXG4gICAgICBzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvciAmJlxuICAgICAgZ2V0U3VwZXJDb250cm9sPy52YWx1ZSAmJlxuICAgICAgIWlzRm9jdXNJbnB1dCAmJlxuICAgICAgIWlucHV0Q29uZmlnLmlzRGlzYWJsZWQgJiZcbiAgICAgIGlucHV0Q29uZmlnLnNob3dDb3VudFxuICAgIFwiXG4gID5cbiAgICA8cFxuICAgICAgW3N0eWxlLnRvcF09XCInNHB4J1wiXG4gICAgICBbc3R5bGUubGVmdF09XCJcbiAgICAgICAgKGdldFN1cGVyQ29udHJvbD8udmFsdWU/LnRvU3RyaW5nKCk/Lmxlbmd0aCArIDYuNSkgKiA4ICsgJ3B4J1xuICAgICAgXCJcbiAgICAgIGNsYXNzPVwiaW5wdXQtbGFiZWwtY291bnRlclwiXG4gICAgPlxuICAgICAge3sgc2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3IuY291bnQgfX1cbiAgICA8L3A+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gU3BlY2lhbCBEcm9wZG93biBTZWxlY3RlZCBTVkcgd2l0aCBvciBXaXRob3V0IFRleHQgLS0+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIlxuICAgICAgaW5wdXRDb25maWc/LmRyb3Bkb3duSW1hZ2VJbnB1dD8uc3ZnICYmXG4gICAgICAhaW5wdXRDb25maWc/LmhpZGVBbGxJdGVtc0luSW5wdXREcm9wZG93biAmJlxuICAgICAgISghaW5wdXRDb25maWcuZHJvcGRvd25JbWFnZUlucHV0Py53aXRoVGV4dCAmJiBpc0ZvY3VzSW5wdXQpICYmXG4gICAgICAhKFxuICAgICAgICAgIFsndHJ1Y2snLCAndHJhaWxlciddLmluY2x1ZGVzKFxuICAgICAgICAgICAgICBpbnB1dENvbmZpZy5kcm9wZG93bkltYWdlSW5wdXQ/LnRlbXBsYXRlIVxuICAgICAgICAgICkgJiZcbiAgICAgICAgICBpc0ZvY3VzSW5wdXQgJiZcbiAgICAgICAgICBpbnB1dENvbmZpZy5kcm9wZG93bkltYWdlSW5wdXQ/LnJlbW92ZVxuICAgICAgKSAmJlxuICAgICAgIWlucHV0Q29uZmlnPy5kcm9wZG93bkltYWdlSW5wdXQ/Lm5hbWVJbml0aWFsc0luc3RlYWRVcmxcbiAgICBcIlxuICA+XG4gICAgPHN2Zy1pY29uXG4gICAgICAgIFtzcmNdPVwiaW5wdXRDb25maWcuZHJvcGRvd25JbWFnZUlucHV0Py51cmwhXCJcbiAgICAgICAgY2xhc3M9XCJkcm9wZG93bi1zZWxlY3RlZC1pbWFnZSB7e1xuICAgICAgICAgIGlucHV0Q29uZmlnLmRyb3Bkb3duSW1hZ2VJbnB1dD8uY2xhc3NcbiAgICAgICAgfX1cIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ3Vuc2V0LWNvbG9yJzogaXNGb2N1c0lucHV0ICYmIGlucHV0Q29uZmlnLmRyb3Bkb3duSW1hZ2VJbnB1dD8uY2xhc3NcbiAgICAgICAgfVwiXG4gICAgICAgIFtzdmdTdHlsZV09XCJ7XG4gICAgICAgICAgZmlsbDpcbiAgICAgICAgICAgIGlucHV0Q29uZmlnLmRyb3Bkb3duSW1hZ2VJbnB1dD8uY29sb3IgJiYgIWlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICA/IGlucHV0Q29uZmlnLmRyb3Bkb3duSW1hZ2VJbnB1dD8uY29sb3JcbiAgICAgICAgICAgICAgOiAnI2ZmZmZmZidcbiAgICAgICAgfVwiXG4gICAgPlxuICAgIDwvc3ZnLWljb24+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gU3BlY2lhbCBEcm9wZG93biBTZWxlY3RlZCBJbWFnZSBXaXRoIFRleHQgV2l0aCBJbml0aWFscyBuYW1lIC0tPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJcbiAgICAgIGlucHV0Q29uZmlnPy5kcm9wZG93bkltYWdlSW5wdXQ/LmltYWdlICYmXG4gICAgICAhaW5wdXRDb25maWc/LmhpZGVBbGxJdGVtc0luSW5wdXREcm9wZG93biAmJlxuICAgICAgaW5wdXRDb25maWc/LmRyb3Bkb3duSW1hZ2VJbnB1dD8udXJsICYmXG4gICAgICAhaW5wdXRDb25maWc/LmRyb3Bkb3duSW1hZ2VJbnB1dD8ubmFtZUluaXRpYWxzSW5zdGVhZFVybFxuICAgIFwiXG4gID5cbiAgICA8aW1nXG4gICAgICBjbGFzcz1cImRyb3Bkb3duLXNlbGVjdGVkLWltYWdlIG5hbWUtaW5pdGlhbHMtaW5zdGVhZC11cmxcIlxuICAgICAgW3NyY109XCJpbnB1dENvbmZpZy5kcm9wZG93bkltYWdlSW5wdXQ/LnVybFwiXG4gICAgICBbYWx0XT1cIidJbnB1dCBJbWFnZSdcIlxuICAgIC8+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJcbiAgICAgIGlucHV0Q29uZmlnPy5kcm9wZG93bkltYWdlSW5wdXQ/Lm5hbWVJbml0aWFsc0luc3RlYWRVcmwgJiZcbiAgICAgICFpbnB1dENvbmZpZz8uaGlkZUFsbEl0ZW1zSW5JbnB1dERyb3Bkb3duICYmXG4gICAgICAhKCFpbnB1dENvbmZpZy5kcm9wZG93bkltYWdlSW5wdXQ/LndpdGhUZXh0ICYmIGlzRm9jdXNJbnB1dClcbiAgICBcIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJuby1wcm9maWxlLWltYWdlIGRyb3Bkb3duLXNlbGVjdGVkLWltYWdlIG5hbWUtaW5pdGlhbHMtaW5zdGVhZC11cmxcIlxuICAgID5cbiAgICAgIDxhcHAtY2EtcHJvZmlsZS1pbWFnZVxuICAgICAgICAgIFtpbmR4XT1cIjBcIlxuICAgICAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgICAgIFt0eXBlXT1cIid1c2VyJ1wiXG4gICAgICAgICAgW25hbWVdPVwiaW5wdXRDb25maWcuZHJvcGRvd25JbWFnZUlucHV0Py5uYW1lSW5pdGlhbHNJbnN0ZWFkVXJsIVwiXG4gICAgICA+XG4gICAgICA8L2FwcC1jYS1wcm9maWxlLWltYWdlPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tIE11bHRpcGxlIElucHV0IFZhbHVlcyAtLT5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwiXG4gICAgICBpbnB1dENvbmZpZz8ubXVsdGlwbGVJbnB1dFZhbHVlcz8ub3B0aW9ucz8ubGVuZ3RoICYmICFpc0ZvY3VzSW5wdXRcbiAgICBcIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJpbnB1dC1jb250cm9sIHt7XG4gICAgICAgIGlucHV0Q29uZmlnLm11bHRpcGxlSW5wdXRWYWx1ZXM/LmN1c3RvbUNsYXNzXG4gICAgICB9fVwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlRHJvcGRvd25PcHRpb25zKClcIlxuICAgID5cbiAgICAgIDxzcGFuXG4gICAgICAgIHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOiA2cHg7IGFsaWduLWl0ZW1zOiBjZW50ZXJcIlxuICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICBsZXQgaXRlbSBvZiBpbnB1dENvbmZpZy5tdWx0aXBsZUlucHV0VmFsdWVzPy5vcHRpb25zO1xuICAgICAgICAgIGxldCBpbmR4ID0gaW5kZXg7XG4gICAgICAgICAgdHJhY2tCeTogdHJhY2tJZGVudGl0eVxuICAgICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgICAgPCEtLSBJbWFnZSAvIFNWRyAtLT5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbT8ubG9nb05hbWUgJiYgaXRlbT8uaXNJbWdcIj5cbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbT8ubG9nb05hbWUgIT09ICduby11cmwnXCI+XG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzE4cHgnLFxuICAgICAgICAgICAgICAgICAgICAnYXNwZWN0LXJhdGlvJzogMSxcbiAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpcyc6ICcycHgnXG4gICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaXRlbS5sb2dvTmFtZVwiXG4gICAgICAgICAgICAgICAgICBbYWx0XT1cIml0ZW0udmFsdWVcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5sb2dvTmFtZSA9PT0gJ25vLXVybCdcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm8tcHJvZmlsZS1pbWFnZVwiPlxuICAgICAgICAgICAgICAgICAgPGFwcC1jYS1wcm9maWxlLWltYWdlXG4gICAgICAgICAgICAgICAgICAgIFtpbmR4XT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCInc21hbGwnXCJcbiAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwiaXRlbS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICA+PC9hcHAtY2EtcHJvZmlsZS1pbWFnZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gIFxuICAgICAgICAgICAgICA8IS0tIE93bmVyIEZsYWcgLS0+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtPy5pc093bmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxvYWQtZGlzcGF0Y2hlcy10dGQtb3duZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxzdmctaWNvblxuICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImlucHV0U3ZnUm91dGVzLm93bmVyQmFkZ2VCbHVlU3ZnXCJcbiAgICAgICAgICAgICAgICAgID48L3N2Zy1pY29uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0/LmxvZ29OYW1lICYmIGl0ZW0/LmlzU3ZnXCI+XG4gICAgICAgICAgICA8c3ZnLWljb25cbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICdwYXlyb2xsLWRlZHVjdGlvbi10cnVjay1zdmcnOiB0ZW1wbGF0ZSA9PT0gZHJvcGRvd25UZW1wbGF0ZVR5cGVFbnVtLlBBWVJPTExfVFJVQ0tTXG4gICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICBjbGFzcz1cInt7IGl0ZW0/LnN1YkZvbGRlciB9fVwiXG4gICAgICAgICAgICAgIFtzcmNdPVwiaXRlbT8ubG9nb05hbWUhXCJcbiAgICAgICAgICAgID48L3N2Zy1pY29uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICBcbiAgICAgICAgICA8IS0tIFRleHQgLS0+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtPy5pc1Byb2dyZXNzQmFyXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cIm11bHRpcGxlLWlucHV0LXRleHRcIlxuICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICcjMkYyRjJGJ1xuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgIGNvdW50ZXI6IGl0ZW0/LmlzQ291bnRlcixcbiAgICAgICAgICAgICAgICAnY291bnRlci1vbmUnOiBpdGVtPy52YWx1ZSA9PT0gMVxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgaXRlbS52YWx1ZSB9fVxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbT8uc2Vjb25kX3ZhbHVlXCI+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgY29sb3I6ICcjOTE5MTkxJyB9XCJcbiAgICAgICAgICAgICAgICAgID57eyBpdGVtLnNlY29uZF92YWx1ZSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gIFxuICAgICAgICAgIDwhLS0gTG9hZCBCcm9rZXIgUHJvZ3Jlc3NCYXIgLS0+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0/LmlzUHJvZ3Jlc3NCYXJcIj5cbiAgICAgICAgICAgIDxjYS1sb2FkLW1vZGFsLXByb2dyZXNzLWJhclxuICAgICAgICAgICAgICBbdG90YWxBbW91bnRdPVwiaXRlbS5zZWNvbmRfdmFsdWUhXCJcbiAgICAgICAgICAgICAgW2F2YWlsYWJsZUNyZWRpdF09XCJpdGVtLnZhbHVlID8gaXRlbS52YWx1ZSA6IDBcIlxuICAgICAgICAgICAgPjwvY2EtbG9hZC1tb2RhbC1wcm9ncmVzcy1iYXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIFxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tIE11bHRpcGxlIElucHV0IFBsYWNlaG9sZGVyIC0tPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJcbiAgICAgIGlucHV0Q29uZmlnPy5tdWx0aXBsZUlucHV0VmFsdWVzPy5vcHRpb25zPy5sZW5ndGggJiZcbiAgICAgIGlzRm9jdXNJbnB1dCAmJlxuICAgICAgIWdldFN1cGVyQ29udHJvbD8udmFsdWVcbiAgICBcIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJpbnB1dC1jb250cm9sIG11bHRpcGxlLWlucHV0LXBsYWNlaG9sZGVyIHt7XG4gICAgICAgIGlucHV0Q29uZmlnLm11bHRpcGxlSW5wdXRWYWx1ZXM/LmN1c3RvbUNsYXNzXG4gICAgICB9fVwiXG4gICAgICBbbmdDbGFzc109XCJ7IFxuICAgICAgICBmb2N1czogaXNGb2N1c0lucHV0LFxuICAgICAgICAncGF5cm9sbC1kZWR1Y3Rpb24tdHJ1Y2snOiB0ZW1wbGF0ZSA9PT0gZHJvcGRvd25UZW1wbGF0ZVR5cGVFbnVtLlBBWVJPTExfVFJVQ0tTXG4gICAgICB9XCJcbiAgICA+XG4gICAgICA8c3BhblxuICAgICAgICBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGdhcDogNnB4OyBhbGlnbi1pdGVtczogY2VudGVyXCJcbiAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgbGV0IGl0ZW0gb2YgaW5wdXRDb25maWcubXVsdGlwbGVJbnB1dFZhbHVlcz8ub3B0aW9ucztcbiAgICAgICAgICBsZXQgaW5keCA9IGluZGV4O1xuICAgICAgICAgIHRyYWNrQnk6IHRyYWNrSWRlbnRpdHlcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPCEtLSBJbWFnZSAvIFNWRyAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0/LmxvZ29OYW1lICYmIGl0ZW0/LmlzSW1nXCI+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2ZvY3VzYWJsZS1pbWFnZSc6IGlzRm9jdXNJbnB1dCB9XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbT8ubG9nb05hbWUgIT09ICduby11cmwnXCI+XG4gICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogJzE4cHgnLFxuICAgICAgICAgICAgICAgICAgJ2FzcGVjdC1yYXRpbyc6IDEsXG4gICAgICAgICAgICAgICAgICAnYm9yZGVyLXJhZGlzJzogJzJweCdcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICBbc3JjXT1cIml0ZW0ubG9nb05hbWVcIlxuICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS52YWx1ZVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmxvZ29OYW1lID09PSAnbm8tdXJsJ1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm8tcHJvZmlsZS1pbWFnZVwiPlxuICAgICAgICAgICAgICAgIDxhcHAtY2EtcHJvZmlsZS1pbWFnZVxuICAgICAgICAgICAgICAgICAgICBbaW5keF09XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgW3NpemVdPVwiJ3NtYWxsJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIml0ZW0udmFsdWUhXCJcbiAgICAgICAgICAgICAgICA+PC9hcHAtY2EtcHJvZmlsZS1pbWFnZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICBcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0/LmxvZ29OYW1lICYmIGl0ZW0/LmlzU3ZnXCI+XG4gICAgICAgICAgPHN2Zy1pY29uXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7IFxuICAgICAgICAgICAgICAnZm9jdXNhYmxlLXN2Zyc6IGlzRm9jdXNJbnB1dCxcbiAgICAgICAgICAgICAgJ3BheXJvbGwtZGVkdWN0aW9uLXRydWNrLXN2Zyc6IHRlbXBsYXRlID09PSBkcm9wZG93blRlbXBsYXRlVHlwZUVudW0uUEFZUk9MTF9UUlVDS1NcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgY2xhc3M9XCJ7eyBpdGVtPy5zdWJGb2xkZXIgfX0ge3tcbiAgICAgICAgICAgICAgaXRlbT8ubG9nb1R5cGU/LnRyaW0oKT8ucmVwbGFjZSgnICcsICcnKT8udG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgfX1cIlxuICAgICAgICAgICAgW3NyY109XCJpdGVtPy5sb2dvTmFtZSFcIlxuICAgICAgICAgID48L3N2Zy1pY29uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgXG4gICAgICAgIDwhLS0gVGV4dCAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtPy5pc1Byb2dyZXNzQmFyXCI+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwibXVsdGlwbGUtaW5wdXQtdGV4dFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICdmb2N1c2FibGUtdGV4dCc6IGlzRm9jdXNJbnB1dCxcbiAgICAgICAgICAgICAgY291bnRlcjogaXRlbT8uaXNDb3VudGVyLFxuICAgICAgICAgICAgICAnY291bnRlci1mb2N1cyc6IGl0ZW0/LmlzQ291bnRlciAmJiBpc0ZvY3VzSW5wdXQsXG4gICAgICAgICAgICAgICdjb3VudGVyLW9uZSc6IGl0ZW0/LnZhbHVlID09PSAxLFxuICAgICAgICAgICAgICAnY2EtYWRkLWRvdCc6IHRlbXBsYXRlID09PSBkcm9wZG93blRlbXBsYXRlVHlwZUVudW0uTE9BRF9ESVNQQVRDSEVSXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAgICAgY29sb3I6ICcjNkY5RUUwJ1xuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgaXRlbS52YWx1ZSB9fVxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0/LnNlY29uZF92YWx1ZVwiPlxuICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtLnNlY29uZF92YWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gIFxuICAgICAgICA8IS0tIExvYWQgQnJva2VyIFByb2dyZXNzQmFyIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbT8uaXNQcm9ncmVzc0JhclwiPlxuICAgICAgICAgIDxjYS1sb2FkLW1vZGFsLXByb2dyZXNzLWJhclxuICAgICAgICAgICAgW3RvdGFsQW1vdW50XT1cIml0ZW0uc2Vjb25kX3ZhbHVlIVwiXG4gICAgICAgICAgICBbYXZhaWxhYmxlQ3JlZGl0XT1cIml0ZW0udmFsdWUgPyBpdGVtLnZhbHVlIDogMFwiXG4gICAgICAgICAgICBbaW5wdXRGb2N1c109XCJpc0ZvY3VzSW5wdXRcIlxuICAgICAgICAgID48L2NhLWxvYWQtbW9kYWwtcHJvZ3Jlc3MtYmFyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPGlucHV0XG4gICAgI2lucHV0XG4gICAgW3R5cGVdPVwiaW5wdXRDb25maWcudHlwZSB8IGlucHV0VHlwZTogaXNUb2dnbGVQYXNzd29yZFwiXG4gICAgW2lkXT1cImlucHV0Q29uZmlnLmlkID8gaW5wdXRDb25maWcuaWQgOiBpbnB1dENvbmZpZy5uYW1lXCJcbiAgICBbbmFtZV09XCJpbnB1dENvbmZpZy5uYW1lXCJcbiAgICBbZGlzYWJsZWRdPVwiaW5wdXRDb25maWcuaXNEaXNhYmxlZCFcIlxuICAgIFthdXRvY29tcGxldGVdPVwiaW5wdXRDb25maWcuYXV0b2NvbXBsZXRlID8gaW5wdXRDb25maWcuYXV0b2NvbXBsZXRlIDogJ29mZidcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJcbiAgICAgIChpbnB1dENvbmZpZy5wbGFjZWhvbGRlckluc3RlYWRPZkxhYmVsICYmXG4gICAgICBpbnB1dENvbmZpZy5wbGFjZWhvbGRlciAmJlxuICAgICAgaXNGb2N1c0lucHV0XG4gICAgICAgID8gaW5wdXRDb25maWcucGxhY2Vob2xkZXJcbiAgICAgICAgOiAnJykgfHxcbiAgICAgIChpbnB1dENvbmZpZy5wbGFjZWhvbGRlciAmJiBpc0ZvY3VzSW5wdXQgPyBpbnB1dENvbmZpZy5wbGFjZWhvbGRlciA6ICcnKVxuICAgIFwiXG4gICAgW21pbkxlbmd0aF09XCJpbnB1dENvbmZpZy5taW5MZW5ndGggPyBpbnB1dENvbmZpZy5taW5MZW5ndGggOiAwXCJcbiAgICBbbWF4TGVuZ3RoXT1cImlucHV0Q29uZmlnLm1heExlbmd0aCA/IGlucHV0Q29uZmlnLm1heExlbmd0aCA6IDk5OVwiXG4gICAgW21hc2tdPVwiaW5wdXRDb25maWcubWFza1wiXG4gICAgW21pbl09XCJpbnB1dENvbmZpZy5taW4gPyBpbnB1dENvbmZpZy5taW4gOiAwXCJcbiAgICBbbWF4XT1cImlucHV0Q29uZmlnLm1heFwiXG4gICAgW3N0ZXBdPVwiaW5wdXRDb25maWcuc3RlcCA/IGlucHV0Q29uZmlnLnN0ZXAgOiBudWxsXCJcbiAgICBbcmVhZE9ubHldPVwiaW5wdXRDb25maWcucmVhZE9ubHlcIlxuICAgIGFwcE1pbk1heFZhbHVlXG4gICAgW21pblZhbHVlXT1cImlucHV0Q29uZmlnLm1pbiFcIlxuICAgIFttYXhWYWx1ZV09XCJpbnB1dENvbmZpZy5tYXghXCJcbiAgICBpbnB1dGZvcm1hdD1cImRkLW1tLXl5XCJcbiAgICBjbGFzcz1cImlucHV0LWNvbnRyb2xcbiAge3sgaW5wdXRDb25maWcudGV4dFRyYW5zZm9ybSB9fVxuICB7eyBpbnB1dENvbmZpZy50ZXh0QWxpZ24gfX1cbiAge3sgaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cbiAgXCJcbiAgICBbbmdDbGFzc109XCJcbiAgICAgIGdldFN1cGVyQ29udHJvbFxuICAgICAgICB8IGlucHV0Q2xhc3NcbiAgICAgICAgICA6IGlzRm9jdXNJbnB1dFxuICAgICAgICAgIDogaXNUb3VjaGVkSW5wdXRcbiAgICAgICAgICA6IGlucHV0Q29uZmlnXG4gICAgICAgICAgOiBpbnB1dFxuICAgICAgICAgIDogaXNWaXNpYmxlQ29tbWFuZHNcbiAgICAgICAgICA6IGdldFN1cGVyQ29udHJvbD8udmFsdWVcbiAgICAgICAgICA6IGlzRHJvcGRvd25Ub2dnbGVyXG4gICAgICAgICAgOiBpc0VkaXRJbnB1dFxuICAgICAgICAgIDogdGVtcGxhdGVcbiAgICBcIlxuICAgIChrZXlwcmVzcyk9XCJvbktleVByZXNzKCRldmVudClcIlxuICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpXCJcbiAgICAoa2V5dXApPVwib25LZXl1cCgkZXZlbnQpXCJcbiAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgKHNlbGVjdCk9XCJzZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgKGlucHV0KT1cIm9uQ2hhbmdlKCRhbnkoJGV2ZW50LnRhcmdldCkudmFsdWUpOyB0cmFuc2Zvcm1UZXh0KCRldmVudClcIlxuICAgIFsobmdNb2RlbCldPVwiaW5wdXQudmFsdWVcIlxuICAgIFtuZ1N0eWxlXT1cIlxuICAgICAgaW5wdXRDb25maWcuc3RhdHVzU3R5bGUgPyAoaW5wdXQudmFsdWUgfCBsb2FkU3RhdHVzQ29sb3IpIDogJydcbiAgICBcIlxuICAvPlxuXG4gIDwhLS0gUGxhY2Vob2xkZXIgSWNvbiBvbiBSaWdodCBTaWRlIC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXRDb25maWcucGxhY2Vob2xkZXJJY29uUmlnaHRTaWRlXCI+XG4gICAgPHN2Zy1pY29uXG4gICAgICBjbGFzcz1cInBsYWNlaG9sZGVyLWljb24tcmlnaHQtc2lkZSB7e1xuICAgICAgICBpbnB1dENvbmZpZy5wbGFjZWhvbGRlckljb25Db2xvclxuICAgICAgfX1cIlxuICAgICAgW25nQ2xhc3NdPVwiXG4gICAgICAgIGlzRm9jdXNJbnB1dFxuICAgICAgICAgIHwgaW5wdXRQbGFjZWhvbGRlckljb25SaWdodENsYXNzXG4gICAgICAgICAgICA6IGdldFN1cGVyQ29udHJvbFxuICAgICAgICAgICAgOiBpbnB1dENvbmZpZ1xuICAgICAgICAgICAgOiBpc1RvdWNoZWRJbnB1dFxuICAgICAgICAgICAgOiBnZXRTdXBlckNvbnRyb2w/LnZhbHVlXG4gICAgICBcIlxuICAgICAgW3NyY109XCJcbiAgICAgICAgaW5wdXRDb25maWcucGxhY2Vob2xkZXJJY29uUmlnaHRTaWRlLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICB8IGNhU3ZnIDogJ2NvbW1vbidcbiAgICAgIFwiXG4gICAgPjwvc3ZnLWljb24+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gSW5wdXQgRXJyb3IgTWVzc2FnZSAtLT5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwiXG4gICAgICAhKCFnZXRTdXBlckNvbnRyb2w/LnZhbHVlICYmIGlzRm9jdXNJbnB1dCkgJiZcbiAgICAgIChpc1RvdWNoZWRJbnB1dCB8fCBnZXRTdXBlckNvbnRyb2w/LnRvdWNoZWQgfHwgZ2V0U3VwZXJDb250cm9sPy52YWx1ZSkgJiZcbiAgICAgIGdldFN1cGVyQ29udHJvbD8uaW52YWxpZCAmJlxuICAgICAgIWlucHV0Q29uZmlnLmlzSW52YWxpZFNlYXJjaEluRHJvcGRvd24gJiZcbiAgICAgICFpbnB1dENvbmZpZy5pc0Rpc2FibGVkXG4gICAgXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhKGlucHV0Q29uZmlnLmhpZGVFcnJvck1lc3NhZ2UgfHwgaW5wdXRDb25maWcuZXJyb3JJbnNpZGVJbnB1dClcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZXJyb3Ige3sgaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cIj5cbiAgICAgICAge3sgZ2V0U3VwZXJDb250cm9sPy5lcnJvcnMgfCBpbnB1dEVycm9yOiBpbnB1dENvbmZpZy5uYW1lIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIEVycm9yIE1lc3NhZ2UgSW5zaWRlIElucHV0IC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dENvbmZpZy5lcnJvckluc2lkZUlucHV0XCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImVycm9yLWluc2lkZS1pbnB1dCB7eyBpbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiPlxuICAgICAgICB7eyBnZXRTdXBlckNvbnRyb2w/LmVycm9ycyB8IGlucHV0RXJyb3I6IGlucHV0Q29uZmlnLm5hbWUgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0Q29uZmlnLmZpeGVkUGxhY2hvbGRlciAmJiBpbnB1dC52YWx1ZVwiPlxuICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZml4ZWQtcGxhY2Vob2Rlci1sYWJlbFwiPlxuICAgICAge3sgaW5wdXRDb25maWcuZml4ZWRQbGFjaG9sZGVyIH19XG4gICAgPC9zcGFuPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48IS0tIFBvcG92ZXIgZm9yIERhdGVUaW1lIFBpY2tlcnMgLS0+XG48bmctdGVtcGxhdGUgI2RhdGVUaW1lUG9wb3ZlciBsZXQtZGF0YT1cImRhdGFcIj5cbiAgPGRpdiBjbGFzcz1cImRhdGV0aW1lLWRyb3Bkb3duLWhvbGRlclwiPlxuICAgIDxhcHAtY2EtY3VzdG9tLWRhdGV0aW1lLXBpY2tlcnNcbiAgICAgIFtjYWxlbmRhclR5cGVdPVwiXG4gICAgICAgIGlucHV0Q29uZmlnLm5hbWUgPT09ICdkYXRlcGlja2VyJyB8fFxuICAgICAgICBpbnB1dENvbmZpZy5uYW1lID09PSAnZGF0ZXBpY2tlckJhbmtDYXJkJ1xuICAgICAgICAgID8gJ2RhdGUnXG4gICAgICAgICAgOiAndGltZSdcbiAgICAgIFwiXG4gICAgICBbaW5wdXRDb25maWddPVwiaW5wdXRDb25maWdcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIidNTS9ERC9ZWSdcIlxuICAgICAgW2RhdGVUaW1lXT1cImRhdGVUaW1lSW5wdXREYXRlXCJcbiAgICAgIChjbG9zZVBvcG92ZXIpPVwiY2xvc2VQb3BvdmVyKClcIlxuICAgID48L2FwcC1jYS1jdXN0b20tZGF0ZXRpbWUtcGlja2Vycz5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
|
|
350
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQvY2EtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQvY2EtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFFTCxzQkFBc0IsRUFDdEIsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFDTixJQUFJLEVBRUosU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsV0FBVyxFQUVYLG1CQUFtQixHQUNwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxhQUFhLEVBQWMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQU14RCxRQUFRO0FBQ1IsT0FBTyxFQUNMLGNBQWMsRUFDZCx1QkFBdUIsRUFDdkIsY0FBYyxFQUNkLGNBQWMsRUFDZCxhQUFhLEVBQ2IseUJBQXlCLEVBQ3pCLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsMkJBQTJCLEVBQzNCLHFCQUFxQixFQUNyQiw2QkFBNkIsRUFDN0Isa0NBQWtDLEVBQ2xDLDZCQUE2QixFQUM3Qix1QkFBdUIsR0FDeEIsTUFBTSxTQUFTLENBQUM7QUFDakIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFN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QUMzQixxQkFBcUI7d0JBQ3JCLFNBQVM7d0JBQ1QsNkJBQTZCO3dCQUM3QixtQkFBbUI7d0JBQ25CLGtDQUFrQzt3QkFDbEMsNkJBQTZCO3dCQUM3Qix1QkFBdUI7d0JBRXZCLGFBQWE7d0JBQ2IscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLHdCQUF3Qjt3QkFDeEIsK0JBQStCO3dCQUMvQix3QkFBd0I7d0JBQ3hCLGdDQUFnQzt3QkFDaEMsOEJBQThCO3dCQUM5Qix1QkFBdUI7d0JBQ3ZCLCtCQUErQjt3QkFFL0IsYUFBYTt3QkFDYixvQkFBb0I7cUJBQ3JCLFdBQ1EsQ0FBQyxzQkFBc0IsQ0FBQyxhQUN0QixDQUFDLGlCQUFpQixFQUFFLDZCQUE2QixDQUFDOzswQkFzRTFELElBQUk7Z0pBakVzQyxLQUFLO3NCQUFqRCxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ2IsY0FBYztzQkFBcEMsU0FBUzt1QkFBQyxVQUFVO2dCQUVaLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFDRywwQkFBMEI7c0JBQWxDLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFb0IsY0FBYztzQkFBdkMsTUFBTTt1QkFBQyxnQkFBZ0I7Z0JBRUgsU0FBUztzQkFBN0IsTUFBTTt1QkFBQyxXQUFXO2dCQUVHLGVBQWU7c0JBQXBDLE1BQU07dUJBQUMsWUFBWTtnQkFFRixXQUFXO3NCQUE1QixNQUFNO3VCQUFDLFFBQVE7Z0JBRVEsWUFBWTtzQkFBbkMsTUFBTTt1QkFBQyxjQUFjO2dCQUVMLGVBQWU7c0JBQS9CLE1BQU07dUJBQUMsT0FBTztnQkFJYSxxQkFBcUI7c0JBQWhELE1BQU07dUJBQUMsa0JBQWtCO2dCQUVPLDBCQUEwQjtzQkFBMUQsTUFBTTt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2VsZixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgRm9ybXNNb2R1bGUsXG4gIE5nQ29udHJvbCxcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBbmd1bGFyU3ZnSWNvbk1vZHVsZSB9IGZyb20gJ2FuZ3VsYXItc3ZnLWljb24nO1xuXG4vLyBtb2RlbHNcbmltcG9ydCB7IElDYUlucHV0IH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgTGFiZWxDb2xvciwgQ29tbWFuZHNFdmVudCB9IGZyb20gJy4vbW9kZWxzJztcblxuLy8gcGlwZXNcbmltcG9ydCB7XG4gIElucHV0RXJyb3JQaXBlLFxuICBJbnB1dENvbnRhaW5lckNsYXNzUGlwZSxcbiAgSW5wdXRDbGFzc1BpcGUsXG4gIExhYmVsQ2xhc3NQaXBlLFxuICBTaG93Q2xlYXJQaXBlLFxuICBTaG93SW52YWxpZERhbmdlck1hcmtQaXBlLFxuICBTaG93VmFsaWRDaGVja1BpcGUsXG4gIElucHV0VHlwZVBpcGUsXG4gIElucHV0RHJvcGRvd25BcnJvd0NsYXNzUGlwZSxcbiAgU2hvd0Ryb3Bkb3duQXJyb3dQaXBlLFxuICBJbnB1dFBsYWNlaG9sZGVySWNvbkNsYXNzUGlwZSxcbiAgSW5wdXRQbGFjZWhvbGRlckljb25SaWdodENsYXNzUGlwZSxcbiAgSW5wdXRQbGFjZWhvbGRlclRleHRDbGFzc1BpcGUsXG4gIFNob3dQbGFjZWhvbGRlclRleHRQaXBlLFxufSBmcm9tICcuL3BpcGVzJztcbmltcG9ydCB7IENhU3ZnUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL2NhLXN2Zy5waXBlJztcbmltcG9ydCB7IExvYWRTdGF0dXNDb2xvclBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy9sb2FkLXN0YXR1cy1jb2xvci5waXBlJztcbmltcG9ydCB7IFRob3VzYW5kU2VwYXJhdG9yUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3Rob3VzYW5kLXNlcGFyYXRvci5waXBlJztcblxuLy8gY29tcG9uZW50c1xuaW1wb3J0IHsgQ2FBcHBUb29sdGlwVjJDb21wb25lbnQgfSBmcm9tICcuLi9jYS1hcHAtdG9vbHRpcC12Mi9jYS1hcHAtdG9vbHRpcC12Mi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FJbnB1dENsZWFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLWlucHV0LWNsZWFyL2NhLWlucHV0LWNsZWFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUlucHV0Q29tbWFuZHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtaW5wdXQtY29tbWFuZHMvY2EtaW5wdXQtY29tbWFuZHMuY29tcG9uZW50JztcbmltcG9ydCB7IENhSW5wdXRQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYS1pbnB1dC1wYXNzd29yZC9jYS1pbnB1dC1wYXNzd29yZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FJbnB1dFBsYWNlaG9sZGVySWNvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYS1pbnB1dC1wbGFjZWhvbGRlci1pY29uL2NhLWlucHV0LXBsYWNlaG9sZGVyLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IENhSW5wdXREYXRldGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYS1pbnB1dC1kYXRldGltZS1waWNrZXIvY2EtaW5wdXQtZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUN1c3RvbURhdGV0aW1lUGlja2Vyc0NvbXBvbmVudCB9IGZyb20gJy4uL2NhLWN1c3RvbS1kYXRldGltZS1waWNrZXJzL2NhLWN1c3RvbS1kYXRldGltZS1waWNrZXJzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYVByb2ZpbGVJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4uL2NhLXByb2ZpbGUtaW1hZ2UvY2EtcHJvZmlsZS1pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FMb2FkTW9kYWxQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gJy4uL2NhLWxvYWQtbW9kYWwtcHJvZ3Jlc3MtYmFyL2NhLWxvYWQtbW9kYWwtcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudCc7XG5cbi8vIHNlcnZpY2VzXG5pbXBvcnQgeyBJbnB1dFN0YXRlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJEYXRlVGltZVBpY2tlclNlcnZpY2UgfSBmcm9tICcuLi9jYS1jdXN0b20tZGF0ZXRpbWUtcGlja2Vycy9zZXJ2aWNlcy9jYWxlbmRhci1kYXRldGltZS1waWNrZXIuc2VydmljZSc7XG5cbi8vIGhlbHBlcnNcbmltcG9ydCB7IElucHV0Q2hhbmdlVmFsdWUsIElucHV0U3ZnUm91dGVzIH0gZnJvbSAnLi91dGlscyc7XG5cbi8vIG1vZHVsZXNcbmltcG9ydCB7IE5nYk1vZHVsZSwgTmdiUG9wb3ZlciB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IE5neE1hc2tNb2R1bGUgfSBmcm9tICduZ3gtbWFzayc7XG5cbi8vIGRpcmVjdGl2ZXNcbmltcG9ydCB7IE1pbk1heFZhbHVlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcblxuLy8gZW51bXNcbmltcG9ydCB7IElucHV0Q29tbWFuZHNUeXBlLCBJbnB1dFN0cmluZ0VudW0gfSBmcm9tICcuL2VudW1zJztcbmltcG9ydCB7IERyb3Bkb3duVGVtcGxhdGVUeXBlRW51bSB9IGZyb20gJy4uL2NhLWlucHV0LWRyb3Bkb3duL2VudW1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNhLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2EtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICAvLyBNb2R1bGVcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBBbmd1bGFyU3ZnSWNvbk1vZHVsZSxcbiAgICBOZ2JNb2R1bGUsXG4gICAgTmd4TWFza01vZHVsZSxcblxuICAgIC8vIFBpcGVcbiAgICBJbnB1dEVycm9yUGlwZSxcbiAgICBJbnB1dENvbnRhaW5lckNsYXNzUGlwZSxcbiAgICBJbnB1dENsYXNzUGlwZSxcbiAgICBMYWJlbENsYXNzUGlwZSxcbiAgICBTaG93Q2xlYXJQaXBlLFxuICAgIFNob3dJbnZhbGlkRGFuZ2VyTWFya1BpcGUsXG4gICAgU2hvd1ZhbGlkQ2hlY2tQaXBlLFxuICAgIElucHV0VHlwZVBpcGUsXG4gICAgSW5wdXREcm9wZG93bkFycm93Q2xhc3NQaXBlLFxuICAgIFNob3dEcm9wZG93bkFycm93UGlwZSxcbiAgICBDYVN2Z1BpcGUsXG4gICAgSW5wdXRQbGFjZWhvbGRlckljb25DbGFzc1BpcGUsXG4gICAgTG9hZFN0YXR1c0NvbG9yUGlwZSxcbiAgICBJbnB1dFBsYWNlaG9sZGVySWNvblJpZ2h0Q2xhc3NQaXBlLFxuICAgIElucHV0UGxhY2Vob2xkZXJUZXh0Q2xhc3NQaXBlLFxuICAgIFNob3dQbGFjZWhvbGRlclRleHRQaXBlLFxuXG4gICAgLy8gQ29tcG9uZW50c1xuICAgIENhSW5wdXRDbGVhckNvbXBvbmVudCxcbiAgICBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCxcbiAgICBDYUlucHV0UGFzc3dvcmRDb21wb25lbnQsXG4gICAgQ2FJbnB1dFBsYWNlaG9sZGVySWNvbkNvbXBvbmVudCxcbiAgICBDYUlucHV0Q29tbWFuZHNDb21wb25lbnQsXG4gICAgQ2FDdXN0b21EYXRldGltZVBpY2tlcnNDb21wb25lbnQsXG4gICAgQ2FJbnB1dERhdGV0aW1lUGlja2VyQ29tcG9uZW50LFxuICAgIENhUHJvZmlsZUltYWdlQ29tcG9uZW50LFxuICAgIENhTG9hZE1vZGFsUHJvZ3Jlc3NCYXJDb21wb25lbnQsXG5cbiAgICAvLyBEaXJlY3RpdmVzXG4gICAgTWluTWF4VmFsdWVEaXJlY3RpdmUsXG4gIF0sXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbiAgcHJvdmlkZXJzOiBbSW5wdXRTdGF0ZVNlcnZpY2UsIENhbGVuZGFyRGF0ZVRpbWVQaWNrZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FJbnB1dENvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG57XG4gIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyBzdGF0aWM6IHRydWUgfSkgcHVibGljIGlucHV0ITogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZChOZ2JQb3BvdmVyKSBuZ2JNYWluUG9wb3ZlciE6IE5nYlBvcG92ZXI7XG5cbiAgQElucHV0KCkgaW5wdXRDb25maWchOiBJQ2FJbnB1dDtcblxuICBASW5wdXQoKSBpbmNvcnJlY3RWYWx1ZSE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHNlbGVjdGVkRHJvcGRvd25MYWJlbENvbG9yITogTGFiZWxDb2xvciB8IG51bGw7XG4gIEBJbnB1dCgpIHRlbXBsYXRlITogc3RyaW5nO1xuXG4gIEBPdXRwdXQoJ2luY29ycmVjdEV2ZW50JykgaW5jb3JyZWN0SW5wdXQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCdibHVySW5wdXQnKSBibHVySW5wdXQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCdmb2N1c0lucHV0JykgZm9jdXNJbnB1dEV2ZW50OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgnY2hhbmdlJykgY2hhbmdlSW5wdXQ6IEV2ZW50RW1pdHRlcjxJbnB1dENoYW5nZVZhbHVlPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxJbnB1dENoYW5nZVZhbHVlPigpO1xuICBAT3V0cHV0KCdjb21tYW5kRXZlbnQnKSBjb21tYW5kRXZlbnQ6IEV2ZW50RW1pdHRlcjxDb21tYW5kc0V2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxDb21tYW5kc0V2ZW50PigpO1xuICBAT3V0cHV0KCdjbGVhcicpIGNsZWFySW5wdXRFdmVudDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgLy8gRHJvcGRvd25cbiAgQE91dHB1dCgnc2hvd0hpZGVEcm9wZG93bicpIHNob3dIaWRlRHJvcGRvd25FdmVudDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoJ2Ryb3BEb3duS2V5TmF2aWdhdGlvbicpIGRyb3BEb3duS2V5TmF2aWdhdGlvbkV2ZW50OiBFdmVudEVtaXR0ZXI8e1xuICAgIGtleUNvZGU6IG51bWJlcjtcbiAgICBkYXRhOiBJQ2FJbnB1dCB8IG51bGw7XG4gIH0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAga2V5Q29kZTogbnVtYmVyO1xuICAgIGRhdGE6IElDYUlucHV0IHwgbnVsbDtcbiAgfT4oKTtcblxuICBwdWJsaWMgaXNUb3VjaGVkSW5wdXQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBJbnB1dCBDb21tYW5kc1xuICBwdWJsaWMgaXNWaXNpYmxlQ29tbWFuZHM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBFZGl0IElucHV0XG4gIHB1YmxpYyBpc0VkaXRJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8vIFBhc3N3b3JkXG4gIHB1YmxpYyBpc1RvZ2dsZVBhc3N3b3JkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBpc0NhcHNMb2NrT246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBEcm9wZG93blxuICBwdWJsaWMgaXNEcm9wZG93blRvZ2dsZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBEYXRlXG4gIHB1YmxpYyBzaG93RGF0ZUlucHV0OiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBkYXRlVGltZUlucHV0RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XG4gIHB1YmxpYyBuZXdJbnB1dENoYW5nZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBEZXN0cm95XG4gIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHB1YmxpYyBpbnB1dFN2Z1JvdXRlcyA9IElucHV0U3ZnUm91dGVzO1xuICBwdWJsaWMgaXNGb2N1c0lucHV0ITogYm9vbGVhbjtcbiAgcHVibGljIHByaWNlU2VwZXJhdG9yV2l0aEZpbGxlZFZhbHVlID0gdHJ1ZTtcblxuICBwdWJsaWMgaW5wdXRDb21tYW5kc1R5cGUgPSBJbnB1dENvbW1hbmRzVHlwZTtcbiAgcHVibGljIGlucHV0U3RyaW5nRW51bSA9IElucHV0U3RyaW5nRW51bTtcbiAgcHVibGljIGRyb3Bkb3duVGVtcGxhdGVUeXBlRW51bSA9IERyb3Bkb3duVGVtcGxhdGVUeXBlRW51bTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAU2VsZigpIHB1YmxpYyBzdXBlckNvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwdWJsaWMgaW5wdXRTdGF0ZVNlcnZpY2U6IElucHV0U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdGhvdXNhbmRTZXBhcmF0b3JQaXBlOiBUaG91c2FuZFNlcGFyYXRvclBpcGVcbiAgKSB7XG4gICAgdGhpcy5zdXBlckNvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gIH1cblxuICBnZXQgZ2V0U3VwZXJDb250cm9sKCkge1xuICAgIHJldHVybiB0aGlzLnN1cGVyQ29udHJvbC5jb250cm9sO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0Q2hhbmdlc0xpc3RlbmVyKCk7XG5cbiAgICB0aGlzLmluaXRTdGF0ZVNlcnZpY2UoKTtcblxuICAgIHRoaXMub3V0cHV0TGlzdGVuZXJzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5zZXRTdGF0ZUlucHV0cyhjaGFuZ2VzKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLmF1dG9Gb2N1c0ZpcnN0SW5wdXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0U3RhdGVTZXJ2aWNlKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2Uuc2V0U3VwZXJDb250cm9sKHRoaXMuc3VwZXJDb250cm9sKTtcbiAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLnNldElucHV0RWxlbWVudFJlZih0aGlzLmlucHV0LCB0aGlzLmNkUmVmKTtcblxuICAgIHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2UuY29tYmluZWRWYXJpYWJsZXMkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAoW1xuICAgICAgICAgIGZvY3VzLFxuICAgICAgICAgIHRvdWNoZWQsXG4gICAgICAgICAgaXNWaXNpYmxlQ29tbWFuZHMsXG4gICAgICAgICAgaXNFZGl0SW5wdXQsXG4gICAgICAgICAgaXNEcm9wZG93blRvZ2dsZXIsXG4gICAgICAgICAgZGF0ZVRpbWVJbnB1dERhdGUsXG4gICAgICAgICAgc2hvd0RhdGVJbnB1dCxcbiAgICAgICAgICBpc0NhcHNMb2NrT24sXG4gICAgICAgIF0pID0+IHtcbiAgICAgICAgICB0aGlzLmlzRm9jdXNJbnB1dCA9IGZvY3VzO1xuICAgICAgICAgIHRoaXMuaXNUb3VjaGVkSW5wdXQgPSB0b3VjaGVkO1xuICAgICAgICAgIHRoaXMuaXNWaXNpYmxlQ29tbWFuZHMgPSBpc1Zpc2libGVDb21tYW5kcztcbiAgICAgICAgICB0aGlzLmlzRWRpdElucHV0ID0gaXNFZGl0SW5wdXQ7XG4gICAgICAgICAgdGhpcy5pc0Ryb3Bkb3duVG9nZ2xlciA9IGlzRHJvcGRvd25Ub2dnbGVyO1xuICAgICAgICAgIHRoaXMuZGF0ZVRpbWVJbnB1dERhdGUgPSBkYXRlVGltZUlucHV0RGF0ZTtcbiAgICAgICAgICB0aGlzLnNob3dEYXRlSW5wdXQgPSBzaG93RGF0ZUlucHV0O1xuICAgICAgICAgIHRoaXMuaXNDYXBzTG9ja09uID0gaXNDYXBzTG9ja09uO1xuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIG91dHB1dExpc3RlbmVycygpOiB2b2lkIHtcbiAgICBjb25zdCBvYnNlcnZhYmxlczoge1xuICAgICAgc3RyZWFtJDogT2JzZXJ2YWJsZTxhbnk+O1xuICAgICAgZW1pdHRlcjogRXZlbnRFbWl0dGVyPGFueT47XG4gICAgfVtdID0gW1xuICAgICAge1xuICAgICAgICBzdHJlYW0kOiB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLmNvbW1hbmRFdmVudCQsXG4gICAgICAgIGVtaXR0ZXI6IHRoaXMuY29tbWFuZEV2ZW50LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc3RyZWFtJDogdGhpcy5pbnB1dFN0YXRlU2VydmljZS5jbGVhcklucHV0RXZlbnQkLFxuICAgICAgICBlbWl0dGVyOiB0aGlzLmNsZWFySW5wdXRFdmVudCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHN0cmVhbSQ6IHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2UuaW5jb3JyZWN0SW5wdXQkLFxuICAgICAgICBlbWl0dGVyOiB0aGlzLmluY29ycmVjdElucHV0LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc3RyZWFtJDogdGhpcy5pbnB1dFN0YXRlU2VydmljZS5ibHVySW5wdXQkLFxuICAgICAgICBlbWl0dGVyOiB0aGlzLmJsdXJJbnB1dCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHN0cmVhbSQ6IHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2UuY2hhbmdlSW5wdXQkLFxuICAgICAgICBlbWl0dGVyOiB0aGlzLmNoYW5nZUlucHV0LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc3RyZWFtJDogdGhpcy5pbnB1dFN0YXRlU2VydmljZS5zaG93SGlkZURyb3Bkb3duJCxcbiAgICAgICAgZW1pdHRlcjogdGhpcy5zaG93SGlkZURyb3Bkb3duRXZlbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzdHJlYW0kOiB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLmRyb3BEb3duS2V5TmF2aWdhdGlvbiQsXG4gICAgICAgIGVtaXR0ZXI6IHRoaXMuZHJvcERvd25LZXlOYXZpZ2F0aW9uRXZlbnQsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBvYnNlcnZhYmxlcy5mb3JFYWNoKCh7IHN0cmVhbSQsIGVtaXR0ZXIgfSkgPT5cbiAgICAgIHN0cmVhbSRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogYW55KSA9PiBlbWl0dGVyLmVtaXQodmFsdWUpKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgaW5pdENoYW5nZXNMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICBjb25zdCBjb21iaW5lZENoYW5nZXMgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuZ2V0U3VwZXJDb250cm9sPy52YWx1ZUNoYW5nZXMsXG4gICAgICB0aGlzLmdldFN1cGVyQ29udHJvbD8uc3RhdHVzQ2hhbmdlcyxcbiAgICBdKTtcblxuICAgIGNvbWJpbmVkQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5pbnB1dFN0YXRlU2VydmljZS5vbkNoYW5nZSRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2V0U3RhdGVJbnB1dHMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydpbnB1dENvbmZpZyddKSB7XG4gICAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLnNldElucHV0Q29uZmlnKFxuICAgICAgICBjaGFuZ2VzWydpbnB1dENvbmZpZyddPy5jdXJyZW50VmFsdWVcbiAgICAgICk7XG4gICAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLm9uSW5wdXRDb25maWdDaGFuZ2UoKTtcbiAgICB9XG4gICAgdGhpcy5pbnB1dFN0YXRlU2VydmljZS5zZXRJbmNvcnJlY3RWYWx1ZShcbiAgICAgIGNoYW5nZXNbJ2luY29ycmVjdFZhbHVlJ10/LmN1cnJlbnRWYWx1ZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZShvYmo6IElucHV0Q2hhbmdlVmFsdWUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pbnB1dENvbmZpZy5wcmljZVNlcGFyYXRvcikge1xuICAgICAgaWYgKG9iaiAmJiB0aGlzLnByaWNlU2VwZXJhdG9yV2l0aEZpbGxlZFZhbHVlKVxuICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPVxuICAgICAgICAgIHRoaXMudGhvdXNhbmRTZXBhcmF0b3JQaXBlLnRyYW5zZm9ybShvYmopO1xuICAgICAgZWxzZSB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBvYmo7XG5cbiAgICAgIHRoaXMucHJpY2VTZXBlcmF0b3JXaXRoRmlsbGVkVmFsdWUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLndyaXRlVmFsdWUob2JqKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgb25DaGFuZ2UoXzogYW55KTogdm9pZCB7fVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZCgpOiB2b2lkIHt9XG5cbiAgcHVibGljIG9uQmx1cihldmVudD86IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLm9uQmx1cihldmVudCk7XG5cbiAgICB0aGlzLmJsdXJJbnB1dC5lbWl0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIG9uRm9jdXMoZXZlbnQ/OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c0lucHV0RXZlbnQuZW1pdCh0cnVlKTtcblxuICAgIHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2Uub25Gb2N1cyhldmVudCk7XG4gIH1cblxuICBwdWJsaWMgb25LZXlQcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2Uub25LZXlwcmVzcyhldmVudCk7XG4gIH1cblxuICBwdWJsaWMgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dFN0YXRlU2VydmljZS5vbktleWRvd24oZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIG9uS2V5dXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLm9uS2V5dXAoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIHRyYW5zZm9ybVRleHQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dFN0YXRlU2VydmljZS50cmFuc2Zvcm1UZXh0KGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcklucHV0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2UuY2xlYXJJbnB1dChldmVudCk7XG4gIH1cblxuICBwdWJsaWMgb25Ub2dnbGVQYXNzd29yZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuaXNUb2dnbGVQYXNzd29yZCA9ICF0aGlzLmlzVG9nZ2xlUGFzc3dvcmQ7XG4gIH1cblxuICBwdWJsaWMgb25Db21tYW5kcyhldmVudDoge1xuICAgIGV2ZW50OiBFdmVudDtcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgYWN0aW9uOiBzdHJpbmc7XG4gIH0pOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLm9uQ29tbWFuZHMoZXZlbnQuZXZlbnQsIGV2ZW50LnR5cGUsIGV2ZW50LmFjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgb25FZGl0SW5wdXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dFN0YXRlU2VydmljZS5vbkVkaXRJbnB1dChldmVudCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlRHJvcGRvd25PcHRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2UudG9nZ2xlRHJvcGRvd25PcHRpb25zKCk7XG4gIH1cblxuICBwdWJsaWMgb25QbGFjZWhvbGRlckljb25FdmVudChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLm9uUGxhY2Vob2xkZXJJY29uRXZlbnQoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIHNldElucHV0Q3Vyc29yQXRUaGVFbmQoaW5wdXQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2Uuc2V0SW5wdXRDdXJzb3JBdFRoZUVuZChpbnB1dCk7XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIERhdGUgJiBUaW1lIFBpY2tlciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHB1YmxpYyBzZWxlY3Rpb25DaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dFN0YXRlU2VydmljZS5zZWxlY3Rpb25DaGFuZ2UoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIG9uRGF0ZVBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2Uub25EYXRlUGFzdGUoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIHNldFNlbGVjdGlvbihldmVudDoge1xuICAgIHByZXZlbnREZWZhdWx0OiAoKSA9PiB2b2lkO1xuICAgIHN0b3BQcm9wYWdhdGlvbjogKCkgPT4gdm9pZDtcbiAgICB0YXJnZXQ6IGFueTtcbiAgfSk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2Uuc2V0U2VsZWN0aW9uKGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VTZWxlY3Rpb24oZXZlbnQ6IHtcbiAgICBlOiBLZXlib2FyZEV2ZW50O1xuICAgIG5vUHJldmVudERlZmF1bHQ6IGJvb2xlYW47XG4gIH0pOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLmNoYW5nZVNlbGVjdGlvbihldmVudC5lLCBldmVudC5ub1ByZXZlbnREZWZhdWx0KTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvcG92ZXJTaG93bigpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLm9uUG9wb3ZlclNob3duKCk7XG4gIH1cblxuICBwdWJsaWMgb25Qb3BvdmVySGlkZGVuKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2Uub25Qb3BvdmVySGlkZGVuKCk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VQb3BvdmVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5nYk1haW5Qb3BvdmVyKSB0aGlzLm5nYk1haW5Qb3BvdmVyLmNsb3NlKCk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0TGFzdE9uZUZvclNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLnNlbGVjdExhc3RPbmVGb3JTZWxlY3Rpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RMYXN0T25lQWZ0ZXJNb3VzZVVwKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRTdGF0ZVNlcnZpY2Uuc2VsZWN0TGFzdE9uZUFmdGVyTW91c2VVcCgpO1xuICB9XG5cbiAgcHVibGljIHRyYWNrSWRlbnRpdHkgPSAoaW5kZXg6IG51bWJlcik6IG51bWJlciA9PiBpbmRleDtcblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0U3RhdGVTZXJ2aWNlLm9uRGVzdG9yeSgpO1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImlucHV0LWN1c3RvbS1ncm91cCB7eyBpbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiXG4gIFtuZ0NsYXNzXT1cIlxuICAgIGdldFN1cGVyQ29udHJvbFxuICAgICAgfCBpbnB1dENvbnRhaW5lckNsYXNzXG4gICAgICAgIDogaXNGb2N1c0lucHV0XG4gICAgICAgIDogaXNUb3VjaGVkSW5wdXRcbiAgICAgICAgOiBpbnB1dENvbmZpZ1xuICAgICAgICA6IGdldFN1cGVyQ29udHJvbD8udmFsdWVcbiAgXCJcbj5cbiAgPCEtLSBJbnB1dCBDb21tYW5kcyAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0Q29uZmlnLmNvbW1hbmRzPy5hY3RpdmUgJiYgaXNWaXNpYmxlQ29tbWFuZHNcIj5cbiAgICA8YXBwLWNhLWlucHV0LWNvbW1hbmRzXG4gICAgICBbaW5wdXRDb25maWddPVwiaW5wdXRDb25maWdcIlxuICAgICAgW2lzRm9jdXNJbnB1dF09XCJpc0ZvY3VzSW5wdXRcIlxuICAgICAgW2lzVmlzaWJsZUNvbW1hbmRzXT1cImlzVmlzaWJsZUNvbW1hbmRzXCJcbiAgICAgIChvbkNvbW1hbmRzQ2xpY2spPVwib25Db21tYW5kcygkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9hcHAtY2EtaW5wdXQtY29tbWFuZHM+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gRGF0ZVRpbWUgUGlja2VyIC0tPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJcbiAgICAgIChpbnB1dENvbmZpZy5uYW1lID09PSAnZGF0ZXBpY2tlcicgfHxcbiAgICAgICAgaW5wdXRDb25maWcubmFtZSA9PT0gJ3RpbWVwaWNrZXInKSAmJlxuICAgICAgIWlucHV0Q29uZmlnLmlzRGlzYWJsZWRcbiAgICBcIlxuICA+XG4gICAgPGFwcC1jYS1pbnB1dC1kYXRldGltZS1waWNrZXJcbiAgICAgIFtzaG93RGF0ZUlucHV0XT1cInNob3dEYXRlSW5wdXRcIlxuICAgICAgW2lucHV0Q29uZmlnXT1cImlucHV0Q29uZmlnXCJcbiAgICAgIFtnZXRTdXBlckNvbnRyb2xdPVwiZ2V0U3VwZXJDb250cm9sXCJcbiAgICAgIFtpc0ZvY3VzSW5wdXRdPVwiaXNGb2N1c0lucHV0XCJcbiAgICAgIFtpc1Zpc2libGVDb21tYW5kc109XCJpc1Zpc2libGVDb21tYW5kc1wiXG4gICAgICBbaXNUb3VjaGVkSW5wdXRdPVwiaXNUb3VjaGVkSW5wdXRcIlxuICAgICAgKHNlbGVjdExhc3RPbmVGb3JTZWxlY3Rpb25FbWl0dGVyKT1cInNlbGVjdExhc3RPbmVGb3JTZWxlY3Rpb24oKVwiXG4gICAgICAoc2VsZWN0TGFzdE9uZUFmdGVyTW91c2VVcEVtaXR0ZXIpPVwic2VsZWN0TGFzdE9uZUFmdGVyTW91c2VVcCgpXCJcbiAgICAgIChvbkRhdGVQYXN0ZUVtaXR0ZXIpPVwib25EYXRlUGFzdGUoJGV2ZW50KVwiXG4gICAgICAob25CbHVyRW1pdHRlcik9XCJvbkJsdXIoKVwiXG4gICAgICAoY2hhbmdlU2VsZWN0aW9uRW1taXRlcik9XCJjaGFuZ2VTZWxlY3Rpb24oJGV2ZW50KVwiXG4gICAgICAob25Gb2N1c0VtaXR0ZXIpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICAgIChzZXRTZWxlY3Rpb25FbW1pdGVyKT1cInNldFNlbGVjdGlvbigkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9hcHAtY2EtaW5wdXQtZGF0ZXRpbWUtcGlja2VyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tIElucHV0IExhYmVsIC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlucHV0Q29uZmlnLm11bHRpU2VsZWN0RHJvcGRvd25BY3RpdmVcIj5cbiAgICA8bGFiZWxcbiAgICAgIFtmb3JdPVwiaW5wdXRDb25maWcubmFtZVwiXG4gICAgICBjbGFzcz1cImlucHV0LWxhYmVsIHt7IGlucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19IHt7XG4gICAgICAgIGlucHV0Q29uZmlnLm11bHRpcGxlTGFiZWw/LmN1c3RvbUNsYXNzXG4gICAgICB9fVwiXG4gICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgZ2V0U3VwZXJDb250cm9sPy52YWx1ZSB8IGxhYmVsQ2xhc3M6IGlzRm9jdXNJbnB1dCA6IGlucHV0Q29uZmlnXG4gICAgICBcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dENvbmZpZy5sYWJlbFwiPlxuICAgICAgICA8c3Bhbj57eyBpbnB1dENvbmZpZy5sYWJlbCB9fSA8L3NwYW4+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dENvbmZpZy5tdWx0aXBsZUxhYmVsPy5sYWJlbHM/Lmxlbmd0aFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgW2NsYXNzXT1cImlucHV0Q29uZmlnLm11bHRpcGxlTGFiZWw/LmN1c3RvbUNsYXNzIVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ211bHRpcGxlLWxhYmVscy1wb3NpdGlvbi1vbi1mb2N1cyc6XG4gICAgICAgICAgICAgIGlzRm9jdXNJbnB1dCB8fFxuICAgICAgICAgICAgICBpbnB1dENvbmZpZy5tdWx0aXBsZUlucHV0VmFsdWVzPy5vcHRpb25zPy5sZW5ndGgsXG4gICAgICAgICAgICByZXF1aXJlZDogaW5wdXRDb25maWcuaXNSZXF1aXJlZCAmJiAhaW5wdXRDb25maWcuaXNEaXNhYmxlZFxuICAgICAgICAgIH1cIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IGxhYmVsIG9mIGlucHV0Q29uZmlnLm11bHRpcGxlTGFiZWw/LmxhYmVsc1wiPlxuICAgICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9sYWJlbD5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLSBJbnB1dCBDbGVhciAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0Q29uZmlnIHwgc2hvd0NsZWFyXCI+XG4gICAgPGFwcC1jYS1pbnB1dC1jbGVhclxuICAgICAgW2lucHV0Q29uZmlnXT1cImlucHV0Q29uZmlnXCJcbiAgICAgIFtnZXRTdXBlckNvbnRyb2xdPVwiZ2V0U3VwZXJDb250cm9sXCJcbiAgICAgIFtpc0ZvY3VzSW5wdXRdPVwiaXNGb2N1c0lucHV0XCJcbiAgICAgIFtpbmNvcnJlY3RWYWx1ZV09XCJpbmNvcnJlY3RWYWx1ZVwiXG4gICAgICBbc2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3JdPVwic2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3JcIlxuICAgICAgW3RlbXBsYXRlXT1cInRlbXBsYXRlXCJcbiAgICAgIChjbGVhcklucHV0Q2xpY2spPVwiY2xlYXJJbnB1dCgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9hcHAtY2EtaW5wdXQtY2xlYXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gSW5wdXQgQ2xlYXIgZm9yIGRpc3BhdGNoIGRyb3Bkb3duIC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidGVtcGxhdGUgPT09ICdzdmd0ZXh0LWRpc3BhdGNoLXRlbXBsYXRlJ1wiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiaW5wdXQtY2xlYXItZGlzcGF0Y2hcIlxuICAgICAgcG9zaXRpb249XCJ0b3BcIlxuICAgICAgKGNsaWNrKT1cImNsZWFySW5wdXQoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPHN2Zy1pY29uXG4gICAgICAgIFtzcmNdPVwiaW5wdXRTdmdSb3V0ZXMueENsZWFyQ29tbW9uU3ZnXCJcbiAgICAgICAgY2xhc3M9XCJpbnB1dC1jbGVhci1kaXNwYXRjaC1pY29uXCJcbiAgICAgID48L3N2Zy1pY29uPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tIElucHV0IFBlbiAtLT5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwiXG4gICAgICBzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvciAmJlxuICAgICAgIWlzRWRpdElucHV0ICYmXG4gICAgICAhaXNGb2N1c0lucHV0ICYmXG4gICAgICBnZXRTdXBlckNvbnRyb2w/LnZhbHVlXG4gICAgXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiaW5wdXQtcGVuLWNvbnRhaW5lclwiXG4gICAgICBuZ2JUb29sdGlwXG4gICAgICBbbWFpbkNhVG9vbHRpcF09XCInRWRpdCdcIlxuICAgICAgW3Rvb2x0aXBCYWNrZ3JvdW5kXT1cIicjMkYyRjJGJ1wiXG4gICAgICBwb3NpdGlvbj1cInRvcFwiXG4gICAgICAoY2xpY2spPVwib25FZGl0SW5wdXQoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPHN2Zy1pY29uIFtzcmNdPVwiaW5wdXRTdmdSb3V0ZXMuaW5wdXRQZW5TdmdcIiBjbGFzcz1cImlucHV0LXBlblwiPjwvc3ZnLWljb24+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gSW5wdXQgSW52YWxpZCBEYW5nZXIgTWFyayAtLT5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwiXG4gICAgICBpbnB1dENvbmZpZ1xuICAgICAgICB8IHNob3dJbnZhbGlkRGFuZ2VyTWFya1xuICAgICAgICAgIDogZ2V0U3VwZXJDb250cm9sXG4gICAgICAgICAgOiBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICA6IGlzVG91Y2hlZElucHV0XG4gICAgICAgICAgOiBnZXRTdXBlckNvbnRyb2w/LnZhbHVlXG4gICAgXCJcbiAgPlxuICAgIDxzdmctaWNvblxuICAgICAgY2xhc3M9XCJpbnB1dC1pbnZhbGlkLWRhbmdlci1tYXJrICB7eyBpbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiXG4gICAgICBbc3JjXT1cImlucHV0U3ZnUm91dGVzLmRhbmdlclN2Z1wiXG4gICAgPlxuICAgIDwvc3ZnLWljb24+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gSW5wdXQgVmFsaWQgQ2hlY2sgLS0+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIlxuICAgICAgZ2V0U3VwZXJDb250cm9sXG4gICAgICAgIHwgc2hvd1ZhbGlkQ2hlY2s6IGlzRm9jdXNJbnB1dCA6IGlucHV0Q29uZmlnIDogZ2V0U3VwZXJDb250cm9sPy52YWx1ZVxuICAgIFwiXG4gID5cbiAgICA8c3ZnLWljb25cbiAgICAgIGNsYXNzPVwiaW5wdXQtcmVxdWlyZWQtY2hlY2sge3sgaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cIlxuICAgICAgW3NyY109XCJpbnB1dFN2Z1JvdXRlcy5jb25maXJtU3ZnXCJcbiAgICA+PC9zdmctaWNvbj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLSBJbnB1dCBQYXNzd29yZCBDYXBzIExvY2sgQW5kIEV5ZSAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0Q29uZmlnLnR5cGUgPT09ICdwYXNzd29yZCdcIj5cbiAgICA8YXBwLWNhLWlucHV0LXBhc3N3b3JkXG4gICAgICBbaW5wdXRDb25maWddPVwiaW5wdXRDb25maWdcIlxuICAgICAgW2dldFN1cGVyQ29udHJvbF09XCJnZXRTdXBlckNvbnRyb2xcIlxuICAgICAgW2lzRm9jdXNJbnB1dF09XCJpc0ZvY3VzSW5wdXRcIlxuICAgICAgW2lzVG91Y2hlZElucHV0XT1cImlzVG91Y2hlZElucHV0XCJcbiAgICAgIFtpc0NhcHNMb2NrT25dPVwiaXNDYXBzTG9ja09uXCJcbiAgICAgIFtpc1RvZ2dsZVBhc3N3b3JkXT1cImlzVG9nZ2xlUGFzc3dvcmRcIlxuICAgICAgKG9uVG9nZ2xlUGFzc3dvcmRDbGljayk9XCJvblRvZ2dsZVBhc3N3b3JkKCRldmVudClcIlxuICAgID5cbiAgICA8L2FwcC1jYS1pbnB1dC1wYXNzd29yZD5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLSBJbnB1dCBEcm9wZG93biBBcnJvdyAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0Q29uZmlnIHwgc2hvd0Ryb3Bkb3duQXJyb3dcIj5cbiAgICA8c3ZnLWljb25cbiAgICAgIGNsYXNzPVwiaW5wdXQtZHJvcGRvd24tYXJyb3cge3sgaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cIlxuICAgICAgW25nQ2xhc3NdPVwiXG4gICAgICAgIGdldFN1cGVyQ29udHJvbFxuICAgICAgICAgIHwgaW5wdXREcm9wZG93bkFycm93Q2xhc3NcbiAgICAgICAgICAgIDogaXNGb2N1c0lucHV0XG4gICAgICAgICAgICA6IGlucHV0Q29uZmlnXG4gICAgICAgICAgICA6IGlzVG91Y2hlZElucHV0XG4gICAgICAgICAgICA6IGdldFN1cGVyQ29udHJvbD8udmFsdWVcbiAgICAgIFwiXG4gICAgICBbc3JjXT1cImlucHV0U3ZnUm91dGVzLmlucHV0RHJvcGRvd25BcnJvd1N2Z1wiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlRHJvcGRvd25PcHRpb25zKClcIlxuICAgID48L3N2Zy1pY29uPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tIElucHV0IFBsYWNlaG9sZGVyIEljb24gLS0+XG4gIDxuZy1jb250YWluZXIgXG4gICAgKm5nSWY9XCJcbiAgICAgIGlucHV0Q29uZmlnLnBsYWNlaG9sZGVySWNvbiB8fFxuICAgICAgaW5wdXRDb25maWcubmFtZSA9PT0gJ2RhdGVwaWNrZXInIHx8XG4gICAgICBpbnB1dENvbmZpZy5uYW1lID09PSAndGltZXBpY2tlcidcbiAgICBcIlxuICA+XG4gICAgPGFwcC1jYS1pbnB1dC1wbGFjZWhvbGRlci1pY29uXG4gICAgICBbaW5wdXRDb25maWddPVwiaW5wdXRDb25maWdcIlxuICAgICAgW2dldFN1cGVyQ29udHJvbF09XCJnZXRTdXBlckNvbnRyb2xcIlxuICAgICAgW2lzRm9jdXNJbnB1dF09XCJpc0ZvY3VzSW5wdXRcIlxuICAgICAgW2lzVG91Y2hlZElucHV0XT1cImlzVG91Y2hlZElucHV0XCJcbiAgICAgIFtzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvcl09XCJzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvclwiXG4gICAgICBbaXNFZGl0SW5wdXRdPVwiaXNFZGl0SW5wdXRcIlxuICAgICAgW2RhdGVUaW1lUG9wb3Zlcl09XCJkYXRlVGltZVBvcG92ZXJcIlxuICAgICAgKG9uUG9wb3ZlclNob3duRW1pdHRlcik9XCJvblBvcG92ZXJTaG93bigpXCJcbiAgICAgIChvblBvcG92ZXJIaWRkZW5FbWl0dGVyKT1cIm9uUG9wb3ZlckhpZGRlbigpXCJcbiAgICAgIChvblBsYWNlaG9sZGVySWNvbkV2ZW50RW1pdHRlcik9XCJvblBsYWNlaG9sZGVySWNvbkV2ZW50KCRldmVudClcIlxuICAgID5cbiAgICA8L2FwcC1jYS1pbnB1dC1wbGFjZWhvbGRlci1pY29uPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tIElucHV0IFBsYWNlaG9sZGVyIFRleHQgLS0+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIlxuICAgICAgaW5wdXRDb25maWcgfCBzaG93UGxhY2Vob2xkZXJUZXh0IDogZ2V0U3VwZXJDb250cm9sIDogXG4gICAgICBpc1Zpc2libGVDb21tYW5kcyA6IGdldFN1cGVyQ29udHJvbD8udmFsdWVcbiAgICBcIlxuICA+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwiY2EtcGxhY2Vob2xkZXItdGV4dCB7eyBpbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiXG4gICAgICBbbmdDbGFzc109XCIgICAgICBcbiAgICAgIGlzRm9jdXNJbnB1dCB8IGlucHV0UGxhY2Vob2xkZXJUZXh0Q2xhc3NcbiAgICAgICAgOiBpc1RvdWNoZWRJbnB1dCA6IGdldFN1cGVyQ29udHJvbCA6IGlucHV0Q29uZmlnXG4gICAgICAgIDogaXNWaXNpYmxlQ29tbWFuZHMgOiBnZXRTdXBlckNvbnRyb2w/LnZhbHVlXG4gICAgICBcIlxuICAgICAgW3N0eWxlLmxlZnRdPVwiXG4gICAgICAgIGlucHV0Q29uZmlnLnBsYWNlaG9sZGVyVGV4dD8udG9Mb3dlckNhc2UoKSA9PT0gaW5wdXRTdHJpbmdFbnVtLlBFUlNPTlMgfHxcbiAgICAgICAgaW5wdXRDb25maWcucGxhY2Vob2xkZXJUZXh0Py50b0xvd2VyQ2FzZSgpID09PSBpbnB1dFN0cmluZ0VudW0uVkVISUNMRVNcbiAgICAgICAgICA/IDMwICtcbiAgICAgICAgICAgIChnZXRTdXBlckNvbnRyb2w/LnZhbHVlPy50b1N0cmluZygpPy5sZW5ndGggKyAxKSAqIDkgK1xuICAgICAgICAgICAgJ3B4J1xuICAgICAgICAgIDogaXNGb2N1c0lucHV0ICYmXG4gICAgICAgICAgICBpbnB1dENvbmZpZy5wbGFjZWhvbGRlclRleHQ/LnRvTG93ZXJDYXNlKCkgIT09IGlucHV0Q29tbWFuZHNUeXBlLk1PTlRIU1xuICAgICAgICAgID8gJ2F1dG8nXG4gICAgICAgICAgOiAoZ2V0U3VwZXJDb250cm9sPy52YWx1ZT8udG9TdHJpbmcoKT8ubGVuZ3RoICsgMSkgKiA4ICsgJ3B4J1xuICAgICAgXCJcbiAgICAgIFtzdHlsZS5yaWdodF09XCJcbiAgICAgICAgaXNGb2N1c0lucHV0ICYmXG4gICAgICAgIGlucHV0Q29uZmlnLnBsYWNlaG9sZGVyVGV4dD8udG9Mb3dlckNhc2UoKSAhPT0gaW5wdXRDb21tYW5kc1R5cGUuTU9OVEhTXG4gICAgICAgICAgPyAnMjhweCdcbiAgICAgICAgICA6ICdhdXRvJ1xuICAgICAgXCJcbiAgICAgID5cbiAgICAgICAge3sgaW5wdXRDb25maWcucGxhY2Vob2xkZXJUZXh0IH19XG4gICAgPC9zcGFuPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgXG4gIDwhLS0gSW5wdXQgTGFiZWwgQ291bnRlciAtLT5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwiXG4gICAgICBzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvciAmJlxuICAgICAgZ2V0U3VwZXJDb250cm9sPy52YWx1ZSAmJlxuICAgICAgIWlzRm9jdXNJbnB1dCAmJlxuICAgICAgIWlucHV0Q29uZmlnLmlzRGlzYWJsZWQgJiZcbiAgICAgIGlucHV0Q29uZmlnLnNob3dDb3VudFxuICAgIFwiXG4gID5cbiAgICA8cFxuICAgICAgW3N0eWxlLnRvcF09XCInNHB4J1wiXG4gICAgICBbc3R5bGUubGVmdF09XCJcbiAgICAgICAgKGdldFN1cGVyQ29udHJvbD8udmFsdWU/LnRvU3RyaW5nKCk/Lmxlbmd0aCArIDYuNSkgKiA4ICsgJ3B4J1xuICAgICAgXCJcbiAgICAgIGNsYXNzPVwiaW5wdXQtbGFiZWwtY291bnRlclwiXG4gICAgPlxuICAgICAge3sgc2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3IuY291bnQgfX1cbiAgICA8L3A+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gU3BlY2lhbCBEcm9wZG93biBTZWxlY3RlZCBTVkcgd2l0aCBvciBXaXRob3V0IFRleHQgLS0+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIlxuICAgICAgaW5wdXRDb25maWc/LmRyb3Bkb3duSW1hZ2VJbnB1dD8uc3ZnICYmXG4gICAgICAhaW5wdXRDb25maWc/LmhpZGVBbGxJdGVtc0luSW5wdXREcm9wZG93biAmJlxuICAgICAgISghaW5wdXRDb25maWcuZHJvcGRvd25JbWFnZUlucHV0Py53aXRoVGV4dCAmJiBpc0ZvY3VzSW5wdXQpICYmXG4gICAgICAhKFxuICAgICAgICAgIFsndHJ1Y2snLCAndHJhaWxlciddLmluY2x1ZGVzKFxuICAgICAgICAgICAgICBpbnB1dENvbmZpZy5kcm9wZG93bkltYWdlSW5wdXQ/LnRlbXBsYXRlIVxuICAgICAgICAgICkgJiZcbiAgICAgICAgICBpc0ZvY3VzSW5wdXQgJiZcbiAgICAgICAgICBpbnB1dENvbmZpZy5kcm9wZG93bkltYWdlSW5wdXQ/LnJlbW92ZVxuICAgICAgKSAmJlxuICAgICAgIWlucHV0Q29uZmlnPy5kcm9wZG93bkltYWdlSW5wdXQ/Lm5hbWVJbml0aWFsc0luc3RlYWRVcmxcbiAgICBcIlxuICA+XG4gICAgPHN2Zy1pY29uXG4gICAgICAgIFtzcmNdPVwiaW5wdXRDb25maWcuZHJvcGRvd25JbWFnZUlucHV0Py51cmwhXCJcbiAgICAgICAgY2xhc3M9XCJkcm9wZG93bi1zZWxlY3RlZC1pbWFnZSB7e1xuICAgICAgICAgIGlucHV0Q29uZmlnLmRyb3Bkb3duSW1hZ2VJbnB1dD8uY2xhc3NcbiAgICAgICAgfX1cIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ3Vuc2V0LWNvbG9yJzogaXNGb2N1c0lucHV0ICYmIGlucHV0Q29uZmlnLmRyb3Bkb3duSW1hZ2VJbnB1dD8uY2xhc3NcbiAgICAgICAgfVwiXG4gICAgICAgIFtzdmdTdHlsZV09XCJ7XG4gICAgICAgICAgZmlsbDpcbiAgICAgICAgICAgIGlucHV0Q29uZmlnLmRyb3Bkb3duSW1hZ2VJbnB1dD8uY29sb3IgJiYgIWlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICA/IGlucHV0Q29uZmlnLmRyb3Bkb3duSW1hZ2VJbnB1dD8uY29sb3JcbiAgICAgICAgICAgICAgOiAnI2ZmZmZmZidcbiAgICAgICAgfVwiXG4gICAgPlxuICAgIDwvc3ZnLWljb24+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gU3BlY2lhbCBEcm9wZG93biBTZWxlY3RlZCBJbWFnZSBXaXRoIFRleHQgV2l0aCBJbml0aWFscyBuYW1lIC0tPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJcbiAgICAgIGlucHV0Q29uZmlnPy5kcm9wZG93bkltYWdlSW5wdXQ/LmltYWdlICYmXG4gICAgICAhaW5wdXRDb25maWc/LmhpZGVBbGxJdGVtc0luSW5wdXREcm9wZG93biAmJlxuICAgICAgaW5wdXRDb25maWc/LmRyb3Bkb3duSW1hZ2VJbnB1dD8udXJsICYmXG4gICAgICAhaW5wdXRDb25maWc/LmRyb3Bkb3duSW1hZ2VJbnB1dD8ubmFtZUluaXRpYWxzSW5zdGVhZFVybFxuICAgIFwiXG4gID5cbiAgICA8aW1nXG4gICAgICBjbGFzcz1cImRyb3Bkb3duLXNlbGVjdGVkLWltYWdlIG5hbWUtaW5pdGlhbHMtaW5zdGVhZC11cmxcIlxuICAgICAgW3NyY109XCJpbnB1dENvbmZpZy5kcm9wZG93bkltYWdlSW5wdXQ/LnVybFwiXG4gICAgICBbYWx0XT1cIidJbnB1dCBJbWFnZSdcIlxuICAgIC8+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJcbiAgICAgIGlucHV0Q29uZmlnPy5kcm9wZG93bkltYWdlSW5wdXQ/Lm5hbWVJbml0aWFsc0luc3RlYWRVcmwgJiZcbiAgICAgICFpbnB1dENvbmZpZz8uaGlkZUFsbEl0ZW1zSW5JbnB1dERyb3Bkb3duICYmXG4gICAgICAhKCFpbnB1dENvbmZpZy5kcm9wZG93bkltYWdlSW5wdXQ/LndpdGhUZXh0ICYmIGlzRm9jdXNJbnB1dClcbiAgICBcIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJuby1wcm9maWxlLWltYWdlIGRyb3Bkb3duLXNlbGVjdGVkLWltYWdlIG5hbWUtaW5pdGlhbHMtaW5zdGVhZC11cmxcIlxuICAgID5cbiAgICAgIDxhcHAtY2EtcHJvZmlsZS1pbWFnZVxuICAgICAgICAgIFtpbmR4XT1cIjBcIlxuICAgICAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgICAgIFt0eXBlXT1cIid1c2VyJ1wiXG4gICAgICAgICAgW25hbWVdPVwiaW5wdXRDb25maWcuZHJvcGRvd25JbWFnZUlucHV0Py5uYW1lSW5pdGlhbHNJbnN0ZWFkVXJsIVwiXG4gICAgICA+XG4gICAgICA8L2FwcC1jYS1wcm9maWxlLWltYWdlPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tIE11bHRpcGxlIElucHV0IFZhbHVlcyAtLT5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwiXG4gICAgICBpbnB1dENvbmZpZz8ubXVsdGlwbGVJbnB1dFZhbHVlcz8ub3B0aW9ucz8ubGVuZ3RoICYmICFpc0ZvY3VzSW5wdXRcbiAgICBcIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJpbnB1dC1jb250cm9sIHt7XG4gICAgICAgIGlucHV0Q29uZmlnLm11bHRpcGxlSW5wdXRWYWx1ZXM/LmN1c3RvbUNsYXNzXG4gICAgICB9fVwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlRHJvcGRvd25PcHRpb25zKClcIlxuICAgID5cbiAgICAgIDxzcGFuXG4gICAgICAgIHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOiA2cHg7IGFsaWduLWl0ZW1zOiBjZW50ZXJcIlxuICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICBsZXQgaXRlbSBvZiBpbnB1dENvbmZpZy5tdWx0aXBsZUlucHV0VmFsdWVzPy5vcHRpb25zO1xuICAgICAgICAgIGxldCBpbmR4ID0gaW5kZXg7XG4gICAgICAgICAgdHJhY2tCeTogdHJhY2tJZGVudGl0eVxuICAgICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgICAgPCEtLSBJbWFnZSAvIFNWRyAtLT5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbT8ubG9nb05hbWUgJiYgaXRlbT8uaXNJbWdcIj5cbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbT8ubG9nb05hbWUgIT09ICduby11cmwnXCI+XG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzE4cHgnLFxuICAgICAgICAgICAgICAgICAgICAnYXNwZWN0LXJhdGlvJzogMSxcbiAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpcyc6ICcycHgnXG4gICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaXRlbS5sb2dvTmFtZVwiXG4gICAgICAgICAgICAgICAgICBbYWx0XT1cIml0ZW0udmFsdWVcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5sb2dvTmFtZSA9PT0gJ25vLXVybCdcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm8tcHJvZmlsZS1pbWFnZVwiPlxuICAgICAgICAgICAgICAgICAgPGFwcC1jYS1wcm9maWxlLWltYWdlXG4gICAgICAgICAgICAgICAgICAgIFtpbmR4XT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCInc21hbGwnXCJcbiAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwiaXRlbS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICA+PC9hcHAtY2EtcHJvZmlsZS1pbWFnZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gIFxuICAgICAgICAgICAgICA8IS0tIE93bmVyIEZsYWcgLS0+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtPy5pc093bmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxvYWQtZGlzcGF0Y2hlcy10dGQtb3duZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxzdmctaWNvblxuICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImlucHV0U3ZnUm91dGVzLm93bmVyQmFkZ2VCbHVlU3ZnXCJcbiAgICAgICAgICAgICAgICAgID48L3N2Zy1pY29uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0/LmxvZ29OYW1lICYmIGl0ZW0/LmlzU3ZnXCI+XG4gICAgICAgICAgICA8c3ZnLWljb25cbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICdwYXlyb2xsLWRlZHVjdGlvbi10cnVjay1zdmcnOiB0ZW1wbGF0ZSA9PT0gZHJvcGRvd25UZW1wbGF0ZVR5cGVFbnVtLlBBWVJPTExfVFJVQ0tTXG4gICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICBjbGFzcz1cInt7IGl0ZW0/LnN1YkZvbGRlciB9fVwiXG4gICAgICAgICAgICAgIFtzcmNdPVwiaXRlbT8ubG9nb05hbWUhXCJcbiAgICAgICAgICAgID48L3N2Zy1pY29uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICBcbiAgICAgICAgICA8IS0tIFRleHQgLS0+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtPy5pc1Byb2dyZXNzQmFyXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cIm11bHRpcGxlLWlucHV0LXRleHRcIlxuICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICcjMkYyRjJGJ1xuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgIGNvdW50ZXI6IGl0ZW0/LmlzQ291bnRlcixcbiAgICAgICAgICAgICAgICAnY291bnRlci1vbmUnOiBpdGVtPy52YWx1ZSA9PT0gMVxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgaXRlbS52YWx1ZSB9fVxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbT8uc2Vjb25kX3ZhbHVlXCI+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgY29sb3I6ICcjOTE5MTkxJyB9XCJcbiAgICAgICAgICAgICAgICAgID57eyBpdGVtLnNlY29uZF92YWx1ZSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gIFxuICAgICAgICAgIDwhLS0gTG9hZCBCcm9rZXIgUHJvZ3Jlc3NCYXIgLS0+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0/LmlzUHJvZ3Jlc3NCYXJcIj5cbiAgICAgICAgICAgIDxjYS1sb2FkLW1vZGFsLXByb2dyZXNzLWJhclxuICAgICAgICAgICAgICBbdG90YWxBbW91bnRdPVwiaXRlbS5zZWNvbmRfdmFsdWUhXCJcbiAgICAgICAgICAgICAgW2F2YWlsYWJsZUNyZWRpdF09XCJpdGVtLnZhbHVlID8gaXRlbS52YWx1ZSA6IDBcIlxuICAgICAgICAgICAgPjwvY2EtbG9hZC1tb2RhbC1wcm9ncmVzcy1iYXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIFxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tIE11bHRpcGxlIElucHV0IFBsYWNlaG9sZGVyIC0tPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJcbiAgICAgIGlucHV0Q29uZmlnPy5tdWx0aXBsZUlucHV0VmFsdWVzPy5vcHRpb25zPy5sZW5ndGggJiZcbiAgICAgIGlzRm9jdXNJbnB1dCAmJlxuICAgICAgIWdldFN1cGVyQ29udHJvbD8udmFsdWVcbiAgICBcIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJpbnB1dC1jb250cm9sIG11bHRpcGxlLWlucHV0LXBsYWNlaG9sZGVyIHt7XG4gICAgICAgIGlucHV0Q29uZmlnLm11bHRpcGxlSW5wdXRWYWx1ZXM/LmN1c3RvbUNsYXNzXG4gICAgICB9fVwiXG4gICAgICBbbmdDbGFzc109XCJ7IFxuICAgICAgICBmb2N1czogaXNGb2N1c0lucHV0LFxuICAgICAgICAncGF5cm9sbC1kZWR1Y3Rpb24tdHJ1Y2snOiB0ZW1wbGF0ZSA9PT0gZHJvcGRvd25UZW1wbGF0ZVR5cGVFbnVtLlBBWVJPTExfVFJVQ0tTXG4gICAgICB9XCJcbiAgICA+XG4gICAgICA8c3BhblxuICAgICAgICBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGdhcDogNnB4OyBhbGlnbi1pdGVtczogY2VudGVyXCJcbiAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgbGV0IGl0ZW0gb2YgaW5wdXRDb25maWcubXVsdGlwbGVJbnB1dFZhbHVlcz8ub3B0aW9ucztcbiAgICAgICAgICBsZXQgaW5keCA9IGluZGV4O1xuICAgICAgICAgIHRyYWNrQnk6IHRyYWNrSWRlbnRpdHlcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPCEtLSBJbWFnZSAvIFNWRyAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0/LmxvZ29OYW1lICYmIGl0ZW0/LmlzSW1nXCI+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2ZvY3VzYWJsZS1pbWFnZSc6IGlzRm9jdXNJbnB1dCB9XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbT8ubG9nb05hbWUgIT09ICduby11cmwnXCI+XG4gICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogJzE4cHgnLFxuICAgICAgICAgICAgICAgICAgJ2FzcGVjdC1yYXRpbyc6IDEsXG4gICAgICAgICAgICAgICAgICAnYm9yZGVyLXJhZGlzJzogJzJweCdcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICBbc3JjXT1cIml0ZW0ubG9nb05hbWVcIlxuICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS52YWx1ZVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmxvZ29OYW1lID09PSAnbm8tdXJsJ1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm8tcHJvZmlsZS1pbWFnZVwiPlxuICAgICAgICAgICAgICAgIDxhcHAtY2EtcHJvZmlsZS1pbWFnZVxuICAgICAgICAgICAgICAgICAgICBbaW5keF09XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgW3NpemVdPVwiJ3NtYWxsJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIml0ZW0udmFsdWUhXCJcbiAgICAgICAgICAgICAgICA+PC9hcHAtY2EtcHJvZmlsZS1pbWFnZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICBcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0/LmxvZ29OYW1lICYmIGl0ZW0/LmlzU3ZnXCI+XG4gICAgICAgICAgPHN2Zy1pY29uXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7IFxuICAgICAgICAgICAgICAnZm9jdXNhYmxlLXN2Zyc6IGlzRm9jdXNJbnB1dCxcbiAgICAgICAgICAgICAgJ3BheXJvbGwtZGVkdWN0aW9uLXRydWNrLXN2Zyc6IHRlbXBsYXRlID09PSBkcm9wZG93blRlbXBsYXRlVHlwZUVudW0uUEFZUk9MTF9UUlVDS1NcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgY2xhc3M9XCJ7eyBpdGVtPy5zdWJGb2xkZXIgfX0ge3tcbiAgICAgICAgICAgICAgaXRlbT8ubG9nb1R5cGU/LnRyaW0oKT8ucmVwbGFjZSgnICcsICcnKT8udG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgfX1cIlxuICAgICAgICAgICAgW3NyY109XCJpdGVtPy5sb2dvTmFtZSFcIlxuICAgICAgICAgID48L3N2Zy1pY29uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgXG4gICAgICAgIDwhLS0gVGV4dCAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtPy5pc1Byb2dyZXNzQmFyXCI+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwibXVsdGlwbGUtaW5wdXQtdGV4dFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICdmb2N1c2FibGUtdGV4dCc6IGlzRm9jdXNJbnB1dCxcbiAgICAgICAgICAgICAgY291bnRlcjogaXRlbT8uaXNDb3VudGVyLFxuICAgICAgICAgICAgICAnY291bnRlci1mb2N1cyc6IGl0ZW0/LmlzQ291bnRlciAmJiBpc0ZvY3VzSW5wdXQsXG4gICAgICAgICAgICAgICdjb3VudGVyLW9uZSc6IGl0ZW0/LnZhbHVlID09PSAxLFxuICAgICAgICAgICAgICAnY2EtYWRkLWRvdCc6IHRlbXBsYXRlID09PSBkcm9wZG93blRlbXBsYXRlVHlwZUVudW0uTE9BRF9ESVNQQVRDSEVSXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAgICAgY29sb3I6ICcjNkY5RUUwJ1xuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgaXRlbS52YWx1ZSB9fVxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0/LnNlY29uZF92YWx1ZVwiPlxuICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtLnNlY29uZF92YWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gIFxuICAgICAgICA8IS0tIExvYWQgQnJva2VyIFByb2dyZXNzQmFyIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbT8uaXNQcm9ncmVzc0JhclwiPlxuICAgICAgICAgIDxjYS1sb2FkLW1vZGFsLXByb2dyZXNzLWJhclxuICAgICAgICAgICAgW3RvdGFsQW1vdW50XT1cIml0ZW0uc2Vjb25kX3ZhbHVlIVwiXG4gICAgICAgICAgICBbYXZhaWxhYmxlQ3JlZGl0XT1cIml0ZW0udmFsdWUgPyBpdGVtLnZhbHVlIDogMFwiXG4gICAgICAgICAgICBbaW5wdXRGb2N1c109XCJpc0ZvY3VzSW5wdXRcIlxuICAgICAgICAgID48L2NhLWxvYWQtbW9kYWwtcHJvZ3Jlc3MtYmFyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPGlucHV0XG4gICAgI2lucHV0XG4gICAgW3R5cGVdPVwiaW5wdXRDb25maWcudHlwZSB8IGlucHV0VHlwZTogaXNUb2dnbGVQYXNzd29yZFwiXG4gICAgW2lkXT1cImlucHV0Q29uZmlnLmlkID8gaW5wdXRDb25maWcuaWQgOiBpbnB1dENvbmZpZy5uYW1lXCJcbiAgICBbbmFtZV09XCJpbnB1dENvbmZpZy5uYW1lXCJcbiAgICBbZGlzYWJsZWRdPVwiaW5wdXRDb25maWcuaXNEaXNhYmxlZCFcIlxuICAgIFthdXRvY29tcGxldGVdPVwiaW5wdXRDb25maWcuYXV0b2NvbXBsZXRlID8gaW5wdXRDb25maWcuYXV0b2NvbXBsZXRlIDogJ29mZidcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJcbiAgICAgIChpbnB1dENvbmZpZy5wbGFjZWhvbGRlckluc3RlYWRPZkxhYmVsICYmXG4gICAgICBpbnB1dENvbmZpZy5wbGFjZWhvbGRlciAmJlxuICAgICAgaXNGb2N1c0lucHV0XG4gICAgICAgID8gaW5wdXRDb25maWcucGxhY2Vob2xkZXJcbiAgICAgICAgOiAnJykgfHxcbiAgICAgIChpbnB1dENvbmZpZy5wbGFjZWhvbGRlciAmJiBpc0ZvY3VzSW5wdXQgPyBpbnB1dENvbmZpZy5wbGFjZWhvbGRlciA6ICcnKVxuICAgIFwiXG4gICAgW21pbkxlbmd0aF09XCJpbnB1dENvbmZpZy5taW5MZW5ndGggPyBpbnB1dENvbmZpZy5taW5MZW5ndGggOiAwXCJcbiAgICBbbWF4TGVuZ3RoXT1cImlucHV0Q29uZmlnLm1heExlbmd0aCA/IGlucHV0Q29uZmlnLm1heExlbmd0aCA6IDk5OVwiXG4gICAgW21hc2tdPVwiaW5wdXRDb25maWcubWFza1wiXG4gICAgW21pbl09XCJpbnB1dENvbmZpZy5taW4gPyBpbnB1dENvbmZpZy5taW4gOiAwXCJcbiAgICBbbWF4XT1cImlucHV0Q29uZmlnLm1heFwiXG4gICAgW3N0ZXBdPVwiaW5wdXRDb25maWcuc3RlcCA/IGlucHV0Q29uZmlnLnN0ZXAgOiBudWxsXCJcbiAgICBbcmVhZE9ubHldPVwiaW5wdXRDb25maWcucmVhZE9ubHlcIlxuICAgIGFwcE1pbk1heFZhbHVlXG4gICAgW21pblZhbHVlXT1cImlucHV0Q29uZmlnLm1pbiFcIlxuICAgIFttYXhWYWx1ZV09XCJpbnB1dENvbmZpZy5tYXghXCJcbiAgICBpbnB1dGZvcm1hdD1cImRkLW1tLXl5XCJcbiAgICBjbGFzcz1cImlucHV0LWNvbnRyb2xcbiAge3sgaW5wdXRDb25maWcudGV4dFRyYW5zZm9ybSB9fVxuICB7eyBpbnB1dENvbmZpZy50ZXh0QWxpZ24gfX1cbiAge3sgaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cbiAgXCJcbiAgICBbbmdDbGFzc109XCJcbiAgICAgIGdldFN1cGVyQ29udHJvbFxuICAgICAgICB8IGlucHV0Q2xhc3NcbiAgICAgICAgICA6IGlzRm9jdXNJbnB1dFxuICAgICAgICAgIDogaXNUb3VjaGVkSW5wdXRcbiAgICAgICAgICA6IGlucHV0Q29uZmlnXG4gICAgICAgICAgOiBpbnB1dFxuICAgICAgICAgIDogaXNWaXNpYmxlQ29tbWFuZHNcbiAgICAgICAgICA6IGdldFN1cGVyQ29udHJvbD8udmFsdWVcbiAgICAgICAgICA6IGlzRHJvcGRvd25Ub2dnbGVyXG4gICAgICAgICAgOiBpc0VkaXRJbnB1dFxuICAgICAgICAgIDogdGVtcGxhdGVcbiAgICBcIlxuICAgIChrZXlwcmVzcyk9XCJvbktleVByZXNzKCRldmVudClcIlxuICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpXCJcbiAgICAoa2V5dXApPVwib25LZXl1cCgkZXZlbnQpXCJcbiAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgKHNlbGVjdCk9XCJzZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgKGlucHV0KT1cIm9uQ2hhbmdlKCRhbnkoJGV2ZW50LnRhcmdldCkudmFsdWUpOyB0cmFuc2Zvcm1UZXh0KCRldmVudClcIlxuICAgIFsobmdNb2RlbCldPVwiaW5wdXQudmFsdWVcIlxuICAgIFtuZ1N0eWxlXT1cIlxuICAgICAgaW5wdXRDb25maWcuc3RhdHVzU3R5bGUgPyAoaW5wdXQudmFsdWUgfCBsb2FkU3RhdHVzQ29sb3IpIDogJydcbiAgICBcIlxuICAvPlxuXG4gIDwhLS0gUGxhY2Vob2xkZXIgSWNvbiBvbiBSaWdodCBTaWRlIC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXRDb25maWcucGxhY2Vob2xkZXJJY29uUmlnaHRTaWRlXCI+XG4gICAgPHN2Zy1pY29uXG4gICAgICBjbGFzcz1cInBsYWNlaG9sZGVyLWljb24tcmlnaHQtc2lkZSB7e1xuICAgICAgICBpbnB1dENvbmZpZy5wbGFjZWhvbGRlckljb25Db2xvclxuICAgICAgfX1cIlxuICAgICAgW25nQ2xhc3NdPVwiXG4gICAgICAgIGlzRm9jdXNJbnB1dFxuICAgICAgICAgIHwgaW5wdXRQbGFjZWhvbGRlckljb25SaWdodENsYXNzXG4gICAgICAgICAgICA6IGdldFN1cGVyQ29udHJvbFxuICAgICAgICAgICAgOiBpbnB1dENvbmZpZ1xuICAgICAgICAgICAgOiBpc1RvdWNoZWRJbnB1dFxuICAgICAgICAgICAgOiBnZXRTdXBlckNvbnRyb2w/LnZhbHVlXG4gICAgICBcIlxuICAgICAgW3NyY109XCJcbiAgICAgICAgaW5wdXRDb25maWcucGxhY2Vob2xkZXJJY29uUmlnaHRTaWRlLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICB8IGNhU3ZnIDogJ2NvbW1vbidcbiAgICAgIFwiXG4gICAgPjwvc3ZnLWljb24+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gSW5wdXQgRXJyb3IgTWVzc2FnZSAtLT5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwiXG4gICAgICAhKCFnZXRTdXBlckNvbnRyb2w/LnZhbHVlICYmIGlzRm9jdXNJbnB1dCkgJiZcbiAgICAgIChpc1RvdWNoZWRJbnB1dCB8fCBnZXRTdXBlckNvbnRyb2w/LnRvdWNoZWQgfHwgZ2V0U3VwZXJDb250cm9sPy52YWx1ZSkgJiZcbiAgICAgIGdldFN1cGVyQ29udHJvbD8uaW52YWxpZCAmJlxuICAgICAgIWlucHV0Q29uZmlnLmlzSW52YWxpZFNlYXJjaEluRHJvcGRvd24gJiZcbiAgICAgICFpbnB1dENvbmZpZy5pc0Rpc2FibGVkXG4gICAgXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhKGlucHV0Q29uZmlnLmhpZGVFcnJvck1lc3NhZ2UgfHwgaW5wdXRDb25maWcuZXJyb3JJbnNpZGVJbnB1dClcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZXJyb3Ige3sgaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cIj5cbiAgICAgICAge3sgZ2V0U3VwZXJDb250cm9sPy5lcnJvcnMgfCBpbnB1dEVycm9yOiBpbnB1dENvbmZpZy5uYW1lIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIEVycm9yIE1lc3NhZ2UgSW5zaWRlIElucHV0IC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dENvbmZpZy5lcnJvckluc2lkZUlucHV0XCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImVycm9yLWluc2lkZS1pbnB1dCB7eyBpbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiPlxuICAgICAgICB7eyBnZXRTdXBlckNvbnRyb2w/LmVycm9ycyB8IGlucHV0RXJyb3I6IGlucHV0Q29uZmlnLm5hbWUgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0Q29uZmlnLmZpeGVkUGxhY2hvbGRlciAmJiBpbnB1dC52YWx1ZVwiPlxuICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZml4ZWQtcGxhY2Vob2Rlci1sYWJlbFwiPlxuICAgICAge3sgaW5wdXRDb25maWcuZml4ZWRQbGFjaG9sZGVyIH19XG4gICAgPC9zcGFuPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48IS0tIFBvcG92ZXIgZm9yIERhdGVUaW1lIFBpY2tlcnMgLS0+XG48bmctdGVtcGxhdGUgI2RhdGVUaW1lUG9wb3ZlciBsZXQtZGF0YT1cImRhdGFcIj5cbiAgPGRpdiBjbGFzcz1cImRhdGV0aW1lLWRyb3Bkb3duLWhvbGRlclwiPlxuICAgIDxhcHAtY2EtY3VzdG9tLWRhdGV0aW1lLXBpY2tlcnNcbiAgICAgIFtjYWxlbmRhclR5cGVdPVwiXG4gICAgICAgIGlucHV0Q29uZmlnLm5hbWUgPT09ICdkYXRlcGlja2VyJyB8fFxuICAgICAgICBpbnB1dENvbmZpZy5uYW1lID09PSAnZGF0ZXBpY2tlckJhbmtDYXJkJ1xuICAgICAgICAgID8gJ2RhdGUnXG4gICAgICAgICAgOiAndGltZSdcbiAgICAgIFwiXG4gICAgICBbaW5wdXRDb25maWddPVwiaW5wdXRDb25maWdcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIidNTS9ERC9ZWSdcIlxuICAgICAgW2RhdGVUaW1lXT1cImRhdGVUaW1lSW5wdXREYXRlXCJcbiAgICAgIChjbG9zZVBvcG92ZXIpPVwiY2xvc2VQb3BvdmVyKClcIlxuICAgID48L2FwcC1jYS1jdXN0b20tZGF0ZXRpbWUtcGlja2Vycz5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
|
package/esm2022/lib/components/ca-input/components/ca-input-clear/ca-input-clear.component.mjs
CHANGED
|
@@ -31,7 +31,7 @@ export class CaInputClearComponent {
|
|
|
31
31
|
// Pipes
|
|
32
32
|
InputClearClassPipe, name: "inputClearClass" }, { kind: "component", type:
|
|
33
33
|
// Components
|
|
34
|
-
CaAppTooltipV2Component, selector: "mainCaTooltip, [mainCaTooltip]", inputs: ["mainCaTooltip", "position", "openTooltipDelay", "tooltipBackground", "tooltipColor", "tooltipTextAlign", "tooltipMarginTop"] }] }); }
|
|
34
|
+
CaAppTooltipV2Component, selector: "mainCaTooltip, [mainCaTooltip]", inputs: ["mainCaTooltip", "position", "openTooltipDelay", "tooltipBackground", "tooltipColor", "tooltipTextAlign", "tooltipMarginTop", "disableTooltip"] }] }); }
|
|
35
35
|
}
|
|
36
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CaInputClearComponent, decorators: [{
|
|
37
37
|
type: Component,
|
package/esm2022/lib/components/ca-input/components/ca-input-commands/ca-input-commands.component.mjs
CHANGED
|
@@ -24,7 +24,7 @@ export class CaInputCommandsComponent {
|
|
|
24
24
|
// Module
|
|
25
25
|
CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AngularSvgIconModule }, { kind: "component", type: i2.SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "applyCss", "svgClass", "class", "viewBox", "svgAriaLabel", "svgStyle"] }, { kind: "ngmodule", type: NgbModule }, { kind: "directive", type: i3.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type:
|
|
26
26
|
// Components
|
|
27
|
-
CaAppTooltipV2Component, selector: "mainCaTooltip, [mainCaTooltip]", inputs: ["mainCaTooltip", "position", "openTooltipDelay", "tooltipBackground", "tooltipColor", "tooltipTextAlign", "tooltipMarginTop"] }] }); }
|
|
27
|
+
CaAppTooltipV2Component, selector: "mainCaTooltip, [mainCaTooltip]", inputs: ["mainCaTooltip", "position", "openTooltipDelay", "tooltipBackground", "tooltipColor", "tooltipTextAlign", "tooltipMarginTop", "disableTooltip"] }] }); }
|
|
28
28
|
}
|
|
29
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CaInputCommandsComponent, decorators: [{
|
|
30
30
|
type: Component,
|
package/esm2022/lib/components/ca-input/components/ca-input-password/ca-input-password.component.mjs
CHANGED
|
@@ -29,7 +29,7 @@ export class CaInputPasswordComponent {
|
|
|
29
29
|
// modules
|
|
30
30
|
CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AngularSvgIconModule }, { kind: "component", type: i2.SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "applyCss", "svgClass", "class", "viewBox", "svgAriaLabel", "svgStyle"] }, { kind: "ngmodule", type: NgbModule }, { kind: "directive", type: i3.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type:
|
|
31
31
|
// components
|
|
32
|
-
CaAppTooltipV2Component, selector: "mainCaTooltip, [mainCaTooltip]", inputs: ["mainCaTooltip", "position", "openTooltipDelay", "tooltipBackground", "tooltipColor", "tooltipTextAlign", "tooltipMarginTop"] }, { kind: "pipe", type:
|
|
32
|
+
CaAppTooltipV2Component, selector: "mainCaTooltip, [mainCaTooltip]", inputs: ["mainCaTooltip", "position", "openTooltipDelay", "tooltipBackground", "tooltipColor", "tooltipTextAlign", "tooltipMarginTop", "disableTooltip"] }, { kind: "pipe", type:
|
|
33
33
|
// pipes
|
|
34
34
|
InputPasswordEyeClassPipe, name: "inputPasswordEyeClass" }] }); }
|
|
35
35
|
}
|
|
@@ -40,7 +40,7 @@ export class CaInputPlaceholderIconComponent {
|
|
|
40
40
|
// modules
|
|
41
41
|
CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: AngularSvgIconModule }, { kind: "component", type: i3.SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "applyCss", "svgClass", "class", "viewBox", "svgAriaLabel", "svgStyle"] }, { kind: "ngmodule", type: NgbModule }, { kind: "directive", type: i4.NgbPopover, selector: "[ngbPopover]", inputs: ["animation", "autoClose", "ngbPopover", "popoverTitle", "placement", "popperOptions", "triggers", "positionTarget", "container", "disablePopover", "popoverClass", "popoverContext", "openDelay", "closeDelay"], outputs: ["shown", "hidden"], exportAs: ["ngbPopover"] }, { kind: "directive", type: i4.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type:
|
|
42
42
|
// components
|
|
43
|
-
CaAppTooltipV2Component, selector: "mainCaTooltip, [mainCaTooltip]", inputs: ["mainCaTooltip", "position", "openTooltipDelay", "tooltipBackground", "tooltipColor", "tooltipTextAlign", "tooltipMarginTop"] }, { kind: "pipe", type:
|
|
43
|
+
CaAppTooltipV2Component, selector: "mainCaTooltip, [mainCaTooltip]", inputs: ["mainCaTooltip", "position", "openTooltipDelay", "tooltipBackground", "tooltipColor", "tooltipTextAlign", "tooltipMarginTop", "disableTooltip"] }, { kind: "pipe", type:
|
|
44
44
|
// pipes
|
|
45
45
|
InputPlaceholderIconClassPipe, name: "inputPlaceholderIconClass" }, { kind: "pipe", type: CaSvgPipe, name: "caSvg" }, { kind: "directive", type:
|
|
46
46
|
// directive
|
package/esm2022/lib/components/ca-input-address-dropdown/ca-input-address-dropdown.component.mjs
CHANGED
|
@@ -311,7 +311,7 @@ export class CaInputAddressDropdownComponent {
|
|
|
311
311
|
// Modules
|
|
312
312
|
CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: NgbModule }, { kind: "directive", type: i3.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: AngularSvgIconModule }, { kind: "component", type: i4.SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "applyCss", "svgClass", "class", "viewBox", "svgAriaLabel", "svgStyle"] }, { kind: "ngmodule", type: HttpClientModule }, { kind: "component", type:
|
|
313
313
|
// Components
|
|
314
|
-
CaInputDropdownComponent, selector: "app-ca-input-dropdown", inputs: ["template", "multiselectTemplate", "inputConfig", "canAddNew", "canOpenModal", "sort", "activeItem", "activeItemColor", "labelMode", "options", "preloadMultiselectItems", "isDetailsPages", "isIncorrectValue"], outputs: ["selectedItem", "selectedItems", "selectedItemColor", "selectedLabelMode", "closeDropdown", "saveItem", "incorrectEvent", "placeholderIconEvent", "pagination", "activeGroup", "clearInputEvent"] }, { kind: "component", type: CaAppTooltipV2Component, selector: "mainCaTooltip, [mainCaTooltip]", inputs: ["mainCaTooltip", "position", "openTooltipDelay", "tooltipBackground", "tooltipColor", "tooltipTextAlign", "tooltipMarginTop"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
314
|
+
CaInputDropdownComponent, selector: "app-ca-input-dropdown", inputs: ["template", "multiselectTemplate", "inputConfig", "canAddNew", "canOpenModal", "sort", "activeItem", "activeItemColor", "labelMode", "options", "preloadMultiselectItems", "isDetailsPages", "isIncorrectValue"], outputs: ["selectedItem", "selectedItems", "selectedItemColor", "selectedLabelMode", "closeDropdown", "saveItem", "incorrectEvent", "placeholderIconEvent", "pagination", "activeGroup", "clearInputEvent"] }, { kind: "component", type: CaAppTooltipV2Component, selector: "mainCaTooltip, [mainCaTooltip]", inputs: ["mainCaTooltip", "position", "openTooltipDelay", "tooltipBackground", "tooltipColor", "tooltipTextAlign", "tooltipMarginTop", "disableTooltip"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
315
315
|
}
|
|
316
316
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CaInputAddressDropdownComponent, decorators: [{
|
|
317
317
|
type: Component,
|