ca-components 1.0.72 → 1.0.74
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/assets/scss/custompickers.scss +0 -111
- package/assets/scss/details_page_ske.scss +1 -1921
- package/assets/scss/tooltip.scss +7 -0
- package/esm2022/lib/components/ca-activity-log-list/ca-activity-log-list.component.mjs +6 -6
- package/esm2022/lib/components/ca-collapsible-filter/ca-collapsible-filter.component.mjs +2 -2
- 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 +3 -3
- package/esm2022/lib/components/ca-custom-scrollbar/ca-custom-scrollbar.component.mjs +205 -0
- package/esm2022/lib/components/ca-details-dropdown/ca-details-dropdown.component.mjs +2 -2
- package/esm2022/lib/components/ca-dropdown-menu/ca-dropdown-menu.component.mjs +2 -2
- package/esm2022/lib/components/ca-filters/ca-filter.component.mjs +2 -2
- package/esm2022/lib/components/ca-filters/components/ca-dispatcher-filter/ca-dispatcher-filter.component.mjs +2 -2
- package/esm2022/lib/components/ca-filters/components/ca-location-filter/ca-location-filter.component.mjs +2 -2
- package/esm2022/lib/components/ca-filters/components/ca-money-filter/ca-money-filter.component.mjs +2 -2
- package/esm2022/lib/components/ca-filters/components/ca-pm-filter/ca-pm-filter.component.mjs +2 -2
- package/esm2022/lib/components/ca-filters/components/ca-state-filter/ca-state-filter.component.mjs +2 -2
- package/esm2022/lib/components/ca-filters/components/ca-status-filter/ca-status-filter.component.mjs +2 -2
- package/esm2022/lib/components/ca-filters/components/ca-time-filter/ca-time-filter.component.mjs +3 -3
- package/esm2022/lib/components/ca-filters/components/ca-trailer-type-filter/ca-trailer-type-filter.component.mjs +2 -2
- package/esm2022/lib/components/ca-filters/components/ca-truck-type-filter/ca-truck-type-filter.component.mjs +2 -2
- package/esm2022/lib/components/ca-filters/components/ca-user-filter/ca-user-filter.component.mjs +2 -2
- package/esm2022/lib/components/ca-filters/components/ca-violation-filter/ca-violation-filter.component.mjs +2 -2
- package/esm2022/lib/components/ca-input/ca-input.component.mjs +2 -2
- package/esm2022/lib/components/ca-input-address-dropdown/ca-input-address-dropdown.component.mjs +2 -2
- package/esm2022/lib/components/ca-input-dropdown/ca-input-dropdown.component.mjs +2 -2
- package/esm2022/lib/components/ca-input-note/ca-input-note.component.mjs +2 -2
- package/esm2022/lib/components/ca-logo-change/ca-logo-change.component.mjs +3 -3
- package/esm2022/lib/components/ca-map-dropdown/ca-map-dropdown.component.mjs +2 -2
- package/esm2022/lib/components/ca-modal/ca-modal.component.mjs +9 -3
- package/esm2022/lib/components/ca-modal-button/ca-modal-button.component.mjs +5 -5
- package/esm2022/lib/components/ca-modal-button/enums/modal-button-size.enum.mjs +1 -1
- package/esm2022/lib/components/ca-modal-button/enums/modal-button-type.enum.mjs +1 -4
- package/esm2022/lib/components/ca-ngx-slider/ca-ngx-slider.component.mjs +2 -2
- 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-payroll-list-summary-overview/ca-payroll-list-summary-overview.component.mjs +2 -2
- package/esm2022/lib/components/ca-period-content/ca-period-content.component.mjs +2 -2
- package/esm2022/lib/components/ca-period-content/components/ca-period-content-extra-info/ca-period-content-extra-info.component.mjs +3 -3
- 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-period-content/components/ca-period-content-user-info/ca-period-content-user-info.component.mjs +3 -3
- package/esm2022/lib/components/ca-pickup-delivery-block/ca-pickup-delivery-block.component.mjs +3 -3
- package/esm2022/lib/components/ca-pickup-delivery-block/components/ca-load/ca-load.component.mjs +3 -3
- package/esm2022/lib/components/ca-pickup-delivery-block/components/ca-load/components/ca-load-list/ca-load-list.component.mjs +3 -3
- package/esm2022/lib/components/ca-pickup-delivery-block/components/ca-load/components/ca-load-single/ca-load-single.component.mjs +3 -3
- package/esm2022/lib/components/ca-profile-image/ca-profile-image.component.mjs +3 -3
- package/esm2022/lib/components/ca-progress-bar/ca-progress-bar.component.mjs +2 -2
- package/esm2022/lib/components/ca-progress-expiration/ca-progress-expiration.component.mjs +3 -3
- 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-rating-review/components/ca-ratings-reviews-popup/ca-ratings-reviews-popup.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 +3 -3
- package/esm2022/lib/components/ca-right-side-panel/components/ca-right-side-panel-menu/ca-right-side-panel-menu.component.mjs +3 -3
- package/esm2022/lib/components/ca-right-side-panel/components/ca-right-side-panel-top-bar/ca-right-side-panel-top-bar.component.mjs +3 -3
- package/esm2022/lib/components/ca-search-multiple-states/ca-search-multiple-states.component.mjs +10 -15
- package/esm2022/lib/components/ca-sort-dropdown/ca-sort-dropdown.component.mjs +2 -2
- package/esm2022/lib/components/ca-spinner/ca-spinner.component.mjs +2 -2
- package/esm2022/lib/components/ca-tab-switch/ca-tab-switch.component.mjs +3 -3
- package/esm2022/lib/components/ca-todo/ca-todo.component.mjs +3 -3
- package/esm2022/lib/components/ca-todo/components/ca-todo-card.component.mjs +3 -3
- package/esm2022/lib/components/ca-tooltip-list/ca-tooltip-list.component.mjs +3 -3
- package/esm2022/lib/components/ca-truck-trailer-progress-bar/ca-truck-trailer-progress-bar.component.mjs +2 -2
- package/esm2022/lib/components/ca-upload-files/ca-upload-files.component.mjs +3 -3
- package/esm2022/lib/components/ca-upload-files/components/ca-upload-dropzone/ca-upload-dropzone.component.mjs +3 -3
- 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 +3 -3
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/ca-components.mjs +330 -131
- package/fesm2022/ca-components.mjs.map +1 -1
- package/lib/components/ca-custom-scrollbar/ca-custom-scrollbar.component.d.ts +44 -0
- package/lib/components/ca-modal-button/ca-modal-button.component.d.ts +2 -2
- package/lib/components/ca-modal-button/enums/modal-button-type.enum.d.ts +0 -3
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/src/assets/ca-components/svg/input/ic_coordinates.svg +6 -0
|
@@ -255,7 +255,7 @@ export class CaUploadDropzoneComponent {
|
|
|
255
255
|
provideLottieOptions({
|
|
256
256
|
player: () => import('lottie-web'),
|
|
257
257
|
}),
|
|
258
|
-
], viewQueries: [{ propertyName: "dropZone", first: true, predicate: ["dropZone"], descendants: true }, { propertyName: "templateRef", predicate: TemplateContainerDirective, descendants: true }], ngImport: i0, template: "<div\n class=\"dropzone-container d-flex align-items-center justify-content-center\"\n [ngClass]=\"{\n 'split-dropzone': isDropzoneShownInCrop,\n unSupported: isSupportedType,\n expanded: isDropzoneExpanded && !isSupportedType,\n 'disabled-dropzone': files.length >= this.limit && this.limit > 0,\n }\"\n [ngStyle]=\"{\n width:\n files.length === 0\n ? customWidth || '448px'\n : files.length === 1\n ? '296px'\n : files.length === 2\n ? '148px'\n : files.length === 3\n ? '148px'\n : '148px',\n }\"\n>\n <ng-container *ngFor=\"let item of _dropZoneConfigArray; trackBy: identify\">\n <div\n class=\"dropzone-content d-flex align-items-center justify-content-center\"\n [ngClass]=\"{\n 'upload-dropzone-unsupported': isSupportedType,\n expandedContent: isDropzoneExpanded,\n 'column-layout': files.length >= 2,\n }\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate(item.template);\n context: { $implicit: item.config }\n \"\n ></ng-container>\n </div>\n </ng-container>\n</div>\n\n<!-------------Document template-------------->\n<ng-template templateContainer id=\"documentsTemplate\" let-config>\n <!--SVG ICON-->\n <ng-container *ngIf=\"!isShownDropzoneFocus && !isDropzoneExpanded\">\n <ng-container *ngTemplateOutlet=\"dropzoneIconTemplate\"></ng-container>\n </ng-container>\n\n <!--Lottie animation-->\n <ng-container\n *ngIf=\"(isDropzoneExpanded || isShownDropzoneFocus) && !isSupportedType\"\n >\n <ng-container *ngTemplateOutlet=\"lottieAnimationTemplate\"></ng-container>\n </ng-container>\n\n <!--Content for supported and unsupported types-->\n <ng-container *ngTemplateOutlet=\"dropzoneTextTemplate\"> </ng-container>\n\n <!--Supported extensions for unsupported type-->\n <ng-container *ngIf=\"isSupportedType\">\n <ng-container\n *ngTemplateOutlet=\"supportedExtensionsTemplate\"\n ></ng-container>\n </ng-container>\n\n <!--FILE INPUT-->\n <ng-container\n *ngTemplateOutlet=\"fileInputTemplate; context: { $implicit: config }\"\n ></ng-container>\n</ng-template>\n\n<!-------------Media template-------------->\n<ng-template templateContainer id=\"mediaTemplate\" let-config>\n <!--SVG ICON-->\n <ng-container *ngIf=\"!isShownDropzoneFocus && !isDropzoneExpanded\">\n <ng-container *ngTemplateOutlet=\"dropzoneIconTemplate\"></ng-container>\n </ng-container>\n\n <!--Lottie animation-->\n <ng-container\n *ngIf=\"(isDropzoneExpanded || isShownDropzoneFocus) && !isSupportedType\"\n >\n <ng-container *ngTemplateOutlet=\"lottieAnimationTemplate\"></ng-container>\n </ng-container>\n\n <!--Content for supported and unsupported types-->\n <ng-container *ngTemplateOutlet=\"dropzoneTextTemplate\"> </ng-container>\n\n <!--Supported extensions for unsupported type-->\n <ng-container *ngIf=\"isSupportedType\">\n <ng-container\n *ngTemplateOutlet=\"supportedExtensionsTemplate\"\n ></ng-container>\n </ng-container>\n\n <!--FILE INPUT-->\n <ng-container\n *ngTemplateOutlet=\"fileInputTemplate; context: { $implicit: config }\"\n ></ng-container>\n</ng-template>\n\n<!-------------Image template-------------->\n<ng-template templateContainer id=\"imageTemplate\" let-config>\n <!--SVG ICON-->\n <ng-container *ngIf=\"!isShownDropzoneFocus && !isDropzoneExpanded\">\n <ng-container *ngTemplateOutlet=\"dropzoneIconTemplate\"></ng-container>\n </ng-container>\n\n <!--Lottie animation-->\n <ng-container\n *ngIf=\"(isDropzoneExpanded || isShownDropzoneFocus) && !isSupportedType\"\n >\n <ng-container *ngTemplateOutlet=\"lottieAnimationTemplate\"></ng-container>\n </ng-container>\n\n <!--Content for supported and unsupported types-->\n <ng-container *ngTemplateOutlet=\"dropzoneTextTemplate\"> </ng-container>\n\n <!--Supported extensions for unsupported type-->\n <ng-container *ngIf=\"isSupportedType\">\n <ng-container\n *ngTemplateOutlet=\"supportedExtensionsTemplate\"\n ></ng-container>\n </ng-container>\n\n <!--FILE INPUT-->\n <ng-container\n *ngTemplateOutlet=\"fileInputTemplate; context: { $implicit: config }\"\n ></ng-container>\n</ng-template>\n\n<!-------------Image Crop template-------------->\n<ng-template templateContainer id=\"imageCropTemplate\" let-config>\n <!--SVG ICON-->\n <ng-container *ngIf=\"!isShownDropzoneFocus && !isDropzoneExpanded\">\n <ng-container *ngTemplateOutlet=\"dropzoneIconTemplate\"></ng-container>\n </ng-container>\n\n <!--Lottie animation-->\n <ng-container\n *ngIf=\"(isDropzoneExpanded || isShownDropzoneFocus) && !isSupportedType\"\n >\n <ng-container *ngTemplateOutlet=\"lottieAnimationTemplate\"></ng-container>\n </ng-container>\n\n <!--Content for supported and unsupported types-->\n <ng-container *ngTemplateOutlet=\"dropzoneTextTemplate\"> </ng-container>\n\n <!--Supported extensions for unsupported type-->\n <ng-container *ngIf=\"isSupportedType\">\n <ng-container\n *ngTemplateOutlet=\"supportedExtensionsTemplate\"\n ></ng-container>\n </ng-container>\n\n <!--FILE INPUT-->\n <ng-container\n *ngTemplateOutlet=\"fileInputTemplate; context: { $implicit: config }\"\n ></ng-container>\n</ng-template>\n\n<!-------------Logo template-------------->\n<ng-template templateContainer id=\"logoTemplate\" let-config>\n <!--SVG ICON-->\n <ng-container *ngIf=\"!isShownDropzoneFocus && !isDropzoneExpanded\">\n <ng-container *ngTemplateOutlet=\"dropzoneIconTemplate\"></ng-container>\n </ng-container>\n\n <!--Lottie animation-->\n <ng-container\n *ngIf=\"(isDropzoneExpanded || isShownDropzoneFocus) && !isSupportedType\"\n >\n <ng-container *ngTemplateOutlet=\"lottieAnimationTemplate\"></ng-container>\n </ng-container>\n\n <!--Content for supported and unsupported types-->\n <ng-container *ngTemplateOutlet=\"dropzoneTextTemplate\"> </ng-container>\n\n <!--Supported extensions for unsupported type-->\n <ng-container *ngIf=\"isSupportedType\">\n <ng-container\n *ngTemplateOutlet=\"supportedExtensionsTemplate\"\n ></ng-container>\n </ng-container>\n\n <!--FILE INPUT-->\n <ng-container\n *ngTemplateOutlet=\"fileInputTemplate; context: { $implicit: config }\"\n ></ng-container>\n</ng-template>\n\n<!--------------COMMON-TEMPLATE-------------->\n\n<!------INPUT------->\n<ng-template #fileInputTemplate let-config>\n <input\n #dropZone\n [id]=\"'dropZone' + (config.dropzoneOption?.dropzoneIndex || 0)\"\n type=\"file\"\n [accept]=\"config.dropzone?.dropZoneAvailableFiles\"\n [multiple]=\"config.dropzone?.multiple\"\n (change)=\"handleFileChange($event)\"\n style=\"display: none\"\n />\n</ng-template>\n\n<!--DROPZONE_TEXT-->\n<ng-template #dropzoneTextTemplate>\n <div\n class=\"dropzone-text d-flex flex-column align-items-center justify-content-center\"\n >\n <p\n class=\"upload-dropzone-text\"\n [ngClass]=\"{ 'unsupported-text-big': isSupportedType, \n 'max-count': isMaxCountReached()}\"\n >\n <ng-container *ngIf=\"isMaxCountReached(); else normalText\">\n MAX COUNT REACHED\n </ng-container>\n <ng-template #normalText>\n {{ isSupportedType ? 'INVALID FILE TYPE' : 'DRAG ' + dropZoneText }}\n {{ !(isSupportedType || (files && files.length)) ? ' HERE' : '' }}\n </ng-template>\n <ng-container\n *ngIf=\"_dropZoneConfigArray?.[0]?.template === 'mediaTemplate'\"\n >\n <p class=\"media-sizes\">max file size 50mb</p>\n </ng-container>\n </p>\n <ng-container *ngIf=\"!isDropzoneExpanded\">\n <span class=\"upload-dropzone-text-small\">\n <ng-container *ngIf=\"isMaxCountReached(); else formatText\">\n {{ files.length }} FILES IMPORTED\n </ng-container>\n <ng-template #formatText>\n {{ isSupportedType ? 'SUPPORTED FORMATS' : 'OR CLICK TO ADD' }}\n </ng-template>\n </span>\n </ng-container>\n </div>\n</ng-template>\n\n<!------ICON-------->\n<ng-template #dropzoneIconTemplate>\n <svg-icon\n [src]=\"!isSupportedType && !isFileDrop ? iconSrc : dropzoneSvgRoute\"\n [ngClass]=\"{\n 'cancel-unsupported-zone': isSupportedType,\n 'svgIcon-document': files.length < 2,\n 'svg-small': files.length >= 2,\n }\"\n ></svg-icon>\n</ng-template>\n<!-- LOTTIE_ANIMATION -->\n<ng-template #lottieAnimationTemplate>\n <div\n class=\"animation-container d-flex flex-column align-items-center justify-content-center\"\n [ngClass]=\"{ expanded: isDropzoneExpanded }\"\n >\n <ng-lottie\n class=\"static-lottie-animation\"\n [options]=\"lottieOptions\"\n ></ng-lottie>\n </div>\n</ng-template>\n\n<!-- SUPPORTED_EXTENSIONS -->\n<ng-template #supportedExtensionsTemplate>\n <div class=\"supported-extensions d-flex justify-content-center\">\n <span\n class=\"extension extension-{{\n extension\n }} d-flex justify-content-center align-items-center\"\n *ngFor=\"let extension of dropZoneAvailableFiles; trackBy: identify\"\n >{{ extension }}</span\n >\n </div>\n</ng-template>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap\";@import\"https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css\";.ca-font-thin{font-weight:100!important}.ca-font-extra-light{font-weight:200!important}.ca-font-light{font-weight:300!important}.ca-font-regular{font-weight:400!important}.ca-font-medium{font-weight:500!important}.ca-font-semi-bold,.dropzone-container .dropzone-text .upload-dropzone-text-small{font-weight:600!important}.ca-font-bold,.dropzone-container .dropzone-text .upload-dropzone-text{font-weight:700!important}.ca-font-extra-bold{font-weight:800!important}.ca-font-black,.dropzone-container .supported-extensions .extension{font-weight:900!important}.pickup-delivery-popover{top:-38px!important;max-width:340px!important}.pickup-delivery-popover.bs-popover-top{top:auto!important;bottom:-38px!important}.pickup-delivery-popover.bs-popover-top .load-component .assigned-load-holder{order:3;margin-top:4px;margin-bottom:0!important}.pickup-delivery-popover.bs-popover-top .load-component .statusBar{order:2;margin-top:4px}.pickup-delivery-popover.bs-popover-top .load-component .animation-three-tabs{order:1}.gps_dropdown_popover{top:-38px;max-width:494px}.gps_dropdown_popover .popover-body{padding:0}.table-progress-popover{background-color:unset!important;margin-left:-10px}.table-progress-popover .progress-dropdown{margin-top:-6px;width:260px;height:200px;background:#2f2f2f;border-radius:3px;padding:8px;box-shadow:0 0 4px #00000026;overflow:hidden;-webkit-animation:progressAnimation .25s ease-in-out;animation:progressAnimation .25s ease-in-out}.table-progress-popover .progress-dropdown .progress-header .progress-title{font-size:18px;font-weight:600;color:#dadada}.table-progress-popover .progress-dropdown .progress-header .progress-title span{font-weight:400}.table-progress-popover .progress-dropdown .progress-header .progress-total{font-size:14px;line-height:17px;color:#dadada}.table-progress-popover .progress-dropdown .table-progress-bar-container{width:100%;height:8px;margin-top:6px;border-radius:2px;overflow:hidden}.table-progress-popover .progress-dropdown .table-progress-bar-container .table-progress-bar{height:100%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-dual-info-container .progress-info-container{width:50%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container{margin-top:10px}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-title{margin-bottom:2px;font-size:11px;font-weight:700;line-height:14px;color:#ffffffb2}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-text{font-size:14px;line-height:18px;color:#dadada}.table-progress-popover .progress-dropdown.credit-dropdown{height:100px}@-webkit-keyframes progressAnimation{0%{height:0px}to{height:220px}}@keyframes progressAnimation{0%{height:0px}to{height:220px}}ngb-popover-window{padding:unset!important;border:unset!important}ngb-popover-window .popover-arrow{display:none!important}ngb-popover-window .popover-body{padding:unset!important}.dispatch-note .popover-body{position:relative;top:-4px;left:-4px}.tooltip{font-size:12px;position:relative}.tooltip.show{opacity:.83}.tooltip.fade:after,.tooltip.fade:before{transform:translateY(-10px);transition:all .15s ease-in-out}.tooltip.fade:hover:after,.tooltip.fade:hover:before{opacity:1;transform:translate(0)}.tooltip-inner{padding:4px 10px;white-space:nowrap;max-width:none;border-radius:3px}.placeholder-delete .tooltip-inner{background-color:#f66}.placeholder-delete .arrow:before{border-top-color:#f66}.custom-popup-owners-for-flag .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(126%) translate(-50%)!important;width:130px;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-for-flag .arrow{bottom:-18%;transform:rotate(180deg);left:calc(50% + 2.7rem)}.custom-popup-owners-for-flag .tooltip{opacity:.93!important;width:0}.custom-popup-owners{z-index:999}.custom-popup-owners .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners .tooltip{transform:translateY(-61px)!important}.custom-popup-owners-year{z-index:999}.custom-popup-owners-year .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners-year .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners-year .tooltip{transform:translate(70px,-61px)!important}.custom-popup-owners-info .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-100%) translate(-10%);width:200px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;margin-top:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info .tooltip{opacity:.93;width:0}.custom-popup-owners-info .arrow{display:none}.custom-popup-owners-info #phone-inside{position:relative;right:26px;bottom:0}.custom-popup-owners-info-at .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-108%) translate(-7%);width:270px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info-at .tooltip{opacity:1;width:0}.custom-popup-owners-info-at .arrow{display:none}.custom-popup-owners-for-tag .tooltip-inner{color:#3b3b3b;background-color:#fff;width:100px;border-radius:3px;box-shadow:0 0 3px #0003!important}.custom-popup-owners-for-tag .tooltip{top:5px!important}.custom-popup-owners-for-tag .arrow{bottom:-24%}.align-items-flex-start{justify-content:center;align-items:center}.align-items-flex-end{display:flex;justify-content:center;flex-direction:column;align-self:flex-end;align-items:flex-start}.label-add{align-self:flex-start}.fadeInLoad{animation:fadeInLoad .25s}@keyframes fadeInLoad{0%{opacity:0}to{opacity:1}}.fadeIn{opacity:1;-webkit-transition:.25s;-moz-transition:.25s;-o-transition:.25s;transition:.25s}.thisText:hover .fadeIn{opacity:0}.fadeInLoad{animation-name:example;animation-duration:.25s}@keyframes example{0%{transform:scale(.5)}to{transform:scale(1)}}.tooltip.tooltip-table-icons{left:12px!important;opacity:1}.tooltip.tooltip-table-icons .arrow{display:none!important}.tooltip.tooltip-table-icons .tooltip-inner{border-radius:0 50px 50px;background:#28529f}.tooltip.show{opacity:1;animation:fadeIn ease .5s!important;-webkit-animation:fadeIn ease .5s!important;-moz-animation:fadeIn ease .5s!important;-o-animation:fadeIn ease .5s!important;-ms-animation:fadeIn ease .5s!important}.ta-tooltip{position:absolute;font-size:12px;text-align:center;color:#fff;line-height:22px;z-index:999999!important;opacity:0;white-space:nowrap;transform:scale(.7)}.ta-tooltip.ta-tooltip-show{opacity:.85;transform:scale(1);padding:0 12px}.ta-tooltip.ta-tooltip-bottom-right,.ta-tooltip.ta-tooltip-bottom-right-corner{transform-origin:top left;border-radius:0 15px 15px}.ta-tooltip.ta-tooltip-bottom-left{transform-origin:top right;border-radius:15px 0 15px 15px}@keyframes scaleItem{0%{transform:scale(.4)}to{transform:scale(1)}}.app-ca-main-tooltip{pointer-events:none}.app-ca-main-tooltip .tooltip-inner{padding:0;pointer-events:none}.app-ca-main-tooltip .tooltip-inner .tooltip-holder{display:flex;font-size:11px;font-weight:700;border-radius:2px;padding:2px 8px;animation:scaleItem .3s;white-space:normal}.tooltip-arrow{display:none!important}.trucks.semitruck svg path,.trucks.semisleeper svg path,.trucks.flatbed svg path,.trucks.stepdeck svg path,.trucks.lowboyrgn svg path,.trucks.chassis svg path,.trucks.conestoga svg path,.trucks.sidekit svg path,.trucks.container svg path,.trailers.semitruck svg path,.trailers.semisleeper svg path,.trailers.flatbed svg path,.trailers.stepdeck svg path,.trailers.lowboyrgn svg path,.trailers.chassis svg path,.trailers.conestoga svg path,.trailers.sidekit svg path,.trailers.container svg path{fill:#92b1f5}.trucks.boxtruck svg path,.trucks.reefertruck svg path,.trucks.cargovan svg path,.trucks.dryvan svg path,.trucks.reefer svg path,.trailers.boxtruck svg path,.trailers.reefertruck svg path,.trailers.cargovan svg path,.trailers.dryvan svg path,.trailers.reefer svg path{fill:#fbc88b}.trucks.dumptruck svg path,.trucks.cementtruck svg path,.trucks.garbagetruck svg path,.trucks.enddump svg path,.trucks.bottomdump svg path,.trucks.hopper svg path,.trucks.tanker svg path,.trucks.pneumatictanker svg path,.trailers.dumptruck svg path,.trailers.cementtruck svg path,.trailers.garbagetruck svg path,.trailers.enddump svg path,.trailers.bottomdump svg path,.trailers.hopper svg path,.trailers.tanker svg path,.trailers.pneumatictanker svg path{fill:#ed9292}.trucks.towtruck svg path,.trucks.carhauler svg path,.trucks.spotter svg path,.trucks.carhaulerstigner svg path,.trailers.towtruck svg path,.trailers.carhauler svg path,.trailers.spotter svg path,.trailers.carhaulerstigner svg path{fill:#86c9c3}.trucks .svgtext-template-text,.trailers .svgtext-template-text{color:#fff;transition:color .3s ease-in-out}.colors .black svg #droplet{fill:#6c6c6c}.colors .brown svg #droplet{fill:#a1887f}.colors .darkgreen svg #droplet{fill:#4db6a2}.colors .lightgreen svg #droplet{fill:#81c784}.colors .darkblue svg #droplet{fill:#546fd2}.colors .lightblue svg #droplet{fill:#64b5f6}.colors .gray svg #droplet{fill:#aaa}.colors .purple svg #droplet{fill:#ba68c8}.colors .gold svg #droplet{fill:#bcad79}.colors .silver svg #droplet{fill:#dadada}.colors .red svg #droplet{fill:#f96b69}.colors .pink svg #droplet{fill:#f26ec2}.colors .white svg #droplet{fill:#f1f1f1}.colors .orange svg #droplet{fill:#ff8a65}.colors .yellow svg #droplet{fill:#ffd54f}.colors:hover{transition:all .3s ease-in-out}.colors:hover .black svg #droplet{fill:#3c3c3c}.colors:hover .brown svg #droplet{fill:#8d6e63}.colors:hover .darkgreen svg #droplet{fill:#26a690}.colors:hover .lightgreen svg #droplet{fill:#66bb6a}.colors:hover .darkblue svg #droplet{fill:#304fc1}.colors:hover .lightblue svg #droplet{fill:#42a5f5}.colors:hover .gray svg #droplet{fill:#919191}.colors:hover .purple svg #droplet{fill:#ab47bc}.colors:hover .gold svg #droplet{fill:#aa9c6e}.colors:hover .silver svg #droplet{fill:#b7b7b7}.colors:hover .red svg #droplet{fill:#ef5350}.colors:hover .pink svg #droplet{fill:#fa4daa}.colors:hover .white svg #droplet{fill:#fff}.colors:hover .orange svg #droplet{fill:#ff7043}.colors:hover .yellow svg #droplet{fill:#ffca28}.text-color-black{color:#424242!important}.text-color-black::-moz-selection{background:#42424233!important;color:#424242!important}.text-color-black::selection{background:#42424233!important;color:#424242!important}.text-color-black-2{color:#2f2f2f!important}.text-color-black-2::-moz-selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-black-2::selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-muted{color:#919191!important}.text-color-muted::-moz-selection{background:#91919133!important;color:#919191!important}.text-color-muted::selection{background:#91919133!important;color:#919191!important}.text-color-green{color:#56b4ac!important}.text-color-green::-moz-selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-green::selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-blue-13{color:#6692f1!important}.text-color-blue-13::-moz-selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-13::selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-18{color:#3b73ed!important}.text-color-blue-18::-moz-selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-blue-18::selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-red-10{color:#e66767!important}.text-color-red-10::-moz-selection{background:#e6676733!important;color:#e66767!important}.text-color-red-10::selection{background:#e6676733!important;color:#e66767!important}.text-color-light-grey{color:#e5e5e5!important}.text-color-light-grey::-moz-selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey::selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey-2{color:#aaa!important}.text-color-light-grey-2::-moz-selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-2::selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-6{color:#ccc!important}.text-color-light-grey-6::-moz-selection{color:#ccc!important;background:#aaa3!important}.text-color-light-grey-6::selection{color:#ccc!important;background:#aaa3!important}.text-color-white{color:#dadada!important}.text-color-white::-moz-selection{color:#dadada!important;background:#fff3!important}.text-color-white::selection{color:#dadada!important;background:#fff3!important}.text-color-white-4{color:#ffffffb2!important}.text-color-white-4::-moz-selection{color:#ffffffb2!important;background:#fff3!important}.text-color-white-4::selection{color:#ffffffb2!important;background:#fff3!important}.text-color-dark-grey{color:#6c6c6c!important}.text-color-dark-grey::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-dark-grey::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2{color:#6c6c6c!important}.text-color-bw6-2::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9{color:#dadada!important}.text-color-bw-9::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-grey{color:#919191!important}.text-color-grey::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey::selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::-moz-selection,.text-color-grey .marker-bold-text::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::selection,.text-color-grey .marker-bold-text::selection{color:#919191!important;background:#91919133!important}.text-size-11{font-size:11px!important;line-height:14px!important}.text-size-14{font-size:14px!important;line-height:18px!important}.text-size-16{font-size:16px!important;line-height:19px!important}.text-size-18{font-size:18px!important;line-height:22px!important}.text-size-26{font-size:26px!important;line-height:32px!important}.text-size-28{font-size:28px!important;line-height:34px!important}@keyframes dropdown{0%{margin-top:20px;visibility:hidden;opacity:0}to{opacity:1;margin-top:10px;visibility:visible!important}}@keyframes dropup{0%{margin-top:-19px;visibility:hidden;opacity:0}to{margin-top:inherit;visibility:visible!important}}.svg-fill-black svg path{fill:#424242!important}.svg-fill-muted svg path{fill:#919191!important}.svg-fill-bw-9 svg path{fill:#dadada!important}.svg-fill-light-grey-2 svg path{fill:#aaa!important}.svg-fill-light-grey-6 svg path{fill:#ccc!important}.svg-fill-blue-13 svg path{fill:#6692f1!important}.svg-fill-blue-19 svg path{fill:#92b1f5!important}.svg-fill-blue-26 svg path{fill:#4dc5eb!important}.svg-hover-muted svg path{transition:all .3s ease-in-out}.svg-hover-muted:hover svg path{fill:#919191!important}.svg-hover-black svg path{transition:all .3s ease-in-out}.svg-hover-black:hover svg path{fill:#424242!important}.svg-hover-blue-15 svg path{transition:all .3s ease-in-out}.svg-hover-blue-15:hover svg path{fill:#0b49d1!important}.svg-hover-bw6-2 svg path{transition:all .3s ease-in-out}.svg-hover-bw6-2:hover svg path{fill:#6c6c6c!important}.svg-hover-trash-red svg path{transition:all .3s ease-in-out}.svg-hover-trash-red:hover svg path{fill:#ff5050!important}.svg-hover-red-14 svg path{transition:all .3s ease-in-out}.svg-hover-red-14:hover svg path{fill:#c20c0c!important}.svg-size-12 svg{width:12px;height:12px}.svg-size-14 svg{width:14px;height:14px}.svg-size-16 svg{width:16px;height:16px}.svg-size-18 svg{width:18px;height:18px}.svg-size-44-16 svg{width:44px;height:16px}*{margin:0;font-family:Montserrat,sans-serif}html{scroll-behavior:auto!important}.gm-style-iw-chr,.gm-style-iw-tc{display:none}.gm-style .gm-style-iw-c{border-radius:0}.gm-style-iw{overflow-y:auto!important;overflow-x:hidden!important}.gm-style-iw>div{overflow:visible!important}.infoWindow{overflow:hidden!important}.gm-style-iw-d,.gm-style-iw.gm-style-iw-c{max-height:350px!important}::ng-deep .popover{--bs-popover-border-width: 0;--bs-popover-body-padding-y: 0;--bs-popover-body-padding-x: 0}::ng-deep .popover .popover-arrow{display:none}.dropzone-container{width:100%;height:178px;outline:4px dashed #eeeeee;border-radius:2px;position:relative;cursor:pointer;overflow:hidden}.dropzone-container.split-dropzone{width:auto!important}.dropzone-container.disabled-dropzone{pointer-events:none;opacity:.6;cursor:not-allowed}.dropzone-container:hover{background-color:#eee}.dropzone-container.dropzone-small{width:302px!important}.dropzone-container.expanded{height:458px}.dropzone-container.unSupported{outline-color:#ed9292;outline-offset:-4px;background-color:#fff}.dropzone-container .animation-container{height:auto;width:auto;overflow:hidden;position:relative;transition:transform .5s ease-in-out}.dropzone-container .animation-container .static-lottie-animation{width:100%;height:100%}.dropzone-container .animation-container.expanded{transition:height .5s ease-in-out}.dropzone-container .dropzone-content{gap:10px;position:relative;transition:transform .5s ease-in-out,opacity .5s ease-in-out}.dropzone-container .dropzone-content.column-layout{flex-direction:column;align-items:center;justify-content:center}.dropzone-container .dropzone-content .cancel-unsupported-zone{position:absolute}.dropzone-container .dropzone-content.dropzone-small{width:302px;height:100%}.dropzone-container .dropzone-content.expandedContent{flex-direction:column;transform:scale(1);opacity:1;top:-30px}.dropzone-container .upload-dropzone-unsupported{flex-direction:column;gap:12px;position:relative;width:100%;height:100%}.dropzone-container .svgIcon-document{width:100px;height:100px}.dropzone-container .svgIcon-document.svg-small svg-icon{width:80px!important;height:80px!important}.dropzone-container .svgIcon-document.big{width:200px;height:200px}.dropzone-container .dropzone-text{color:#424242;-webkit-user-select:none;user-select:none;pointer-events:none}.dropzone-container .dropzone-text .upload-dropzone-text{font-size:14px;line-height:18px;align-items:center;font-family:Montserrat,sans-serif;margin-bottom:0}.dropzone-container .dropzone-text .upload-dropzone-text.unsupported-text-big{color:#df3c3c}.dropzone-container .dropzone-text .upload-dropzone-text.max-count{text-align:center}.dropzone-container .dropzone-text .upload-dropzone-text-small{font-family:Montserrat,sans-serif;margin-top:4px;font-size:11px;line-height:14px;align-items:center}.dropzone-container .dropzone-text .upload-dropzone-text-small .media-sizes{font-size:11px;line-height:14px;color:#919191;margin-top:4px}.dropzone-container .cancel-unsupported-zone{position:absolute;top:6px;right:14px;cursor:pointer;width:12.6px;height:12.6px}.dropzone-container .supported-extensions{gap:4px}.dropzone-container .supported-extensions .extension{font-family:Montserrat,sans-serif;width:35px;height:18px;border-radius:1px;font-size:11px;color:#fff;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-transform:uppercase}.dropzone-container .supported-extensions .extension-jpg,.dropzone-container .supported-extensions .extension-jpeg,.dropzone-container .supported-extensions .extension-png{background:#fab15c}.dropzone-container .supported-extensions .extension-pdf{background-color:#e66767}.dropzone-container .supported-extensions .extension-mov,.dropzone-container .supported-extensions .extension-mp4,.dropzone-container .supported-extensions .extension-avi{background-color:#b370f0}.dropzone-container .supported-extensions .extension:hover{transition:height .3s ease-in-out;opacity:1;cursor:auto!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { 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: FormsModule }, { kind: "directive", type: TemplateContainerDirective, selector: "[templateContainer]", inputs: ["id"] }, { kind: "component", type: LottieComponent, selector: "ng-lottie", inputs: ["width", "height"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
258
|
+
], viewQueries: [{ propertyName: "dropZone", first: true, predicate: ["dropZone"], descendants: true }, { propertyName: "templateRef", predicate: TemplateContainerDirective, descendants: true }], ngImport: i0, template: "<div\n class=\"dropzone-container d-flex align-items-center justify-content-center\"\n [ngClass]=\"{\n 'split-dropzone': isDropzoneShownInCrop,\n unSupported: isSupportedType,\n expanded: isDropzoneExpanded && !isSupportedType,\n 'disabled-dropzone': files.length >= this.limit && this.limit > 0,\n }\"\n [ngStyle]=\"{\n width:\n files.length === 0\n ? customWidth || '448px'\n : files.length === 1\n ? '296px'\n : files.length === 2\n ? '148px'\n : files.length === 3\n ? '148px'\n : '148px',\n }\"\n>\n <ng-container *ngFor=\"let item of _dropZoneConfigArray; trackBy: identify\">\n <div\n class=\"dropzone-content d-flex align-items-center justify-content-center\"\n [ngClass]=\"{\n 'upload-dropzone-unsupported': isSupportedType,\n expandedContent: isDropzoneExpanded,\n 'column-layout': files.length >= 2,\n }\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate(item.template);\n context: { $implicit: item.config }\n \"\n ></ng-container>\n </div>\n </ng-container>\n</div>\n\n<!-------------Document template-------------->\n<ng-template templateContainer id=\"documentsTemplate\" let-config>\n <!--SVG ICON-->\n <ng-container *ngIf=\"!isShownDropzoneFocus && !isDropzoneExpanded\">\n <ng-container *ngTemplateOutlet=\"dropzoneIconTemplate\"></ng-container>\n </ng-container>\n\n <!--Lottie animation-->\n <ng-container\n *ngIf=\"(isDropzoneExpanded || isShownDropzoneFocus) && !isSupportedType\"\n >\n <ng-container *ngTemplateOutlet=\"lottieAnimationTemplate\"></ng-container>\n </ng-container>\n\n <!--Content for supported and unsupported types-->\n <ng-container *ngTemplateOutlet=\"dropzoneTextTemplate\"> </ng-container>\n\n <!--Supported extensions for unsupported type-->\n <ng-container *ngIf=\"isSupportedType\">\n <ng-container\n *ngTemplateOutlet=\"supportedExtensionsTemplate\"\n ></ng-container>\n </ng-container>\n\n <!--FILE INPUT-->\n <ng-container\n *ngTemplateOutlet=\"fileInputTemplate; context: { $implicit: config }\"\n ></ng-container>\n</ng-template>\n\n<!-------------Media template-------------->\n<ng-template templateContainer id=\"mediaTemplate\" let-config>\n <!--SVG ICON-->\n <ng-container *ngIf=\"!isShownDropzoneFocus && !isDropzoneExpanded\">\n <ng-container *ngTemplateOutlet=\"dropzoneIconTemplate\"></ng-container>\n </ng-container>\n\n <!--Lottie animation-->\n <ng-container\n *ngIf=\"(isDropzoneExpanded || isShownDropzoneFocus) && !isSupportedType\"\n >\n <ng-container *ngTemplateOutlet=\"lottieAnimationTemplate\"></ng-container>\n </ng-container>\n\n <!--Content for supported and unsupported types-->\n <ng-container *ngTemplateOutlet=\"dropzoneTextTemplate\"> </ng-container>\n\n <!--Supported extensions for unsupported type-->\n <ng-container *ngIf=\"isSupportedType\">\n <ng-container\n *ngTemplateOutlet=\"supportedExtensionsTemplate\"\n ></ng-container>\n </ng-container>\n\n <!--FILE INPUT-->\n <ng-container\n *ngTemplateOutlet=\"fileInputTemplate; context: { $implicit: config }\"\n ></ng-container>\n</ng-template>\n\n<!-------------Image template-------------->\n<ng-template templateContainer id=\"imageTemplate\" let-config>\n <!--SVG ICON-->\n <ng-container *ngIf=\"!isShownDropzoneFocus && !isDropzoneExpanded\">\n <ng-container *ngTemplateOutlet=\"dropzoneIconTemplate\"></ng-container>\n </ng-container>\n\n <!--Lottie animation-->\n <ng-container\n *ngIf=\"(isDropzoneExpanded || isShownDropzoneFocus) && !isSupportedType\"\n >\n <ng-container *ngTemplateOutlet=\"lottieAnimationTemplate\"></ng-container>\n </ng-container>\n\n <!--Content for supported and unsupported types-->\n <ng-container *ngTemplateOutlet=\"dropzoneTextTemplate\"> </ng-container>\n\n <!--Supported extensions for unsupported type-->\n <ng-container *ngIf=\"isSupportedType\">\n <ng-container\n *ngTemplateOutlet=\"supportedExtensionsTemplate\"\n ></ng-container>\n </ng-container>\n\n <!--FILE INPUT-->\n <ng-container\n *ngTemplateOutlet=\"fileInputTemplate; context: { $implicit: config }\"\n ></ng-container>\n</ng-template>\n\n<!-------------Image Crop template-------------->\n<ng-template templateContainer id=\"imageCropTemplate\" let-config>\n <!--SVG ICON-->\n <ng-container *ngIf=\"!isShownDropzoneFocus && !isDropzoneExpanded\">\n <ng-container *ngTemplateOutlet=\"dropzoneIconTemplate\"></ng-container>\n </ng-container>\n\n <!--Lottie animation-->\n <ng-container\n *ngIf=\"(isDropzoneExpanded || isShownDropzoneFocus) && !isSupportedType\"\n >\n <ng-container *ngTemplateOutlet=\"lottieAnimationTemplate\"></ng-container>\n </ng-container>\n\n <!--Content for supported and unsupported types-->\n <ng-container *ngTemplateOutlet=\"dropzoneTextTemplate\"> </ng-container>\n\n <!--Supported extensions for unsupported type-->\n <ng-container *ngIf=\"isSupportedType\">\n <ng-container\n *ngTemplateOutlet=\"supportedExtensionsTemplate\"\n ></ng-container>\n </ng-container>\n\n <!--FILE INPUT-->\n <ng-container\n *ngTemplateOutlet=\"fileInputTemplate; context: { $implicit: config }\"\n ></ng-container>\n</ng-template>\n\n<!-------------Logo template-------------->\n<ng-template templateContainer id=\"logoTemplate\" let-config>\n <!--SVG ICON-->\n <ng-container *ngIf=\"!isShownDropzoneFocus && !isDropzoneExpanded\">\n <ng-container *ngTemplateOutlet=\"dropzoneIconTemplate\"></ng-container>\n </ng-container>\n\n <!--Lottie animation-->\n <ng-container\n *ngIf=\"(isDropzoneExpanded || isShownDropzoneFocus) && !isSupportedType\"\n >\n <ng-container *ngTemplateOutlet=\"lottieAnimationTemplate\"></ng-container>\n </ng-container>\n\n <!--Content for supported and unsupported types-->\n <ng-container *ngTemplateOutlet=\"dropzoneTextTemplate\"> </ng-container>\n\n <!--Supported extensions for unsupported type-->\n <ng-container *ngIf=\"isSupportedType\">\n <ng-container\n *ngTemplateOutlet=\"supportedExtensionsTemplate\"\n ></ng-container>\n </ng-container>\n\n <!--FILE INPUT-->\n <ng-container\n *ngTemplateOutlet=\"fileInputTemplate; context: { $implicit: config }\"\n ></ng-container>\n</ng-template>\n\n<!--------------COMMON-TEMPLATE-------------->\n\n<!------INPUT------->\n<ng-template #fileInputTemplate let-config>\n <input\n #dropZone\n [id]=\"'dropZone' + (config.dropzoneOption?.dropzoneIndex || 0)\"\n type=\"file\"\n [accept]=\"config.dropzone?.dropZoneAvailableFiles\"\n [multiple]=\"config.dropzone?.multiple\"\n (change)=\"handleFileChange($event)\"\n style=\"display: none\"\n />\n</ng-template>\n\n<!--DROPZONE_TEXT-->\n<ng-template #dropzoneTextTemplate>\n <div\n class=\"dropzone-text d-flex flex-column align-items-center justify-content-center\"\n >\n <p\n class=\"upload-dropzone-text\"\n [ngClass]=\"{ 'unsupported-text-big': isSupportedType, \n 'max-count': isMaxCountReached()}\"\n >\n <ng-container *ngIf=\"isMaxCountReached(); else normalText\">\n MAX COUNT REACHED\n </ng-container>\n <ng-template #normalText>\n {{ isSupportedType ? 'INVALID FILE TYPE' : 'DRAG ' + dropZoneText }}\n {{ !(isSupportedType || (files && files.length)) ? ' HERE' : '' }}\n </ng-template>\n <ng-container\n *ngIf=\"_dropZoneConfigArray?.[0]?.template === 'mediaTemplate'\"\n >\n <p class=\"media-sizes\">max file size 50mb</p>\n </ng-container>\n </p>\n <ng-container *ngIf=\"!isDropzoneExpanded\">\n <span class=\"upload-dropzone-text-small\">\n <ng-container *ngIf=\"isMaxCountReached(); else formatText\">\n {{ files.length }} FILES IMPORTED\n </ng-container>\n <ng-template #formatText>\n {{ isSupportedType ? 'SUPPORTED FORMATS' : 'OR CLICK TO ADD' }}\n </ng-template>\n </span>\n </ng-container>\n </div>\n</ng-template>\n\n<!------ICON-------->\n<ng-template #dropzoneIconTemplate>\n <svg-icon\n [src]=\"!isSupportedType && !isFileDrop ? iconSrc : dropzoneSvgRoute\"\n [ngClass]=\"{\n 'cancel-unsupported-zone': isSupportedType,\n 'svgIcon-document': files.length < 2,\n 'svg-small': files.length >= 2,\n }\"\n ></svg-icon>\n</ng-template>\n<!-- LOTTIE_ANIMATION -->\n<ng-template #lottieAnimationTemplate>\n <div\n class=\"animation-container d-flex flex-column align-items-center justify-content-center\"\n [ngClass]=\"{ expanded: isDropzoneExpanded }\"\n >\n <ng-lottie\n class=\"static-lottie-animation\"\n [options]=\"lottieOptions\"\n ></ng-lottie>\n </div>\n</ng-template>\n\n<!-- SUPPORTED_EXTENSIONS -->\n<ng-template #supportedExtensionsTemplate>\n <div class=\"supported-extensions d-flex justify-content-center\">\n <span\n class=\"extension extension-{{\n extension\n }} d-flex justify-content-center align-items-center\"\n *ngFor=\"let extension of dropZoneAvailableFiles; trackBy: identify\"\n >{{ extension }}</span\n >\n </div>\n</ng-template>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap\";@import\"https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css\";.ca-font-thin{font-weight:100!important}.ca-font-extra-light{font-weight:200!important}.ca-font-light{font-weight:300!important}.ca-font-regular{font-weight:400!important}.ca-font-medium{font-weight:500!important}.ca-font-semi-bold,.dropzone-container .dropzone-text .upload-dropzone-text-small{font-weight:600!important}.ca-font-bold,.dropzone-container .dropzone-text .upload-dropzone-text{font-weight:700!important}.ca-font-extra-bold{font-weight:800!important}.ca-font-black,.dropzone-container .supported-extensions .extension{font-weight:900!important}.pickup-delivery-popover{top:-38px!important;max-width:340px!important}.pickup-delivery-popover.bs-popover-top{top:auto!important;bottom:-38px!important}.pickup-delivery-popover.bs-popover-top .load-component .assigned-load-holder{order:3;margin-top:4px;margin-bottom:0!important}.pickup-delivery-popover.bs-popover-top .load-component .statusBar{order:2;margin-top:4px}.pickup-delivery-popover.bs-popover-top .load-component .animation-three-tabs{order:1}.gps_dropdown_popover{top:-38px;max-width:494px}.gps_dropdown_popover .popover-body{padding:0}.table-progress-popover{background-color:unset!important;margin-left:-10px}.table-progress-popover .progress-dropdown{margin-top:-6px;width:260px;height:200px;background:#2f2f2f;border-radius:3px;padding:8px;box-shadow:0 0 4px #00000026;overflow:hidden;-webkit-animation:progressAnimation .25s ease-in-out;animation:progressAnimation .25s ease-in-out}.table-progress-popover .progress-dropdown .progress-header .progress-title{font-size:18px;font-weight:600;color:#dadada}.table-progress-popover .progress-dropdown .progress-header .progress-title span{font-weight:400}.table-progress-popover .progress-dropdown .progress-header .progress-total{font-size:14px;line-height:17px;color:#dadada}.table-progress-popover .progress-dropdown .table-progress-bar-container{width:100%;height:8px;margin-top:6px;border-radius:2px;overflow:hidden}.table-progress-popover .progress-dropdown .table-progress-bar-container .table-progress-bar{height:100%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-dual-info-container .progress-info-container{width:50%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container{margin-top:10px}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-title{margin-bottom:2px;font-size:11px;font-weight:700;line-height:14px;color:#ffffffb2}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-text{font-size:14px;line-height:18px;color:#dadada}.table-progress-popover .progress-dropdown.credit-dropdown{height:100px}@-webkit-keyframes progressAnimation{0%{height:0px}to{height:220px}}@keyframes progressAnimation{0%{height:0px}to{height:220px}}ngb-popover-window{padding:unset!important;border:unset!important}ngb-popover-window .popover-arrow{display:none!important}ngb-popover-window .popover-body{padding:unset!important}.dispatch-note .popover-body{position:relative;top:-4px;left:-4px}.tooltip{font-size:12px;position:relative}.tooltip.show{opacity:.83}.tooltip.fade:after,.tooltip.fade:before{transform:translateY(-10px);transition:all .15s ease-in-out}.tooltip.fade:hover:after,.tooltip.fade:hover:before{opacity:1;transform:translate(0)}.tooltip-inner{padding:4px 10px;white-space:nowrap;max-width:none;border-radius:3px}.tooltip-inner:empty{padding:0}.placeholder-delete .tooltip-inner{background-color:#f66}.placeholder-delete .arrow:before{border-top-color:#f66}.custom-popup-owners-for-flag .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(126%) translate(-50%)!important;width:130px;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-for-flag .arrow{bottom:-18%;transform:rotate(180deg);left:calc(50% + 2.7rem)}.custom-popup-owners-for-flag .tooltip{opacity:.93!important;width:0}.custom-popup-owners{z-index:999}.custom-popup-owners .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners .tooltip{transform:translateY(-61px)!important}.custom-popup-owners-year{z-index:999}.custom-popup-owners-year .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners-year .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners-year .tooltip{transform:translate(70px,-61px)!important}.custom-popup-owners-info .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-100%) translate(-10%);width:200px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;margin-top:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info .tooltip{opacity:.93;width:0}.custom-popup-owners-info .arrow{display:none}.custom-popup-owners-info #phone-inside{position:relative;right:26px;bottom:0}.custom-popup-owners-info-at .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-108%) translate(-7%);width:270px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info-at .tooltip{opacity:1;width:0}.custom-popup-owners-info-at .arrow{display:none}.custom-popup-owners-for-tag .tooltip-inner{color:#3b3b3b;background-color:#fff;width:100px;border-radius:3px;box-shadow:0 0 3px #0003!important}.custom-popup-owners-for-tag .tooltip{top:5px!important}.custom-popup-owners-for-tag .arrow{bottom:-24%}.align-items-flex-start{justify-content:center;align-items:center}.align-items-flex-end{display:flex;justify-content:center;flex-direction:column;align-self:flex-end;align-items:flex-start}.label-add{align-self:flex-start}.fadeInLoad{animation:fadeInLoad .25s}@keyframes fadeInLoad{0%{opacity:0}to{opacity:1}}.fadeIn{opacity:1;-webkit-transition:.25s;-moz-transition:.25s;-o-transition:.25s;transition:.25s}.thisText:hover .fadeIn{opacity:0}.fadeInLoad{animation-name:example;animation-duration:.25s}@keyframes example{0%{transform:scale(.5)}to{transform:scale(1)}}.tooltip.tooltip-table-icons{left:12px!important;opacity:1}.tooltip.tooltip-table-icons .arrow{display:none!important}.tooltip.tooltip-table-icons .tooltip-inner{border-radius:0 50px 50px;background:#28529f}.tooltip.show{opacity:1;animation:fadeIn ease .5s!important;-webkit-animation:fadeIn ease .5s!important;-moz-animation:fadeIn ease .5s!important;-o-animation:fadeIn ease .5s!important;-ms-animation:fadeIn ease .5s!important}.ta-tooltip{position:absolute;font-size:12px;text-align:center;color:#fff;line-height:22px;z-index:999999!important;opacity:0;white-space:nowrap;transform:scale(.7)}.ta-tooltip.ta-tooltip-show{opacity:.85;transform:scale(1);padding:0 12px}.ta-tooltip.ta-tooltip-bottom-right,.ta-tooltip.ta-tooltip-bottom-right-corner{transform-origin:top left;border-radius:0 15px 15px}.ta-tooltip.ta-tooltip-bottom-left{transform-origin:top right;border-radius:15px 0 15px 15px}@keyframes scaleItem{0%{transform:scale(.4)}to{transform:scale(1)}}.app-ca-main-tooltip{pointer-events:none}.app-ca-main-tooltip .tooltip-inner{padding:0;background-color:transparent;pointer-events:none}.app-ca-main-tooltip .tooltip-inner .tooltip-holder{display:flex;font-size:11px;font-weight:700;border-radius:2px;padding:2px 8px;animation:scaleItem .3s;white-space:normal}.app-ca-main-tooltip .tooltip-inner .tooltip-holder:empty{padding:0}.tooltip-arrow{display:none!important}.trucks.semitruck svg path,.trucks.semisleeper svg path,.trucks.flatbed svg path,.trucks.stepdeck svg path,.trucks.lowboyrgn svg path,.trucks.chassis svg path,.trucks.conestoga svg path,.trucks.sidekit svg path,.trucks.container svg path,.trailers.semitruck svg path,.trailers.semisleeper svg path,.trailers.flatbed svg path,.trailers.stepdeck svg path,.trailers.lowboyrgn svg path,.trailers.chassis svg path,.trailers.conestoga svg path,.trailers.sidekit svg path,.trailers.container svg path{fill:#92b1f5}.trucks.boxtruck svg path,.trucks.reefertruck svg path,.trucks.cargovan svg path,.trucks.dryvan svg path,.trucks.reefer svg path,.trailers.boxtruck svg path,.trailers.reefertruck svg path,.trailers.cargovan svg path,.trailers.dryvan svg path,.trailers.reefer svg path{fill:#fbc88b}.trucks.dumptruck svg path,.trucks.cementtruck svg path,.trucks.garbagetruck svg path,.trucks.enddump svg path,.trucks.bottomdump svg path,.trucks.hopper svg path,.trucks.tanker svg path,.trucks.pneumatictanker svg path,.trailers.dumptruck svg path,.trailers.cementtruck svg path,.trailers.garbagetruck svg path,.trailers.enddump svg path,.trailers.bottomdump svg path,.trailers.hopper svg path,.trailers.tanker svg path,.trailers.pneumatictanker svg path{fill:#ed9292}.trucks.towtruck svg path,.trucks.carhauler svg path,.trucks.spotter svg path,.trucks.carhaulerstigner svg path,.trailers.towtruck svg path,.trailers.carhauler svg path,.trailers.spotter svg path,.trailers.carhaulerstigner svg path{fill:#86c9c3}.trucks .svgtext-template-text,.trailers .svgtext-template-text{color:#fff;transition:color .3s ease-in-out}.colors .black svg #droplet{fill:#6c6c6c}.colors .brown svg #droplet{fill:#a1887f}.colors .darkgreen svg #droplet{fill:#4db6a2}.colors .lightgreen svg #droplet{fill:#81c784}.colors .darkblue svg #droplet{fill:#546fd2}.colors .lightblue svg #droplet{fill:#64b5f6}.colors .gray svg #droplet{fill:#aaa}.colors .purple svg #droplet{fill:#ba68c8}.colors .gold svg #droplet{fill:#bcad79}.colors .silver svg #droplet{fill:#dadada}.colors .red svg #droplet{fill:#f96b69}.colors .pink svg #droplet{fill:#f26ec2}.colors .white svg #droplet{fill:#f1f1f1}.colors .orange svg #droplet{fill:#ff8a65}.colors .yellow svg #droplet{fill:#ffd54f}.colors:hover{transition:all .3s ease-in-out}.colors:hover .black svg #droplet{fill:#3c3c3c}.colors:hover .brown svg #droplet{fill:#8d6e63}.colors:hover .darkgreen svg #droplet{fill:#26a690}.colors:hover .lightgreen svg #droplet{fill:#66bb6a}.colors:hover .darkblue svg #droplet{fill:#304fc1}.colors:hover .lightblue svg #droplet{fill:#42a5f5}.colors:hover .gray svg #droplet{fill:#919191}.colors:hover .purple svg #droplet{fill:#ab47bc}.colors:hover .gold svg #droplet{fill:#aa9c6e}.colors:hover .silver svg #droplet{fill:#b7b7b7}.colors:hover .red svg #droplet{fill:#ef5350}.colors:hover .pink svg #droplet{fill:#fa4daa}.colors:hover .white svg #droplet{fill:#fff}.colors:hover .orange svg #droplet{fill:#ff7043}.colors:hover .yellow svg #droplet{fill:#ffca28}.text-color-black{color:#424242!important}.text-color-black::-moz-selection{background:#42424233!important;color:#424242!important}.text-color-black::selection{background:#42424233!important;color:#424242!important}.text-color-black-2{color:#2f2f2f!important}.text-color-black-2::-moz-selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-black-2::selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-muted{color:#919191!important}.text-color-muted::-moz-selection{background:#91919133!important;color:#919191!important}.text-color-muted::selection{background:#91919133!important;color:#919191!important}.text-color-green{color:#56b4ac!important}.text-color-green::-moz-selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-green::selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-blue-13{color:#6692f1!important}.text-color-blue-13::-moz-selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-13::selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-18{color:#3b73ed!important}.text-color-blue-18::-moz-selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-blue-18::selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-red-10{color:#e66767!important}.text-color-red-10::-moz-selection{background:#e6676733!important;color:#e66767!important}.text-color-red-10::selection{background:#e6676733!important;color:#e66767!important}.text-color-light-grey{color:#e5e5e5!important}.text-color-light-grey::-moz-selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey::selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey-2{color:#aaa!important}.text-color-light-grey-2::-moz-selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-2::selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-6{color:#ccc!important}.text-color-light-grey-6::-moz-selection{color:#ccc!important;background:#aaa3!important}.text-color-light-grey-6::selection{color:#ccc!important;background:#aaa3!important}.text-color-white{color:#dadada!important}.text-color-white::-moz-selection{color:#dadada!important;background:#fff3!important}.text-color-white::selection{color:#dadada!important;background:#fff3!important}.text-color-white-4{color:#ffffffb2!important}.text-color-white-4::-moz-selection{color:#ffffffb2!important;background:#fff3!important}.text-color-white-4::selection{color:#ffffffb2!important;background:#fff3!important}.text-color-dark-grey{color:#6c6c6c!important}.text-color-dark-grey::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-dark-grey::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2{color:#6c6c6c!important}.text-color-bw6-2::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9{color:#dadada!important}.text-color-bw-9::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-grey{color:#919191!important}.text-color-grey::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey::selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::-moz-selection,.text-color-grey .marker-bold-text::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::selection,.text-color-grey .marker-bold-text::selection{color:#919191!important;background:#91919133!important}.text-size-11{font-size:11px!important;line-height:14px!important}.text-size-14{font-size:14px!important;line-height:18px!important}.text-size-16{font-size:16px!important;line-height:19px!important}.text-size-18{font-size:18px!important;line-height:22px!important}.text-size-26{font-size:26px!important;line-height:32px!important}.text-size-28{font-size:28px!important;line-height:34px!important}@keyframes dropdown{0%{margin-top:20px;visibility:hidden;opacity:0}to{opacity:1;margin-top:10px;visibility:visible!important}}@keyframes dropup{0%{margin-top:-19px;visibility:hidden;opacity:0}to{margin-top:inherit;visibility:visible!important}}.svg-fill-black svg path{fill:#424242!important}.svg-fill-muted svg path{fill:#919191!important}.svg-fill-bw-9 svg path{fill:#dadada!important}.svg-fill-light-grey-2 svg path{fill:#aaa!important}.svg-fill-light-grey-6 svg path{fill:#ccc!important}.svg-fill-blue-13 svg path{fill:#6692f1!important}.svg-fill-blue-19 svg path{fill:#92b1f5!important}.svg-fill-blue-26 svg path{fill:#4dc5eb!important}.svg-hover-muted svg path{transition:all .3s ease-in-out}.svg-hover-muted:hover svg path{fill:#919191!important}.svg-hover-black svg path{transition:all .3s ease-in-out}.svg-hover-black:hover svg path{fill:#424242!important}.svg-hover-blue-15 svg path{transition:all .3s ease-in-out}.svg-hover-blue-15:hover svg path{fill:#0b49d1!important}.svg-hover-bw6-2 svg path{transition:all .3s ease-in-out}.svg-hover-bw6-2:hover svg path{fill:#6c6c6c!important}.svg-hover-trash-red svg path{transition:all .3s ease-in-out}.svg-hover-trash-red:hover svg path{fill:#ff5050!important}.svg-hover-red-14 svg path{transition:all .3s ease-in-out}.svg-hover-red-14:hover svg path{fill:#c20c0c!important}.svg-size-12 svg{width:12px;height:12px}.svg-size-14 svg{width:14px;height:14px}.svg-size-16 svg{width:16px;height:16px}.svg-size-18 svg{width:18px;height:18px}.svg-size-44-16 svg{width:44px;height:16px}*{margin:0;font-family:Montserrat,sans-serif}html{scroll-behavior:auto!important}.gm-style-iw-chr,.gm-style-iw-tc{display:none}.gm-style .gm-style-iw-c{border-radius:0}.gm-style-iw{overflow-y:auto!important;overflow-x:hidden!important}.gm-style-iw>div{overflow:visible!important}.infoWindow{overflow:hidden!important}.gm-style-iw-d,.gm-style-iw.gm-style-iw-c{max-height:350px!important}::ng-deep .popover{--bs-popover-border-width: 0;--bs-popover-body-padding-y: 0;--bs-popover-body-padding-x: 0}::ng-deep .popover .popover-arrow{display:none}.dropzone-container{width:100%;height:178px;outline:4px dashed #eeeeee;border-radius:2px;position:relative;cursor:pointer;overflow:hidden}.dropzone-container.split-dropzone{width:auto!important}.dropzone-container.disabled-dropzone{pointer-events:none;opacity:.6;cursor:not-allowed}.dropzone-container:hover{background-color:#eee}.dropzone-container.dropzone-small{width:302px!important}.dropzone-container.expanded{height:458px}.dropzone-container.unSupported{outline-color:#ed9292;outline-offset:-4px;background-color:#fff}.dropzone-container .animation-container{height:auto;width:auto;overflow:hidden;position:relative;transition:transform .5s ease-in-out}.dropzone-container .animation-container .static-lottie-animation{width:100%;height:100%}.dropzone-container .animation-container.expanded{transition:height .5s ease-in-out}.dropzone-container .dropzone-content{gap:10px;position:relative;transition:transform .5s ease-in-out,opacity .5s ease-in-out}.dropzone-container .dropzone-content.column-layout{flex-direction:column;align-items:center;justify-content:center}.dropzone-container .dropzone-content .cancel-unsupported-zone{position:absolute}.dropzone-container .dropzone-content.dropzone-small{width:302px;height:100%}.dropzone-container .dropzone-content.expandedContent{flex-direction:column;transform:scale(1);opacity:1;top:-30px}.dropzone-container .upload-dropzone-unsupported{flex-direction:column;gap:12px;position:relative;width:100%;height:100%}.dropzone-container .svgIcon-document{width:100px;height:100px}.dropzone-container .svgIcon-document.svg-small svg-icon{width:80px!important;height:80px!important}.dropzone-container .svgIcon-document.big{width:200px;height:200px}.dropzone-container .dropzone-text{color:#424242;-webkit-user-select:none;user-select:none;pointer-events:none}.dropzone-container .dropzone-text .upload-dropzone-text{font-size:14px;line-height:18px;align-items:center;font-family:Montserrat,sans-serif;margin-bottom:0}.dropzone-container .dropzone-text .upload-dropzone-text.unsupported-text-big{color:#df3c3c}.dropzone-container .dropzone-text .upload-dropzone-text.max-count{text-align:center}.dropzone-container .dropzone-text .upload-dropzone-text-small{font-family:Montserrat,sans-serif;margin-top:4px;font-size:11px;line-height:14px;align-items:center}.dropzone-container .dropzone-text .upload-dropzone-text-small .media-sizes{font-size:11px;line-height:14px;color:#919191;margin-top:4px}.dropzone-container .cancel-unsupported-zone{position:absolute;top:6px;right:14px;cursor:pointer;width:12.6px;height:12.6px}.dropzone-container .supported-extensions{gap:4px}.dropzone-container .supported-extensions .extension{font-family:Montserrat,sans-serif;width:35px;height:18px;border-radius:1px;font-size:11px;color:#fff;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-transform:uppercase}.dropzone-container .supported-extensions .extension-jpg,.dropzone-container .supported-extensions .extension-jpeg,.dropzone-container .supported-extensions .extension-png{background:#fab15c}.dropzone-container .supported-extensions .extension-pdf{background-color:#e66767}.dropzone-container .supported-extensions .extension-mov,.dropzone-container .supported-extensions .extension-mp4,.dropzone-container .supported-extensions .extension-avi{background-color:#b370f0}.dropzone-container .supported-extensions .extension:hover{transition:height .3s ease-in-out;opacity:1;cursor:auto!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { 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: FormsModule }, { kind: "directive", type: TemplateContainerDirective, selector: "[templateContainer]", inputs: ["id"] }, { kind: "component", type: LottieComponent, selector: "ng-lottie", inputs: ["width", "height"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
259
259
|
}
|
|
260
260
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CaUploadDropzoneComponent, decorators: [{
|
|
261
261
|
type: Component,
|
|
@@ -272,7 +272,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
272
272
|
}),
|
|
273
273
|
], encapsulation: ViewEncapsulation.None, host: {
|
|
274
274
|
'(window:paste)': 'handlePaste($event)',
|
|
275
|
-
}, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"dropzone-container d-flex align-items-center justify-content-center\"\n [ngClass]=\"{\n 'split-dropzone': isDropzoneShownInCrop,\n unSupported: isSupportedType,\n expanded: isDropzoneExpanded && !isSupportedType,\n 'disabled-dropzone': files.length >= this.limit && this.limit > 0,\n }\"\n [ngStyle]=\"{\n width:\n files.length === 0\n ? customWidth || '448px'\n : files.length === 1\n ? '296px'\n : files.length === 2\n ? '148px'\n : files.length === 3\n ? '148px'\n : '148px',\n }\"\n>\n <ng-container *ngFor=\"let item of _dropZoneConfigArray; trackBy: identify\">\n <div\n class=\"dropzone-content d-flex align-items-center justify-content-center\"\n [ngClass]=\"{\n 'upload-dropzone-unsupported': isSupportedType,\n expandedContent: isDropzoneExpanded,\n 'column-layout': files.length >= 2,\n }\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate(item.template);\n context: { $implicit: item.config }\n \"\n ></ng-container>\n </div>\n </ng-container>\n</div>\n\n<!-------------Document template-------------->\n<ng-template templateContainer id=\"documentsTemplate\" let-config>\n <!--SVG ICON-->\n <ng-container *ngIf=\"!isShownDropzoneFocus && !isDropzoneExpanded\">\n <ng-container *ngTemplateOutlet=\"dropzoneIconTemplate\"></ng-container>\n </ng-container>\n\n <!--Lottie animation-->\n <ng-container\n *ngIf=\"(isDropzoneExpanded || isShownDropzoneFocus) && !isSupportedType\"\n >\n <ng-container *ngTemplateOutlet=\"lottieAnimationTemplate\"></ng-container>\n </ng-container>\n\n <!--Content for supported and unsupported types-->\n <ng-container *ngTemplateOutlet=\"dropzoneTextTemplate\"> </ng-container>\n\n <!--Supported extensions for unsupported type-->\n <ng-container *ngIf=\"isSupportedType\">\n <ng-container\n *ngTemplateOutlet=\"supportedExtensionsTemplate\"\n ></ng-container>\n </ng-container>\n\n <!--FILE INPUT-->\n <ng-container\n *ngTemplateOutlet=\"fileInputTemplate; context: { $implicit: config }\"\n ></ng-container>\n</ng-template>\n\n<!-------------Media template-------------->\n<ng-template templateContainer id=\"mediaTemplate\" let-config>\n <!--SVG ICON-->\n <ng-container *ngIf=\"!isShownDropzoneFocus && !isDropzoneExpanded\">\n <ng-container *ngTemplateOutlet=\"dropzoneIconTemplate\"></ng-container>\n </ng-container>\n\n <!--Lottie animation-->\n <ng-container\n *ngIf=\"(isDropzoneExpanded || isShownDropzoneFocus) && !isSupportedType\"\n >\n <ng-container *ngTemplateOutlet=\"lottieAnimationTemplate\"></ng-container>\n </ng-container>\n\n <!--Content for supported and unsupported types-->\n <ng-container *ngTemplateOutlet=\"dropzoneTextTemplate\"> </ng-container>\n\n <!--Supported extensions for unsupported type-->\n <ng-container *ngIf=\"isSupportedType\">\n <ng-container\n *ngTemplateOutlet=\"supportedExtensionsTemplate\"\n ></ng-container>\n </ng-container>\n\n <!--FILE INPUT-->\n <ng-container\n *ngTemplateOutlet=\"fileInputTemplate; context: { $implicit: config }\"\n ></ng-container>\n</ng-template>\n\n<!-------------Image template-------------->\n<ng-template templateContainer id=\"imageTemplate\" let-config>\n <!--SVG ICON-->\n <ng-container *ngIf=\"!isShownDropzoneFocus && !isDropzoneExpanded\">\n <ng-container *ngTemplateOutlet=\"dropzoneIconTemplate\"></ng-container>\n </ng-container>\n\n <!--Lottie animation-->\n <ng-container\n *ngIf=\"(isDropzoneExpanded || isShownDropzoneFocus) && !isSupportedType\"\n >\n <ng-container *ngTemplateOutlet=\"lottieAnimationTemplate\"></ng-container>\n </ng-container>\n\n <!--Content for supported and unsupported types-->\n <ng-container *ngTemplateOutlet=\"dropzoneTextTemplate\"> </ng-container>\n\n <!--Supported extensions for unsupported type-->\n <ng-container *ngIf=\"isSupportedType\">\n <ng-container\n *ngTemplateOutlet=\"supportedExtensionsTemplate\"\n ></ng-container>\n </ng-container>\n\n <!--FILE INPUT-->\n <ng-container\n *ngTemplateOutlet=\"fileInputTemplate; context: { $implicit: config }\"\n ></ng-container>\n</ng-template>\n\n<!-------------Image Crop template-------------->\n<ng-template templateContainer id=\"imageCropTemplate\" let-config>\n <!--SVG ICON-->\n <ng-container *ngIf=\"!isShownDropzoneFocus && !isDropzoneExpanded\">\n <ng-container *ngTemplateOutlet=\"dropzoneIconTemplate\"></ng-container>\n </ng-container>\n\n <!--Lottie animation-->\n <ng-container\n *ngIf=\"(isDropzoneExpanded || isShownDropzoneFocus) && !isSupportedType\"\n >\n <ng-container *ngTemplateOutlet=\"lottieAnimationTemplate\"></ng-container>\n </ng-container>\n\n <!--Content for supported and unsupported types-->\n <ng-container *ngTemplateOutlet=\"dropzoneTextTemplate\"> </ng-container>\n\n <!--Supported extensions for unsupported type-->\n <ng-container *ngIf=\"isSupportedType\">\n <ng-container\n *ngTemplateOutlet=\"supportedExtensionsTemplate\"\n ></ng-container>\n </ng-container>\n\n <!--FILE INPUT-->\n <ng-container\n *ngTemplateOutlet=\"fileInputTemplate; context: { $implicit: config }\"\n ></ng-container>\n</ng-template>\n\n<!-------------Logo template-------------->\n<ng-template templateContainer id=\"logoTemplate\" let-config>\n <!--SVG ICON-->\n <ng-container *ngIf=\"!isShownDropzoneFocus && !isDropzoneExpanded\">\n <ng-container *ngTemplateOutlet=\"dropzoneIconTemplate\"></ng-container>\n </ng-container>\n\n <!--Lottie animation-->\n <ng-container\n *ngIf=\"(isDropzoneExpanded || isShownDropzoneFocus) && !isSupportedType\"\n >\n <ng-container *ngTemplateOutlet=\"lottieAnimationTemplate\"></ng-container>\n </ng-container>\n\n <!--Content for supported and unsupported types-->\n <ng-container *ngTemplateOutlet=\"dropzoneTextTemplate\"> </ng-container>\n\n <!--Supported extensions for unsupported type-->\n <ng-container *ngIf=\"isSupportedType\">\n <ng-container\n *ngTemplateOutlet=\"supportedExtensionsTemplate\"\n ></ng-container>\n </ng-container>\n\n <!--FILE INPUT-->\n <ng-container\n *ngTemplateOutlet=\"fileInputTemplate; context: { $implicit: config }\"\n ></ng-container>\n</ng-template>\n\n<!--------------COMMON-TEMPLATE-------------->\n\n<!------INPUT------->\n<ng-template #fileInputTemplate let-config>\n <input\n #dropZone\n [id]=\"'dropZone' + (config.dropzoneOption?.dropzoneIndex || 0)\"\n type=\"file\"\n [accept]=\"config.dropzone?.dropZoneAvailableFiles\"\n [multiple]=\"config.dropzone?.multiple\"\n (change)=\"handleFileChange($event)\"\n style=\"display: none\"\n />\n</ng-template>\n\n<!--DROPZONE_TEXT-->\n<ng-template #dropzoneTextTemplate>\n <div\n class=\"dropzone-text d-flex flex-column align-items-center justify-content-center\"\n >\n <p\n class=\"upload-dropzone-text\"\n [ngClass]=\"{ 'unsupported-text-big': isSupportedType, \n 'max-count': isMaxCountReached()}\"\n >\n <ng-container *ngIf=\"isMaxCountReached(); else normalText\">\n MAX COUNT REACHED\n </ng-container>\n <ng-template #normalText>\n {{ isSupportedType ? 'INVALID FILE TYPE' : 'DRAG ' + dropZoneText }}\n {{ !(isSupportedType || (files && files.length)) ? ' HERE' : '' }}\n </ng-template>\n <ng-container\n *ngIf=\"_dropZoneConfigArray?.[0]?.template === 'mediaTemplate'\"\n >\n <p class=\"media-sizes\">max file size 50mb</p>\n </ng-container>\n </p>\n <ng-container *ngIf=\"!isDropzoneExpanded\">\n <span class=\"upload-dropzone-text-small\">\n <ng-container *ngIf=\"isMaxCountReached(); else formatText\">\n {{ files.length }} FILES IMPORTED\n </ng-container>\n <ng-template #formatText>\n {{ isSupportedType ? 'SUPPORTED FORMATS' : 'OR CLICK TO ADD' }}\n </ng-template>\n </span>\n </ng-container>\n </div>\n</ng-template>\n\n<!------ICON-------->\n<ng-template #dropzoneIconTemplate>\n <svg-icon\n [src]=\"!isSupportedType && !isFileDrop ? iconSrc : dropzoneSvgRoute\"\n [ngClass]=\"{\n 'cancel-unsupported-zone': isSupportedType,\n 'svgIcon-document': files.length < 2,\n 'svg-small': files.length >= 2,\n }\"\n ></svg-icon>\n</ng-template>\n<!-- LOTTIE_ANIMATION -->\n<ng-template #lottieAnimationTemplate>\n <div\n class=\"animation-container d-flex flex-column align-items-center justify-content-center\"\n [ngClass]=\"{ expanded: isDropzoneExpanded }\"\n >\n <ng-lottie\n class=\"static-lottie-animation\"\n [options]=\"lottieOptions\"\n ></ng-lottie>\n </div>\n</ng-template>\n\n<!-- SUPPORTED_EXTENSIONS -->\n<ng-template #supportedExtensionsTemplate>\n <div class=\"supported-extensions d-flex justify-content-center\">\n <span\n class=\"extension extension-{{\n extension\n }} d-flex justify-content-center align-items-center\"\n *ngFor=\"let extension of dropZoneAvailableFiles; trackBy: identify\"\n >{{ extension }}</span\n >\n </div>\n</ng-template>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap\";@import\"https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css\";.ca-font-thin{font-weight:100!important}.ca-font-extra-light{font-weight:200!important}.ca-font-light{font-weight:300!important}.ca-font-regular{font-weight:400!important}.ca-font-medium{font-weight:500!important}.ca-font-semi-bold,.dropzone-container .dropzone-text .upload-dropzone-text-small{font-weight:600!important}.ca-font-bold,.dropzone-container .dropzone-text .upload-dropzone-text{font-weight:700!important}.ca-font-extra-bold{font-weight:800!important}.ca-font-black,.dropzone-container .supported-extensions .extension{font-weight:900!important}.pickup-delivery-popover{top:-38px!important;max-width:340px!important}.pickup-delivery-popover.bs-popover-top{top:auto!important;bottom:-38px!important}.pickup-delivery-popover.bs-popover-top .load-component .assigned-load-holder{order:3;margin-top:4px;margin-bottom:0!important}.pickup-delivery-popover.bs-popover-top .load-component .statusBar{order:2;margin-top:4px}.pickup-delivery-popover.bs-popover-top .load-component .animation-three-tabs{order:1}.gps_dropdown_popover{top:-38px;max-width:494px}.gps_dropdown_popover .popover-body{padding:0}.table-progress-popover{background-color:unset!important;margin-left:-10px}.table-progress-popover .progress-dropdown{margin-top:-6px;width:260px;height:200px;background:#2f2f2f;border-radius:3px;padding:8px;box-shadow:0 0 4px #00000026;overflow:hidden;-webkit-animation:progressAnimation .25s ease-in-out;animation:progressAnimation .25s ease-in-out}.table-progress-popover .progress-dropdown .progress-header .progress-title{font-size:18px;font-weight:600;color:#dadada}.table-progress-popover .progress-dropdown .progress-header .progress-title span{font-weight:400}.table-progress-popover .progress-dropdown .progress-header .progress-total{font-size:14px;line-height:17px;color:#dadada}.table-progress-popover .progress-dropdown .table-progress-bar-container{width:100%;height:8px;margin-top:6px;border-radius:2px;overflow:hidden}.table-progress-popover .progress-dropdown .table-progress-bar-container .table-progress-bar{height:100%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-dual-info-container .progress-info-container{width:50%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container{margin-top:10px}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-title{margin-bottom:2px;font-size:11px;font-weight:700;line-height:14px;color:#ffffffb2}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-text{font-size:14px;line-height:18px;color:#dadada}.table-progress-popover .progress-dropdown.credit-dropdown{height:100px}@-webkit-keyframes progressAnimation{0%{height:0px}to{height:220px}}@keyframes progressAnimation{0%{height:0px}to{height:220px}}ngb-popover-window{padding:unset!important;border:unset!important}ngb-popover-window .popover-arrow{display:none!important}ngb-popover-window .popover-body{padding:unset!important}.dispatch-note .popover-body{position:relative;top:-4px;left:-4px}.tooltip{font-size:12px;position:relative}.tooltip.show{opacity:.83}.tooltip.fade:after,.tooltip.fade:before{transform:translateY(-10px);transition:all .15s ease-in-out}.tooltip.fade:hover:after,.tooltip.fade:hover:before{opacity:1;transform:translate(0)}.tooltip-inner{padding:4px 10px;white-space:nowrap;max-width:none;border-radius:3px}.placeholder-delete .tooltip-inner{background-color:#f66}.placeholder-delete .arrow:before{border-top-color:#f66}.custom-popup-owners-for-flag .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(126%) translate(-50%)!important;width:130px;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-for-flag .arrow{bottom:-18%;transform:rotate(180deg);left:calc(50% + 2.7rem)}.custom-popup-owners-for-flag .tooltip{opacity:.93!important;width:0}.custom-popup-owners{z-index:999}.custom-popup-owners .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners .tooltip{transform:translateY(-61px)!important}.custom-popup-owners-year{z-index:999}.custom-popup-owners-year .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners-year .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners-year .tooltip{transform:translate(70px,-61px)!important}.custom-popup-owners-info .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-100%) translate(-10%);width:200px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;margin-top:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info .tooltip{opacity:.93;width:0}.custom-popup-owners-info .arrow{display:none}.custom-popup-owners-info #phone-inside{position:relative;right:26px;bottom:0}.custom-popup-owners-info-at .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-108%) translate(-7%);width:270px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info-at .tooltip{opacity:1;width:0}.custom-popup-owners-info-at .arrow{display:none}.custom-popup-owners-for-tag .tooltip-inner{color:#3b3b3b;background-color:#fff;width:100px;border-radius:3px;box-shadow:0 0 3px #0003!important}.custom-popup-owners-for-tag .tooltip{top:5px!important}.custom-popup-owners-for-tag .arrow{bottom:-24%}.align-items-flex-start{justify-content:center;align-items:center}.align-items-flex-end{display:flex;justify-content:center;flex-direction:column;align-self:flex-end;align-items:flex-start}.label-add{align-self:flex-start}.fadeInLoad{animation:fadeInLoad .25s}@keyframes fadeInLoad{0%{opacity:0}to{opacity:1}}.fadeIn{opacity:1;-webkit-transition:.25s;-moz-transition:.25s;-o-transition:.25s;transition:.25s}.thisText:hover .fadeIn{opacity:0}.fadeInLoad{animation-name:example;animation-duration:.25s}@keyframes example{0%{transform:scale(.5)}to{transform:scale(1)}}.tooltip.tooltip-table-icons{left:12px!important;opacity:1}.tooltip.tooltip-table-icons .arrow{display:none!important}.tooltip.tooltip-table-icons .tooltip-inner{border-radius:0 50px 50px;background:#28529f}.tooltip.show{opacity:1;animation:fadeIn ease .5s!important;-webkit-animation:fadeIn ease .5s!important;-moz-animation:fadeIn ease .5s!important;-o-animation:fadeIn ease .5s!important;-ms-animation:fadeIn ease .5s!important}.ta-tooltip{position:absolute;font-size:12px;text-align:center;color:#fff;line-height:22px;z-index:999999!important;opacity:0;white-space:nowrap;transform:scale(.7)}.ta-tooltip.ta-tooltip-show{opacity:.85;transform:scale(1);padding:0 12px}.ta-tooltip.ta-tooltip-bottom-right,.ta-tooltip.ta-tooltip-bottom-right-corner{transform-origin:top left;border-radius:0 15px 15px}.ta-tooltip.ta-tooltip-bottom-left{transform-origin:top right;border-radius:15px 0 15px 15px}@keyframes scaleItem{0%{transform:scale(.4)}to{transform:scale(1)}}.app-ca-main-tooltip{pointer-events:none}.app-ca-main-tooltip .tooltip-inner{padding:0;pointer-events:none}.app-ca-main-tooltip .tooltip-inner .tooltip-holder{display:flex;font-size:11px;font-weight:700;border-radius:2px;padding:2px 8px;animation:scaleItem .3s;white-space:normal}.tooltip-arrow{display:none!important}.trucks.semitruck svg path,.trucks.semisleeper svg path,.trucks.flatbed svg path,.trucks.stepdeck svg path,.trucks.lowboyrgn svg path,.trucks.chassis svg path,.trucks.conestoga svg path,.trucks.sidekit svg path,.trucks.container svg path,.trailers.semitruck svg path,.trailers.semisleeper svg path,.trailers.flatbed svg path,.trailers.stepdeck svg path,.trailers.lowboyrgn svg path,.trailers.chassis svg path,.trailers.conestoga svg path,.trailers.sidekit svg path,.trailers.container svg path{fill:#92b1f5}.trucks.boxtruck svg path,.trucks.reefertruck svg path,.trucks.cargovan svg path,.trucks.dryvan svg path,.trucks.reefer svg path,.trailers.boxtruck svg path,.trailers.reefertruck svg path,.trailers.cargovan svg path,.trailers.dryvan svg path,.trailers.reefer svg path{fill:#fbc88b}.trucks.dumptruck svg path,.trucks.cementtruck svg path,.trucks.garbagetruck svg path,.trucks.enddump svg path,.trucks.bottomdump svg path,.trucks.hopper svg path,.trucks.tanker svg path,.trucks.pneumatictanker svg path,.trailers.dumptruck svg path,.trailers.cementtruck svg path,.trailers.garbagetruck svg path,.trailers.enddump svg path,.trailers.bottomdump svg path,.trailers.hopper svg path,.trailers.tanker svg path,.trailers.pneumatictanker svg path{fill:#ed9292}.trucks.towtruck svg path,.trucks.carhauler svg path,.trucks.spotter svg path,.trucks.carhaulerstigner svg path,.trailers.towtruck svg path,.trailers.carhauler svg path,.trailers.spotter svg path,.trailers.carhaulerstigner svg path{fill:#86c9c3}.trucks .svgtext-template-text,.trailers .svgtext-template-text{color:#fff;transition:color .3s ease-in-out}.colors .black svg #droplet{fill:#6c6c6c}.colors .brown svg #droplet{fill:#a1887f}.colors .darkgreen svg #droplet{fill:#4db6a2}.colors .lightgreen svg #droplet{fill:#81c784}.colors .darkblue svg #droplet{fill:#546fd2}.colors .lightblue svg #droplet{fill:#64b5f6}.colors .gray svg #droplet{fill:#aaa}.colors .purple svg #droplet{fill:#ba68c8}.colors .gold svg #droplet{fill:#bcad79}.colors .silver svg #droplet{fill:#dadada}.colors .red svg #droplet{fill:#f96b69}.colors .pink svg #droplet{fill:#f26ec2}.colors .white svg #droplet{fill:#f1f1f1}.colors .orange svg #droplet{fill:#ff8a65}.colors .yellow svg #droplet{fill:#ffd54f}.colors:hover{transition:all .3s ease-in-out}.colors:hover .black svg #droplet{fill:#3c3c3c}.colors:hover .brown svg #droplet{fill:#8d6e63}.colors:hover .darkgreen svg #droplet{fill:#26a690}.colors:hover .lightgreen svg #droplet{fill:#66bb6a}.colors:hover .darkblue svg #droplet{fill:#304fc1}.colors:hover .lightblue svg #droplet{fill:#42a5f5}.colors:hover .gray svg #droplet{fill:#919191}.colors:hover .purple svg #droplet{fill:#ab47bc}.colors:hover .gold svg #droplet{fill:#aa9c6e}.colors:hover .silver svg #droplet{fill:#b7b7b7}.colors:hover .red svg #droplet{fill:#ef5350}.colors:hover .pink svg #droplet{fill:#fa4daa}.colors:hover .white svg #droplet{fill:#fff}.colors:hover .orange svg #droplet{fill:#ff7043}.colors:hover .yellow svg #droplet{fill:#ffca28}.text-color-black{color:#424242!important}.text-color-black::-moz-selection{background:#42424233!important;color:#424242!important}.text-color-black::selection{background:#42424233!important;color:#424242!important}.text-color-black-2{color:#2f2f2f!important}.text-color-black-2::-moz-selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-black-2::selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-muted{color:#919191!important}.text-color-muted::-moz-selection{background:#91919133!important;color:#919191!important}.text-color-muted::selection{background:#91919133!important;color:#919191!important}.text-color-green{color:#56b4ac!important}.text-color-green::-moz-selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-green::selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-blue-13{color:#6692f1!important}.text-color-blue-13::-moz-selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-13::selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-18{color:#3b73ed!important}.text-color-blue-18::-moz-selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-blue-18::selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-red-10{color:#e66767!important}.text-color-red-10::-moz-selection{background:#e6676733!important;color:#e66767!important}.text-color-red-10::selection{background:#e6676733!important;color:#e66767!important}.text-color-light-grey{color:#e5e5e5!important}.text-color-light-grey::-moz-selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey::selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey-2{color:#aaa!important}.text-color-light-grey-2::-moz-selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-2::selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-6{color:#ccc!important}.text-color-light-grey-6::-moz-selection{color:#ccc!important;background:#aaa3!important}.text-color-light-grey-6::selection{color:#ccc!important;background:#aaa3!important}.text-color-white{color:#dadada!important}.text-color-white::-moz-selection{color:#dadada!important;background:#fff3!important}.text-color-white::selection{color:#dadada!important;background:#fff3!important}.text-color-white-4{color:#ffffffb2!important}.text-color-white-4::-moz-selection{color:#ffffffb2!important;background:#fff3!important}.text-color-white-4::selection{color:#ffffffb2!important;background:#fff3!important}.text-color-dark-grey{color:#6c6c6c!important}.text-color-dark-grey::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-dark-grey::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2{color:#6c6c6c!important}.text-color-bw6-2::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9{color:#dadada!important}.text-color-bw-9::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-grey{color:#919191!important}.text-color-grey::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey::selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::-moz-selection,.text-color-grey .marker-bold-text::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::selection,.text-color-grey .marker-bold-text::selection{color:#919191!important;background:#91919133!important}.text-size-11{font-size:11px!important;line-height:14px!important}.text-size-14{font-size:14px!important;line-height:18px!important}.text-size-16{font-size:16px!important;line-height:19px!important}.text-size-18{font-size:18px!important;line-height:22px!important}.text-size-26{font-size:26px!important;line-height:32px!important}.text-size-28{font-size:28px!important;line-height:34px!important}@keyframes dropdown{0%{margin-top:20px;visibility:hidden;opacity:0}to{opacity:1;margin-top:10px;visibility:visible!important}}@keyframes dropup{0%{margin-top:-19px;visibility:hidden;opacity:0}to{margin-top:inherit;visibility:visible!important}}.svg-fill-black svg path{fill:#424242!important}.svg-fill-muted svg path{fill:#919191!important}.svg-fill-bw-9 svg path{fill:#dadada!important}.svg-fill-light-grey-2 svg path{fill:#aaa!important}.svg-fill-light-grey-6 svg path{fill:#ccc!important}.svg-fill-blue-13 svg path{fill:#6692f1!important}.svg-fill-blue-19 svg path{fill:#92b1f5!important}.svg-fill-blue-26 svg path{fill:#4dc5eb!important}.svg-hover-muted svg path{transition:all .3s ease-in-out}.svg-hover-muted:hover svg path{fill:#919191!important}.svg-hover-black svg path{transition:all .3s ease-in-out}.svg-hover-black:hover svg path{fill:#424242!important}.svg-hover-blue-15 svg path{transition:all .3s ease-in-out}.svg-hover-blue-15:hover svg path{fill:#0b49d1!important}.svg-hover-bw6-2 svg path{transition:all .3s ease-in-out}.svg-hover-bw6-2:hover svg path{fill:#6c6c6c!important}.svg-hover-trash-red svg path{transition:all .3s ease-in-out}.svg-hover-trash-red:hover svg path{fill:#ff5050!important}.svg-hover-red-14 svg path{transition:all .3s ease-in-out}.svg-hover-red-14:hover svg path{fill:#c20c0c!important}.svg-size-12 svg{width:12px;height:12px}.svg-size-14 svg{width:14px;height:14px}.svg-size-16 svg{width:16px;height:16px}.svg-size-18 svg{width:18px;height:18px}.svg-size-44-16 svg{width:44px;height:16px}*{margin:0;font-family:Montserrat,sans-serif}html{scroll-behavior:auto!important}.gm-style-iw-chr,.gm-style-iw-tc{display:none}.gm-style .gm-style-iw-c{border-radius:0}.gm-style-iw{overflow-y:auto!important;overflow-x:hidden!important}.gm-style-iw>div{overflow:visible!important}.infoWindow{overflow:hidden!important}.gm-style-iw-d,.gm-style-iw.gm-style-iw-c{max-height:350px!important}::ng-deep .popover{--bs-popover-border-width: 0;--bs-popover-body-padding-y: 0;--bs-popover-body-padding-x: 0}::ng-deep .popover .popover-arrow{display:none}.dropzone-container{width:100%;height:178px;outline:4px dashed #eeeeee;border-radius:2px;position:relative;cursor:pointer;overflow:hidden}.dropzone-container.split-dropzone{width:auto!important}.dropzone-container.disabled-dropzone{pointer-events:none;opacity:.6;cursor:not-allowed}.dropzone-container:hover{background-color:#eee}.dropzone-container.dropzone-small{width:302px!important}.dropzone-container.expanded{height:458px}.dropzone-container.unSupported{outline-color:#ed9292;outline-offset:-4px;background-color:#fff}.dropzone-container .animation-container{height:auto;width:auto;overflow:hidden;position:relative;transition:transform .5s ease-in-out}.dropzone-container .animation-container .static-lottie-animation{width:100%;height:100%}.dropzone-container .animation-container.expanded{transition:height .5s ease-in-out}.dropzone-container .dropzone-content{gap:10px;position:relative;transition:transform .5s ease-in-out,opacity .5s ease-in-out}.dropzone-container .dropzone-content.column-layout{flex-direction:column;align-items:center;justify-content:center}.dropzone-container .dropzone-content .cancel-unsupported-zone{position:absolute}.dropzone-container .dropzone-content.dropzone-small{width:302px;height:100%}.dropzone-container .dropzone-content.expandedContent{flex-direction:column;transform:scale(1);opacity:1;top:-30px}.dropzone-container .upload-dropzone-unsupported{flex-direction:column;gap:12px;position:relative;width:100%;height:100%}.dropzone-container .svgIcon-document{width:100px;height:100px}.dropzone-container .svgIcon-document.svg-small svg-icon{width:80px!important;height:80px!important}.dropzone-container .svgIcon-document.big{width:200px;height:200px}.dropzone-container .dropzone-text{color:#424242;-webkit-user-select:none;user-select:none;pointer-events:none}.dropzone-container .dropzone-text .upload-dropzone-text{font-size:14px;line-height:18px;align-items:center;font-family:Montserrat,sans-serif;margin-bottom:0}.dropzone-container .dropzone-text .upload-dropzone-text.unsupported-text-big{color:#df3c3c}.dropzone-container .dropzone-text .upload-dropzone-text.max-count{text-align:center}.dropzone-container .dropzone-text .upload-dropzone-text-small{font-family:Montserrat,sans-serif;margin-top:4px;font-size:11px;line-height:14px;align-items:center}.dropzone-container .dropzone-text .upload-dropzone-text-small .media-sizes{font-size:11px;line-height:14px;color:#919191;margin-top:4px}.dropzone-container .cancel-unsupported-zone{position:absolute;top:6px;right:14px;cursor:pointer;width:12.6px;height:12.6px}.dropzone-container .supported-extensions{gap:4px}.dropzone-container .supported-extensions .extension{font-family:Montserrat,sans-serif;width:35px;height:18px;border-radius:1px;font-size:11px;color:#fff;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-transform:uppercase}.dropzone-container .supported-extensions .extension-jpg,.dropzone-container .supported-extensions .extension-jpeg,.dropzone-container .supported-extensions .extension-png{background:#fab15c}.dropzone-container .supported-extensions .extension-pdf{background-color:#e66767}.dropzone-container .supported-extensions .extension-mov,.dropzone-container .supported-extensions .extension-mp4,.dropzone-container .supported-extensions .extension-avi{background-color:#b370f0}.dropzone-container .supported-extensions .extension:hover{transition:height .3s ease-in-out;opacity:1;cursor:auto!important}\n"] }]
|
|
275
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"dropzone-container d-flex align-items-center justify-content-center\"\n [ngClass]=\"{\n 'split-dropzone': isDropzoneShownInCrop,\n unSupported: isSupportedType,\n expanded: isDropzoneExpanded && !isSupportedType,\n 'disabled-dropzone': files.length >= this.limit && this.limit > 0,\n }\"\n [ngStyle]=\"{\n width:\n files.length === 0\n ? customWidth || '448px'\n : files.length === 1\n ? '296px'\n : files.length === 2\n ? '148px'\n : files.length === 3\n ? '148px'\n : '148px',\n }\"\n>\n <ng-container *ngFor=\"let item of _dropZoneConfigArray; trackBy: identify\">\n <div\n class=\"dropzone-content d-flex align-items-center justify-content-center\"\n [ngClass]=\"{\n 'upload-dropzone-unsupported': isSupportedType,\n expandedContent: isDropzoneExpanded,\n 'column-layout': files.length >= 2,\n }\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate(item.template);\n context: { $implicit: item.config }\n \"\n ></ng-container>\n </div>\n </ng-container>\n</div>\n\n<!-------------Document template-------------->\n<ng-template templateContainer id=\"documentsTemplate\" let-config>\n <!--SVG ICON-->\n <ng-container *ngIf=\"!isShownDropzoneFocus && !isDropzoneExpanded\">\n <ng-container *ngTemplateOutlet=\"dropzoneIconTemplate\"></ng-container>\n </ng-container>\n\n <!--Lottie animation-->\n <ng-container\n *ngIf=\"(isDropzoneExpanded || isShownDropzoneFocus) && !isSupportedType\"\n >\n <ng-container *ngTemplateOutlet=\"lottieAnimationTemplate\"></ng-container>\n </ng-container>\n\n <!--Content for supported and unsupported types-->\n <ng-container *ngTemplateOutlet=\"dropzoneTextTemplate\"> </ng-container>\n\n <!--Supported extensions for unsupported type-->\n <ng-container *ngIf=\"isSupportedType\">\n <ng-container\n *ngTemplateOutlet=\"supportedExtensionsTemplate\"\n ></ng-container>\n </ng-container>\n\n <!--FILE INPUT-->\n <ng-container\n *ngTemplateOutlet=\"fileInputTemplate; context: { $implicit: config }\"\n ></ng-container>\n</ng-template>\n\n<!-------------Media template-------------->\n<ng-template templateContainer id=\"mediaTemplate\" let-config>\n <!--SVG ICON-->\n <ng-container *ngIf=\"!isShownDropzoneFocus && !isDropzoneExpanded\">\n <ng-container *ngTemplateOutlet=\"dropzoneIconTemplate\"></ng-container>\n </ng-container>\n\n <!--Lottie animation-->\n <ng-container\n *ngIf=\"(isDropzoneExpanded || isShownDropzoneFocus) && !isSupportedType\"\n >\n <ng-container *ngTemplateOutlet=\"lottieAnimationTemplate\"></ng-container>\n </ng-container>\n\n <!--Content for supported and unsupported types-->\n <ng-container *ngTemplateOutlet=\"dropzoneTextTemplate\"> </ng-container>\n\n <!--Supported extensions for unsupported type-->\n <ng-container *ngIf=\"isSupportedType\">\n <ng-container\n *ngTemplateOutlet=\"supportedExtensionsTemplate\"\n ></ng-container>\n </ng-container>\n\n <!--FILE INPUT-->\n <ng-container\n *ngTemplateOutlet=\"fileInputTemplate; context: { $implicit: config }\"\n ></ng-container>\n</ng-template>\n\n<!-------------Image template-------------->\n<ng-template templateContainer id=\"imageTemplate\" let-config>\n <!--SVG ICON-->\n <ng-container *ngIf=\"!isShownDropzoneFocus && !isDropzoneExpanded\">\n <ng-container *ngTemplateOutlet=\"dropzoneIconTemplate\"></ng-container>\n </ng-container>\n\n <!--Lottie animation-->\n <ng-container\n *ngIf=\"(isDropzoneExpanded || isShownDropzoneFocus) && !isSupportedType\"\n >\n <ng-container *ngTemplateOutlet=\"lottieAnimationTemplate\"></ng-container>\n </ng-container>\n\n <!--Content for supported and unsupported types-->\n <ng-container *ngTemplateOutlet=\"dropzoneTextTemplate\"> </ng-container>\n\n <!--Supported extensions for unsupported type-->\n <ng-container *ngIf=\"isSupportedType\">\n <ng-container\n *ngTemplateOutlet=\"supportedExtensionsTemplate\"\n ></ng-container>\n </ng-container>\n\n <!--FILE INPUT-->\n <ng-container\n *ngTemplateOutlet=\"fileInputTemplate; context: { $implicit: config }\"\n ></ng-container>\n</ng-template>\n\n<!-------------Image Crop template-------------->\n<ng-template templateContainer id=\"imageCropTemplate\" let-config>\n <!--SVG ICON-->\n <ng-container *ngIf=\"!isShownDropzoneFocus && !isDropzoneExpanded\">\n <ng-container *ngTemplateOutlet=\"dropzoneIconTemplate\"></ng-container>\n </ng-container>\n\n <!--Lottie animation-->\n <ng-container\n *ngIf=\"(isDropzoneExpanded || isShownDropzoneFocus) && !isSupportedType\"\n >\n <ng-container *ngTemplateOutlet=\"lottieAnimationTemplate\"></ng-container>\n </ng-container>\n\n <!--Content for supported and unsupported types-->\n <ng-container *ngTemplateOutlet=\"dropzoneTextTemplate\"> </ng-container>\n\n <!--Supported extensions for unsupported type-->\n <ng-container *ngIf=\"isSupportedType\">\n <ng-container\n *ngTemplateOutlet=\"supportedExtensionsTemplate\"\n ></ng-container>\n </ng-container>\n\n <!--FILE INPUT-->\n <ng-container\n *ngTemplateOutlet=\"fileInputTemplate; context: { $implicit: config }\"\n ></ng-container>\n</ng-template>\n\n<!-------------Logo template-------------->\n<ng-template templateContainer id=\"logoTemplate\" let-config>\n <!--SVG ICON-->\n <ng-container *ngIf=\"!isShownDropzoneFocus && !isDropzoneExpanded\">\n <ng-container *ngTemplateOutlet=\"dropzoneIconTemplate\"></ng-container>\n </ng-container>\n\n <!--Lottie animation-->\n <ng-container\n *ngIf=\"(isDropzoneExpanded || isShownDropzoneFocus) && !isSupportedType\"\n >\n <ng-container *ngTemplateOutlet=\"lottieAnimationTemplate\"></ng-container>\n </ng-container>\n\n <!--Content for supported and unsupported types-->\n <ng-container *ngTemplateOutlet=\"dropzoneTextTemplate\"> </ng-container>\n\n <!--Supported extensions for unsupported type-->\n <ng-container *ngIf=\"isSupportedType\">\n <ng-container\n *ngTemplateOutlet=\"supportedExtensionsTemplate\"\n ></ng-container>\n </ng-container>\n\n <!--FILE INPUT-->\n <ng-container\n *ngTemplateOutlet=\"fileInputTemplate; context: { $implicit: config }\"\n ></ng-container>\n</ng-template>\n\n<!--------------COMMON-TEMPLATE-------------->\n\n<!------INPUT------->\n<ng-template #fileInputTemplate let-config>\n <input\n #dropZone\n [id]=\"'dropZone' + (config.dropzoneOption?.dropzoneIndex || 0)\"\n type=\"file\"\n [accept]=\"config.dropzone?.dropZoneAvailableFiles\"\n [multiple]=\"config.dropzone?.multiple\"\n (change)=\"handleFileChange($event)\"\n style=\"display: none\"\n />\n</ng-template>\n\n<!--DROPZONE_TEXT-->\n<ng-template #dropzoneTextTemplate>\n <div\n class=\"dropzone-text d-flex flex-column align-items-center justify-content-center\"\n >\n <p\n class=\"upload-dropzone-text\"\n [ngClass]=\"{ 'unsupported-text-big': isSupportedType, \n 'max-count': isMaxCountReached()}\"\n >\n <ng-container *ngIf=\"isMaxCountReached(); else normalText\">\n MAX COUNT REACHED\n </ng-container>\n <ng-template #normalText>\n {{ isSupportedType ? 'INVALID FILE TYPE' : 'DRAG ' + dropZoneText }}\n {{ !(isSupportedType || (files && files.length)) ? ' HERE' : '' }}\n </ng-template>\n <ng-container\n *ngIf=\"_dropZoneConfigArray?.[0]?.template === 'mediaTemplate'\"\n >\n <p class=\"media-sizes\">max file size 50mb</p>\n </ng-container>\n </p>\n <ng-container *ngIf=\"!isDropzoneExpanded\">\n <span class=\"upload-dropzone-text-small\">\n <ng-container *ngIf=\"isMaxCountReached(); else formatText\">\n {{ files.length }} FILES IMPORTED\n </ng-container>\n <ng-template #formatText>\n {{ isSupportedType ? 'SUPPORTED FORMATS' : 'OR CLICK TO ADD' }}\n </ng-template>\n </span>\n </ng-container>\n </div>\n</ng-template>\n\n<!------ICON-------->\n<ng-template #dropzoneIconTemplate>\n <svg-icon\n [src]=\"!isSupportedType && !isFileDrop ? iconSrc : dropzoneSvgRoute\"\n [ngClass]=\"{\n 'cancel-unsupported-zone': isSupportedType,\n 'svgIcon-document': files.length < 2,\n 'svg-small': files.length >= 2,\n }\"\n ></svg-icon>\n</ng-template>\n<!-- LOTTIE_ANIMATION -->\n<ng-template #lottieAnimationTemplate>\n <div\n class=\"animation-container d-flex flex-column align-items-center justify-content-center\"\n [ngClass]=\"{ expanded: isDropzoneExpanded }\"\n >\n <ng-lottie\n class=\"static-lottie-animation\"\n [options]=\"lottieOptions\"\n ></ng-lottie>\n </div>\n</ng-template>\n\n<!-- SUPPORTED_EXTENSIONS -->\n<ng-template #supportedExtensionsTemplate>\n <div class=\"supported-extensions d-flex justify-content-center\">\n <span\n class=\"extension extension-{{\n extension\n }} d-flex justify-content-center align-items-center\"\n *ngFor=\"let extension of dropZoneAvailableFiles; trackBy: identify\"\n >{{ extension }}</span\n >\n </div>\n</ng-template>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap\";@import\"https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css\";.ca-font-thin{font-weight:100!important}.ca-font-extra-light{font-weight:200!important}.ca-font-light{font-weight:300!important}.ca-font-regular{font-weight:400!important}.ca-font-medium{font-weight:500!important}.ca-font-semi-bold,.dropzone-container .dropzone-text .upload-dropzone-text-small{font-weight:600!important}.ca-font-bold,.dropzone-container .dropzone-text .upload-dropzone-text{font-weight:700!important}.ca-font-extra-bold{font-weight:800!important}.ca-font-black,.dropzone-container .supported-extensions .extension{font-weight:900!important}.pickup-delivery-popover{top:-38px!important;max-width:340px!important}.pickup-delivery-popover.bs-popover-top{top:auto!important;bottom:-38px!important}.pickup-delivery-popover.bs-popover-top .load-component .assigned-load-holder{order:3;margin-top:4px;margin-bottom:0!important}.pickup-delivery-popover.bs-popover-top .load-component .statusBar{order:2;margin-top:4px}.pickup-delivery-popover.bs-popover-top .load-component .animation-three-tabs{order:1}.gps_dropdown_popover{top:-38px;max-width:494px}.gps_dropdown_popover .popover-body{padding:0}.table-progress-popover{background-color:unset!important;margin-left:-10px}.table-progress-popover .progress-dropdown{margin-top:-6px;width:260px;height:200px;background:#2f2f2f;border-radius:3px;padding:8px;box-shadow:0 0 4px #00000026;overflow:hidden;-webkit-animation:progressAnimation .25s ease-in-out;animation:progressAnimation .25s ease-in-out}.table-progress-popover .progress-dropdown .progress-header .progress-title{font-size:18px;font-weight:600;color:#dadada}.table-progress-popover .progress-dropdown .progress-header .progress-title span{font-weight:400}.table-progress-popover .progress-dropdown .progress-header .progress-total{font-size:14px;line-height:17px;color:#dadada}.table-progress-popover .progress-dropdown .table-progress-bar-container{width:100%;height:8px;margin-top:6px;border-radius:2px;overflow:hidden}.table-progress-popover .progress-dropdown .table-progress-bar-container .table-progress-bar{height:100%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-dual-info-container .progress-info-container{width:50%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container{margin-top:10px}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-title{margin-bottom:2px;font-size:11px;font-weight:700;line-height:14px;color:#ffffffb2}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-text{font-size:14px;line-height:18px;color:#dadada}.table-progress-popover .progress-dropdown.credit-dropdown{height:100px}@-webkit-keyframes progressAnimation{0%{height:0px}to{height:220px}}@keyframes progressAnimation{0%{height:0px}to{height:220px}}ngb-popover-window{padding:unset!important;border:unset!important}ngb-popover-window .popover-arrow{display:none!important}ngb-popover-window .popover-body{padding:unset!important}.dispatch-note .popover-body{position:relative;top:-4px;left:-4px}.tooltip{font-size:12px;position:relative}.tooltip.show{opacity:.83}.tooltip.fade:after,.tooltip.fade:before{transform:translateY(-10px);transition:all .15s ease-in-out}.tooltip.fade:hover:after,.tooltip.fade:hover:before{opacity:1;transform:translate(0)}.tooltip-inner{padding:4px 10px;white-space:nowrap;max-width:none;border-radius:3px}.tooltip-inner:empty{padding:0}.placeholder-delete .tooltip-inner{background-color:#f66}.placeholder-delete .arrow:before{border-top-color:#f66}.custom-popup-owners-for-flag .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(126%) translate(-50%)!important;width:130px;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-for-flag .arrow{bottom:-18%;transform:rotate(180deg);left:calc(50% + 2.7rem)}.custom-popup-owners-for-flag .tooltip{opacity:.93!important;width:0}.custom-popup-owners{z-index:999}.custom-popup-owners .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners .tooltip{transform:translateY(-61px)!important}.custom-popup-owners-year{z-index:999}.custom-popup-owners-year .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners-year .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners-year .tooltip{transform:translate(70px,-61px)!important}.custom-popup-owners-info .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-100%) translate(-10%);width:200px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;margin-top:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info .tooltip{opacity:.93;width:0}.custom-popup-owners-info .arrow{display:none}.custom-popup-owners-info #phone-inside{position:relative;right:26px;bottom:0}.custom-popup-owners-info-at .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-108%) translate(-7%);width:270px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info-at .tooltip{opacity:1;width:0}.custom-popup-owners-info-at .arrow{display:none}.custom-popup-owners-for-tag .tooltip-inner{color:#3b3b3b;background-color:#fff;width:100px;border-radius:3px;box-shadow:0 0 3px #0003!important}.custom-popup-owners-for-tag .tooltip{top:5px!important}.custom-popup-owners-for-tag .arrow{bottom:-24%}.align-items-flex-start{justify-content:center;align-items:center}.align-items-flex-end{display:flex;justify-content:center;flex-direction:column;align-self:flex-end;align-items:flex-start}.label-add{align-self:flex-start}.fadeInLoad{animation:fadeInLoad .25s}@keyframes fadeInLoad{0%{opacity:0}to{opacity:1}}.fadeIn{opacity:1;-webkit-transition:.25s;-moz-transition:.25s;-o-transition:.25s;transition:.25s}.thisText:hover .fadeIn{opacity:0}.fadeInLoad{animation-name:example;animation-duration:.25s}@keyframes example{0%{transform:scale(.5)}to{transform:scale(1)}}.tooltip.tooltip-table-icons{left:12px!important;opacity:1}.tooltip.tooltip-table-icons .arrow{display:none!important}.tooltip.tooltip-table-icons .tooltip-inner{border-radius:0 50px 50px;background:#28529f}.tooltip.show{opacity:1;animation:fadeIn ease .5s!important;-webkit-animation:fadeIn ease .5s!important;-moz-animation:fadeIn ease .5s!important;-o-animation:fadeIn ease .5s!important;-ms-animation:fadeIn ease .5s!important}.ta-tooltip{position:absolute;font-size:12px;text-align:center;color:#fff;line-height:22px;z-index:999999!important;opacity:0;white-space:nowrap;transform:scale(.7)}.ta-tooltip.ta-tooltip-show{opacity:.85;transform:scale(1);padding:0 12px}.ta-tooltip.ta-tooltip-bottom-right,.ta-tooltip.ta-tooltip-bottom-right-corner{transform-origin:top left;border-radius:0 15px 15px}.ta-tooltip.ta-tooltip-bottom-left{transform-origin:top right;border-radius:15px 0 15px 15px}@keyframes scaleItem{0%{transform:scale(.4)}to{transform:scale(1)}}.app-ca-main-tooltip{pointer-events:none}.app-ca-main-tooltip .tooltip-inner{padding:0;background-color:transparent;pointer-events:none}.app-ca-main-tooltip .tooltip-inner .tooltip-holder{display:flex;font-size:11px;font-weight:700;border-radius:2px;padding:2px 8px;animation:scaleItem .3s;white-space:normal}.app-ca-main-tooltip .tooltip-inner .tooltip-holder:empty{padding:0}.tooltip-arrow{display:none!important}.trucks.semitruck svg path,.trucks.semisleeper svg path,.trucks.flatbed svg path,.trucks.stepdeck svg path,.trucks.lowboyrgn svg path,.trucks.chassis svg path,.trucks.conestoga svg path,.trucks.sidekit svg path,.trucks.container svg path,.trailers.semitruck svg path,.trailers.semisleeper svg path,.trailers.flatbed svg path,.trailers.stepdeck svg path,.trailers.lowboyrgn svg path,.trailers.chassis svg path,.trailers.conestoga svg path,.trailers.sidekit svg path,.trailers.container svg path{fill:#92b1f5}.trucks.boxtruck svg path,.trucks.reefertruck svg path,.trucks.cargovan svg path,.trucks.dryvan svg path,.trucks.reefer svg path,.trailers.boxtruck svg path,.trailers.reefertruck svg path,.trailers.cargovan svg path,.trailers.dryvan svg path,.trailers.reefer svg path{fill:#fbc88b}.trucks.dumptruck svg path,.trucks.cementtruck svg path,.trucks.garbagetruck svg path,.trucks.enddump svg path,.trucks.bottomdump svg path,.trucks.hopper svg path,.trucks.tanker svg path,.trucks.pneumatictanker svg path,.trailers.dumptruck svg path,.trailers.cementtruck svg path,.trailers.garbagetruck svg path,.trailers.enddump svg path,.trailers.bottomdump svg path,.trailers.hopper svg path,.trailers.tanker svg path,.trailers.pneumatictanker svg path{fill:#ed9292}.trucks.towtruck svg path,.trucks.carhauler svg path,.trucks.spotter svg path,.trucks.carhaulerstigner svg path,.trailers.towtruck svg path,.trailers.carhauler svg path,.trailers.spotter svg path,.trailers.carhaulerstigner svg path{fill:#86c9c3}.trucks .svgtext-template-text,.trailers .svgtext-template-text{color:#fff;transition:color .3s ease-in-out}.colors .black svg #droplet{fill:#6c6c6c}.colors .brown svg #droplet{fill:#a1887f}.colors .darkgreen svg #droplet{fill:#4db6a2}.colors .lightgreen svg #droplet{fill:#81c784}.colors .darkblue svg #droplet{fill:#546fd2}.colors .lightblue svg #droplet{fill:#64b5f6}.colors .gray svg #droplet{fill:#aaa}.colors .purple svg #droplet{fill:#ba68c8}.colors .gold svg #droplet{fill:#bcad79}.colors .silver svg #droplet{fill:#dadada}.colors .red svg #droplet{fill:#f96b69}.colors .pink svg #droplet{fill:#f26ec2}.colors .white svg #droplet{fill:#f1f1f1}.colors .orange svg #droplet{fill:#ff8a65}.colors .yellow svg #droplet{fill:#ffd54f}.colors:hover{transition:all .3s ease-in-out}.colors:hover .black svg #droplet{fill:#3c3c3c}.colors:hover .brown svg #droplet{fill:#8d6e63}.colors:hover .darkgreen svg #droplet{fill:#26a690}.colors:hover .lightgreen svg #droplet{fill:#66bb6a}.colors:hover .darkblue svg #droplet{fill:#304fc1}.colors:hover .lightblue svg #droplet{fill:#42a5f5}.colors:hover .gray svg #droplet{fill:#919191}.colors:hover .purple svg #droplet{fill:#ab47bc}.colors:hover .gold svg #droplet{fill:#aa9c6e}.colors:hover .silver svg #droplet{fill:#b7b7b7}.colors:hover .red svg #droplet{fill:#ef5350}.colors:hover .pink svg #droplet{fill:#fa4daa}.colors:hover .white svg #droplet{fill:#fff}.colors:hover .orange svg #droplet{fill:#ff7043}.colors:hover .yellow svg #droplet{fill:#ffca28}.text-color-black{color:#424242!important}.text-color-black::-moz-selection{background:#42424233!important;color:#424242!important}.text-color-black::selection{background:#42424233!important;color:#424242!important}.text-color-black-2{color:#2f2f2f!important}.text-color-black-2::-moz-selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-black-2::selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-muted{color:#919191!important}.text-color-muted::-moz-selection{background:#91919133!important;color:#919191!important}.text-color-muted::selection{background:#91919133!important;color:#919191!important}.text-color-green{color:#56b4ac!important}.text-color-green::-moz-selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-green::selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-blue-13{color:#6692f1!important}.text-color-blue-13::-moz-selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-13::selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-18{color:#3b73ed!important}.text-color-blue-18::-moz-selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-blue-18::selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-red-10{color:#e66767!important}.text-color-red-10::-moz-selection{background:#e6676733!important;color:#e66767!important}.text-color-red-10::selection{background:#e6676733!important;color:#e66767!important}.text-color-light-grey{color:#e5e5e5!important}.text-color-light-grey::-moz-selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey::selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey-2{color:#aaa!important}.text-color-light-grey-2::-moz-selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-2::selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-6{color:#ccc!important}.text-color-light-grey-6::-moz-selection{color:#ccc!important;background:#aaa3!important}.text-color-light-grey-6::selection{color:#ccc!important;background:#aaa3!important}.text-color-white{color:#dadada!important}.text-color-white::-moz-selection{color:#dadada!important;background:#fff3!important}.text-color-white::selection{color:#dadada!important;background:#fff3!important}.text-color-white-4{color:#ffffffb2!important}.text-color-white-4::-moz-selection{color:#ffffffb2!important;background:#fff3!important}.text-color-white-4::selection{color:#ffffffb2!important;background:#fff3!important}.text-color-dark-grey{color:#6c6c6c!important}.text-color-dark-grey::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-dark-grey::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2{color:#6c6c6c!important}.text-color-bw6-2::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9{color:#dadada!important}.text-color-bw-9::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-grey{color:#919191!important}.text-color-grey::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey::selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::-moz-selection,.text-color-grey .marker-bold-text::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::selection,.text-color-grey .marker-bold-text::selection{color:#919191!important;background:#91919133!important}.text-size-11{font-size:11px!important;line-height:14px!important}.text-size-14{font-size:14px!important;line-height:18px!important}.text-size-16{font-size:16px!important;line-height:19px!important}.text-size-18{font-size:18px!important;line-height:22px!important}.text-size-26{font-size:26px!important;line-height:32px!important}.text-size-28{font-size:28px!important;line-height:34px!important}@keyframes dropdown{0%{margin-top:20px;visibility:hidden;opacity:0}to{opacity:1;margin-top:10px;visibility:visible!important}}@keyframes dropup{0%{margin-top:-19px;visibility:hidden;opacity:0}to{margin-top:inherit;visibility:visible!important}}.svg-fill-black svg path{fill:#424242!important}.svg-fill-muted svg path{fill:#919191!important}.svg-fill-bw-9 svg path{fill:#dadada!important}.svg-fill-light-grey-2 svg path{fill:#aaa!important}.svg-fill-light-grey-6 svg path{fill:#ccc!important}.svg-fill-blue-13 svg path{fill:#6692f1!important}.svg-fill-blue-19 svg path{fill:#92b1f5!important}.svg-fill-blue-26 svg path{fill:#4dc5eb!important}.svg-hover-muted svg path{transition:all .3s ease-in-out}.svg-hover-muted:hover svg path{fill:#919191!important}.svg-hover-black svg path{transition:all .3s ease-in-out}.svg-hover-black:hover svg path{fill:#424242!important}.svg-hover-blue-15 svg path{transition:all .3s ease-in-out}.svg-hover-blue-15:hover svg path{fill:#0b49d1!important}.svg-hover-bw6-2 svg path{transition:all .3s ease-in-out}.svg-hover-bw6-2:hover svg path{fill:#6c6c6c!important}.svg-hover-trash-red svg path{transition:all .3s ease-in-out}.svg-hover-trash-red:hover svg path{fill:#ff5050!important}.svg-hover-red-14 svg path{transition:all .3s ease-in-out}.svg-hover-red-14:hover svg path{fill:#c20c0c!important}.svg-size-12 svg{width:12px;height:12px}.svg-size-14 svg{width:14px;height:14px}.svg-size-16 svg{width:16px;height:16px}.svg-size-18 svg{width:18px;height:18px}.svg-size-44-16 svg{width:44px;height:16px}*{margin:0;font-family:Montserrat,sans-serif}html{scroll-behavior:auto!important}.gm-style-iw-chr,.gm-style-iw-tc{display:none}.gm-style .gm-style-iw-c{border-radius:0}.gm-style-iw{overflow-y:auto!important;overflow-x:hidden!important}.gm-style-iw>div{overflow:visible!important}.infoWindow{overflow:hidden!important}.gm-style-iw-d,.gm-style-iw.gm-style-iw-c{max-height:350px!important}::ng-deep .popover{--bs-popover-border-width: 0;--bs-popover-body-padding-y: 0;--bs-popover-body-padding-x: 0}::ng-deep .popover .popover-arrow{display:none}.dropzone-container{width:100%;height:178px;outline:4px dashed #eeeeee;border-radius:2px;position:relative;cursor:pointer;overflow:hidden}.dropzone-container.split-dropzone{width:auto!important}.dropzone-container.disabled-dropzone{pointer-events:none;opacity:.6;cursor:not-allowed}.dropzone-container:hover{background-color:#eee}.dropzone-container.dropzone-small{width:302px!important}.dropzone-container.expanded{height:458px}.dropzone-container.unSupported{outline-color:#ed9292;outline-offset:-4px;background-color:#fff}.dropzone-container .animation-container{height:auto;width:auto;overflow:hidden;position:relative;transition:transform .5s ease-in-out}.dropzone-container .animation-container .static-lottie-animation{width:100%;height:100%}.dropzone-container .animation-container.expanded{transition:height .5s ease-in-out}.dropzone-container .dropzone-content{gap:10px;position:relative;transition:transform .5s ease-in-out,opacity .5s ease-in-out}.dropzone-container .dropzone-content.column-layout{flex-direction:column;align-items:center;justify-content:center}.dropzone-container .dropzone-content .cancel-unsupported-zone{position:absolute}.dropzone-container .dropzone-content.dropzone-small{width:302px;height:100%}.dropzone-container .dropzone-content.expandedContent{flex-direction:column;transform:scale(1);opacity:1;top:-30px}.dropzone-container .upload-dropzone-unsupported{flex-direction:column;gap:12px;position:relative;width:100%;height:100%}.dropzone-container .svgIcon-document{width:100px;height:100px}.dropzone-container .svgIcon-document.svg-small svg-icon{width:80px!important;height:80px!important}.dropzone-container .svgIcon-document.big{width:200px;height:200px}.dropzone-container .dropzone-text{color:#424242;-webkit-user-select:none;user-select:none;pointer-events:none}.dropzone-container .dropzone-text .upload-dropzone-text{font-size:14px;line-height:18px;align-items:center;font-family:Montserrat,sans-serif;margin-bottom:0}.dropzone-container .dropzone-text .upload-dropzone-text.unsupported-text-big{color:#df3c3c}.dropzone-container .dropzone-text .upload-dropzone-text.max-count{text-align:center}.dropzone-container .dropzone-text .upload-dropzone-text-small{font-family:Montserrat,sans-serif;margin-top:4px;font-size:11px;line-height:14px;align-items:center}.dropzone-container .dropzone-text .upload-dropzone-text-small .media-sizes{font-size:11px;line-height:14px;color:#919191;margin-top:4px}.dropzone-container .cancel-unsupported-zone{position:absolute;top:6px;right:14px;cursor:pointer;width:12.6px;height:12.6px}.dropzone-container .supported-extensions{gap:4px}.dropzone-container .supported-extensions .extension{font-family:Montserrat,sans-serif;width:35px;height:18px;border-radius:1px;font-size:11px;color:#fff;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-transform:uppercase}.dropzone-container .supported-extensions .extension-jpg,.dropzone-container .supported-extensions .extension-jpeg,.dropzone-container .supported-extensions .extension-png{background:#fab15c}.dropzone-container .supported-extensions .extension-pdf{background-color:#e66767}.dropzone-container .supported-extensions .extension-mov,.dropzone-container .supported-extensions .extension-mp4,.dropzone-container .supported-extensions .extension-avi{background-color:#b370f0}.dropzone-container .supported-extensions .extension:hover{transition:height .3s ease-in-out;opacity:1;cursor:auto!important}\n"] }]
|
|
276
276
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { templateRef: [{
|
|
277
277
|
type: ViewChildren,
|
|
278
278
|
args: [TemplateContainerDirective]
|
|
@@ -313,4 +313,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
313
313
|
type: HostListener,
|
|
314
314
|
args: ['click', ['$event']]
|
|
315
315
|
}] } });
|
|
316
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtdXBsb2FkLWRyb3B6b25lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLXVwbG9hZC1maWxlcy9jb21wb25lbnRzL2NhLXVwbG9hZC1kcm9wem9uZS9jYS11cGxvYWQtZHJvcHpvbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtdXBsb2FkLWZpbGVzL2NvbXBvbmVudHMvY2EtdXBsb2FkLWRyb3B6b25lL2NhLXVwbG9hZC1kcm9wem9uZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBR04sU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQVFuRSxPQUFPO0FBQ1AsT0FBTyxFQUNMLGFBQWEsRUFDYixTQUFTLEVBQ1QsZUFBZSxFQUNmLGVBQWUsRUFDZixTQUFTLEdBQ1YsTUFBTSxTQUFTLENBQUM7QUFFakIsTUFBTTtBQUNOLE9BQU8sRUFBRSxV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QUFNO3NCQURaLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWlCekIsVUFBVTtzQkFEaEIsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBaUI3QixXQUFXO3NCQURqQixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFvQjlCLGlCQUFpQjtzQkFEdkIsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkF1QjVDLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBU2hDLGdCQUFnQjtzQkFEdEIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQW5ndWxhclN2Z0ljb25Nb2R1bGUgfSBmcm9tICdhbmd1bGFyLXN2Zy1pY29uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZnJvbSwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb3R0aWVDb21wb25lbnQsIHByb3ZpZGVMb3R0aWVPcHRpb25zIH0gZnJvbSAnbmd4LWxvdHRpZSc7XG5cbi8vTW9kZWxcbmltcG9ydCB7IERyb3BCYWNrZ3JvdW5kRXZlbnQsIEZpbGVDb25maWcsIEZpbGVFdmVudCB9IGZyb20gJy4vbW9kZWxzJztcblxuLy9Db25maWdcbmltcG9ydCB7IERyb3B6b25lQ29uZiB9IGZyb20gJy4vY29uZmlnL2Ryb3B6b25lLWNvbmZpZy50eXBlJztcblxuLy9VdGlsc1xuaW1wb3J0IHtcbiAgRmlsZUFuaW1hdGlvbixcbiAgRmlsZUljb25zLFxuICBGSUxFX0VYVEVOU0lPTlMsXG4gIExvdHRpZUNvbnN0YW50cyxcbiAgRmlsZUxpbWl0LFxufSBmcm9tICcuL3V0aWxzJztcblxuLy9FbnVtXG5pbXBvcnQgeyBGaWxlQWN0aW9uLCBGaWxlVHlwZSwgUGFnZXNFbnVtIH0gZnJvbSAnLi9lbnVtcyc7XG5cbi8vRGlyZWN0aXZlXG5pbXBvcnQgeyBUZW1wbGF0ZUNvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy90ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuXG4vL0hlbHBlclxuaW1wb3J0IHsgRmlsZVV0aWxzIH0gZnJvbSAnLi9oZWxwZXJzJztcblxuLy9Sb3V0ZXJcbmltcG9ydCB7IERyb3B6b25lU3ZnUm91dGUgfSBmcm9tICcuL3V0aWxzL3N2Zy1yb3V0ZXMvZHJvcHpvbmUtc3ZnLnJvdXRlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2FwcC1jYS11cGxvYWQtZHJvcHpvbmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2EtdXBsb2FkLWRyb3B6b25lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2EtdXBsb2FkLWRyb3B6b25lLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQW5ndWxhclN2Z0ljb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBUZW1wbGF0ZUNvbnRhaW5lckRpcmVjdGl2ZSxcbiAgICBMb3R0aWVDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgcHJvdmlkZUxvdHRpZU9wdGlvbnMoe1xuICAgICAgcGxheWVyOiAoKSA9PiBpbXBvcnQoJ2xvdHRpZS13ZWInKSxcbiAgICB9KSxcbiAgXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgICcod2luZG93OnBhc3RlKSc6ICdoYW5kbGVQYXN0ZSgkZXZlbnQpJyxcbiAgfSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENhVXBsb2FkRHJvcHpvbmVDb21wb25lbnQge1xuICBAVmlld0NoaWxkcmVuKFRlbXBsYXRlQ29udGFpbmVyRGlyZWN0aXZlKVxuICB0ZW1wbGF0ZVJlZiE6IFF1ZXJ5TGlzdDxUZW1wbGF0ZUNvbnRhaW5lckRpcmVjdGl2ZT47XG4gIEBWaWV3Q2hpbGQoJ2Ryb3Bab25lJykgZHJvcFpvbmUhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIEBJbnB1dCgpIHNldCBjb25maWcoZGF0YTogRHJvcHpvbmVDb25mW10pIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX2Ryb3Bab25lQ29uZmlnQXJyYXkgPSBkYXRhO1xuICAgICAgaWYgKHRoaXMuX2Ryb3Bab25lQ29uZmlnQXJyYXkubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLl9kcm9wWm9uZUNvbmZpZyA9IHRoaXMuX2Ryb3Bab25lQ29uZmlnQXJyYXlbMF07XG4gICAgICB9XG5cbiAgICAgIC8vSWNvbnNcbiAgICAgIHRoaXMuZ2V0SWNvbnMoKTtcblxuICAgICAgLy9TdXBwb3J0ZWQgZmlsZXNcbiAgICAgIHRoaXMuc3VwcG9ydGVkRmlsZXMoKTtcblxuICAgICAgLy9Ecm9wem9uZSB0ZXh0XG4gICAgICB0aGlzLnVwZGF0ZURyb3Bab25lVGV4dCgpO1xuXG4gICAgICAvL0xvdHRpZVxuICAgICAgdGhpcy51cGRhdGVMb3R0aWVPcHRpb25zKCk7XG5cbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0sIDApO1xuICB9XG4gIEBJbnB1dCgpIGlzRHJvcHpvbmVTaG93bkluQ3JvcDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBjdXN0b21XaWR0aCE6IHN0cmluZztcblxuICBAT3V0cHV0KClcbiAgb25GaWxlRXZlbnQ6IEV2ZW50RW1pdHRlcjx7IGZpbGVzOiBGaWxlQ29uZmlnW107IGFjdGlvbjogc3RyaW5nIH0+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPHsgZmlsZXM6IEZpbGVDb25maWdbXTsgYWN0aW9uOiBzdHJpbmcgfT4oKTtcbiAgQE91dHB1dCgpIG9uRHJvcEJhY2tncm91bmQ6IEV2ZW50RW1pdHRlcjxEcm9wQmFja2dyb3VuZEV2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxEcm9wQmFja2dyb3VuZEV2ZW50PigpO1xuICBAT3V0cHV0KCkgY2xvc2VEcm9wem9uZSA9IG5ldyBFdmVudEVtaXR0ZXI8e30+KCk7XG5cbiAgcHVibGljIF9kcm9wWm9uZUNvbmZpZ0FycmF5OiBEcm9wem9uZUNvbmZbXSA9IFtdO1xuICBwdWJsaWMgX2Ryb3Bab25lQ29uZmlnITogRHJvcHpvbmVDb25mO1xuICBwdWJsaWMgZmlsZXM6IEZpbGVDb25maWdbXSA9IFtdO1xuICBwdWJsaWMgaXNTaG93bkRyb3B6b25lRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGlzRmlsZURyb3A6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGlzU3VwcG9ydGVkVHlwZTogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgZHJvcFpvbmVUZXh0OiBzdHJpbmcgPSAnJztcbiAgcHVibGljIGlzRHJvcHpvbmVFeHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgaWNvblNyYzogc3RyaW5nID0gJyc7XG4gIHB1YmxpYyBkcm9wWm9uZUF2YWlsYWJsZUZpbGVzOiBzdHJpbmdbXSA9IFtdO1xuICBwdWJsaWMgbGltaXQ6IG51bWJlciA9IDA7XG5cbiAgcHVibGljIGxvdHRpZU9wdGlvbnMgPSBMb3R0aWVDb25zdGFudHMuREVGQVVMVF9MT1RUSUU7XG4gIHB1YmxpYyBkcm9wem9uZVN2Z1JvdXRlID0gRHJvcHpvbmVTdmdSb3V0ZS5jbG9zZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgQEhvc3RMaXN0ZW5lcignYm9keTpkcmFnbGVhdmUnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25EcmFnTGVhdmVXaW5kb3dzKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuaXNTaG93bkRyb3B6b25lRm9jdXMgPSBmYWxzZTtcbiAgICB0aGlzLmlzRHJvcHpvbmVFeHBhbmRlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNGaWxlRHJvcCA9IGZhbHNlO1xuICAgIHRoaXMub25Ecm9wQmFja2dyb3VuZC5lbWl0KHtcbiAgICAgIGFjdGlvbjogRmlsZUFjdGlvbi5EUkFHTEVBVkUsXG4gICAgICB2YWx1ZTogZmFsc2UsXG4gICAgfSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uRHJvcChldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmlzRHJvcHpvbmVFeHBhbmRlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNTaG93bkRyb3B6b25lRm9jdXMgPSBmYWxzZTtcbiAgICB0aGlzLmlzRmlsZURyb3AgPSB0cnVlO1xuXG4gICAgdGhpcy5vbkRyb3BCYWNrZ3JvdW5kLmVtaXQoeyBhY3Rpb246IEZpbGVBY3Rpb24uRFJPUCwgdmFsdWU6IGZhbHNlIH0pO1xuXG4gICAgaWYgKGV2ZW50LmRhdGFUcmFuc2Zlcj8uZmlsZXMpIHtcbiAgICAgIHRoaXMub25GaWxlVXBsb2FkKGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcyk7XG4gICAgICB0aGlzLmlzRmlsZURyb3AgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkRyYWdPdmVyKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuaXNTaG93bkRyb3B6b25lRm9jdXMgPSB0cnVlO1xuICAgIHRoaXMuaXNEcm9wem9uZUV4cGFuZGVkID0gdHJ1ZTtcbiAgICB0aGlzLmlzRmlsZURyb3AgPSB0cnVlO1xuICAgIHRoaXMub25Ecm9wQmFja2dyb3VuZC5lbWl0KHsgYWN0aW9uOiBGaWxlQWN0aW9uLkRSQUdPVkVSLCB2YWx1ZTogdHJ1ZSB9KTtcblxuICAgIGlmICh0aGlzLmxvdHRpZU9wdGlvbnMgJiYgIXRoaXMubG90dGllT3B0aW9ucy5hdXRvcGxheSkge1xuICAgICAgdGhpcy5sb3R0aWVPcHRpb25zID0ge1xuICAgICAgICAuLi50aGlzLmxvdHRpZU9wdGlvbnMsXG4gICAgICAgIGF1dG9wbGF5OiB0cnVlLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnbGVhdmUnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25EcmFnTGVhdmUoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5pc1Nob3duRHJvcHpvbmVGb2N1cyA9IGZhbHNlO1xuICAgIHRoaXMuaXNGaWxlRHJvcCA9IGZhbHNlO1xuICAgIHRoaXMuaXNEcm9wem9uZUV4cGFuZGVkID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5pc1Nob3duRHJvcHpvbmVGb2N1cykge1xuICAgICAgICB0aGlzLmlzRmlsZURyb3AgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc0Ryb3B6b25lRXhwYW5kZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0sIDEwMCk7XG4gICAgdGhpcy5vbkRyb3BCYWNrZ3JvdW5kLmVtaXQoe1xuICAgICAgYWN0aW9uOiBGaWxlQWN0aW9uLkRSQUdMRUFWRSxcbiAgICAgIHZhbHVlOiBmYWxzZSxcbiAgICB9KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpkcmFnZW50ZXInLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25XaW5kb3dEcmFnRW50ZXIoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5pc0ZpbGVEcm9wID0gZmFsc2U7XG4gICAgdGhpcy5pc1Nob3duRHJvcHpvbmVGb2N1cyA9IHRydWU7XG4gICAgdGhpcy5pc0Ryb3B6b25lRXhwYW5kZWQgPSB0cnVlO1xuXG4gICAgY29uc3QgZmlsZVR5cGUgPSB0aGlzLl9kcm9wWm9uZUNvbmZpZy5jb25maWcuZHJvcHpvbmVcbiAgICAgID8uZHJvcFpvbmVUeXBlIGFzIEZpbGVUeXBlO1xuICAgIGNvbnN0IGFuaW1hdGlvblBhdGggPSBGaWxlQW5pbWF0aW9uLkFOSU1BVElPTlNbZmlsZVR5cGVdO1xuXG4gICAgaWYgKGFuaW1hdGlvblBhdGgpIHtcbiAgICAgIHRoaXMubG90dGllT3B0aW9ucyA9IHtcbiAgICAgICAgcmVuZGVyZXI6ICdzdmcnLFxuICAgICAgICBhdXRvcGxheTogIXRoaXMuaXNTaG93bkRyb3B6b25lRm9jdXMsXG4gICAgICAgIGxvb3A6IGZhbHNlLFxuICAgICAgICBwYXRoOiBhbmltYXRpb25QYXRoLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6ZHJvcCcsIFsnJGV2ZW50J10pXG4gIG9uV2luZG93RHJvcChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5pc0Ryb3B6b25lRXhwYW5kZWQgPSBmYWxzZTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMub25Ecm9wQmFja2dyb3VuZC5lbWl0KHsgYWN0aW9uOiBGaWxlQWN0aW9uLkRST1AsIHZhbHVlOiBmYWxzZSB9KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgcHVibGljIHRyaWdnZXJGaWxlSW5wdXQoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmlzTWF4Q291bnRSZWFjaGVkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5kcm9wWm9uZS5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SWNvbnMoKSB7XG4gICAgdGhpcy5pY29uU3JjID1cbiAgICAgIEZpbGVJY29ucy5JQ09OU1tcbiAgICAgICAgdGhpcy5fZHJvcFpvbmVDb25maWcuY29uZmlnLmRyb3B6b25lPy5kcm9wWm9uZVR5cGUgYXMgRmlsZVR5cGVcbiAgICAgIF07XG4gIH1cblxuICBwdWJsaWMgc3VwcG9ydGVkRmlsZXMoKSB7XG4gICAgdGhpcy5kcm9wWm9uZUF2YWlsYWJsZUZpbGVzID1cbiAgICAgIEZJTEVfRVhURU5TSU9OUy5FWFRFTlNJT05TW1xuICAgICAgICB0aGlzLl9kcm9wWm9uZUNvbmZpZy5jb25maWcuZHJvcHpvbmU/LmRyb3Bab25lVHlwZSBhcyBGaWxlVHlwZVxuICAgICAgXTtcbiAgfVxuXG4gIC8vbGltaXQgZmlsZXNcbiAgcHVibGljIG1heEZpbGVzQWxsb3dlZCgpOiBudW1iZXIge1xuICAgIHJldHVybiBGaWxlTGltaXQuTElNSVRbXG4gICAgICB0aGlzLl9kcm9wWm9uZUNvbmZpZy5jb25maWcuZHJvcHpvbmU/LmRyb3Bab25lUGFnZXMgYXMgUGFnZXNFbnVtXG4gICAgXTtcbiAgfVxuXG4gIHB1YmxpYyBpc01heENvdW50UmVhY2hlZCgpOiBib29sZWFuIHtcbiAgICB0aGlzLmxpbWl0ID1cbiAgICAgIEZpbGVMaW1pdC5MSU1JVFtcbiAgICAgICAgdGhpcy5fZHJvcFpvbmVDb25maWcuY29uZmlnLmRyb3B6b25lPy5kcm9wWm9uZVBhZ2VzIGFzIFBhZ2VzRW51bVxuICAgICAgXSB8fCAwO1xuICAgIHJldHVybiB0aGlzLmZpbGVzLmxlbmd0aCA+PSB0aGlzLmxpbWl0O1xuICB9XG5cbiAgLy9GaWxlc1xuICBwdWJsaWMgaGFuZGxlRmlsZUNoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGlmIChpbnB1dC5maWxlcykge1xuICAgICAgdGhpcy5vbkZpbGVVcGxvYWQoaW5wdXQuZmlsZXMpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkZpbGVVcGxvYWQoZmlsZXM6IEZpbGVMaXN0KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3QgZmlsZUFycmF5ID0gQXJyYXkuZnJvbShmaWxlcyk7XG5cbiAgICBjb25zdCB1cGxvYWRPYnNlcnZhYmxlcyA9IGZpbGVBcnJheS5tYXAoKGZpbGUsIGluZGV4KSA9PlxuICAgICAgdGhpcy5hZGRGaWxlKGZpbGUsIGluZGV4ID09PSBmaWxlQXJyYXkubGVuZ3RoIC0gMSlcbiAgICApO1xuXG4gICAgcmV0dXJuIGZyb20odXBsb2FkT2JzZXJ2YWJsZXMpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciB1cGxvYWRpbmcgZmlsZXM6JywgZXJyb3IpO1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9KSxcbiAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdBbGwgZmlsZXMgdXBsb2FkZWQgc3VjY2Vzc2Z1bGx5Jyk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFkZEZpbGUoZmlsZTogRmlsZSwgZW1pdEV2ZW50PzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICghZmlsZSkgcmV0dXJuO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGZpbGVFeHRlbnNpb24gPSBGaWxlVXRpbHMuZ2V0RmlsZUV4dGVuc2lvbihmaWxlLm5hbWUpO1xuXG4gICAgICBpZiAoXG4gICAgICAgICFGaWxlVXRpbHMuaXNTdXBwb3J0ZWRFeHRlbnNpb24oXG4gICAgICAgICAgZmlsZUV4dGVuc2lvbixcbiAgICAgICAgICB0aGlzLmRyb3Bab25lQXZhaWxhYmxlRmlsZXNcbiAgICAgICAgKVxuICAgICAgKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAhdGhpcy5fZHJvcFpvbmVDb25maWcuY29uZmlnLmRyb3B6b25lT3B0aW9uPy5kaXNhYmxlVW5zdXBwb3J0ZWRQcmV2aWV3XG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuaXNTdXBwb3J0ZWRUeXBlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaXNTdXBwb3J0ZWRUeXBlID0gZmFsc2U7XG5cbiAgICAgIEZpbGVVdGlscy5nZXRCbG9iKGZpbGUpLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChibG9iQ29udGVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGJsb2JVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2JDb250ZW50KTtcbiAgICAgICAgICB0aGlzLmZpbGVzID0gW1xuICAgICAgICAgICAgLi4udGhpcy5maWxlcyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZmlsZU5hbWU6IGZpbGUubmFtZSxcbiAgICAgICAgICAgICAgdXJsOiBibG9iVXJsLFxuICAgICAgICAgICAgICBleHRlbnNpb246IGZpbGVFeHRlbnNpb24sXG4gICAgICAgICAgICAgIGd1aWQ6IG51bGwsXG4gICAgICAgICAgICAgIHNpemU6IGZpbGUuc2l6ZSxcbiAgICAgICAgICAgICAgcmVhbEZpbGU6IGJsb2JDb250ZW50LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdO1xuXG4gICAgICAgICAgaWYgKGVtaXRFdmVudCkge1xuICAgICAgICAgICAgdGhpcy5vbkZpbGVFdmVudC5lbWl0KHtcbiAgICAgICAgICAgICAgZmlsZXM6IHRoaXMuZmlsZXMsXG4gICAgICAgICAgICAgIGFjdGlvbjogRmlsZUFjdGlvbi5BREQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciByZWFkaW5nIGZpbGU6JywgZXJyb3IpO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbnQgdXBsb2FkIGZpbGUnKTtcbiAgICB9XG4gIH1cblxuICAvL0xvdHRpZVxuICBwcml2YXRlIHVwZGF0ZUxvdHRpZU9wdGlvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgZmlsZVR5cGUgPSB0aGlzLl9kcm9wWm9uZUNvbmZpZy5jb25maWcuZHJvcHpvbmVcbiAgICAgID8uZHJvcFpvbmVUeXBlIGFzIEZpbGVUeXBlO1xuICAgIGNvbnN0IGFuaW1hdGlvblBhdGggPSBGaWxlQW5pbWF0aW9uLkFOSU1BVElPTlNbZmlsZVR5cGVdO1xuXG4gICAgaWYgKGFuaW1hdGlvblBhdGgpIHtcbiAgICAgIHRoaXMubG90dGllT3B0aW9ucyA9IHtcbiAgICAgICAgcmVuZGVyZXI6ICdzdmcnLFxuICAgICAgICBhdXRvcGxheTogIXRoaXMuaXNTaG93bkRyb3B6b25lRm9jdXMsXG4gICAgICAgIGxvb3A6IGZhbHNlLFxuICAgICAgICBwYXRoOiBhbmltYXRpb25QYXRoLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICAvL0Ryb3B6b25lIHRleHRcbiAgcHJpdmF0ZSB1cGRhdGVEcm9wWm9uZVRleHQoKTogdm9pZCB7XG4gICAgY29uc3QgZHJvcFpvbmVUZXh0TWFwOiB7IFtrZXkgaW4gRmlsZVR5cGVdPzogc3RyaW5nIH0gPSB7XG4gICAgICBbRmlsZVR5cGUuRklMRVNdOiAnRklMRVMnLFxuICAgICAgW0ZpbGVUeXBlLk1FRElBXTogJ01FRElBJyxcbiAgICAgIFtGaWxlVHlwZS5JTUFHRV06ICdJTUFHRScsXG4gICAgICBbRmlsZVR5cGUuTE9HT106ICdJTUFHRScsXG4gICAgfTtcblxuICAgIHRoaXMuZHJvcFpvbmVUZXh0ID1cbiAgICAgIGRyb3Bab25lVGV4dE1hcFtcbiAgICAgICAgdGhpcy5fZHJvcFpvbmVDb25maWcuY29uZmlnLmRyb3B6b25lPy5kcm9wWm9uZVR5cGUgYXMgRmlsZVR5cGVcbiAgICAgIF0gfHwgJ0ZJTEUgSU1QT1JUIEZBSUxFRCc7XG4gIH1cblxuICAvL1RlbXBsYXRlXG4gIGdldFRlbXBsYXRlKHRlbXBsYXRlOiBzdHJpbmcpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICBjb25zdCB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVDb250YWluZXJEaXJlY3RpdmUgfCB1bmRlZmluZWQgPVxuICAgICAgdGhpcy50ZW1wbGF0ZVJlZj8uZmluZCgodGVtcCkgPT4gdGVtcC5pZCA9PT0gdGVtcGxhdGUpO1xuXG4gICAgaWYgKCF0ZW1wbGF0ZVJlZikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmF2YWlsYWJsZSB0ZW1wbGF0ZSEnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGVtcGxhdGVSZWY/LnRlbXBsYXRlO1xuICB9XG5cbiAgcHVibGljIGlkZW50aWZ5KGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImRyb3B6b25lLWNvbnRhaW5lciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ3NwbGl0LWRyb3B6b25lJzogaXNEcm9wem9uZVNob3duSW5Dcm9wLFxuICAgIHVuU3VwcG9ydGVkOiBpc1N1cHBvcnRlZFR5cGUsXG4gICAgZXhwYW5kZWQ6IGlzRHJvcHpvbmVFeHBhbmRlZCAmJiAhaXNTdXBwb3J0ZWRUeXBlLFxuICAgICdkaXNhYmxlZC1kcm9wem9uZSc6IGZpbGVzLmxlbmd0aCA+PSB0aGlzLmxpbWl0ICYmIHRoaXMubGltaXQgPiAwLFxuICB9XCJcbiAgW25nU3R5bGVdPVwie1xuICAgIHdpZHRoOlxuICAgICAgZmlsZXMubGVuZ3RoID09PSAwXG4gICAgICAgID8gY3VzdG9tV2lkdGggfHwgJzQ0OHB4J1xuICAgICAgICA6IGZpbGVzLmxlbmd0aCA9PT0gMVxuICAgICAgICAgID8gJzI5NnB4J1xuICAgICAgICAgIDogZmlsZXMubGVuZ3RoID09PSAyXG4gICAgICAgICAgICA/ICcxNDhweCdcbiAgICAgICAgICAgIDogZmlsZXMubGVuZ3RoID09PSAzXG4gICAgICAgICAgICAgID8gJzE0OHB4J1xuICAgICAgICAgICAgICA6ICcxNDhweCcsXG4gIH1cIlxuPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIF9kcm9wWm9uZUNvbmZpZ0FycmF5OyB0cmFja0J5OiBpZGVudGlmeVwiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZHJvcHpvbmUtY29udGVudCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAndXBsb2FkLWRyb3B6b25lLXVuc3VwcG9ydGVkJzogaXNTdXBwb3J0ZWRUeXBlLFxuICAgICAgICBleHBhbmRlZENvbnRlbnQ6IGlzRHJvcHpvbmVFeHBhbmRlZCxcbiAgICAgICAgJ2NvbHVtbi1sYXlvdXQnOiBmaWxlcy5sZW5ndGggPj0gMixcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICBnZXRUZW1wbGF0ZShpdGVtLnRlbXBsYXRlKTtcbiAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbS5jb25maWcgfVxuICAgICAgICBcIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48IS0tLS0tLS0tLS0tLS1Eb2N1bWVudCB0ZW1wbGF0ZS0tLS0tLS0tLS0tLS0tPlxuPG5nLXRlbXBsYXRlIHRlbXBsYXRlQ29udGFpbmVyIGlkPVwiZG9jdW1lbnRzVGVtcGxhdGVcIiBsZXQtY29uZmlnPlxuICA8IS0tU1ZHIElDT04tLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1Nob3duRHJvcHpvbmVGb2N1cyAmJiAhaXNEcm9wem9uZUV4cGFuZGVkXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRyb3B6b25lSWNvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS1Mb3R0aWUgYW5pbWF0aW9uLS0+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIihpc0Ryb3B6b25lRXhwYW5kZWQgfHwgaXNTaG93bkRyb3B6b25lRm9jdXMpICYmICFpc1N1cHBvcnRlZFR5cGVcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxvdHRpZUFuaW1hdGlvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS1Db250ZW50IGZvciBzdXBwb3J0ZWQgYW5kIHVuc3VwcG9ydGVkIHR5cGVzLS0+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkcm9wem9uZVRleHRUZW1wbGF0ZVwiPiA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tU3VwcG9ydGVkIGV4dGVuc2lvbnMgZm9yIHVuc3VwcG9ydGVkIHR5cGUtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzU3VwcG9ydGVkVHlwZVwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwic3VwcG9ydGVkRXh0ZW5zaW9uc1RlbXBsYXRlXCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS1GSUxFIElOUFVULS0+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cImZpbGVJbnB1dFRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogY29uZmlnIH1cIlxuICA+PC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tLS0tLS0tLS0tLS1NZWRpYSB0ZW1wbGF0ZS0tLS0tLS0tLS0tLS0tPlxuPG5nLXRlbXBsYXRlIHRlbXBsYXRlQ29udGFpbmVyIGlkPVwibWVkaWFUZW1wbGF0ZVwiIGxldC1jb25maWc+XG4gIDwhLS1TVkcgSUNPTi0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzU2hvd25Ecm9wem9uZUZvY3VzICYmICFpc0Ryb3B6b25lRXhwYW5kZWRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZHJvcHpvbmVJY29uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLUxvdHRpZSBhbmltYXRpb24tLT5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwiKGlzRHJvcHpvbmVFeHBhbmRlZCB8fCBpc1Nob3duRHJvcHpvbmVGb2N1cykgJiYgIWlzU3VwcG9ydGVkVHlwZVwiXG4gID5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG90dGllQW5pbWF0aW9uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLUNvbnRlbnQgZm9yIHN1cHBvcnRlZCBhbmQgdW5zdXBwb3J0ZWQgdHlwZXMtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRyb3B6b25lVGV4dFRlbXBsYXRlXCI+IDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS1TdXBwb3J0ZWQgZXh0ZW5zaW9ucyBmb3IgdW5zdXBwb3J0ZWQgdHlwZS0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTdXBwb3J0ZWRUeXBlXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdXBwb3J0ZWRFeHRlbnNpb25zVGVtcGxhdGVcIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLUZJTEUgSU5QVVQtLT5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmlsZUlucHV0VGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjb25maWcgfVwiXG4gID48L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0tLS0tLS0tLS0tLUltYWdlIHRlbXBsYXRlLS0tLS0tLS0tLS0tLS0+XG48bmctdGVtcGxhdGUgdGVtcGxhdGVDb250YWluZXIgaWQ9XCJpbWFnZVRlbXBsYXRlXCIgbGV0LWNvbmZpZz5cbiAgPCEtLVNWRyBJQ09OLS0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNTaG93bkRyb3B6b25lRm9jdXMgJiYgIWlzRHJvcHpvbmVFeHBhbmRlZFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkcm9wem9uZUljb25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tTG90dGllIGFuaW1hdGlvbi0tPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCIoaXNEcm9wem9uZUV4cGFuZGVkIHx8IGlzU2hvd25Ecm9wem9uZUZvY3VzKSAmJiAhaXNTdXBwb3J0ZWRUeXBlXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsb3R0aWVBbmltYXRpb25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tQ29udGVudCBmb3Igc3VwcG9ydGVkIGFuZCB1bnN1cHBvcnRlZCB0eXBlcy0tPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZHJvcHpvbmVUZXh0VGVtcGxhdGVcIj4gPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLVN1cHBvcnRlZCBleHRlbnNpb25zIGZvciB1bnN1cHBvcnRlZCB0eXBlLS0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1N1cHBvcnRlZFR5cGVcIj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInN1cHBvcnRlZEV4dGVuc2lvbnNUZW1wbGF0ZVwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tRklMRSBJTlBVVC0tPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmaWxlSW5wdXRUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGNvbmZpZyB9XCJcbiAgPjwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLS0tLS0tLS0tLS0tSW1hZ2UgQ3JvcCB0ZW1wbGF0ZS0tLS0tLS0tLS0tLS0tPlxuPG5nLXRlbXBsYXRlIHRlbXBsYXRlQ29udGFpbmVyIGlkPVwiaW1hZ2VDcm9wVGVtcGxhdGVcIiBsZXQtY29uZmlnPlxuICA8IS0tU1ZHIElDT04tLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1Nob3duRHJvcHpvbmVGb2N1cyAmJiAhaXNEcm9wem9uZUV4cGFuZGVkXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRyb3B6b25lSWNvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS1Mb3R0aWUgYW5pbWF0aW9uLS0+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIihpc0Ryb3B6b25lRXhwYW5kZWQgfHwgaXNTaG93bkRyb3B6b25lRm9jdXMpICYmICFpc1N1cHBvcnRlZFR5cGVcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxvdHRpZUFuaW1hdGlvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS1Db250ZW50IGZvciBzdXBwb3J0ZWQgYW5kIHVuc3VwcG9ydGVkIHR5cGVzLS0+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkcm9wem9uZVRleHRUZW1wbGF0ZVwiPiA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tU3VwcG9ydGVkIGV4dGVuc2lvbnMgZm9yIHVuc3VwcG9ydGVkIHR5cGUtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzU3VwcG9ydGVkVHlwZVwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwic3VwcG9ydGVkRXh0ZW5zaW9uc1RlbXBsYXRlXCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS1GSUxFIElOUFVULS0+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cImZpbGVJbnB1dFRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogY29uZmlnIH1cIlxuICA+PC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tLS0tLS0tLS0tLS1Mb2dvIHRlbXBsYXRlLS0tLS0tLS0tLS0tLS0+XG48bmctdGVtcGxhdGUgdGVtcGxhdGVDb250YWluZXIgaWQ9XCJsb2dvVGVtcGxhdGVcIiBsZXQtY29uZmlnPlxuICA8IS0tU1ZHIElDT04tLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1Nob3duRHJvcHpvbmVGb2N1cyAmJiAhaXNEcm9wem9uZUV4cGFuZGVkXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRyb3B6b25lSWNvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS1Mb3R0aWUgYW5pbWF0aW9uLS0+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIihpc0Ryb3B6b25lRXhwYW5kZWQgfHwgaXNTaG93bkRyb3B6b25lRm9jdXMpICYmICFpc1N1cHBvcnRlZFR5cGVcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxvdHRpZUFuaW1hdGlvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS1Db250ZW50IGZvciBzdXBwb3J0ZWQgYW5kIHVuc3VwcG9ydGVkIHR5cGVzLS0+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkcm9wem9uZVRleHRUZW1wbGF0ZVwiPiA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tU3VwcG9ydGVkIGV4dGVuc2lvbnMgZm9yIHVuc3VwcG9ydGVkIHR5cGUtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzU3VwcG9ydGVkVHlwZVwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwic3VwcG9ydGVkRXh0ZW5zaW9uc1RlbXBsYXRlXCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS1GSUxFIElOUFVULS0+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cImZpbGVJbnB1dFRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogY29uZmlnIH1cIlxuICA+PC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tLS0tLS0tLS0tLS0tQ09NTU9OLVRFTVBMQVRFLS0tLS0tLS0tLS0tLS0+XG5cbjwhLS0tLS0tSU5QVVQtLS0tLS0tPlxuPG5nLXRlbXBsYXRlICNmaWxlSW5wdXRUZW1wbGF0ZSBsZXQtY29uZmlnPlxuICA8aW5wdXRcbiAgICAjZHJvcFpvbmVcbiAgICBbaWRdPVwiJ2Ryb3Bab25lJyArIChjb25maWcuZHJvcHpvbmVPcHRpb24/LmRyb3B6b25lSW5kZXggfHwgMClcIlxuICAgIHR5cGU9XCJmaWxlXCJcbiAgICBbYWNjZXB0XT1cImNvbmZpZy5kcm9wem9uZT8uZHJvcFpvbmVBdmFpbGFibGVGaWxlc1wiXG4gICAgW211bHRpcGxlXT1cImNvbmZpZy5kcm9wem9uZT8ubXVsdGlwbGVcIlxuICAgIChjaGFuZ2UpPVwiaGFuZGxlRmlsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIlxuICAvPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLURST1BaT05FX1RFWFQtLT5cbjxuZy10ZW1wbGF0ZSAjZHJvcHpvbmVUZXh0VGVtcGxhdGU+XG4gIDxkaXZcbiAgICBjbGFzcz1cImRyb3B6b25lLXRleHQgZC1mbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcbiAgPlxuICAgIDxwXG4gICAgICBjbGFzcz1cInVwbG9hZC1kcm9wem9uZS10ZXh0XCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ3Vuc3VwcG9ydGVkLXRleHQtYmlnJzogaXNTdXBwb3J0ZWRUeXBlLCBcbiAgICAnbWF4LWNvdW50JzogaXNNYXhDb3VudFJlYWNoZWQoKX1cIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc01heENvdW50UmVhY2hlZCgpOyBlbHNlIG5vcm1hbFRleHRcIj5cbiAgICAgICAgTUFYIENPVU5UIFJFQUNIRURcbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNub3JtYWxUZXh0PlxuICAgICAgICB7eyBpc1N1cHBvcnRlZFR5cGUgPyAnSU5WQUxJRCBGSUxFIFRZUEUnIDogJ0RSQUcgJyArIGRyb3Bab25lVGV4dCB9fVxuICAgICAgICB7eyAhKGlzU3VwcG9ydGVkVHlwZSB8fCAoZmlsZXMgJiYgZmlsZXMubGVuZ3RoKSkgPyAnIEhFUkUnIDogJycgfX1cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwiX2Ryb3Bab25lQ29uZmlnQXJyYXk/LlswXT8udGVtcGxhdGUgPT09ICdtZWRpYVRlbXBsYXRlJ1wiXG4gICAgICA+XG4gICAgICAgIDxwIGNsYXNzPVwibWVkaWEtc2l6ZXNcIj5tYXggZmlsZSBzaXplIDUwbWI8L3A+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3A+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0Ryb3B6b25lRXhwYW5kZWRcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidXBsb2FkLWRyb3B6b25lLXRleHQtc21hbGxcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTWF4Q291bnRSZWFjaGVkKCk7IGVsc2UgZm9ybWF0VGV4dFwiPlxuICAgICAgICAgIHt7IGZpbGVzLmxlbmd0aCB9fSBGSUxFUyBJTVBPUlRFRFxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNmb3JtYXRUZXh0PlxuICAgICAgICAgIHt7IGlzU3VwcG9ydGVkVHlwZSA/ICdTVVBQT1JURUQgRk9STUFUUycgOiAnT1IgQ0xJQ0sgVE8gQUREJyB9fVxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9zcGFuPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0tLS0tSUNPTi0tLS0tLS0tPlxuPG5nLXRlbXBsYXRlICNkcm9wem9uZUljb25UZW1wbGF0ZT5cbiAgPHN2Zy1pY29uXG4gICAgW3NyY109XCIhaXNTdXBwb3J0ZWRUeXBlICYmICFpc0ZpbGVEcm9wID8gaWNvblNyYyA6IGRyb3B6b25lU3ZnUm91dGVcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdjYW5jZWwtdW5zdXBwb3J0ZWQtem9uZSc6IGlzU3VwcG9ydGVkVHlwZSxcbiAgICAgICdzdmdJY29uLWRvY3VtZW50JzogZmlsZXMubGVuZ3RoIDwgMixcbiAgICAgICdzdmctc21hbGwnOiBmaWxlcy5sZW5ndGggPj0gMixcbiAgICB9XCJcbiAgPjwvc3ZnLWljb24+XG48L25nLXRlbXBsYXRlPlxuPCEtLSBMT1RUSUVfQU5JTUFUSU9OIC0tPlxuPG5nLXRlbXBsYXRlICNsb3R0aWVBbmltYXRpb25UZW1wbGF0ZT5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYW5pbWF0aW9uLWNvbnRhaW5lciBkLWZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxuICAgIFtuZ0NsYXNzXT1cInsgZXhwYW5kZWQ6IGlzRHJvcHpvbmVFeHBhbmRlZCB9XCJcbiAgPlxuICAgIDxuZy1sb3R0aWVcbiAgICAgIGNsYXNzPVwic3RhdGljLWxvdHRpZS1hbmltYXRpb25cIlxuICAgICAgW29wdGlvbnNdPVwibG90dGllT3B0aW9uc1wiXG4gICAgPjwvbmctbG90dGllPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0gU1VQUE9SVEVEX0VYVEVOU0lPTlMgLS0+XG48bmctdGVtcGxhdGUgI3N1cHBvcnRlZEV4dGVuc2lvbnNUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cInN1cHBvcnRlZC1leHRlbnNpb25zIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwiZXh0ZW5zaW9uIGV4dGVuc2lvbi17e1xuICAgICAgICBleHRlbnNpb25cbiAgICAgIH19IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAqbmdGb3I9XCJsZXQgZXh0ZW5zaW9uIG9mIGRyb3Bab25lQXZhaWxhYmxlRmlsZXM7IHRyYWNrQnk6IGlkZW50aWZ5XCJcbiAgICAgID57eyBleHRlbnNpb24gfX08L3NwYW5cbiAgICA+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
316
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtdXBsb2FkLWRyb3B6b25lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLXVwbG9hZC1maWxlcy9jb21wb25lbnRzL2NhLXVwbG9hZC1kcm9wem9uZS9jYS11cGxvYWQtZHJvcHpvbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtdXBsb2FkLWZpbGVzL2NvbXBvbmVudHMvY2EtdXBsb2FkLWRyb3B6b25lL2NhLXVwbG9hZC1kcm9wem9uZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBR04sU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQVFuRSxPQUFPO0FBQ1AsT0FBTyxFQUNMLGFBQWEsRUFDYixTQUFTLEVBQ1QsZUFBZSxFQUNmLGVBQWUsRUFDZixTQUFTLEdBQ1YsTUFBTSxTQUFTLENBQUM7QUFFakIsTUFBTTtBQUNOLE9BQU8sRUFBRSxV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QUFNO3NCQURaLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWlCekIsVUFBVTtzQkFEaEIsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBaUI3QixXQUFXO3NCQURqQixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFvQjlCLGlCQUFpQjtzQkFEdkIsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkF1QjVDLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBU2hDLGdCQUFnQjtzQkFEdEIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQW5ndWxhclN2Z0ljb25Nb2R1bGUgfSBmcm9tICdhbmd1bGFyLXN2Zy1pY29uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZnJvbSwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb3R0aWVDb21wb25lbnQsIHByb3ZpZGVMb3R0aWVPcHRpb25zIH0gZnJvbSAnbmd4LWxvdHRpZSc7XG5cbi8vTW9kZWxcbmltcG9ydCB7IERyb3BCYWNrZ3JvdW5kRXZlbnQsIEZpbGVDb25maWcsIEZpbGVFdmVudCB9IGZyb20gJy4vbW9kZWxzJztcblxuLy9Db25maWdcbmltcG9ydCB7IERyb3B6b25lQ29uZiB9IGZyb20gJy4vY29uZmlnL2Ryb3B6b25lLWNvbmZpZy50eXBlJztcblxuLy9VdGlsc1xuaW1wb3J0IHtcbiAgRmlsZUFuaW1hdGlvbixcbiAgRmlsZUljb25zLFxuICBGSUxFX0VYVEVOU0lPTlMsXG4gIExvdHRpZUNvbnN0YW50cyxcbiAgRmlsZUxpbWl0LFxufSBmcm9tICcuL3V0aWxzJztcblxuLy9FbnVtXG5pbXBvcnQgeyBGaWxlQWN0aW9uLCBGaWxlVHlwZSwgUGFnZXNFbnVtIH0gZnJvbSAnLi9lbnVtcyc7XG5cbi8vRGlyZWN0aXZlXG5pbXBvcnQgeyBUZW1wbGF0ZUNvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy90ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuXG4vL0hlbHBlclxuaW1wb3J0IHsgRmlsZVV0aWxzIH0gZnJvbSAnLi9oZWxwZXJzJztcblxuLy9Sb3V0ZXJcbmltcG9ydCB7IERyb3B6b25lU3ZnUm91dGUgfSBmcm9tICcuL3V0aWxzL3N2Zy1yb3V0ZXMvZHJvcHpvbmUtc3ZnLnJvdXRlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2FwcC1jYS11cGxvYWQtZHJvcHpvbmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2EtdXBsb2FkLWRyb3B6b25lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2EtdXBsb2FkLWRyb3B6b25lLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQW5ndWxhclN2Z0ljb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBUZW1wbGF0ZUNvbnRhaW5lckRpcmVjdGl2ZSxcbiAgICBMb3R0aWVDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgcHJvdmlkZUxvdHRpZU9wdGlvbnMoe1xuICAgICAgcGxheWVyOiAoKSA9PiBpbXBvcnQoJ2xvdHRpZS13ZWInKSxcbiAgICB9KSxcbiAgXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgICcod2luZG93OnBhc3RlKSc6ICdoYW5kbGVQYXN0ZSgkZXZlbnQpJyxcbiAgfSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENhVXBsb2FkRHJvcHpvbmVDb21wb25lbnQge1xuICBAVmlld0NoaWxkcmVuKFRlbXBsYXRlQ29udGFpbmVyRGlyZWN0aXZlKVxuICB0ZW1wbGF0ZVJlZiE6IFF1ZXJ5TGlzdDxUZW1wbGF0ZUNvbnRhaW5lckRpcmVjdGl2ZT47XG4gIEBWaWV3Q2hpbGQoJ2Ryb3Bab25lJykgZHJvcFpvbmUhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIEBJbnB1dCgpIHNldCBjb25maWcoZGF0YTogRHJvcHpvbmVDb25mW10pIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX2Ryb3Bab25lQ29uZmlnQXJyYXkgPSBkYXRhO1xuICAgICAgaWYgKHRoaXMuX2Ryb3Bab25lQ29uZmlnQXJyYXkubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLl9kcm9wWm9uZUNvbmZpZyA9IHRoaXMuX2Ryb3Bab25lQ29uZmlnQXJyYXlbMF07XG4gICAgICB9XG5cbiAgICAgIC8vSWNvbnNcbiAgICAgIHRoaXMuZ2V0SWNvbnMoKTtcblxuICAgICAgLy9TdXBwb3J0ZWQgZmlsZXNcbiAgICAgIHRoaXMuc3VwcG9ydGVkRmlsZXMoKTtcblxuICAgICAgLy9Ecm9wem9uZSB0ZXh0XG4gICAgICB0aGlzLnVwZGF0ZURyb3Bab25lVGV4dCgpO1xuXG4gICAgICAvL0xvdHRpZVxuICAgICAgdGhpcy51cGRhdGVMb3R0aWVPcHRpb25zKCk7XG5cbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0sIDApO1xuICB9XG4gIEBJbnB1dCgpIGlzRHJvcHpvbmVTaG93bkluQ3JvcDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBjdXN0b21XaWR0aCE6IHN0cmluZztcblxuICBAT3V0cHV0KClcbiAgb25GaWxlRXZlbnQ6IEV2ZW50RW1pdHRlcjx7IGZpbGVzOiBGaWxlQ29uZmlnW107IGFjdGlvbjogc3RyaW5nIH0+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPHsgZmlsZXM6IEZpbGVDb25maWdbXTsgYWN0aW9uOiBzdHJpbmcgfT4oKTtcbiAgQE91dHB1dCgpIG9uRHJvcEJhY2tncm91bmQ6IEV2ZW50RW1pdHRlcjxEcm9wQmFja2dyb3VuZEV2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxEcm9wQmFja2dyb3VuZEV2ZW50PigpO1xuICBAT3V0cHV0KCkgY2xvc2VEcm9wem9uZSA9IG5ldyBFdmVudEVtaXR0ZXI8e30+KCk7XG5cbiAgcHVibGljIF9kcm9wWm9uZUNvbmZpZ0FycmF5OiBEcm9wem9uZUNvbmZbXSA9IFtdO1xuICBwdWJsaWMgX2Ryb3Bab25lQ29uZmlnITogRHJvcHpvbmVDb25mO1xuICBwdWJsaWMgZmlsZXM6IEZpbGVDb25maWdbXSA9IFtdO1xuICBwdWJsaWMgaXNTaG93bkRyb3B6b25lRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGlzRmlsZURyb3A6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGlzU3VwcG9ydGVkVHlwZTogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgZHJvcFpvbmVUZXh0OiBzdHJpbmcgPSAnJztcbiAgcHVibGljIGlzRHJvcHpvbmVFeHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgaWNvblNyYzogc3RyaW5nID0gJyc7XG4gIHB1YmxpYyBkcm9wWm9uZUF2YWlsYWJsZUZpbGVzOiBzdHJpbmdbXSA9IFtdO1xuICBwdWJsaWMgbGltaXQ6IG51bWJlciA9IDA7XG5cbiAgcHVibGljIGxvdHRpZU9wdGlvbnMgPSBMb3R0aWVDb25zdGFudHMuREVGQVVMVF9MT1RUSUU7XG4gIHB1YmxpYyBkcm9wem9uZVN2Z1JvdXRlID0gRHJvcHpvbmVTdmdSb3V0ZS5jbG9zZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgQEhvc3RMaXN0ZW5lcignYm9keTpkcmFnbGVhdmUnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25EcmFnTGVhdmVXaW5kb3dzKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuaXNTaG93bkRyb3B6b25lRm9jdXMgPSBmYWxzZTtcbiAgICB0aGlzLmlzRHJvcHpvbmVFeHBhbmRlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNGaWxlRHJvcCA9IGZhbHNlO1xuICAgIHRoaXMub25Ecm9wQmFja2dyb3VuZC5lbWl0KHtcbiAgICAgIGFjdGlvbjogRmlsZUFjdGlvbi5EUkFHTEVBVkUsXG4gICAgICB2YWx1ZTogZmFsc2UsXG4gICAgfSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uRHJvcChldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmlzRHJvcHpvbmVFeHBhbmRlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNTaG93bkRyb3B6b25lRm9jdXMgPSBmYWxzZTtcbiAgICB0aGlzLmlzRmlsZURyb3AgPSB0cnVlO1xuXG4gICAgdGhpcy5vbkRyb3BCYWNrZ3JvdW5kLmVtaXQoeyBhY3Rpb246IEZpbGVBY3Rpb24uRFJPUCwgdmFsdWU6IGZhbHNlIH0pO1xuXG4gICAgaWYgKGV2ZW50LmRhdGFUcmFuc2Zlcj8uZmlsZXMpIHtcbiAgICAgIHRoaXMub25GaWxlVXBsb2FkKGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcyk7XG4gICAgICB0aGlzLmlzRmlsZURyb3AgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkRyYWdPdmVyKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuaXNTaG93bkRyb3B6b25lRm9jdXMgPSB0cnVlO1xuICAgIHRoaXMuaXNEcm9wem9uZUV4cGFuZGVkID0gdHJ1ZTtcbiAgICB0aGlzLmlzRmlsZURyb3AgPSB0cnVlO1xuICAgIHRoaXMub25Ecm9wQmFja2dyb3VuZC5lbWl0KHsgYWN0aW9uOiBGaWxlQWN0aW9uLkRSQUdPVkVSLCB2YWx1ZTogdHJ1ZSB9KTtcblxuICAgIGlmICh0aGlzLmxvdHRpZU9wdGlvbnMgJiYgIXRoaXMubG90dGllT3B0aW9ucy5hdXRvcGxheSkge1xuICAgICAgdGhpcy5sb3R0aWVPcHRpb25zID0ge1xuICAgICAgICAuLi50aGlzLmxvdHRpZU9wdGlvbnMsXG4gICAgICAgIGF1dG9wbGF5OiB0cnVlLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnbGVhdmUnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25EcmFnTGVhdmUoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5pc1Nob3duRHJvcHpvbmVGb2N1cyA9IGZhbHNlO1xuICAgIHRoaXMuaXNGaWxlRHJvcCA9IGZhbHNlO1xuICAgIHRoaXMuaXNEcm9wem9uZUV4cGFuZGVkID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5pc1Nob3duRHJvcHpvbmVGb2N1cykge1xuICAgICAgICB0aGlzLmlzRmlsZURyb3AgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc0Ryb3B6b25lRXhwYW5kZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0sIDEwMCk7XG4gICAgdGhpcy5vbkRyb3BCYWNrZ3JvdW5kLmVtaXQoe1xuICAgICAgYWN0aW9uOiBGaWxlQWN0aW9uLkRSQUdMRUFWRSxcbiAgICAgIHZhbHVlOiBmYWxzZSxcbiAgICB9KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpkcmFnZW50ZXInLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25XaW5kb3dEcmFnRW50ZXIoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5pc0ZpbGVEcm9wID0gZmFsc2U7XG4gICAgdGhpcy5pc1Nob3duRHJvcHpvbmVGb2N1cyA9IHRydWU7XG4gICAgdGhpcy5pc0Ryb3B6b25lRXhwYW5kZWQgPSB0cnVlO1xuXG4gICAgY29uc3QgZmlsZVR5cGUgPSB0aGlzLl9kcm9wWm9uZUNvbmZpZy5jb25maWcuZHJvcHpvbmVcbiAgICAgID8uZHJvcFpvbmVUeXBlIGFzIEZpbGVUeXBlO1xuICAgIGNvbnN0IGFuaW1hdGlvblBhdGggPSBGaWxlQW5pbWF0aW9uLkFOSU1BVElPTlNbZmlsZVR5cGVdO1xuXG4gICAgaWYgKGFuaW1hdGlvblBhdGgpIHtcbiAgICAgIHRoaXMubG90dGllT3B0aW9ucyA9IHtcbiAgICAgICAgcmVuZGVyZXI6ICdzdmcnLFxuICAgICAgICBhdXRvcGxheTogIXRoaXMuaXNTaG93bkRyb3B6b25lRm9jdXMsXG4gICAgICAgIGxvb3A6IGZhbHNlLFxuICAgICAgICBwYXRoOiBhbmltYXRpb25QYXRoLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6ZHJvcCcsIFsnJGV2ZW50J10pXG4gIG9uV2luZG93RHJvcChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5pc0Ryb3B6b25lRXhwYW5kZWQgPSBmYWxzZTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMub25Ecm9wQmFja2dyb3VuZC5lbWl0KHsgYWN0aW9uOiBGaWxlQWN0aW9uLkRST1AsIHZhbHVlOiBmYWxzZSB9KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgcHVibGljIHRyaWdnZXJGaWxlSW5wdXQoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmlzTWF4Q291bnRSZWFjaGVkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5kcm9wWm9uZS5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SWNvbnMoKSB7XG4gICAgdGhpcy5pY29uU3JjID1cbiAgICAgIEZpbGVJY29ucy5JQ09OU1tcbiAgICAgICAgdGhpcy5fZHJvcFpvbmVDb25maWcuY29uZmlnLmRyb3B6b25lPy5kcm9wWm9uZVR5cGUgYXMgRmlsZVR5cGVcbiAgICAgIF07XG4gIH1cblxuICBwdWJsaWMgc3VwcG9ydGVkRmlsZXMoKSB7XG4gICAgdGhpcy5kcm9wWm9uZUF2YWlsYWJsZUZpbGVzID1cbiAgICAgIEZJTEVfRVhURU5TSU9OUy5FWFRFTlNJT05TW1xuICAgICAgICB0aGlzLl9kcm9wWm9uZUNvbmZpZy5jb25maWcuZHJvcHpvbmU/LmRyb3Bab25lVHlwZSBhcyBGaWxlVHlwZVxuICAgICAgXTtcbiAgfVxuXG4gIC8vbGltaXQgZmlsZXNcbiAgcHVibGljIG1heEZpbGVzQWxsb3dlZCgpOiBudW1iZXIge1xuICAgIHJldHVybiBGaWxlTGltaXQuTElNSVRbXG4gICAgICB0aGlzLl9kcm9wWm9uZUNvbmZpZy5jb25maWcuZHJvcHpvbmU/LmRyb3Bab25lUGFnZXMgYXMgUGFnZXNFbnVtXG4gICAgXTtcbiAgfVxuXG4gIHB1YmxpYyBpc01heENvdW50UmVhY2hlZCgpOiBib29sZWFuIHtcbiAgICB0aGlzLmxpbWl0ID1cbiAgICAgIEZpbGVMaW1pdC5MSU1JVFtcbiAgICAgICAgdGhpcy5fZHJvcFpvbmVDb25maWcuY29uZmlnLmRyb3B6b25lPy5kcm9wWm9uZVBhZ2VzIGFzIFBhZ2VzRW51bVxuICAgICAgXSB8fCAwO1xuICAgIHJldHVybiB0aGlzLmZpbGVzLmxlbmd0aCA+PSB0aGlzLmxpbWl0O1xuICB9XG5cbiAgLy9GaWxlc1xuICBwdWJsaWMgaGFuZGxlRmlsZUNoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGlmIChpbnB1dC5maWxlcykge1xuICAgICAgdGhpcy5vbkZpbGVVcGxvYWQoaW5wdXQuZmlsZXMpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkZpbGVVcGxvYWQoZmlsZXM6IEZpbGVMaXN0KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3QgZmlsZUFycmF5ID0gQXJyYXkuZnJvbShmaWxlcyk7XG5cbiAgICBjb25zdCB1cGxvYWRPYnNlcnZhYmxlcyA9IGZpbGVBcnJheS5tYXAoKGZpbGUsIGluZGV4KSA9PlxuICAgICAgdGhpcy5hZGRGaWxlKGZpbGUsIGluZGV4ID09PSBmaWxlQXJyYXkubGVuZ3RoIC0gMSlcbiAgICApO1xuXG4gICAgcmV0dXJuIGZyb20odXBsb2FkT2JzZXJ2YWJsZXMpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciB1cGxvYWRpbmcgZmlsZXM6JywgZXJyb3IpO1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9KSxcbiAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdBbGwgZmlsZXMgdXBsb2FkZWQgc3VjY2Vzc2Z1bGx5Jyk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFkZEZpbGUoZmlsZTogRmlsZSwgZW1pdEV2ZW50PzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICghZmlsZSkgcmV0dXJuO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGZpbGVFeHRlbnNpb24gPSBGaWxlVXRpbHMuZ2V0RmlsZUV4dGVuc2lvbihmaWxlLm5hbWUpO1xuXG4gICAgICBpZiAoXG4gICAgICAgICFGaWxlVXRpbHMuaXNTdXBwb3J0ZWRFeHRlbnNpb24oXG4gICAgICAgICAgZmlsZUV4dGVuc2lvbixcbiAgICAgICAgICB0aGlzLmRyb3Bab25lQXZhaWxhYmxlRmlsZXNcbiAgICAgICAgKVxuICAgICAgKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAhdGhpcy5fZHJvcFpvbmVDb25maWcuY29uZmlnLmRyb3B6b25lT3B0aW9uPy5kaXNhYmxlVW5zdXBwb3J0ZWRQcmV2aWV3XG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuaXNTdXBwb3J0ZWRUeXBlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaXNTdXBwb3J0ZWRUeXBlID0gZmFsc2U7XG5cbiAgICAgIEZpbGVVdGlscy5nZXRCbG9iKGZpbGUpLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChibG9iQ29udGVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGJsb2JVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2JDb250ZW50KTtcbiAgICAgICAgICB0aGlzLmZpbGVzID0gW1xuICAgICAgICAgICAgLi4udGhpcy5maWxlcyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZmlsZU5hbWU6IGZpbGUubmFtZSxcbiAgICAgICAgICAgICAgdXJsOiBibG9iVXJsLFxuICAgICAgICAgICAgICBleHRlbnNpb246IGZpbGVFeHRlbnNpb24sXG4gICAgICAgICAgICAgIGd1aWQ6IG51bGwsXG4gICAgICAgICAgICAgIHNpemU6IGZpbGUuc2l6ZSxcbiAgICAgICAgICAgICAgcmVhbEZpbGU6IGJsb2JDb250ZW50LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdO1xuXG4gICAgICAgICAgaWYgKGVtaXRFdmVudCkge1xuICAgICAgICAgICAgdGhpcy5vbkZpbGVFdmVudC5lbWl0KHtcbiAgICAgICAgICAgICAgZmlsZXM6IHRoaXMuZmlsZXMsXG4gICAgICAgICAgICAgIGFjdGlvbjogRmlsZUFjdGlvbi5BREQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciByZWFkaW5nIGZpbGU6JywgZXJyb3IpO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbnQgdXBsb2FkIGZpbGUnKTtcbiAgICB9XG4gIH1cblxuICAvL0xvdHRpZVxuICBwcml2YXRlIHVwZGF0ZUxvdHRpZU9wdGlvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgZmlsZVR5cGUgPSB0aGlzLl9kcm9wWm9uZUNvbmZpZy5jb25maWcuZHJvcHpvbmVcbiAgICAgID8uZHJvcFpvbmVUeXBlIGFzIEZpbGVUeXBlO1xuICAgIGNvbnN0IGFuaW1hdGlvblBhdGggPSBGaWxlQW5pbWF0aW9uLkFOSU1BVElPTlNbZmlsZVR5cGVdO1xuXG4gICAgaWYgKGFuaW1hdGlvblBhdGgpIHtcbiAgICAgIHRoaXMubG90dGllT3B0aW9ucyA9IHtcbiAgICAgICAgcmVuZGVyZXI6ICdzdmcnLFxuICAgICAgICBhdXRvcGxheTogIXRoaXMuaXNTaG93bkRyb3B6b25lRm9jdXMsXG4gICAgICAgIGxvb3A6IGZhbHNlLFxuICAgICAgICBwYXRoOiBhbmltYXRpb25QYXRoLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICAvL0Ryb3B6b25lIHRleHRcbiAgcHJpdmF0ZSB1cGRhdGVEcm9wWm9uZVRleHQoKTogdm9pZCB7XG4gICAgY29uc3QgZHJvcFpvbmVUZXh0TWFwOiB7IFtrZXkgaW4gRmlsZVR5cGVdPzogc3RyaW5nIH0gPSB7XG4gICAgICBbRmlsZVR5cGUuRklMRVNdOiAnRklMRVMnLFxuICAgICAgW0ZpbGVUeXBlLk1FRElBXTogJ01FRElBJyxcbiAgICAgIFtGaWxlVHlwZS5JTUFHRV06ICdJTUFHRScsXG4gICAgICBbRmlsZVR5cGUuTE9HT106ICdJTUFHRScsXG4gICAgfTtcblxuICAgIHRoaXMuZHJvcFpvbmVUZXh0ID1cbiAgICAgIGRyb3Bab25lVGV4dE1hcFtcbiAgICAgICAgdGhpcy5fZHJvcFpvbmVDb25maWcuY29uZmlnLmRyb3B6b25lPy5kcm9wWm9uZVR5cGUgYXMgRmlsZVR5cGVcbiAgICAgIF0gfHwgJ0ZJTEUgSU1QT1JUIEZBSUxFRCc7XG4gIH1cblxuICAvL1RlbXBsYXRlXG4gIGdldFRlbXBsYXRlKHRlbXBsYXRlOiBzdHJpbmcpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICBjb25zdCB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVDb250YWluZXJEaXJlY3RpdmUgfCB1bmRlZmluZWQgPVxuICAgICAgdGhpcy50ZW1wbGF0ZVJlZj8uZmluZCgodGVtcCkgPT4gdGVtcC5pZCA9PT0gdGVtcGxhdGUpO1xuXG4gICAgaWYgKCF0ZW1wbGF0ZVJlZikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmF2YWlsYWJsZSB0ZW1wbGF0ZSEnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGVtcGxhdGVSZWY/LnRlbXBsYXRlO1xuICB9XG5cbiAgcHVibGljIGlkZW50aWZ5KGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImRyb3B6b25lLWNvbnRhaW5lciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ3NwbGl0LWRyb3B6b25lJzogaXNEcm9wem9uZVNob3duSW5Dcm9wLFxuICAgIHVuU3VwcG9ydGVkOiBpc1N1cHBvcnRlZFR5cGUsXG4gICAgZXhwYW5kZWQ6IGlzRHJvcHpvbmVFeHBhbmRlZCAmJiAhaXNTdXBwb3J0ZWRUeXBlLFxuICAgICdkaXNhYmxlZC1kcm9wem9uZSc6IGZpbGVzLmxlbmd0aCA+PSB0aGlzLmxpbWl0ICYmIHRoaXMubGltaXQgPiAwLFxuICB9XCJcbiAgW25nU3R5bGVdPVwie1xuICAgIHdpZHRoOlxuICAgICAgZmlsZXMubGVuZ3RoID09PSAwXG4gICAgICAgID8gY3VzdG9tV2lkdGggfHwgJzQ0OHB4J1xuICAgICAgICA6IGZpbGVzLmxlbmd0aCA9PT0gMVxuICAgICAgICAgID8gJzI5NnB4J1xuICAgICAgICAgIDogZmlsZXMubGVuZ3RoID09PSAyXG4gICAgICAgICAgICA/ICcxNDhweCdcbiAgICAgICAgICAgIDogZmlsZXMubGVuZ3RoID09PSAzXG4gICAgICAgICAgICAgID8gJzE0OHB4J1xuICAgICAgICAgICAgICA6ICcxNDhweCcsXG4gIH1cIlxuPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIF9kcm9wWm9uZUNvbmZpZ0FycmF5OyB0cmFja0J5OiBpZGVudGlmeVwiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZHJvcHpvbmUtY29udGVudCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAndXBsb2FkLWRyb3B6b25lLXVuc3VwcG9ydGVkJzogaXNTdXBwb3J0ZWRUeXBlLFxuICAgICAgICBleHBhbmRlZENvbnRlbnQ6IGlzRHJvcHpvbmVFeHBhbmRlZCxcbiAgICAgICAgJ2NvbHVtbi1sYXlvdXQnOiBmaWxlcy5sZW5ndGggPj0gMixcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICBnZXRUZW1wbGF0ZShpdGVtLnRlbXBsYXRlKTtcbiAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbS5jb25maWcgfVxuICAgICAgICBcIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48IS0tLS0tLS0tLS0tLS1Eb2N1bWVudCB0ZW1wbGF0ZS0tLS0tLS0tLS0tLS0tPlxuPG5nLXRlbXBsYXRlIHRlbXBsYXRlQ29udGFpbmVyIGlkPVwiZG9jdW1lbnRzVGVtcGxhdGVcIiBsZXQtY29uZmlnPlxuICA8IS0tU1ZHIElDT04tLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1Nob3duRHJvcHpvbmVGb2N1cyAmJiAhaXNEcm9wem9uZUV4cGFuZGVkXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRyb3B6b25lSWNvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS1Mb3R0aWUgYW5pbWF0aW9uLS0+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIihpc0Ryb3B6b25lRXhwYW5kZWQgfHwgaXNTaG93bkRyb3B6b25lRm9jdXMpICYmICFpc1N1cHBvcnRlZFR5cGVcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxvdHRpZUFuaW1hdGlvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS1Db250ZW50IGZvciBzdXBwb3J0ZWQgYW5kIHVuc3VwcG9ydGVkIHR5cGVzLS0+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkcm9wem9uZVRleHRUZW1wbGF0ZVwiPiA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tU3VwcG9ydGVkIGV4dGVuc2lvbnMgZm9yIHVuc3VwcG9ydGVkIHR5cGUtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzU3VwcG9ydGVkVHlwZVwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwic3VwcG9ydGVkRXh0ZW5zaW9uc1RlbXBsYXRlXCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS1GSUxFIElOUFVULS0+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cImZpbGVJbnB1dFRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogY29uZmlnIH1cIlxuICA+PC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tLS0tLS0tLS0tLS1NZWRpYSB0ZW1wbGF0ZS0tLS0tLS0tLS0tLS0tPlxuPG5nLXRlbXBsYXRlIHRlbXBsYXRlQ29udGFpbmVyIGlkPVwibWVkaWFUZW1wbGF0ZVwiIGxldC1jb25maWc+XG4gIDwhLS1TVkcgSUNPTi0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzU2hvd25Ecm9wem9uZUZvY3VzICYmICFpc0Ryb3B6b25lRXhwYW5kZWRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZHJvcHpvbmVJY29uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLUxvdHRpZSBhbmltYXRpb24tLT5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwiKGlzRHJvcHpvbmVFeHBhbmRlZCB8fCBpc1Nob3duRHJvcHpvbmVGb2N1cykgJiYgIWlzU3VwcG9ydGVkVHlwZVwiXG4gID5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG90dGllQW5pbWF0aW9uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLUNvbnRlbnQgZm9yIHN1cHBvcnRlZCBhbmQgdW5zdXBwb3J0ZWQgdHlwZXMtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRyb3B6b25lVGV4dFRlbXBsYXRlXCI+IDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS1TdXBwb3J0ZWQgZXh0ZW5zaW9ucyBmb3IgdW5zdXBwb3J0ZWQgdHlwZS0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTdXBwb3J0ZWRUeXBlXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdXBwb3J0ZWRFeHRlbnNpb25zVGVtcGxhdGVcIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLUZJTEUgSU5QVVQtLT5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmlsZUlucHV0VGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjb25maWcgfVwiXG4gID48L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0tLS0tLS0tLS0tLUltYWdlIHRlbXBsYXRlLS0tLS0tLS0tLS0tLS0+XG48bmctdGVtcGxhdGUgdGVtcGxhdGVDb250YWluZXIgaWQ9XCJpbWFnZVRlbXBsYXRlXCIgbGV0LWNvbmZpZz5cbiAgPCEtLVNWRyBJQ09OLS0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNTaG93bkRyb3B6b25lRm9jdXMgJiYgIWlzRHJvcHpvbmVFeHBhbmRlZFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkcm9wem9uZUljb25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tTG90dGllIGFuaW1hdGlvbi0tPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCIoaXNEcm9wem9uZUV4cGFuZGVkIHx8IGlzU2hvd25Ecm9wem9uZUZvY3VzKSAmJiAhaXNTdXBwb3J0ZWRUeXBlXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsb3R0aWVBbmltYXRpb25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tQ29udGVudCBmb3Igc3VwcG9ydGVkIGFuZCB1bnN1cHBvcnRlZCB0eXBlcy0tPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZHJvcHpvbmVUZXh0VGVtcGxhdGVcIj4gPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLVN1cHBvcnRlZCBleHRlbnNpb25zIGZvciB1bnN1cHBvcnRlZCB0eXBlLS0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1N1cHBvcnRlZFR5cGVcIj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInN1cHBvcnRlZEV4dGVuc2lvbnNUZW1wbGF0ZVwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tRklMRSBJTlBVVC0tPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmaWxlSW5wdXRUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGNvbmZpZyB9XCJcbiAgPjwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLS0tLS0tLS0tLS0tSW1hZ2UgQ3JvcCB0ZW1wbGF0ZS0tLS0tLS0tLS0tLS0tPlxuPG5nLXRlbXBsYXRlIHRlbXBsYXRlQ29udGFpbmVyIGlkPVwiaW1hZ2VDcm9wVGVtcGxhdGVcIiBsZXQtY29uZmlnPlxuICA8IS0tU1ZHIElDT04tLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1Nob3duRHJvcHpvbmVGb2N1cyAmJiAhaXNEcm9wem9uZUV4cGFuZGVkXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRyb3B6b25lSWNvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS1Mb3R0aWUgYW5pbWF0aW9uLS0+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIihpc0Ryb3B6b25lRXhwYW5kZWQgfHwgaXNTaG93bkRyb3B6b25lRm9jdXMpICYmICFpc1N1cHBvcnRlZFR5cGVcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxvdHRpZUFuaW1hdGlvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS1Db250ZW50IGZvciBzdXBwb3J0ZWQgYW5kIHVuc3VwcG9ydGVkIHR5cGVzLS0+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkcm9wem9uZVRleHRUZW1wbGF0ZVwiPiA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tU3VwcG9ydGVkIGV4dGVuc2lvbnMgZm9yIHVuc3VwcG9ydGVkIHR5cGUtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzU3VwcG9ydGVkVHlwZVwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwic3VwcG9ydGVkRXh0ZW5zaW9uc1RlbXBsYXRlXCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS1GSUxFIElOUFVULS0+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cImZpbGVJbnB1dFRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogY29uZmlnIH1cIlxuICA+PC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tLS0tLS0tLS0tLS1Mb2dvIHRlbXBsYXRlLS0tLS0tLS0tLS0tLS0+XG48bmctdGVtcGxhdGUgdGVtcGxhdGVDb250YWluZXIgaWQ9XCJsb2dvVGVtcGxhdGVcIiBsZXQtY29uZmlnPlxuICA8IS0tU1ZHIElDT04tLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1Nob3duRHJvcHpvbmVGb2N1cyAmJiAhaXNEcm9wem9uZUV4cGFuZGVkXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRyb3B6b25lSWNvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS1Mb3R0aWUgYW5pbWF0aW9uLS0+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIihpc0Ryb3B6b25lRXhwYW5kZWQgfHwgaXNTaG93bkRyb3B6b25lRm9jdXMpICYmICFpc1N1cHBvcnRlZFR5cGVcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxvdHRpZUFuaW1hdGlvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS1Db250ZW50IGZvciBzdXBwb3J0ZWQgYW5kIHVuc3VwcG9ydGVkIHR5cGVzLS0+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkcm9wem9uZVRleHRUZW1wbGF0ZVwiPiA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tU3VwcG9ydGVkIGV4dGVuc2lvbnMgZm9yIHVuc3VwcG9ydGVkIHR5cGUtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzU3VwcG9ydGVkVHlwZVwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwic3VwcG9ydGVkRXh0ZW5zaW9uc1RlbXBsYXRlXCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS1GSUxFIElOUFVULS0+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cImZpbGVJbnB1dFRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogY29uZmlnIH1cIlxuICA+PC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tLS0tLS0tLS0tLS0tQ09NTU9OLVRFTVBMQVRFLS0tLS0tLS0tLS0tLS0+XG5cbjwhLS0tLS0tSU5QVVQtLS0tLS0tPlxuPG5nLXRlbXBsYXRlICNmaWxlSW5wdXRUZW1wbGF0ZSBsZXQtY29uZmlnPlxuICA8aW5wdXRcbiAgICAjZHJvcFpvbmVcbiAgICBbaWRdPVwiJ2Ryb3Bab25lJyArIChjb25maWcuZHJvcHpvbmVPcHRpb24/LmRyb3B6b25lSW5kZXggfHwgMClcIlxuICAgIHR5cGU9XCJmaWxlXCJcbiAgICBbYWNjZXB0XT1cImNvbmZpZy5kcm9wem9uZT8uZHJvcFpvbmVBdmFpbGFibGVGaWxlc1wiXG4gICAgW211bHRpcGxlXT1cImNvbmZpZy5kcm9wem9uZT8ubXVsdGlwbGVcIlxuICAgIChjaGFuZ2UpPVwiaGFuZGxlRmlsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIlxuICAvPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLURST1BaT05FX1RFWFQtLT5cbjxuZy10ZW1wbGF0ZSAjZHJvcHpvbmVUZXh0VGVtcGxhdGU+XG4gIDxkaXZcbiAgICBjbGFzcz1cImRyb3B6b25lLXRleHQgZC1mbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcbiAgPlxuICAgIDxwXG4gICAgICBjbGFzcz1cInVwbG9hZC1kcm9wem9uZS10ZXh0XCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ3Vuc3VwcG9ydGVkLXRleHQtYmlnJzogaXNTdXBwb3J0ZWRUeXBlLCBcbiAgICAnbWF4LWNvdW50JzogaXNNYXhDb3VudFJlYWNoZWQoKX1cIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc01heENvdW50UmVhY2hlZCgpOyBlbHNlIG5vcm1hbFRleHRcIj5cbiAgICAgICAgTUFYIENPVU5UIFJFQUNIRURcbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNub3JtYWxUZXh0PlxuICAgICAgICB7eyBpc1N1cHBvcnRlZFR5cGUgPyAnSU5WQUxJRCBGSUxFIFRZUEUnIDogJ0RSQUcgJyArIGRyb3Bab25lVGV4dCB9fVxuICAgICAgICB7eyAhKGlzU3VwcG9ydGVkVHlwZSB8fCAoZmlsZXMgJiYgZmlsZXMubGVuZ3RoKSkgPyAnIEhFUkUnIDogJycgfX1cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwiX2Ryb3Bab25lQ29uZmlnQXJyYXk/LlswXT8udGVtcGxhdGUgPT09ICdtZWRpYVRlbXBsYXRlJ1wiXG4gICAgICA+XG4gICAgICAgIDxwIGNsYXNzPVwibWVkaWEtc2l6ZXNcIj5tYXggZmlsZSBzaXplIDUwbWI8L3A+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3A+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0Ryb3B6b25lRXhwYW5kZWRcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidXBsb2FkLWRyb3B6b25lLXRleHQtc21hbGxcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTWF4Q291bnRSZWFjaGVkKCk7IGVsc2UgZm9ybWF0VGV4dFwiPlxuICAgICAgICAgIHt7IGZpbGVzLmxlbmd0aCB9fSBGSUxFUyBJTVBPUlRFRFxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNmb3JtYXRUZXh0PlxuICAgICAgICAgIHt7IGlzU3VwcG9ydGVkVHlwZSA/ICdTVVBQT1JURUQgRk9STUFUUycgOiAnT1IgQ0xJQ0sgVE8gQUREJyB9fVxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9zcGFuPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0tLS0tSUNPTi0tLS0tLS0tPlxuPG5nLXRlbXBsYXRlICNkcm9wem9uZUljb25UZW1wbGF0ZT5cbiAgPHN2Zy1pY29uXG4gICAgW3NyY109XCIhaXNTdXBwb3J0ZWRUeXBlICYmICFpc0ZpbGVEcm9wID8gaWNvblNyYyA6IGRyb3B6b25lU3ZnUm91dGVcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdjYW5jZWwtdW5zdXBwb3J0ZWQtem9uZSc6IGlzU3VwcG9ydGVkVHlwZSxcbiAgICAgICdzdmdJY29uLWRvY3VtZW50JzogZmlsZXMubGVuZ3RoIDwgMixcbiAgICAgICdzdmctc21hbGwnOiBmaWxlcy5sZW5ndGggPj0gMixcbiAgICB9XCJcbiAgPjwvc3ZnLWljb24+XG48L25nLXRlbXBsYXRlPlxuPCEtLSBMT1RUSUVfQU5JTUFUSU9OIC0tPlxuPG5nLXRlbXBsYXRlICNsb3R0aWVBbmltYXRpb25UZW1wbGF0ZT5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYW5pbWF0aW9uLWNvbnRhaW5lciBkLWZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxuICAgIFtuZ0NsYXNzXT1cInsgZXhwYW5kZWQ6IGlzRHJvcHpvbmVFeHBhbmRlZCB9XCJcbiAgPlxuICAgIDxuZy1sb3R0aWVcbiAgICAgIGNsYXNzPVwic3RhdGljLWxvdHRpZS1hbmltYXRpb25cIlxuICAgICAgW29wdGlvbnNdPVwibG90dGllT3B0aW9uc1wiXG4gICAgPjwvbmctbG90dGllPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0gU1VQUE9SVEVEX0VYVEVOU0lPTlMgLS0+XG48bmctdGVtcGxhdGUgI3N1cHBvcnRlZEV4dGVuc2lvbnNUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cInN1cHBvcnRlZC1leHRlbnNpb25zIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwiZXh0ZW5zaW9uIGV4dGVuc2lvbi17e1xuICAgICAgICBleHRlbnNpb25cbiAgICAgIH19IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAqbmdGb3I9XCJsZXQgZXh0ZW5zaW9uIG9mIGRyb3Bab25lQXZhaWxhYmxlRmlsZXM7IHRyYWNrQnk6IGlkZW50aWZ5XCJcbiAgICAgID57eyBleHRlbnNpb24gfX08L3NwYW5cbiAgICA+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|