vcomply-workflow-engine 3.0.10 → 3.0.11

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.
@@ -346,7 +346,7 @@ export class UserGroupListComponent {
346
346
  UserGroupListComponent.decorators = [
347
347
  { type: Component, args: [{
348
348
  selector: 'user-group-list',
349
- template: "<div class=\"user-group-list\" [class.animate]=\"animation\">\r\n <div class=\"user-group-list-head\">\r\n <h3 class=\"user-group-list-title\">{{panelTitle}}</h3>\r\n </div>\r\n <div class=\"user-group-list-body\">\r\n <div class=\"user-group-list-body-inner\">\r\n <app-loader-inline *ngIf=\"loading\"></app-loader-inline>\r\n <div class=\"user-group-list-tab vx-d-flex vx-align-center vx-justify-between vx-mb-2\" *ngIf=\"groupEnabled\">\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <button (click)=\"switchTab('USER')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'USER'\">USERS <span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{searchKey?.length && currentTab === 'USER' ? (usersList| filter : searchKey)?.length : usersList?.length || userListInfo?.total_items}}</span></button>\r\n <button (click)=\"switchTab('GROUP')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'GROUP'\">{{featureflag ? 'USER GROUPS':'GROUPS'}} <span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{searchKey?.length && currentTab === 'GROUP' ? (groupsList|search:searchKey:'group_name')?.length :groupsList?.length || groupListInfo?.total_items}}</span></button>\r\n </div>\r\n\r\n <div class=\"future-user vx-d-flex vx-align-center\" *ngIf=\"showFutureUsersSwitch\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase\">Visible to All Current & Future Users</div>\r\n <i class=\"icons info vx-fs-12 vx-txt-blue vx-ml-1 vx-mr-1\" [appTooltip]=\"'question mark text tooltip here...'\" placement=\"bottom-right\" delay=\"0\" type=\"white\" [tooltipMandatory]=\"true\">&#xe91f;</i>\r\n <app-cs-switch\r\n [ngValue]=\"futureUsersWillSelect\" \r\n (ngValueChange)=\"setAllUsersSelected($event)\">\r\n </app-cs-switch>\r\n </div>\r\n </div>\r\n\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input *ngIf=\"!featureflag\" [(ngModel)]=\"searchKey\" type=\"text\" placeholder=\"{{currentTab === 'USER' ? 'Search User' :'Search Group'}}\" />\r\n <input *ngIf=\"featureflag\" [(ngModel)]=\"searchKey\" type=\"text\" placeholder=\"{{currentTab === 'USER' ? 'Search User' :'Search User Group'}}\" />\r\n </div>\r\n\r\n <ng-container *ngIf=\"currentTab === 'USER' && !loading\">\r\n <ng-container *ngIf=\"(usersList|filter:searchKey) as users\">\r\n <vui-pagination *ngIf=\"userListInfo?.total_pages > 1 && usersList?.length !== userListInfo?.total_items\" [currentPage]=\"userCurrentPage\" [totalPage]=\"userListInfo?.total_pages\" (pageChanged)=\"userPageChange($event)\"></vui-pagination>\r\n <div class=\"user-group-list-mid\" [class.with-pagination]=\"isPagination\">\r\n <ng-container *ngIf=\"users?.length > 0;else nouser\">\r\n <div class=\"user-list-select vx-mb-2\">\r\n <vui-checkbox *ngIf=\"!singleSelect\" #user [checked]=\"allUserSelected || futureUsersWillSelect\" [disabled]=\"allUserSelectedDisabled || futureUsersWillSelect || isAllDisabled\" (change)=\"selectAllUser($event)\">\r\n <div class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt vx-tt-none\">{{!user?.checked ? 'Select All' : 'Deselect All'}}</div>\r\n </vui-checkbox>\r\n </div>\r\n <div class=\"user-list-item\">\r\n <ul class=\"vx-m-0 vx-p-0 vx-d-flex\">\r\n <ng-container *ngFor=\"let user of users \" >\r\n <li class=\"vx-mb-3\" *ngIf=\"!singleSelect\" [appTooltip]=\"user |tooltipMessage: fromResponsibility:reviewerIds:overseerIds:assignorId:assigneeIds:'member_id':disabledIds?.includes(user?.member_id):FromProgram\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n <vui-checkbox (change)=\"selectItem($event,user)\" [disabled]=\"disabledIds?.includes(user?.member_id) || futureUsersWillSelect || isAllDisabled\" [checked]=\"selectedUserIds?.includes(user?.member_id) || futureUsersWillSelect\"><div class=\"user-name\" >{{user?.member_name}}</div></vui-checkbox>\r\n </li>\r\n <li class=\"vx-mb-3\" *ngIf=\"singleSelect\">\r\n <app-cs-radio [name]=\"'radio-selector'\" (checkedEvent)=\"selectItemRadio($event,user)\"\r\n [name]=\"'rx-category'\" [checked]=\"selectedUserIds?.includes(user?.member_id)\"\r\n [appTooltip]=\"user?.member_email\" placement=\"bottom-left\"\r\n delay=\"0\" [tooltipMandatory]=\"true\">\r\n {{user?.member_name}}\r\n </app-cs-radio>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-template #nouser>\r\n <app-no-data *ngIf=\"!loading\" [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"(searchKey?.length > 0 ?'No match found.':'No Users found.')\"></app-no-data>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"currentTab === 'GROUP'\">\r\n <ng-container *ngIf=\"(groupsList|search:searchKey:'group_name') as groups\">\r\n <div class=\"user-group-list-mid\" [class.with-pagination]=\"isPagination\">\r\n <ng-container *ngIf=\"groups?.length > 0; else nogroup\">\r\n <div class=\"user-list-select vx-mb-2\">\r\n <vui-checkbox #group [checked]=\"allGroupSelected\" [disabled]=\"allGroupSelectedDisabled\" (change)=\"selectAllGroup($event)\">\r\n <div class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt vx-tt-none\">{{!group?.checked ? 'Select All' : 'Deselect All'}}</div>\r\n </vui-checkbox>\r\n </div>\r\n <div class=\"user-list-item\">\r\n <ul class=\"vx-m-0 vx-p-0 vx-d-flex\">\r\n <li class=\"vx-mb-3\" *ngFor=\"let group of groups\">\r\n <vui-checkbox (change)=\"selectGroup($event,group)\" [disabled]=\"nonRemovableGroupIds?.includes(group?.group_id)\" [checked]=\"selectedGroupIds?.includes(group?.group_id)\">\r\n <div class=\"user-name vx-d-flex vx-align-center vx-w-100\" [appTooltip]=\"group?.group_name\" placement=\"bottom-left\" delay=\"0\"\r\n [tooltipMandatory]=\"true\">\r\n <div class=\"group-name\">{{group?.group_name}} </div>\r\n <span class=\"counter vx-fs-9 vx-fw-600 vx-pl-1 vx-pr-1 vx-lh-3 vx-tt-uppercase\">{{group?.member_count}} {{group?.member_count > 1 ? 'USERS' :'USER'}}</span></div>\r\n </vui-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-template #nogroup>\r\n <app-no-data *ngIf=\"!loading\" [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"(searchKey?.length > 0 ?'No match found.':'No data to display.')\"></app-no-data>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"user-group-list-footer\">\r\n <vui-floating-bar *ngIf=\"(!singleSelect || (!singleSelect && selectedReviewer))\" (closeEvent)=\"saveList()\" (closeList)=\"closeList()\" (workflowTypeChanged) = \"workflowTypeChanged($event)\" [selectedWorkflow]=\"reviewerWorkflowType\" [showWorkflow]=\"selectedReviewer\" [groupSelected]=\"selectedGroups\" [mode]=\"mode\" [nextDisabled]=\"fromApprovalWorkflow && selectedUsers?.length === 0\">\r\n <ng-container *ngIf=\"!groupEnabled\">\r\n <div class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2 vx-mr-2\" *ngFor=\"let element of selectedUsers?.slice(0,1);let i = index\">\r\n <i class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\" *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\" (click)=\"selectItem({target:{checked:false}},element)\">&#xe9ae;</i>\r\n <div *ngIf=\"fromApprovalWorkflow && approvalWorkflowType.toLowerCase() === 'sequential'\" class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\">{{\r\n 1 == selectedUsers?.length\r\n ? \"Final\"\r\n : 1\r\n }}</div>\r\n <span class=\"chipName vx-fs-11 vx-label-txt\" [appTooltip]=\"element?.member_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{element?.member_name}}</span>\r\n <button *ngIf=\"selectedUsers?.length>1\" class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4 greenBg\" appPopover (click)=\"groupDisable.popover()\" placement=\"left\">+{{selectedUsers?.slice(1)?.length}}</button>\r\n </div>\r\n\r\n <!-- <div class=\"chip\" *ngFor=\"let element of selectedUsers?.slice(0,1);let i = index\"><i *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\" (click)=\"selectItem({target:{checked:false}},element)\" class=\"icons\">&#xe90d;</i> <span>{{element?.member_name}}</span></div>\r\n <div class=\"counter\" *ngIf=\"selectedUsers?.length>1\" appPopover (click)=\"groupDisable.popover()\"\r\n placement=\"left\">+{{selectedUsers?.slice(1)?.length}}</div> -->\r\n </ng-container>\r\n <div class=\"user-group-chip\" *ngIf=\"selectedUsers?.length && groupEnabled\">\r\n <i class=\"icons cross\" *ngIf=\"!nonRemovableUserIds?.includes(selectedUsers[0]?.member_id)\" (click)=\"selectItem({target:{checked:false}},selectedUsers[0])\">&#xe9ae;</i>\r\n <div class=\"user-group-name\">{{selectedUsers[0]?.member_name}}</div>\r\n <ng-container *ngIf=\"groupEnabled\">\r\n <div class=\"counter\" *ngIf=\"selectedUsers?.length > 1\" appPopover (click)=\"userCount.popover()\"\r\n placement=\"left\">+{{selectedUsers?.length - 1}}</div>\r\n </ng-container>\r\n </div>\r\n <div class=\"name userGroup-name\">\r\n <!-- {{selectedGroups && selectedGroups?.length > 0 ?' & ':''}} -->\r\n <span class=\"userGroup-text\" *ngIf=\"selectedUsers?.length === 1\">User {{selectedGroups?.length > 0 ?' & ':' selected'}}</span>\r\n <span class=\"userGroup-text\" *ngIf=\"selectedUsers?.length > 1\">Users {{selectedGroups?.length > 0 ?' & ':'selected'}}</span>\r\n </div>\r\n\r\n <div class=\"user-group-chip\" *ngIf=\"selectedGroups?.length\">\r\n <i class=\"icons cross\" *ngIf=\"!nonRemovableGroupIds?.includes(selectedGroups[0]?.group_id)\" (click)=\"selectGroup({target:{checked:false}},selectedGroups[0])\">&#xe9ae;</i>\r\n <div class=\"user-group-name\">{{selectedGroups[0]?.group_name}}</div>\r\n <div class=\"counter group\" *ngIf=\"selectedGroups?.length > 1\" appPopover (click)=\"groupCount.popover()\"\r\n placement=\"left\">+{{selectedGroups?.length - 1}}</div>\r\n </div>\r\n <div class=\"name userGroup-name\">\r\n <span *ngIf=\"selectedGroups?.length === 1\">{{featureflag ?'User Group selected':'Group selected'}}</span>\r\n <span *ngIf=\"selectedGroups?.length > 1\">{{featureflag ?'User Groups selected':'Groups selected'}}</span>\r\n </div>\r\n\r\n <app-popover #userCount [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedUsers | slice: 1; let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\"\r\n (click)=\"selectItem({target:{checked:false}},element)\">&#xe90d;</i>\r\n {{element?.member_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n\r\n <app-popover #groupDisable [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedUsers.slice(1) let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\"\r\n (click)=\"selectItem({target:{checked:false}},element)\">&#xe90d;</i>\r\n <span *ngIf=\"fromApprovalWorkflow && approvalWorkflowType.toLowerCase() === 'sequential'\" class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\">{{\r\n i+1 ===\r\n selectedUsers?.length - 1\r\n ? \"Final\"\r\n : i + 2\r\n }}</span>\r\n {{element?.member_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n\r\n <app-popover #groupCount [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedGroups | slice: 1; let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableGroupIds?.includes(element?.group_id)\"\r\n (click)=\"selectGroup({target:{checked:false}},element)\">&#xe90d;</i>\r\n {{element?.group_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </vui-floating-bar>\r\n <vui-floating-bar *ngIf=\"singleSelect\" (closeEvent)=\"saveList()\" (closeList)=\"closeList()\" [nextDisabled]=\"fromApprovalWorkflow && selectedUsers?.length === 0\">\r\n <div class=\"chip\" *ngIf=\"selectedUsers?.length\" >\r\n <ng-container>\r\n <i class=\"icons\" (click)=\"selectItem({target:{checked:false}},selectedUsers[0])\">&#xe90d;</i>\r\n <span class=\"value\"> {{selectedUsers[0]?.member_name}}</span>\r\n </ng-container>\r\n </div>\r\n </vui-floating-bar>\r\n </div>\r\n </div>\r\n\r\n <div class=\"user-group-list-confirmation\" *ngIf=\"showConfirmation\">\r\n <div class=\"confirmation-top\">\r\n <div class=\"icon-block\"><i class=\"icons\">&#xe930;</i></div>\r\n <div class=\"text\">This action will reset the default {{userType}} selected for the Program.</div>\r\n </div>\r\n <div class=\"confirmation-bottom\">\r\n <div class=\"message\">Are you sure you would like to proceed?</div>\r\n <div class=\"button-group\">\r\n <button class=\"no-btn\" (click)=\"confirmAction('NO')\">NO</button>\r\n <button class=\"yes-btn\" (click)=\"confirmAction('YES')\">YES</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n",
349
+ template: "<div class=\"user-group-list\" [class.animate]=\"animation\">\r\n <div class=\"user-group-list-head\">\r\n <h3 class=\"user-group-list-title\">{{panelTitle}}</h3>\r\n </div>\r\n <div class=\"user-group-list-body\">\r\n <div class=\"user-group-list-body-inner\">\r\n <app-loader-inline *ngIf=\"loading\"></app-loader-inline>\r\n <div class=\"user-group-list-tab vx-d-flex vx-align-center vx-justify-between vx-mb-2\" *ngIf=\"groupEnabled\">\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <button (click)=\"switchTab('USER')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'USER'\">USERS <span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{searchKey?.length && currentTab === 'USER' ? (usersList| filter : searchKey)?.length : usersList?.length || userListInfo?.total_items}}</span></button>\r\n <button (click)=\"switchTab('GROUP')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'GROUP'\">{{featureflag ? 'USER GROUPS':'GROUPS'}} <span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{searchKey?.length && currentTab === 'GROUP' ? (groupsList|search:searchKey:'group_name')?.length :groupsList?.length || groupListInfo?.total_items}}</span></button>\r\n </div>\r\n\r\n <div class=\"future-user vx-d-flex vx-align-center\" *ngIf=\"showFutureUsersSwitch\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase\">Visible to All Current & Future Users</div>\r\n <i class=\"icons info vx-fs-12 vx-txt-blue vx-ml-1 vx-mr-1\" [appTooltip]=\"'If selected, this policy will be visible to all users that are currently active in your VComply account and users that might be added in the future.'\" placement=\"bottom-right\" delay=\"0\" type=\"white\" [tooltipMandatory]=\"true\">&#xe91f;</i>\r\n <app-cs-switch\r\n [ngValue]=\"futureUsersWillSelect\" \r\n (ngValueChange)=\"setAllUsersSelected($event)\">\r\n </app-cs-switch>\r\n </div>\r\n </div>\r\n\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input *ngIf=\"!featureflag\" [(ngModel)]=\"searchKey\" type=\"text\" placeholder=\"{{currentTab === 'USER' ? 'Search User' :'Search Group'}}\" />\r\n <input *ngIf=\"featureflag\" [(ngModel)]=\"searchKey\" type=\"text\" placeholder=\"{{currentTab === 'USER' ? 'Search User' :'Search User Group'}}\" />\r\n </div>\r\n\r\n <ng-container *ngIf=\"currentTab === 'USER' && !loading\">\r\n <ng-container *ngIf=\"(usersList|filter:searchKey) as users\">\r\n <vui-pagination *ngIf=\"userListInfo?.total_pages > 1 && usersList?.length !== userListInfo?.total_items\" [currentPage]=\"userCurrentPage\" [totalPage]=\"userListInfo?.total_pages\" (pageChanged)=\"userPageChange($event)\"></vui-pagination>\r\n <div class=\"user-group-list-mid\" [class.with-pagination]=\"isPagination\">\r\n <ng-container *ngIf=\"users?.length > 0;else nouser\">\r\n <div class=\"user-list-select vx-mb-2\">\r\n <vui-checkbox *ngIf=\"!singleSelect\" #user [checked]=\"allUserSelected || futureUsersWillSelect\" [disabled]=\"allUserSelectedDisabled || futureUsersWillSelect || isAllDisabled\" (change)=\"selectAllUser($event)\">\r\n <div class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt vx-tt-none\">{{!user?.checked ? 'Select All' : 'Deselect All'}}</div>\r\n </vui-checkbox>\r\n </div>\r\n <div class=\"user-list-item\">\r\n <ul class=\"vx-m-0 vx-p-0 vx-d-flex\">\r\n <ng-container *ngFor=\"let user of users \" >\r\n <li class=\"vx-mb-3\" *ngIf=\"!singleSelect\" [appTooltip]=\"user |tooltipMessage: fromResponsibility:reviewerIds:overseerIds:assignorId:assigneeIds:'member_id':disabledIds?.includes(user?.member_id):FromProgram\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n <vui-checkbox (change)=\"selectItem($event,user)\" [disabled]=\"disabledIds?.includes(user?.member_id) || futureUsersWillSelect || isAllDisabled\" [checked]=\"selectedUserIds?.includes(user?.member_id) || futureUsersWillSelect\"><div class=\"user-name\" >{{user?.member_name}}</div></vui-checkbox>\r\n </li>\r\n <li class=\"vx-mb-3\" *ngIf=\"singleSelect\">\r\n <app-cs-radio [name]=\"'radio-selector'\" (checkedEvent)=\"selectItemRadio($event,user)\"\r\n [name]=\"'rx-category'\" [checked]=\"selectedUserIds?.includes(user?.member_id)\"\r\n [appTooltip]=\"user?.member_email\" placement=\"bottom-left\"\r\n delay=\"0\" [tooltipMandatory]=\"true\">\r\n {{user?.member_name}}\r\n </app-cs-radio>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-template #nouser>\r\n <app-no-data *ngIf=\"!loading\" [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"(searchKey?.length > 0 ?'No match found.':'No Users found.')\"></app-no-data>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"currentTab === 'GROUP'\">\r\n <ng-container *ngIf=\"(groupsList|search:searchKey:'group_name') as groups\">\r\n <div class=\"user-group-list-mid\" [class.with-pagination]=\"isPagination\">\r\n <ng-container *ngIf=\"groups?.length > 0; else nogroup\">\r\n <div class=\"user-list-select vx-mb-2\">\r\n <vui-checkbox #group [checked]=\"allGroupSelected\" [disabled]=\"allGroupSelectedDisabled\" (change)=\"selectAllGroup($event)\">\r\n <div class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt vx-tt-none\">{{!group?.checked ? 'Select All' : 'Deselect All'}}</div>\r\n </vui-checkbox>\r\n </div>\r\n <div class=\"user-list-item\">\r\n <ul class=\"vx-m-0 vx-p-0 vx-d-flex\">\r\n <li class=\"vx-mb-3\" *ngFor=\"let group of groups\">\r\n <vui-checkbox (change)=\"selectGroup($event,group)\" [disabled]=\"nonRemovableGroupIds?.includes(group?.group_id)\" [checked]=\"selectedGroupIds?.includes(group?.group_id)\">\r\n <div class=\"user-name vx-d-flex vx-align-center vx-w-100\" [appTooltip]=\"group?.group_name\" placement=\"bottom-left\" delay=\"0\"\r\n [tooltipMandatory]=\"true\">\r\n <div class=\"group-name\">{{group?.group_name}} </div>\r\n <span class=\"counter vx-fs-9 vx-fw-600 vx-pl-1 vx-pr-1 vx-lh-3 vx-tt-uppercase\">{{group?.member_count}} {{group?.member_count > 1 ? 'USERS' :'USER'}}</span></div>\r\n </vui-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-template #nogroup>\r\n <app-no-data *ngIf=\"!loading\" [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"(searchKey?.length > 0 ?'No match found.':'No data to display.')\"></app-no-data>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"user-group-list-footer\">\r\n <vui-floating-bar *ngIf=\"(!singleSelect || (!singleSelect && selectedReviewer))\" (closeEvent)=\"saveList()\" (closeList)=\"closeList()\" (workflowTypeChanged) = \"workflowTypeChanged($event)\" [selectedWorkflow]=\"reviewerWorkflowType\" [showWorkflow]=\"selectedReviewer\" [groupSelected]=\"selectedGroups\" [mode]=\"mode\" [nextDisabled]=\"fromApprovalWorkflow && selectedUsers?.length === 0\">\r\n <ng-container *ngIf=\"!groupEnabled\">\r\n <div class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2 vx-mr-2\" *ngFor=\"let element of selectedUsers?.slice(0,1);let i = index\">\r\n <i class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\" *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\" (click)=\"selectItem({target:{checked:false}},element)\">&#xe9ae;</i>\r\n <div *ngIf=\"fromApprovalWorkflow && approvalWorkflowType.toLowerCase() === 'sequential'\" class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\">{{\r\n 1 == selectedUsers?.length\r\n ? \"Final\"\r\n : 1\r\n }}</div>\r\n <span class=\"chipName vx-fs-11 vx-label-txt\" [appTooltip]=\"element?.member_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{element?.member_name}}</span>\r\n <button *ngIf=\"selectedUsers?.length>1\" class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4 greenBg\" appPopover (click)=\"groupDisable.popover()\" placement=\"left\">+{{selectedUsers?.slice(1)?.length}}</button>\r\n </div>\r\n\r\n <!-- <div class=\"chip\" *ngFor=\"let element of selectedUsers?.slice(0,1);let i = index\"><i *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\" (click)=\"selectItem({target:{checked:false}},element)\" class=\"icons\">&#xe90d;</i> <span>{{element?.member_name}}</span></div>\r\n <div class=\"counter\" *ngIf=\"selectedUsers?.length>1\" appPopover (click)=\"groupDisable.popover()\"\r\n placement=\"left\">+{{selectedUsers?.slice(1)?.length}}</div> -->\r\n </ng-container>\r\n <div class=\"user-group-chip\" *ngIf=\"selectedUsers?.length && groupEnabled\">\r\n <i class=\"icons cross\" *ngIf=\"!nonRemovableUserIds?.includes(selectedUsers[0]?.member_id)\" (click)=\"selectItem({target:{checked:false}},selectedUsers[0])\">&#xe9ae;</i>\r\n <div class=\"user-group-name\">{{selectedUsers[0]?.member_name}}</div>\r\n <ng-container *ngIf=\"groupEnabled\">\r\n <div class=\"counter\" *ngIf=\"selectedUsers?.length > 1\" appPopover (click)=\"userCount.popover()\"\r\n placement=\"left\">+{{selectedUsers?.length - 1}}</div>\r\n </ng-container>\r\n </div>\r\n <div class=\"name userGroup-name\">\r\n <!-- {{selectedGroups && selectedGroups?.length > 0 ?' & ':''}} -->\r\n <span class=\"userGroup-text\" *ngIf=\"selectedUsers?.length === 1\">User {{selectedGroups?.length > 0 ?' & ':' selected'}}</span>\r\n <span class=\"userGroup-text\" *ngIf=\"selectedUsers?.length > 1\">Users {{selectedGroups?.length > 0 ?' & ':'selected'}}</span>\r\n </div>\r\n\r\n <div class=\"user-group-chip\" *ngIf=\"selectedGroups?.length\">\r\n <i class=\"icons cross\" *ngIf=\"!nonRemovableGroupIds?.includes(selectedGroups[0]?.group_id)\" (click)=\"selectGroup({target:{checked:false}},selectedGroups[0])\">&#xe9ae;</i>\r\n <div class=\"user-group-name\">{{selectedGroups[0]?.group_name}}</div>\r\n <div class=\"counter group\" *ngIf=\"selectedGroups?.length > 1\" appPopover (click)=\"groupCount.popover()\"\r\n placement=\"left\">+{{selectedGroups?.length - 1}}</div>\r\n </div>\r\n <div class=\"name userGroup-name\">\r\n <span *ngIf=\"selectedGroups?.length === 1\">{{featureflag ?'User Group selected':'Group selected'}}</span>\r\n <span *ngIf=\"selectedGroups?.length > 1\">{{featureflag ?'User Groups selected':'Groups selected'}}</span>\r\n </div>\r\n\r\n <app-popover #userCount [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedUsers | slice: 1; let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\"\r\n (click)=\"selectItem({target:{checked:false}},element)\">&#xe90d;</i>\r\n {{element?.member_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n\r\n <app-popover #groupDisable [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedUsers.slice(1) let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\"\r\n (click)=\"selectItem({target:{checked:false}},element)\">&#xe90d;</i>\r\n <span *ngIf=\"fromApprovalWorkflow && approvalWorkflowType.toLowerCase() === 'sequential'\" class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\">{{\r\n i+1 ===\r\n selectedUsers?.length - 1\r\n ? \"Final\"\r\n : i + 2\r\n }}</span>\r\n {{element?.member_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n\r\n <app-popover #groupCount [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedGroups | slice: 1; let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableGroupIds?.includes(element?.group_id)\"\r\n (click)=\"selectGroup({target:{checked:false}},element)\">&#xe90d;</i>\r\n {{element?.group_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </vui-floating-bar>\r\n <vui-floating-bar *ngIf=\"singleSelect\" (closeEvent)=\"saveList()\" (closeList)=\"closeList()\" [nextDisabled]=\"fromApprovalWorkflow && selectedUsers?.length === 0\">\r\n <div class=\"chip\" *ngIf=\"selectedUsers?.length\" >\r\n <ng-container>\r\n <i class=\"icons\" (click)=\"selectItem({target:{checked:false}},selectedUsers[0])\">&#xe90d;</i>\r\n <span class=\"value\"> {{selectedUsers[0]?.member_name}}</span>\r\n </ng-container>\r\n </div>\r\n </vui-floating-bar>\r\n </div>\r\n </div>\r\n\r\n <div class=\"user-group-list-confirmation\" *ngIf=\"showConfirmation\">\r\n <div class=\"confirmation-top\">\r\n <div class=\"icon-block\"><i class=\"icons\">&#xe930;</i></div>\r\n <div class=\"text\">This action will reset the default {{userType}} selected for the Program.</div>\r\n </div>\r\n <div class=\"confirmation-bottom\">\r\n <div class=\"message\">Are you sure you would like to proceed?</div>\r\n <div class=\"button-group\">\r\n <button class=\"no-btn\" (click)=\"confirmAction('NO')\">NO</button>\r\n <button class=\"yes-btn\" (click)=\"confirmAction('YES')\">YES</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n",
350
350
  styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";::ng-deep .user-group-list{background:#ffffff;position:fixed;top:0;right:500px;bottom:0;left:0}::ng-deep .user-group-list:before{background:#1E5DD3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .user-group-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .user-group-list-head{background:#fbfbfb;height:44px;padding:0 16px;display:flex;justify-content:space-between;align-items:center;border:1px solid #f1f1f1;border-right:none}::ng-deep .user-group-list-title{color:#161b2f;font-size:14px;font-weight:500;margin:0!important;padding:0}::ng-deep .user-group-list-body{padding:32px 32px 0;height:calc(100vh - 124px)}::ng-deep .user-group-list-body .search-block{position:relative}::ng-deep .user-group-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.75rem .75rem .75rem 2.5rem;outline:none;border:1px solid #7475763F;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .user-group-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .user-group-list-body .search-block input::placeholder{font-size:14px;color:#747576}::ng-deep .user-group-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .user-group-list-mid{width:calc(100% + .75rem);height:calc(100vh - 15.75rem);overflow:hidden;overflow-y:auto;margin-bottom:.5rem;padding-right:.75rem}::ng-deep .user-group-list-mid::-webkit-scrollbar-track{background-color:#fff}::ng-deep .user-group-list-mid.with-pagination{height:calc(100vh - 17.5rem)}::ng-deep .user-group-list-mid .selected-owners{border-bottom:1px solid #dbdbdb}::ng-deep .user-group-list-mid .user-list-select{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item,::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item{position:relative;padding-left:1.5rem;width:100%}::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item .checkbox,::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item .checkbox{position:absolute!important;left:0;top:0}::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item .checkmark,::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item .checkmark{position:absolute!important;left:0;top:0}::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item span,::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item span{justify-content:unset!important;margin:0!important}::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item span.value,::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item span.value{color:#161b2f!important;font-size:11px!important;font-weight:600!important;text-transform:uppercase!important;width:100%}::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item span.value .user-name,::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item span.value .user-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .user-group-list-mid .user-list-item ul{list-style-type:none;align-items:flex-start;flex-wrap:wrap}::ng-deep .user-group-list-mid .user-list-item ul li{width:50%}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox{width:calc(100% - 4.5rem)}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item{position:relative;padding-left:1.5rem;width:100%}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item .checkbox{position:absolute!important;left:0;top:0}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item .checkmark{position:absolute!important;left:0;top:0}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item span{justify-content:unset!important;margin:0!important}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item span.value{color:#161b2f!important;font-size:12px!important;width:100%}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item span.value .user-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item span.value .user-name .group-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 2.5rem)}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item span.value .counter{background:#f1f1f1;border-radius:.125rem;color:#042e7d;margin-left:.5rem!important}::ng-deep .user-group-list-tab button.tab-btn{background:transparent;border-radius:0;border:none;border-bottom:.1875rem solid transparent;margin-right:1.75rem!important}::ng-deep .user-group-list-tab button.tab-btn span{border-radius:1.25rem;color:#74757680;min-width:1.5rem}::ng-deep .user-group-list-tab button.active{pointer-events:none}::ng-deep .user-group-list-tab button.active.tab-btn{border-color:#1e5dd3;color:#1e5dd3}::ng-deep .user-group-list-tab button.active.tab-btn span{background:#1E5DD3;color:#fff;font-weight:500}::ng-deep .user-group-list-tab .future-user{margin-top:-.75rem}::ng-deep .user-group-list-tab .future-user .info{cursor:pointer}::ng-deep .user-group-list-confirmation{background:#161B2F;border-radius:.25rem;position:absolute;left:1rem;right:1rem;bottom:1.75rem;z-index:1}::ng-deep .user-group-list-confirmation .confirmation-top{display:flex;align-items:center;justify-content:flex-start;padding:1.25rem}::ng-deep .user-group-list-confirmation .confirmation-top .icon-block{height:2.25rem;width:2.25rem;border-radius:50%;background:#fff;border:1px solid #dbdbdb;display:flex;justify-content:center;align-items:center;margin-right:1rem}::ng-deep .user-group-list-confirmation .confirmation-top .icon-block i{color:#eb2424;font-size:12px}::ng-deep .user-group-list-confirmation .confirmation-top .text{color:#fff;font-size:14px;font-weight:300}::ng-deep .user-group-list-confirmation .confirmation-bottom{background:#282E48;border-radius:0 0 .25rem .25rem;padding:.75rem .75rem .75rem 1.25rem;display:flex;align-items:center;justify-content:space-between}::ng-deep .user-group-list-confirmation .confirmation-bottom .message{font-size:14px;font-weight:500;line-height:20px;color:#fff}::ng-deep .user-group-list-confirmation .confirmation-bottom .button-group{display:flex}::ng-deep .user-group-list-confirmation .confirmation-bottom .button-group button{height:1.5rem;width:4rem;border:1px solid #fff;border-radius:.125rem;display:flex;align-items:center;justify-content:center;line-height:22px;cursor:pointer;font-size:11px;text-transform:uppercase;font-weight:500;padding:0}::ng-deep .user-group-list-confirmation .confirmation-bottom .button-group button.no-btn{background:transparent;color:#fff}::ng-deep .user-group-list-confirmation .confirmation-bottom .button-group button.yes-btn{background:#fff;color:#1e5dd3;margin-left:.25rem}.group{background:#1e5dd3!important;border-color:#1e5dd3!important}.wf-action-list{width:220px}.wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#ffffff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}.wf-action-list ul.action-item{display:block}.wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}.wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}.wf-action-list ul.action-item li button .file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 16px)}.wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}.wf-action-list ul.action-item li button:hover{background:#f3f3f3}.wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}.wf-action-list ul.action-item li .avatar-card.within-con{display:block}.wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;min-width:24px!important;overflow:hidden;background:#1E5DD3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}.wf-action-list ul.action-item li .avatar-card .avatar img{background:#fff;width:100%;height:100%}.wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}.wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}.wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}.wf-action-list ul.action-item li .avatar-card.no-image{display:block}.wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}.wf-action-list ul.action-item li .avatar-card i.delete-icon{color:#d93b41;cursor:pointer;font-size:14px}.wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}.wf-action-list ul.action-item li .chip-item i{color:#747576;margin-left:7px;font-size:10px;cursor:pointer;display:inline-flex}.wf-action-list ul.action-item li .chip-item span{display:block;width:auto;width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}.wf-action-list ul.action-item li .chip-item span.id{font-size:9px}.wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}.wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}.wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}.wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}\n"]
351
351
  },] }
352
352
  ];
@@ -389,4 +389,4 @@ UserGroupListComponent.propDecorators = {
389
389
  setGroupList: [{ type: Input, args: ['groupList',] }],
390
390
  setSelectedGroup: [{ type: Input, args: ['selectedGroups',] }]
391
391
  };
392
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ncm91cC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXByb2dyYW0vY3JlYXRlLXByb2dyYW0tdWkvdXNlci1ncm91cC1saXN0L3VzZXItZ3JvdXAtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFPbEQsTUFBTSxPQUFPLHNCQUFzQjtJQTJTakM7UUExU1UsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFN0IsZUFBVSxHQUFHLGdCQUFnQixDQUFDO1FBQzlCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQix5QkFBb0IsR0FBVyxZQUFZLENBQUM7UUFDM0MsK0JBQTBCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRCxTQUFJLEdBQVcsUUFBUSxDQUFDO1FBQ3hCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDeEIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVmLHlCQUFvQixHQUEyQyxZQUFZLENBQUM7UUFDNUUsY0FBUyxHQUFRLEVBQUUsQ0FBQztRQUNwQixlQUFVLEdBQVEsRUFBRSxDQUFDO1FBRVosZUFBVSxHQUFVLEVBQUUsQ0FBQztRQUN2QixnQkFBVyxHQUFVLEVBQUUsQ0FBQztRQUN4QixnQkFBVyxHQUFVLEVBQUUsQ0FBQztRQUN4QixnQkFBVyxHQUFVLEVBQUUsQ0FBQztRQUN4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QVU7OEJBU2hCLEtBQUssU0FBQyxlQUFlO3NDQVlyQixLQUFLLFNBQUMsc0JBQXNCO3VCQVM1QixLQUFLOzJCQTJCTCxLQUFLLFNBQUMsV0FBVzsrQkFTakIsS0FBSyxTQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2VhcmNoUGlwZSB9IGZyb20gJy4uL3BpcGVzL3NlYXJjaC5waXBlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndXNlci1ncm91cC1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1ncm91cC1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91c2VyLWdyb3VwLWxpc3QuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVzZXJHcm91cExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBPdXRwdXQoKSBzYXZlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgZ3JvdXBFbmFibGVkITogZmFsc2U7XHJcbiAgQElucHV0KCkgcGFuZWxUaXRsZSA9ICdTZWxlY3QgVXNlcihzKSc7XHJcbiAgQElucHV0KCkgc2luZ2xlU2VsZWN0ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRSZXZpZXdlciA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGZlYXR1cmVmbGFnID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcmV2aWV3ZXJXb3JrZmxvd1R5cGU6IHN0cmluZyA9ICdTRVFVRU5USUFMJztcclxuICBAT3V0cHV0KCkgcmV2aWV3ZXJXb3JrZmxvd1R5cGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgbW9kZTogc3RyaW5nID0gJ0NSRUFURSc7XHJcbiAgQElucHV0KCkgZmllbGRUeXBlID0gJyc7XHJcbiAgc2VhcmNoS2V5ID0gJyc7XHJcbiAgaXNQYWdpbmF0aW9uOiBhbnk7XHJcbiAgYXBwcm92YWxXb3JrZmxvd1R5cGU6ICdBTllPTkUnIHwgJ1JPVU5EUk9CSU4nIHwgJ1NFUVVFTlRJQUwnID0gJ1NFUVVFTlRJQUwnO1xyXG4gIHVzZXJzTGlzdDogYW55ID0gW107XHJcbiAgZ3JvdXBzTGlzdDogYW55ID0gW107XHJcbiAgQElucHV0KCkgZnJvbVJlc3BvbnNpYmlsaXR5OiBhbnk7XHJcbiAgQElucHV0KCkgYXNzaWdub3JJZDogYW55W10gPSBbXTtcclxuICBASW5wdXQoKSBhc3NpZ25lZUlkczogYW55W10gPSBbXTtcclxuICBASW5wdXQoKSByZXZpZXdlcklkczogYW55W10gPSBbXTtcclxuICBASW5wdXQoKSBvdmVyc2VlcklkczogYW55W10gPSBbXTtcclxuICBASW5wdXQoKSBGcm9tUHJvZ3JhbSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHVzZXJMaXN0SW5mbyE6IGFueTtcclxuICBASW5wdXQoKSBncm91cExpc3RJbmZvITogYW55O1xyXG4gIEBJbnB1dCgpIGZyb21BcHByb3ZhbFdvcmtmbG93OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2V0IGFwcHJvdmFsVHlwZSh2YWx1ZTogJ0FOWU9ORScgfCAnUk9VTkRST0JJTicgfCAnU0VRVUVOVElBTCcpIHtcclxuICAgIHRoaXMuYXBwcm92YWxXb3JrZmxvd1R5cGUgPSB2YWx1ZTtcclxuICB9XHJcbiAgQElucHV0KCkgc2hvd0Z1dHVyZVVzZXJzU3dpdGNoOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZnV0dXJlVXNlcnNXaWxsU2VsZWN0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNBbGxEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgZmV0Y2hVc2VyRGF0YSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQElucHV0KCkgZGlzYWJsZWRJZHM6IGFueSA9IFtdO1xyXG4gIEBJbnB1dCgpIG5vblJlbW92YWJsZVVzZXJJZHM6IGFueSA9IFtdO1xyXG4gIEBJbnB1dCgpIGFsbFVzZXJTZWxlY3RlZERpc2FibGVkID0gZmFsc2U7XHJcbiAgc2VsZWN0ZWRVc2VyczogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRVc2VySWRzOiBhbnkgPSBbXTtcclxuICBhbGxVc2Vyc0lkczogYW55ID0gW107XHJcbiAgYWxsVXNlclNlbGVjdGVkID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIG5vblJlbW92YWJsZUdyb3VwSWRzOiBhbnkgPSBbXTtcclxuICBzZWxlY3RlZEdyb3VwczogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRHcm91cElkczogYW55ID0gW107XHJcbiAgYWxsR3JvdXBzSWRzOiBhbnkgPSBbXTtcclxuICBhbGxHcm91cFNlbGVjdGVkID0gZmFsc2U7XHJcbiAgYWxsR3JvdXBTZWxlY3RlZERpc2FibGVkID0gZmFsc2U7XHJcbiAgc2VhcmNoUGlwZSA9IG5ldyBTZWFyY2hQaXBlKCk7XHJcblxyXG4gIHVzZXJDdXJyZW50UGFnZSA9IDE7XHJcbiAgZ3JvdXBDdXJyZW50UGFnZSA9IDE7XHJcbiAgQElucHV0KCkgbG9hZGluZyE6IGJvb2xlYW47XHJcbiAgbm9uRGlzYWJsZWRVc2VyczogYW55W10gPSBbXTtcclxuICBASW5wdXQoJ3VzZXJsaXN0Jykgc2V0IHNldFVzZXJMaXN0KHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZT8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMudXNlcnNMaXN0ID0gWy4uLnZhbHVlXTtcclxuICAgICAgdGhpcy5hbGxVc2Vyc0lkcyA9IHRoaXMudXNlcnNMaXN0Lm1hcCgoZWxlOiBhbnkpID0+IGVsZT8ubWVtYmVyX2lkKTtcclxuICAgICAgdGhpcy5hbGxVc2VyU2VsZWN0ZWRTdGF0dXMoKTtcclxuICAgICAgdGhpcy5zZXRVc2VyTGlzdEluaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgnc2VsZWN0ZWRVc2VycycpIHNldCBzZXRTZWxlY3RlZFVzZXIodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFVzZXJzID0gdGhpcy51bmlxdWVCeVByb3AoXHJcbiAgICAgIFsuLi50aGlzLnNlbGVjdGVkVXNlcnMsIC4uLnZhbHVlXSxcclxuICAgICAgJ21lbWJlcl9pZCdcclxuICAgICk7XHJcbiAgICB0aGlzLnNlbGVjdGVkVXNlcklkcyA9IHRoaXMuc2VsZWN0ZWRVc2Vycy5tYXAoKGVsZTogYW55KSA9PiBlbGU/Lm1lbWJlcl9pZCk7XHJcbiAgICB0aGlzLmFsbFVzZXJTZWxlY3RlZFN0YXR1cygpO1xyXG4gICAgdGhpcy5zZXRVc2VyTGlzdEluaXQoKTtcclxuICB9XHJcblxyXG4gIGRlZmF1bHRTZWxlY3RlZFVzZXJzOiBhbnkgPSBbXTtcclxuICBkZWZhdWx0U2VsZWN0ZWRVc2VySWRzOiBhbnkgPSBbXTtcclxuICBASW5wdXQoJ2RlZmF1bHRTZWxlY3RlZFVzZXJzJykgc2V0IHNldERlZmF1bHRTZWxlY3RlZFVzZXJzKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuZGVmYXVsdFNlbGVjdGVkVXNlcnMgPSB0aGlzLnVuaXF1ZUJ5UHJvcChcclxuICAgICAgWy4uLnRoaXMuZGVmYXVsdFNlbGVjdGVkVXNlcnMsIC4uLnZhbHVlXSxcclxuICAgICAgJ21lbWJlcl9pZCdcclxuICAgICk7XHJcbiAgICB0aGlzLmRlZmF1bHRTZWxlY3RlZFVzZXJJZHMgPSB0aGlzLmRlZmF1bHRTZWxlY3RlZFVzZXJzLm1hcChcclxuICAgICAgKGVsZTogYW55KSA9PiBlbGU/Lm1lbWJlcl9pZFxyXG4gICAgKTtcclxuICB9XHJcbiAgQElucHV0KCkgdXNlclR5cGU6IHN0cmluZyA9ICdhc3NpZ25lZXMnO1xyXG4gIHNob3dDb25maXJtYXRpb24gPSBmYWxzZTtcclxuXHJcbiAgc2V0VXNlckxpc3RJbml0KCkge1xyXG4gICAgaWYgKHRoaXMudXNlckN1cnJlbnRQYWdlID09PSAxKSB7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5zZWxlY3RlZFVzZXJzO1xyXG4gICAgICBjb25zdCBvdGhlclVzZXIgPSB0aGlzLnVzZXJzTGlzdC5maWx0ZXIoXHJcbiAgICAgICAgKGVsZTogYW55KSA9PiAhdGhpcy5zZWxlY3RlZFVzZXJJZHMuaW5jbHVkZXMoZWxlPy5tZW1iZXJfaWQpXHJcbiAgICAgICk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdmc2ZzZnNmJywgc2VsZWN0ZWQsIG90aGVyVXNlcik7XHJcbiAgICAgIHRoaXMudXNlcnNMaXN0ID0gdGhpcy51bmlxdWVCeVByb3AoXHJcbiAgICAgICAgWy4uLnNlbGVjdGVkPy5zb3J0KCksIC4uLm90aGVyVXNlcj8uc29ydCgpXSxcclxuICAgICAgICAnbWVtYmVyX2lkJ1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICBhbGxVc2VyU2VsZWN0ZWRTdGF0dXMoKSB7XHJcbiAgICB0aGlzLmFsbFVzZXJTZWxlY3RlZCA9XHJcbiAgICAgIHRoaXMuYWxsVXNlcnNJZHMuc29ydCgpLnRvU3RyaW5nKCkgPT09XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRVc2VySWRzLnNvcnQoKT8udG9TdHJpbmcoKTtcclxuICAgIHRoaXMuYWxsVXNlclNlbGVjdGVkRGlzYWJsZWQgPVxyXG4gICAgICB0aGlzLmFsbFVzZXJzSWRzLnNvcnQoKS50b1N0cmluZygpID09PVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRVc2VySWRzLnNvcnQoKT8udG9TdHJpbmcoKSAmJlxyXG4gICAgICB0aGlzLmFsbFVzZXJzSWRzLnNvcnQoKS50b1N0cmluZygpID09PVxyXG4gICAgICAgIHRoaXMubm9uUmVtb3ZhYmxlVXNlcklkcy5zb3J0KCk/LnRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoJ2dyb3VwTGlzdCcpIHNldCBzZXRHcm91cExpc3QodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHZhbHVlICYmIHZhbHVlPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5ncm91cHNMaXN0ID0gWy4uLnZhbHVlXTtcclxuICAgICAgdGhpcy5hbGxHcm91cHNJZHMgPSB0aGlzLmdyb3Vwc0xpc3QubWFwKChlbGU6IGFueSkgPT4gZWxlPy5ncm91cF9pZCk7XHJcbiAgICAgIHRoaXMuYWxsR3JvdXBTZWxlY3RlZFN0YXR1cygpO1xyXG4gICAgICB0aGlzLnNldEdyb3VwTGlzdEluaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgnc2VsZWN0ZWRHcm91cHMnKSBzZXQgc2V0U2VsZWN0ZWRHcm91cCh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBzID0gdGhpcy51bmlxdWVCeVByb3AoXHJcbiAgICAgIFsuLi50aGlzLnNlbGVjdGVkR3JvdXBzLCAuLi52YWx1ZV0sXHJcbiAgICAgICdncm91cF9pZCdcclxuICAgICk7XHJcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBJZHMgPSB0aGlzLnNlbGVjdGVkR3JvdXBzLm1hcChcclxuICAgICAgKGVsZTogYW55KSA9PiBlbGU/Lmdyb3VwX2lkXHJcbiAgICApO1xyXG4gICAgdGhpcy5hbGxHcm91cFNlbGVjdGVkU3RhdHVzKCk7XHJcbiAgICB0aGlzLnNldEdyb3VwTGlzdEluaXQoKTtcclxuICB9XHJcblxyXG4gIHNldEdyb3VwTGlzdEluaXQoKSB7XHJcbiAgICBpZiAodGhpcy51c2VyQ3VycmVudFBhZ2UgPT09IDEpIHtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkR3JvdXBzO1xyXG4gICAgICBjb25zdCBvdGhlckdyb3VwID0gdGhpcy5ncm91cHNMaXN0LmZpbHRlcihcclxuICAgICAgICAoZWxlOiBhbnkpID0+ICF0aGlzLnNlbGVjdGVkR3JvdXBJZHMuaW5jbHVkZXMoZWxlPy5ncm91cF9pZClcclxuICAgICAgKTtcclxuICAgICAgY29uc29sZS5sb2coJ2ZzZnNmc2YnLCBzZWxlY3RlZCwgb3RoZXJHcm91cCk7XHJcbiAgICAgIHRoaXMuZ3JvdXBzTGlzdCA9IHRoaXMudW5pcXVlQnlQcm9wKFxyXG4gICAgICAgIFsuLi5zZWxlY3RlZD8uc29ydCgpLCAuLi5vdGhlckdyb3VwPy5zb3J0KCldLFxyXG4gICAgICAgICdncm91cF9pZCdcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgYWxsR3JvdXBTZWxlY3RlZFN0YXR1cygpIHtcclxuICAgIHRoaXMuYWxsR3JvdXBTZWxlY3RlZCA9XHJcbiAgICAgIHRoaXMuYWxsR3JvdXBzSWRzPy5zb3J0KCk/LnRvU3RyaW5nKCkgPT09XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cElkcz8uc29ydCgpPy50b1N0cmluZygpO1xyXG4gICAgdGhpcy5hbGxHcm91cFNlbGVjdGVkRGlzYWJsZWQgPVxyXG4gICAgICB0aGlzLmFsbEdyb3Vwc0lkcy5zb3J0KCkudG9TdHJpbmcoKSA9PT1cclxuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXBJZHMuc29ydCgpPy50b1N0cmluZygpICYmXHJcbiAgICAgIHRoaXMuYWxsR3JvdXBzSWRzLnNvcnQoKS50b1N0cmluZygpID09PVxyXG4gICAgICAgIHRoaXMubm9uUmVtb3ZhYmxlR3JvdXBJZHMuc29ydCgpPy50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgdXNlclBhZ2VDaGFuZ2UocGFnZTogYW55KSB7XHJcbiAgICB0aGlzLnVzZXJDdXJyZW50UGFnZSA9IHBhZ2U7XHJcbiAgICB0aGlzLmZldGNoVXNlckRhdGEuZW1pdCh7IHBhZ2UsIHNlYXJjaEtleTogdGhpcy5zZWFyY2hLZXkgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiAjIyMjIERlc2NyaXB0aW9uXHJcbiAgICogU2VsZWN0cyBpdGVtIG9yIGRlc2VsZWN0IGEgaXRtZVxyXG4gICAqIEBwYXJhbSBldnRcclxuICAgKiBAcGFyYW0gcGF5bG9hZFxyXG4gICAqL1xyXG4gIHNlbGVjdEl0ZW0oZXZ0OiBhbnksIHBheWxvYWQ6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coJ2Zyb20gc2VsJywgZXZ0KTtcclxuICAgIGV2dD8udGFyZ2V0Py5jaGVja2VkID09PSB0cnVlXHJcbiAgICAgID8gdGhpcy5tYW5pcHVsYXRlU2VsZWN0ZWRVc2VyKCdBREQnLCBwYXlsb2FkKVxyXG4gICAgICA6IHRoaXMubWFuaXB1bGF0ZVNlbGVjdGVkVXNlcignREVMRVRFJywgcGF5bG9hZCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RJdGVtUmFkaW8oZXZ0OiBhbnksIHBheWxvYWQ6IGFueSkge1xyXG4gICAgaWYgKGV2dD8udGFyZ2V0Py5jaGVja2VkKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRVc2VycyA9IFtdO1xyXG4gICAgICB0aGlzLm1hbmlwdWxhdGVTZWxlY3RlZFVzZXIoJ0FERCcsIHBheWxvYWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogIyMjIyBEZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogTWFuaXB1bGF0ZXMgc2VsZWN0ZWQgaXRlbXMgaW4gcm9sZSBsaXN0XHJcbiAgICogQHBhcmFtIGFjdGlvbiA6J0FERCcgfCAnREVMRVRFJ1xyXG4gICAqIEBwYXJhbSBwYXlsb2FkXHJcbiAgICovXHJcbiAgbWFuaXB1bGF0ZVNlbGVjdGVkVXNlcihhY3Rpb246ICdBREQnIHwgJ0RFTEVURScsIHBheWxvYWQ6IGFueSkge1xyXG4gICAgaWYgKGFjdGlvbiA9PT0gJ0FERCcpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFVzZXJzID0gdGhpcy51bmlxdWVCeVByb3AoXHJcbiAgICAgICAgWy4uLnRoaXMuc2VsZWN0ZWRVc2VycywgLi4uW3BheWxvYWRdXSxcclxuICAgICAgICAnbWVtYmVyX2lkJ1xyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcklkcyA9IHRoaXMuc2VsZWN0ZWRVc2Vycy5tYXAoXHJcbiAgICAgICAgKGVsZTogYW55KSA9PiBlbGU/Lm1lbWJlcl9pZFxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIGlmIChhY3Rpb24gPT09ICdERUxFVEUnKSB7XHJcbiAgICAgIGxldCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRVc2Vycy5maW5kSW5kZXgoXHJcbiAgICAgICAgKGVsZTogYW55KSA9PiBlbGU/Lm1lbWJlcl9pZCA9PT0gcGF5bG9hZD8ubWVtYmVyX2lkXHJcbiAgICAgICk7XHJcbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFVzZXJzID0gdGhpcy5zZWxlY3RlZFVzZXJzLmZpbHRlcihcclxuICAgICAgICAgIChlbGU6IGFueSkgPT4gZWxlPy5tZW1iZXJfaWQgIT09IHBheWxvYWQ/Lm1lbWJlcl9pZFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFVzZXJJZHMgPSB0aGlzLnNlbGVjdGVkVXNlcklkcy5maWx0ZXIoXHJcbiAgICAgICAgICAoZWxlOiBhbnkpID0+IGVsZSAhPT0gcGF5bG9hZD8ubWVtYmVyX2lkXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5hbGxVc2VyU2VsZWN0ZWRTdGF0dXMoKTtcclxuICB9XHJcbiAgc2VsZWN0QWxsVXNlcihldnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuZnJvbVJlc3BvbnNpYmlsaXR5KSB7XHJcbiAgICAgIHRoaXMubm9uRGlzYWJsZWRVc2VycyA9IHRoaXMuZGlzYWJsZVVzZXJzKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoZXZ0Py50YXJnZXQ/LmNoZWNrZWQgPT09IHRydWUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFVzZXJzID0gdGhpcy5mcm9tUmVzcG9uc2liaWxpdHlcclxuICAgICAgICA/IHRoaXMubm9uRGlzYWJsZWRVc2Vyc1xyXG4gICAgICAgIDogdGhpcy51c2Vyc0xpc3Q7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRVc2VySWRzID0gdGhpcy5mcm9tUmVzcG9uc2liaWxpdHlcclxuICAgICAgICA/IHRoaXMubm9uRGlzYWJsZWRVc2Vycy5tYXAoKGVsZTogYW55KSA9PiBlbGU/Lm1lbWJlcl9pZClcclxuICAgICAgICA6IHRoaXMudXNlcnNMaXN0Lm1hcCgoZWxlOiBhbnkpID0+IGVsZT8ubWVtYmVyX2lkKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRVc2VycyA9IHRoaXMudXNlcnNMaXN0LmZpbHRlcigoZWxlOiBhbnkpID0+XHJcbiAgICAgICAgdGhpcy5ub25SZW1vdmFibGVVc2VySWRzLmluY2x1ZGVzKGVsZT8ubWVtYmVyX2lkKVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcklkcyA9IHRoaXMuc2VsZWN0ZWRVc2Vycy5tYXAoXHJcbiAgICAgICAgKGVsZTogYW55KSA9PiBlbGU/Lm1lbWJlcl9pZFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hbGxVc2VyU2VsZWN0ZWRTdGF0dXMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqICMjIyMgRGVzY3JpcHRpb25cclxuICAgKiBTZWxlY3RzIGl0ZW0gb3IgZGVzZWxlY3QgYSBpdG1lXHJcbiAgICogQHBhcmFtIGV2dFxyXG4gICAqIEBwYXJhbSBwYXlsb2FkXHJcbiAgICovXHJcbiAgc2VsZWN0R3JvdXAoZXZ0OiBhbnksIHBheWxvYWQ6IGFueSkge1xyXG4gICAgZXZ0Py50YXJnZXQ/LmNoZWNrZWQgPT09IHRydWVcclxuICAgICAgPyB0aGlzLm1hbmlwdWxhdGVTZWxlY3RlZEdyb3VwKCdBREQnLCBwYXlsb2FkKVxyXG4gICAgICA6IHRoaXMubWFuaXB1bGF0ZVNlbGVjdGVkR3JvdXAoJ0RFTEVURScsIHBheWxvYWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogIyMjIyBEZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogTWFuaXB1bGF0ZXMgc2VsZWN0ZWQgaXRlbXMgaW4gcm9sZSBsaXN0XHJcbiAgICogQHBhcmFtIGFjdGlvbiA6J0FERCcgfCAnREVMRVRFJ1xyXG4gICAqIEBwYXJhbSBwYXlsb2FkXHJcbiAgICovXHJcbiAgbWFuaXB1bGF0ZVNlbGVjdGVkR3JvdXAoYWN0aW9uOiAnQUREJyB8ICdERUxFVEUnLCBwYXlsb2FkOiBhbnkpIHtcclxuICAgIGlmIChhY3Rpb24gPT09ICdBREQnKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cHMgPSB0aGlzLnVuaXF1ZUJ5UHJvcChcclxuICAgICAgICBbLi4udGhpcy5zZWxlY3RlZEdyb3VwcywgLi4uW3BheWxvYWRdXSxcclxuICAgICAgICAnZ3JvdXBfaWQnXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cElkcyA9IHRoaXMuc2VsZWN0ZWRHcm91cHMubWFwKFxyXG4gICAgICAgIChlbGU6IGFueSkgPT4gZWxlPy5ncm91cF9pZFxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIGlmIChhY3Rpb24gPT09ICdERUxFVEUnKSB7XHJcbiAgICAgIGxldCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRHcm91cHMuZmluZEluZGV4KFxyXG4gICAgICAgIChlbGU6IGFueSkgPT4gZWxlPy5ncm91cF9pZCA9PT0gcGF5bG9hZD8uZ3JvdXBfaWRcclxuICAgICAgKTtcclxuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXBzID0gdGhpcy5zZWxlY3RlZEdyb3Vwcy5maWx0ZXIoXHJcbiAgICAgICAgICAoZWxlOiBhbnkpID0+IGVsZT8uZ3JvdXBfaWQgIT09IHBheWxvYWQ/Lmdyb3VwX2lkXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXBJZHMgPSB0aGlzLnNlbGVjdGVkR3JvdXBJZHMuZmlsdGVyKFxyXG4gICAgICAgICAgKGVsZTogYW55KSA9PiBlbGUgIT09IHBheWxvYWQ/Lmdyb3VwX2lkXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5hbGxHcm91cFNlbGVjdGVkU3RhdHVzKCk7XHJcbiAgfVxyXG4gIHNlbGVjdEFsbEdyb3VwKGV2dDogYW55KSB7XHJcbiAgICBjb25zdCBncm91cERhdGEgPSB0aGlzLnNlYXJjaFBpcGUudHJhbnNmb3JtKFxyXG4gICAgICB0aGlzLmdyb3Vwc0xpc3QsXHJcbiAgICAgIHRoaXMuc2VhcmNoS2V5LFxyXG4gICAgICAnZ3JvdXBfbmFtZSdcclxuICAgICk7XHJcbiAgICBpZiAoZXZ0Py50YXJnZXQ/LmNoZWNrZWQgPT09IHRydWUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwcyA9IGdyb3VwRGF0YTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwSWRzID0gZ3JvdXBEYXRhLm1hcCgoZWxlOiBhbnkpID0+IGVsZT8uZ3JvdXBfaWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwcyA9IHRoaXMuZ3JvdXBzTGlzdC5maWx0ZXIoKGVsZTogYW55KSA9PlxyXG4gICAgICAgIHRoaXMubm9uUmVtb3ZhYmxlR3JvdXBJZHMuaW5jbHVkZXMoZWxlPy5ncm91cF9pZClcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwSWRzID0gdGhpcy5zZWxlY3RlZEdyb3Vwcy5tYXAoXHJcbiAgICAgICAgKGVsZTogYW55KSA9PiBlbGU/Lmdyb3VwX2lkXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmFsbEdyb3VwU2VsZWN0ZWRTdGF0dXMoKTtcclxuICB9XHJcblxyXG4gIGFuaW1hdGlvbiA9IHRydWU7XHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGxldCBkaXNhYmxlZElkcyA9IFsuLi50aGlzLmRpc2FibGVkSWRzLCAuLi50aGlzLm5vblJlbW92YWJsZVVzZXJJZHNdO1xyXG4gICAgdGhpcy5kaXNhYmxlZElkcyA9IFsuLi5uZXcgU2V0KGRpc2FibGVkSWRzKV07XHJcbiAgICB0aGlzLnBhZ2luYXRpb25WaXNpYmxlKCk7XHJcbiAgICB0aGlzLmFuaW1hdGlvbiA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcclxuICAgIH0sIDMwMCk7XHJcbiAgfVxyXG4gIGN1cnJlbnRUYWIgPSAnVVNFUic7XHJcbiAgc3dpdGNoVGFiKHRhYjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRUYWIgPSB0YWI7XHJcbiAgICB0aGlzLnNlYXJjaEtleSA9ICcnO1xyXG4gIH1cclxuXHJcbiAgc2F2ZUxpc3QoKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuZGVmYXVsdFNlbGVjdGVkVXNlcklkcyAmJlxyXG4gICAgICB0aGlzLmRlZmF1bHRTZWxlY3RlZFVzZXJJZHM/Lmxlbmd0aCAmJlxyXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcklkcyAmJlxyXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcklkcz8ubGVuZ3RoXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5kZWZhdWx0U2VsZWN0ZWRVc2VySWRzPy5mb3JFYWNoKChpZDogbnVtYmVyKTogYW55ID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRVc2VySWRzPy5pbmNsdWRlcyhpZCkpIHtcclxuICAgICAgICAgIHRoaXMuc2hvd0NvbmZpcm1hdGlvbiA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd0NvbmZpcm1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLnNob3dDb25maXJtYXRpb24pXHJcbiAgICAgIHRoaXMuc2F2ZS5lbWl0KHtcclxuICAgICAgICB1c2VyczogdGhpcy5zZWxlY3RlZFVzZXJzLFxyXG4gICAgICAgIGdyb3VwczogdGhpcy5zZWxlY3RlZEdyb3VwcyxcclxuICAgICAgICBmdXR1cmVVc2Vyc1dpbGxTZWxlY3Q6IHRoaXMuZnV0dXJlVXNlcnNXaWxsU2VsZWN0LFxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm1BY3Rpb24oZXZ0OiAnWUVTJyB8ICdOTycpIHtcclxuICAgIGlmIChldnQgPT09ICdZRVMnKSB7XHJcbiAgICAgIHRoaXMuc2F2ZS5lbWl0KHtcclxuICAgICAgICB1c2VyczogdGhpcy5zZWxlY3RlZFVzZXJzLFxyXG4gICAgICAgIGdyb3VwczogdGhpcy5zZWxlY3RlZEdyb3VwcyxcclxuICAgICAgICBmdXR1cmVVc2Vyc1dpbGxTZWxlY3Q6IHRoaXMuZnV0dXJlVXNlcnNXaWxsU2VsZWN0LCAgICAgICAgXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChldnQgPT09ICdOTycpIHtcclxuICAgICAgdGhpcy5zaG93Q29uZmlybWF0aW9uID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9zZUxpc3QoKSB7XHJcbiAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICAvL1xyXG5cclxuICAvKipcclxuICAgKiAjIyMjIERlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBSZXR1cm5zIHRoZSB1bmlxdWUgYXJyYXkgb2Ygb2JqZWN0IGJhc2VkIG9uIHVuaXF1ZSBrZXlcclxuICAgKiBAcGFyYW0gYXJyYXlcclxuICAgKiBAcGFyYW0ga2V5XHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICB1bmlxdWVCeVByb3AoYXJyYXk6IGFueSwga2V5OiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBBcnJheS5mcm9tKFxyXG4gICAgICBhcnJheVxyXG4gICAgICAgIC5yZWR1Y2UoXHJcbiAgICAgICAgICAoYWNjOiBhbnksIGl0ZW06IGFueSkgPT4gKFxyXG4gICAgICAgICAgICBpdGVtICYmIGl0ZW1ba2V5XSAmJiBhY2Muc2V0KGl0ZW1ba2V5XSwgaXRlbSksIGFjY1xyXG4gICAgICAgICAgKSxcclxuICAgICAgICAgIG5ldyBNYXAoKVxyXG4gICAgICAgIClcclxuICAgICAgICAudmFsdWVzKClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwYWdpbmF0aW9uVmlzaWJsZSgpIHtcclxuICAgIGlmICh0aGlzLnVzZXJMaXN0SW5mbz8udG90YWxfcGFnZXMgPiAxKSB7XHJcbiAgICAgIHRoaXMuaXNQYWdpbmF0aW9uID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaXNQYWdpbmF0aW9uID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHdvcmtmbG93VHlwZUNoYW5nZWQoZXZlbnQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5yZXZpZXdlcldvcmtmbG93VHlwZSA9IGV2ZW50O1xyXG4gICAgdGhpcy5yZXZpZXdlcldvcmtmbG93VHlwZUNoYW5nZS5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIGRpc2FibGVVc2VycygpIHtcclxuICAgIHN3aXRjaCAodGhpcy5mcm9tUmVzcG9uc2liaWxpdHkpIHtcclxuICAgICAgY2FzZSAnQXNzaWduZWUnOlxyXG4gICAgICAgIHRoaXMubm9uRGlzYWJsZWRVc2VycyA9IHRoaXMudXNlcnNMaXN0LmZpbHRlcihcclxuICAgICAgICAgICh1c2VyOiBhbnkpID0+XHJcbiAgICAgICAgICAgICEoXHJcbiAgICAgICAgICAgICAgdGhpcy5yZXZpZXdlcklkcz8uaW5jbHVkZXModXNlcj8ubWVtYmVyX2lkKSB8fFxyXG4gICAgICAgICAgICAgIHRoaXMub3ZlcnNlZXJJZHM/LmluY2x1ZGVzKHVzZXI/Lm1lbWJlcl9pZClcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ1Jldmlld2VyJzpcclxuICAgICAgICB0aGlzLm5vbkRpc2FibGVkVXNlcnMgPSB0aGlzLnVzZXJzTGlzdC5maWx0ZXIoXHJcbiAgICAgICAgICAodXNlcjogYW55KSA9PlxyXG4gICAgICAgICAgICAhKFxyXG4gICAgICAgICAgICAgIHRoaXMub3ZlcnNlZXJJZHM/LmluY2x1ZGVzKHVzZXI/Lm1lbWJlcl9pZCkgfHxcclxuICAgICAgICAgICAgICB0aGlzLmFzc2lnbmVlSWRzPy5pbmNsdWRlcyh1c2VyPy5tZW1iZXJfaWQpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdPdmVyc2Vlcic6XHJcbiAgICAgICAgdGhpcy5ub25EaXNhYmxlZFVzZXJzID0gdGhpcy51c2Vyc0xpc3QuZmlsdGVyKFxyXG4gICAgICAgICAgKHVzZXI6IGFueSkgPT5cclxuICAgICAgICAgICAgIShcclxuICAgICAgICAgICAgICB0aGlzLmFzc2lnbm9ySWQ/LmluY2x1ZGVzKHVzZXI/Lm1lbWJlcl9pZCkgfHxcclxuICAgICAgICAgICAgICB0aGlzLnJldmlld2VySWRzPy5pbmNsdWRlcyh1c2VyPy5tZW1iZXJfaWQpIHx8XHJcbiAgICAgICAgICAgICAgdGhpcy5hc3NpZ25lZUlkcz8uaW5jbHVkZXModXNlcj8ubWVtYmVyX2lkKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLm5vbkRpc2FibGVkVXNlcnM7XHJcbiAgfVxyXG5cclxuICBzZXRBbGxVc2Vyc1NlbGVjdGVkKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZnV0dXJlVXNlcnNXaWxsU2VsZWN0ID0gZXZlbnQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
392
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ncm91cC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXByb2dyYW0vY3JlYXRlLXByb2dyYW0tdWkvdXNlci1ncm91cC1saXN0L3VzZXItZ3JvdXAtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFPbEQsTUFBTSxPQUFPLHNCQUFzQjtJQTJTakM7UUExU1UsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFN0IsZUFBVSxHQUFHLGdCQUFnQixDQUFDO1FBQzlCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQix5QkFBb0IsR0FBVyxZQUFZLENBQUM7UUFDM0MsK0JBQTBCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRCxTQUFJLEdBQVcsUUFBUSxDQUFDO1FBQ3hCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDeEIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVmLHlCQUFvQixHQUEyQyxZQUFZLENBQUM7UUFDNUUsY0FBUyxHQUFRLEVBQUUsQ0FBQztRQUNwQixlQUFVLEdBQVEsRUFBRSxDQUFDO1FBRVosZUFBVSxHQUFVLEVBQUUsQ0FBQztRQUN2QixnQkFBVyxHQUFVLEVBQUUsQ0FBQztRQUN4QixnQkFBVyxHQUFVLEVBQUUsQ0FBQztRQUN4QixnQkFBVyxHQUFVLEVBQUUsQ0FBQztRQUN4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QVU7OEJBU2hCLEtBQUssU0FBQyxlQUFlO3NDQVlyQixLQUFLLFNBQUMsc0JBQXNCO3VCQVM1QixLQUFLOzJCQTJCTCxLQUFLLFNBQUMsV0FBVzsrQkFTakIsS0FBSyxTQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2VhcmNoUGlwZSB9IGZyb20gJy4uL3BpcGVzL3NlYXJjaC5waXBlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndXNlci1ncm91cC1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1ncm91cC1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91c2VyLWdyb3VwLWxpc3QuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVzZXJHcm91cExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBPdXRwdXQoKSBzYXZlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgZ3JvdXBFbmFibGVkITogZmFsc2U7XHJcbiAgQElucHV0KCkgcGFuZWxUaXRsZSA9ICdTZWxlY3QgVXNlcihzKSc7XHJcbiAgQElucHV0KCkgc2luZ2xlU2VsZWN0ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRSZXZpZXdlciA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGZlYXR1cmVmbGFnID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcmV2aWV3ZXJXb3JrZmxvd1R5cGU6IHN0cmluZyA9ICdTRVFVRU5USUFMJztcclxuICBAT3V0cHV0KCkgcmV2aWV3ZXJXb3JrZmxvd1R5cGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgbW9kZTogc3RyaW5nID0gJ0NSRUFURSc7XHJcbiAgQElucHV0KCkgZmllbGRUeXBlID0gJyc7XHJcbiAgc2VhcmNoS2V5ID0gJyc7XHJcbiAgaXNQYWdpbmF0aW9uOiBhbnk7XHJcbiAgYXBwcm92YWxXb3JrZmxvd1R5cGU6ICdBTllPTkUnIHwgJ1JPVU5EUk9CSU4nIHwgJ1NFUVVFTlRJQUwnID0gJ1NFUVVFTlRJQUwnO1xyXG4gIHVzZXJzTGlzdDogYW55ID0gW107XHJcbiAgZ3JvdXBzTGlzdDogYW55ID0gW107XHJcbiAgQElucHV0KCkgZnJvbVJlc3BvbnNpYmlsaXR5OiBhbnk7XHJcbiAgQElucHV0KCkgYXNzaWdub3JJZDogYW55W10gPSBbXTtcclxuICBASW5wdXQoKSBhc3NpZ25lZUlkczogYW55W10gPSBbXTtcclxuICBASW5wdXQoKSByZXZpZXdlcklkczogYW55W10gPSBbXTtcclxuICBASW5wdXQoKSBvdmVyc2VlcklkczogYW55W10gPSBbXTtcclxuICBASW5wdXQoKSBGcm9tUHJvZ3JhbSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHVzZXJMaXN0SW5mbyE6IGFueTtcclxuICBASW5wdXQoKSBncm91cExpc3RJbmZvITogYW55O1xyXG4gIEBJbnB1dCgpIGZyb21BcHByb3ZhbFdvcmtmbG93OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2V0IGFwcHJvdmFsVHlwZSh2YWx1ZTogJ0FOWU9ORScgfCAnUk9VTkRST0JJTicgfCAnU0VRVUVOVElBTCcpIHtcclxuICAgIHRoaXMuYXBwcm92YWxXb3JrZmxvd1R5cGUgPSB2YWx1ZTtcclxuICB9XHJcbiAgQElucHV0KCkgc2hvd0Z1dHVyZVVzZXJzU3dpdGNoOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZnV0dXJlVXNlcnNXaWxsU2VsZWN0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNBbGxEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgZmV0Y2hVc2VyRGF0YSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQElucHV0KCkgZGlzYWJsZWRJZHM6IGFueSA9IFtdO1xyXG4gIEBJbnB1dCgpIG5vblJlbW92YWJsZVVzZXJJZHM6IGFueSA9IFtdO1xyXG4gIEBJbnB1dCgpIGFsbFVzZXJTZWxlY3RlZERpc2FibGVkID0gZmFsc2U7XHJcbiAgc2VsZWN0ZWRVc2VyczogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRVc2VySWRzOiBhbnkgPSBbXTtcclxuICBhbGxVc2Vyc0lkczogYW55ID0gW107XHJcbiAgYWxsVXNlclNlbGVjdGVkID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIG5vblJlbW92YWJsZUdyb3VwSWRzOiBhbnkgPSBbXTtcclxuICBzZWxlY3RlZEdyb3VwczogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRHcm91cElkczogYW55ID0gW107XHJcbiAgYWxsR3JvdXBzSWRzOiBhbnkgPSBbXTtcclxuICBhbGxHcm91cFNlbGVjdGVkID0gZmFsc2U7XHJcbiAgYWxsR3JvdXBTZWxlY3RlZERpc2FibGVkID0gZmFsc2U7XHJcbiAgc2VhcmNoUGlwZSA9IG5ldyBTZWFyY2hQaXBlKCk7XHJcblxyXG4gIHVzZXJDdXJyZW50UGFnZSA9IDE7XHJcbiAgZ3JvdXBDdXJyZW50UGFnZSA9IDE7XHJcbiAgQElucHV0KCkgbG9hZGluZyE6IGJvb2xlYW47XHJcbiAgbm9uRGlzYWJsZWRVc2VyczogYW55W10gPSBbXTtcclxuICBASW5wdXQoJ3VzZXJsaXN0Jykgc2V0IHNldFVzZXJMaXN0KHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZT8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMudXNlcnNMaXN0ID0gWy4uLnZhbHVlXTtcclxuICAgICAgdGhpcy5hbGxVc2Vyc0lkcyA9IHRoaXMudXNlcnNMaXN0Lm1hcCgoZWxlOiBhbnkpID0+IGVsZT8ubWVtYmVyX2lkKTtcclxuICAgICAgdGhpcy5hbGxVc2VyU2VsZWN0ZWRTdGF0dXMoKTtcclxuICAgICAgdGhpcy5zZXRVc2VyTGlzdEluaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgnc2VsZWN0ZWRVc2VycycpIHNldCBzZXRTZWxlY3RlZFVzZXIodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFVzZXJzID0gdGhpcy51bmlxdWVCeVByb3AoXHJcbiAgICAgIFsuLi50aGlzLnNlbGVjdGVkVXNlcnMsIC4uLnZhbHVlXSxcclxuICAgICAgJ21lbWJlcl9pZCdcclxuICAgICk7XHJcbiAgICB0aGlzLnNlbGVjdGVkVXNlcklkcyA9IHRoaXMuc2VsZWN0ZWRVc2Vycy5tYXAoKGVsZTogYW55KSA9PiBlbGU/Lm1lbWJlcl9pZCk7XHJcbiAgICB0aGlzLmFsbFVzZXJTZWxlY3RlZFN0YXR1cygpO1xyXG4gICAgdGhpcy5zZXRVc2VyTGlzdEluaXQoKTtcclxuICB9XHJcblxyXG4gIGRlZmF1bHRTZWxlY3RlZFVzZXJzOiBhbnkgPSBbXTtcclxuICBkZWZhdWx0U2VsZWN0ZWRVc2VySWRzOiBhbnkgPSBbXTtcclxuICBASW5wdXQoJ2RlZmF1bHRTZWxlY3RlZFVzZXJzJykgc2V0IHNldERlZmF1bHRTZWxlY3RlZFVzZXJzKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuZGVmYXVsdFNlbGVjdGVkVXNlcnMgPSB0aGlzLnVuaXF1ZUJ5UHJvcChcclxuICAgICAgWy4uLnRoaXMuZGVmYXVsdFNlbGVjdGVkVXNlcnMsIC4uLnZhbHVlXSxcclxuICAgICAgJ21lbWJlcl9pZCdcclxuICAgICk7XHJcbiAgICB0aGlzLmRlZmF1bHRTZWxlY3RlZFVzZXJJZHMgPSB0aGlzLmRlZmF1bHRTZWxlY3RlZFVzZXJzLm1hcChcclxuICAgICAgKGVsZTogYW55KSA9PiBlbGU/Lm1lbWJlcl9pZFxyXG4gICAgKTtcclxuICB9XHJcbiAgQElucHV0KCkgdXNlclR5cGU6IHN0cmluZyA9ICdhc3NpZ25lZXMnO1xyXG4gIHNob3dDb25maXJtYXRpb24gPSBmYWxzZTtcclxuXHJcbiAgc2V0VXNlckxpc3RJbml0KCkge1xyXG4gICAgaWYgKHRoaXMudXNlckN1cnJlbnRQYWdlID09PSAxKSB7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5zZWxlY3RlZFVzZXJzO1xyXG4gICAgICBjb25zdCBvdGhlclVzZXIgPSB0aGlzLnVzZXJzTGlzdC5maWx0ZXIoXHJcbiAgICAgICAgKGVsZTogYW55KSA9PiAhdGhpcy5zZWxlY3RlZFVzZXJJZHMuaW5jbHVkZXMoZWxlPy5tZW1iZXJfaWQpXHJcbiAgICAgICk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdmc2ZzZnNmJywgc2VsZWN0ZWQsIG90aGVyVXNlcik7XHJcbiAgICAgIHRoaXMudXNlcnNMaXN0ID0gdGhpcy51bmlxdWVCeVByb3AoXHJcbiAgICAgICAgWy4uLnNlbGVjdGVkPy5zb3J0KCksIC4uLm90aGVyVXNlcj8uc29ydCgpXSxcclxuICAgICAgICAnbWVtYmVyX2lkJ1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICBhbGxVc2VyU2VsZWN0ZWRTdGF0dXMoKSB7XHJcbiAgICB0aGlzLmFsbFVzZXJTZWxlY3RlZCA9XHJcbiAgICAgIHRoaXMuYWxsVXNlcnNJZHMuc29ydCgpLnRvU3RyaW5nKCkgPT09XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRVc2VySWRzLnNvcnQoKT8udG9TdHJpbmcoKTtcclxuICAgIHRoaXMuYWxsVXNlclNlbGVjdGVkRGlzYWJsZWQgPVxyXG4gICAgICB0aGlzLmFsbFVzZXJzSWRzLnNvcnQoKS50b1N0cmluZygpID09PVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRVc2VySWRzLnNvcnQoKT8udG9TdHJpbmcoKSAmJlxyXG4gICAgICB0aGlzLmFsbFVzZXJzSWRzLnNvcnQoKS50b1N0cmluZygpID09PVxyXG4gICAgICAgIHRoaXMubm9uUmVtb3ZhYmxlVXNlcklkcy5zb3J0KCk/LnRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoJ2dyb3VwTGlzdCcpIHNldCBzZXRHcm91cExpc3QodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHZhbHVlICYmIHZhbHVlPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5ncm91cHNMaXN0ID0gWy4uLnZhbHVlXTtcclxuICAgICAgdGhpcy5hbGxHcm91cHNJZHMgPSB0aGlzLmdyb3Vwc0xpc3QubWFwKChlbGU6IGFueSkgPT4gZWxlPy5ncm91cF9pZCk7XHJcbiAgICAgIHRoaXMuYWxsR3JvdXBTZWxlY3RlZFN0YXR1cygpO1xyXG4gICAgICB0aGlzLnNldEdyb3VwTGlzdEluaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgnc2VsZWN0ZWRHcm91cHMnKSBzZXQgc2V0U2VsZWN0ZWRHcm91cCh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBzID0gdGhpcy51bmlxdWVCeVByb3AoXHJcbiAgICAgIFsuLi50aGlzLnNlbGVjdGVkR3JvdXBzLCAuLi52YWx1ZV0sXHJcbiAgICAgICdncm91cF9pZCdcclxuICAgICk7XHJcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBJZHMgPSB0aGlzLnNlbGVjdGVkR3JvdXBzLm1hcChcclxuICAgICAgKGVsZTogYW55KSA9PiBlbGU/Lmdyb3VwX2lkXHJcbiAgICApO1xyXG4gICAgdGhpcy5hbGxHcm91cFNlbGVjdGVkU3RhdHVzKCk7XHJcbiAgICB0aGlzLnNldEdyb3VwTGlzdEluaXQoKTtcclxuICB9XHJcblxyXG4gIHNldEdyb3VwTGlzdEluaXQoKSB7XHJcbiAgICBpZiAodGhpcy51c2VyQ3VycmVudFBhZ2UgPT09IDEpIHtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkR3JvdXBzO1xyXG4gICAgICBjb25zdCBvdGhlckdyb3VwID0gdGhpcy5ncm91cHNMaXN0LmZpbHRlcihcclxuICAgICAgICAoZWxlOiBhbnkpID0+ICF0aGlzLnNlbGVjdGVkR3JvdXBJZHMuaW5jbHVkZXMoZWxlPy5ncm91cF9pZClcclxuICAgICAgKTtcclxuICAgICAgY29uc29sZS5sb2coJ2ZzZnNmc2YnLCBzZWxlY3RlZCwgb3RoZXJHcm91cCk7XHJcbiAgICAgIHRoaXMuZ3JvdXBzTGlzdCA9IHRoaXMudW5pcXVlQnlQcm9wKFxyXG4gICAgICAgIFsuLi5zZWxlY3RlZD8uc29ydCgpLCAuLi5vdGhlckdyb3VwPy5zb3J0KCldLFxyXG4gICAgICAgICdncm91cF9pZCdcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgYWxsR3JvdXBTZWxlY3RlZFN0YXR1cygpIHtcclxuICAgIHRoaXMuYWxsR3JvdXBTZWxlY3RlZCA9XHJcbiAgICAgIHRoaXMuYWxsR3JvdXBzSWRzPy5zb3J0KCk/LnRvU3RyaW5nKCkgPT09XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cElkcz8uc29ydCgpPy50b1N0cmluZygpO1xyXG4gICAgdGhpcy5hbGxHcm91cFNlbGVjdGVkRGlzYWJsZWQgPVxyXG4gICAgICB0aGlzLmFsbEdyb3Vwc0lkcy5zb3J0KCkudG9TdHJpbmcoKSA9PT1cclxuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXBJZHMuc29ydCgpPy50b1N0cmluZygpICYmXHJcbiAgICAgIHRoaXMuYWxsR3JvdXBzSWRzLnNvcnQoKS50b1N0cmluZygpID09PVxyXG4gICAgICAgIHRoaXMubm9uUmVtb3ZhYmxlR3JvdXBJZHMuc29ydCgpPy50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgdXNlclBhZ2VDaGFuZ2UocGFnZTogYW55KSB7XHJcbiAgICB0aGlzLnVzZXJDdXJyZW50UGFnZSA9IHBhZ2U7XHJcbiAgICB0aGlzLmZldGNoVXNlckRhdGEuZW1pdCh7IHBhZ2UsIHNlYXJjaEtleTogdGhpcy5zZWFyY2hLZXkgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiAjIyMjIERlc2NyaXB0aW9uXHJcbiAgICogU2VsZWN0cyBpdGVtIG9yIGRlc2VsZWN0IGEgaXRtZVxyXG4gICAqIEBwYXJhbSBldnRcclxuICAgKiBAcGFyYW0gcGF5bG9hZFxyXG4gICAqL1xyXG4gIHNlbGVjdEl0ZW0oZXZ0OiBhbnksIHBheWxvYWQ6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coJ2Zyb20gc2VsJywgZXZ0KTtcclxuICAgIGV2dD8udGFyZ2V0Py5jaGVja2VkID09PSB0cnVlXHJcbiAgICAgID8gdGhpcy5tYW5pcHVsYXRlU2VsZWN0ZWRVc2VyKCdBREQnLCBwYXlsb2FkKVxyXG4gICAgICA6IHRoaXMubWFuaXB1bGF0ZVNlbGVjdGVkVXNlcignREVMRVRFJywgcGF5bG9hZCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RJdGVtUmFkaW8oZXZ0OiBhbnksIHBheWxvYWQ6IGFueSkge1xyXG4gICAgaWYgKGV2dD8udGFyZ2V0Py5jaGVja2VkKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRVc2VycyA9IFtdO1xyXG4gICAgICB0aGlzLm1hbmlwdWxhdGVTZWxlY3RlZFVzZXIoJ0FERCcsIHBheWxvYWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogIyMjIyBEZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogTWFuaXB1bGF0ZXMgc2VsZWN0ZWQgaXRlbXMgaW4gcm9sZSBsaXN0XHJcbiAgICogQHBhcmFtIGFjdGlvbiA6J0FERCcgfCAnREVMRVRFJ1xyXG4gICAqIEBwYXJhbSBwYXlsb2FkXHJcbiAgICovXHJcbiAgbWFuaXB1bGF0ZVNlbGVjdGVkVXNlcihhY3Rpb246ICdBREQnIHwgJ0RFTEVURScsIHBheWxvYWQ6IGFueSkge1xyXG4gICAgaWYgKGFjdGlvbiA9PT0gJ0FERCcpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFVzZXJzID0gdGhpcy51bmlxdWVCeVByb3AoXHJcbiAgICAgICAgWy4uLnRoaXMuc2VsZWN0ZWRVc2VycywgLi4uW3BheWxvYWRdXSxcclxuICAgICAgICAnbWVtYmVyX2lkJ1xyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcklkcyA9IHRoaXMuc2VsZWN0ZWRVc2Vycy5tYXAoXHJcbiAgICAgICAgKGVsZTogYW55KSA9PiBlbGU/Lm1lbWJlcl9pZFxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIGlmIChhY3Rpb24gPT09ICdERUxFVEUnKSB7XHJcbiAgICAgIGxldCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRVc2Vycy5maW5kSW5kZXgoXHJcbiAgICAgICAgKGVsZTogYW55KSA9PiBlbGU/Lm1lbWJlcl9pZCA9PT0gcGF5bG9hZD8ubWVtYmVyX2lkXHJcbiAgICAgICk7XHJcbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFVzZXJzID0gdGhpcy5zZWxlY3RlZFVzZXJzLmZpbHRlcihcclxuICAgICAgICAgIChlbGU6IGFueSkgPT4gZWxlPy5tZW1iZXJfaWQgIT09IHBheWxvYWQ/Lm1lbWJlcl9pZFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFVzZXJJZHMgPSB0aGlzLnNlbGVjdGVkVXNlcklkcy5maWx0ZXIoXHJcbiAgICAgICAgICAoZWxlOiBhbnkpID0+IGVsZSAhPT0gcGF5bG9hZD8ubWVtYmVyX2lkXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5hbGxVc2VyU2VsZWN0ZWRTdGF0dXMoKTtcclxuICB9XHJcbiAgc2VsZWN0QWxsVXNlcihldnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuZnJvbVJlc3BvbnNpYmlsaXR5KSB7XHJcbiAgICAgIHRoaXMubm9uRGlzYWJsZWRVc2VycyA9IHRoaXMuZGlzYWJsZVVzZXJzKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoZXZ0Py50YXJnZXQ/LmNoZWNrZWQgPT09IHRydWUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFVzZXJzID0gdGhpcy5mcm9tUmVzcG9uc2liaWxpdHlcclxuICAgICAgICA/IHRoaXMubm9uRGlzYWJsZWRVc2Vyc1xyXG4gICAgICAgIDogdGhpcy51c2Vyc0xpc3Q7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRVc2VySWRzID0gdGhpcy5mcm9tUmVzcG9uc2liaWxpdHlcclxuICAgICAgICA/IHRoaXMubm9uRGlzYWJsZWRVc2Vycy5tYXAoKGVsZTogYW55KSA9PiBlbGU/Lm1lbWJlcl9pZClcclxuICAgICAgICA6IHRoaXMudXNlcnNMaXN0Lm1hcCgoZWxlOiBhbnkpID0+IGVsZT8ubWVtYmVyX2lkKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRVc2VycyA9IHRoaXMudXNlcnNMaXN0LmZpbHRlcigoZWxlOiBhbnkpID0+XHJcbiAgICAgICAgdGhpcy5ub25SZW1vdmFibGVVc2VySWRzLmluY2x1ZGVzKGVsZT8ubWVtYmVyX2lkKVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcklkcyA9IHRoaXMuc2VsZWN0ZWRVc2Vycy5tYXAoXHJcbiAgICAgICAgKGVsZTogYW55KSA9PiBlbGU/Lm1lbWJlcl9pZFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hbGxVc2VyU2VsZWN0ZWRTdGF0dXMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqICMjIyMgRGVzY3JpcHRpb25cclxuICAgKiBTZWxlY3RzIGl0ZW0gb3IgZGVzZWxlY3QgYSBpdG1lXHJcbiAgICogQHBhcmFtIGV2dFxyXG4gICAqIEBwYXJhbSBwYXlsb2FkXHJcbiAgICovXHJcbiAgc2VsZWN0R3JvdXAoZXZ0OiBhbnksIHBheWxvYWQ6IGFueSkge1xyXG4gICAgZXZ0Py50YXJnZXQ/LmNoZWNrZWQgPT09IHRydWVcclxuICAgICAgPyB0aGlzLm1hbmlwdWxhdGVTZWxlY3RlZEdyb3VwKCdBREQnLCBwYXlsb2FkKVxyXG4gICAgICA6IHRoaXMubWFuaXB1bGF0ZVNlbGVjdGVkR3JvdXAoJ0RFTEVURScsIHBheWxvYWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogIyMjIyBEZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogTWFuaXB1bGF0ZXMgc2VsZWN0ZWQgaXRlbXMgaW4gcm9sZSBsaXN0XHJcbiAgICogQHBhcmFtIGFjdGlvbiA6J0FERCcgfCAnREVMRVRFJ1xyXG4gICAqIEBwYXJhbSBwYXlsb2FkXHJcbiAgICovXHJcbiAgbWFuaXB1bGF0ZVNlbGVjdGVkR3JvdXAoYWN0aW9uOiAnQUREJyB8ICdERUxFVEUnLCBwYXlsb2FkOiBhbnkpIHtcclxuICAgIGlmIChhY3Rpb24gPT09ICdBREQnKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cHMgPSB0aGlzLnVuaXF1ZUJ5UHJvcChcclxuICAgICAgICBbLi4udGhpcy5zZWxlY3RlZEdyb3VwcywgLi4uW3BheWxvYWRdXSxcclxuICAgICAgICAnZ3JvdXBfaWQnXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cElkcyA9IHRoaXMuc2VsZWN0ZWRHcm91cHMubWFwKFxyXG4gICAgICAgIChlbGU6IGFueSkgPT4gZWxlPy5ncm91cF9pZFxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIGlmIChhY3Rpb24gPT09ICdERUxFVEUnKSB7XHJcbiAgICAgIGxldCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRHcm91cHMuZmluZEluZGV4KFxyXG4gICAgICAgIChlbGU6IGFueSkgPT4gZWxlPy5ncm91cF9pZCA9PT0gcGF5bG9hZD8uZ3JvdXBfaWRcclxuICAgICAgKTtcclxuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXBzID0gdGhpcy5zZWxlY3RlZEdyb3Vwcy5maWx0ZXIoXHJcbiAgICAgICAgICAoZWxlOiBhbnkpID0+IGVsZT8uZ3JvdXBfaWQgIT09IHBheWxvYWQ/Lmdyb3VwX2lkXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXBJZHMgPSB0aGlzLnNlbGVjdGVkR3JvdXBJZHMuZmlsdGVyKFxyXG4gICAgICAgICAgKGVsZTogYW55KSA9PiBlbGUgIT09IHBheWxvYWQ/Lmdyb3VwX2lkXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5hbGxHcm91cFNlbGVjdGVkU3RhdHVzKCk7XHJcbiAgfVxyXG4gIHNlbGVjdEFsbEdyb3VwKGV2dDogYW55KSB7XHJcbiAgICBjb25zdCBncm91cERhdGEgPSB0aGlzLnNlYXJjaFBpcGUudHJhbnNmb3JtKFxyXG4gICAgICB0aGlzLmdyb3Vwc0xpc3QsXHJcbiAgICAgIHRoaXMuc2VhcmNoS2V5LFxyXG4gICAgICAnZ3JvdXBfbmFtZSdcclxuICAgICk7XHJcbiAgICBpZiAoZXZ0Py50YXJnZXQ/LmNoZWNrZWQgPT09IHRydWUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwcyA9IGdyb3VwRGF0YTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwSWRzID0gZ3JvdXBEYXRhLm1hcCgoZWxlOiBhbnkpID0+IGVsZT8uZ3JvdXBfaWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwcyA9IHRoaXMuZ3JvdXBzTGlzdC5maWx0ZXIoKGVsZTogYW55KSA9PlxyXG4gICAgICAgIHRoaXMubm9uUmVtb3ZhYmxlR3JvdXBJZHMuaW5jbHVkZXMoZWxlPy5ncm91cF9pZClcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwSWRzID0gdGhpcy5zZWxlY3RlZEdyb3Vwcy5tYXAoXHJcbiAgICAgICAgKGVsZTogYW55KSA9PiBlbGU/Lmdyb3VwX2lkXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmFsbEdyb3VwU2VsZWN0ZWRTdGF0dXMoKTtcclxuICB9XHJcblxyXG4gIGFuaW1hdGlvbiA9IHRydWU7XHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGxldCBkaXNhYmxlZElkcyA9IFsuLi50aGlzLmRpc2FibGVkSWRzLCAuLi50aGlzLm5vblJlbW92YWJsZVVzZXJJZHNdO1xyXG4gICAgdGhpcy5kaXNhYmxlZElkcyA9IFsuLi5uZXcgU2V0KGRpc2FibGVkSWRzKV07XHJcbiAgICB0aGlzLnBhZ2luYXRpb25WaXNpYmxlKCk7XHJcbiAgICB0aGlzLmFuaW1hdGlvbiA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcclxuICAgIH0sIDMwMCk7XHJcbiAgfVxyXG4gIGN1cnJlbnRUYWIgPSAnVVNFUic7XHJcbiAgc3dpdGNoVGFiKHRhYjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRUYWIgPSB0YWI7XHJcbiAgICB0aGlzLnNlYXJjaEtleSA9ICcnO1xyXG4gIH1cclxuXHJcbiAgc2F2ZUxpc3QoKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuZGVmYXVsdFNlbGVjdGVkVXNlcklkcyAmJlxyXG4gICAgICB0aGlzLmRlZmF1bHRTZWxlY3RlZFVzZXJJZHM/Lmxlbmd0aCAmJlxyXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcklkcyAmJlxyXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcklkcz8ubGVuZ3RoXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5kZWZhdWx0U2VsZWN0ZWRVc2VySWRzPy5mb3JFYWNoKChpZDogbnVtYmVyKTogYW55ID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRVc2VySWRzPy5pbmNsdWRlcyhpZCkpIHtcclxuICAgICAgICAgIHRoaXMuc2hvd0NvbmZpcm1hdGlvbiA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd0NvbmZpcm1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLnNob3dDb25maXJtYXRpb24pXHJcbiAgICAgIHRoaXMuc2F2ZS5lbWl0KHtcclxuICAgICAgICB1c2VyczogdGhpcy5zZWxlY3RlZFVzZXJzLFxyXG4gICAgICAgIGdyb3VwczogdGhpcy5zZWxlY3RlZEdyb3VwcyxcclxuICAgICAgICBmdXR1cmVVc2Vyc1dpbGxTZWxlY3Q6IHRoaXMuZnV0dXJlVXNlcnNXaWxsU2VsZWN0LFxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm1BY3Rpb24oZXZ0OiAnWUVTJyB8ICdOTycpIHtcclxuICAgIGlmIChldnQgPT09ICdZRVMnKSB7XHJcbiAgICAgIHRoaXMuc2F2ZS5lbWl0KHtcclxuICAgICAgICB1c2VyczogdGhpcy5zZWxlY3RlZFVzZXJzLFxyXG4gICAgICAgIGdyb3VwczogdGhpcy5zZWxlY3RlZEdyb3VwcyxcclxuICAgICAgICBmdXR1cmVVc2Vyc1dpbGxTZWxlY3Q6IHRoaXMuZnV0dXJlVXNlcnNXaWxsU2VsZWN0LCAgICAgICAgXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChldnQgPT09ICdOTycpIHtcclxuICAgICAgdGhpcy5zaG93Q29uZmlybWF0aW9uID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9zZUxpc3QoKSB7XHJcbiAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICAvL1xyXG5cclxuICAvKipcclxuICAgKiAjIyMjIERlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBSZXR1cm5zIHRoZSB1bmlxdWUgYXJyYXkgb2Ygb2JqZWN0IGJhc2VkIG9uIHVuaXF1ZSBrZXlcclxuICAgKiBAcGFyYW0gYXJyYXlcclxuICAgKiBAcGFyYW0ga2V5XHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICB1bmlxdWVCeVByb3AoYXJyYXk6IGFueSwga2V5OiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBBcnJheS5mcm9tKFxyXG4gICAgICBhcnJheVxyXG4gICAgICAgIC5yZWR1Y2UoXHJcbiAgICAgICAgICAoYWNjOiBhbnksIGl0ZW06IGFueSkgPT4gKFxyXG4gICAgICAgICAgICBpdGVtICYmIGl0ZW1ba2V5XSAmJiBhY2Muc2V0KGl0ZW1ba2V5XSwgaXRlbSksIGFjY1xyXG4gICAgICAgICAgKSxcclxuICAgICAgICAgIG5ldyBNYXAoKVxyXG4gICAgICAgIClcclxuICAgICAgICAudmFsdWVzKClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwYWdpbmF0aW9uVmlzaWJsZSgpIHtcclxuICAgIGlmICh0aGlzLnVzZXJMaXN0SW5mbz8udG90YWxfcGFnZXMgPiAxKSB7XHJcbiAgICAgIHRoaXMuaXNQYWdpbmF0aW9uID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaXNQYWdpbmF0aW9uID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHdvcmtmbG93VHlwZUNoYW5nZWQoZXZlbnQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5yZXZpZXdlcldvcmtmbG93VHlwZSA9IGV2ZW50O1xyXG4gICAgdGhpcy5yZXZpZXdlcldvcmtmbG93VHlwZUNoYW5nZS5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIGRpc2FibGVVc2VycygpIHtcclxuICAgIHN3aXRjaCAodGhpcy5mcm9tUmVzcG9uc2liaWxpdHkpIHtcclxuICAgICAgY2FzZSAnQXNzaWduZWUnOlxyXG4gICAgICAgIHRoaXMubm9uRGlzYWJsZWRVc2VycyA9IHRoaXMudXNlcnNMaXN0LmZpbHRlcihcclxuICAgICAgICAgICh1c2VyOiBhbnkpID0+XHJcbiAgICAgICAgICAgICEoXHJcbiAgICAgICAgICAgICAgdGhpcy5yZXZpZXdlcklkcz8uaW5jbHVkZXModXNlcj8ubWVtYmVyX2lkKSB8fFxyXG4gICAgICAgICAgICAgIHRoaXMub3ZlcnNlZXJJZHM/LmluY2x1ZGVzKHVzZXI/Lm1lbWJlcl9pZClcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ1Jldmlld2VyJzpcclxuICAgICAgICB0aGlzLm5vbkRpc2FibGVkVXNlcnMgPSB0aGlzLnVzZXJzTGlzdC5maWx0ZXIoXHJcbiAgICAgICAgICAodXNlcjogYW55KSA9PlxyXG4gICAgICAgICAgICAhKFxyXG4gICAgICAgICAgICAgIHRoaXMub3ZlcnNlZXJJZHM/LmluY2x1ZGVzKHVzZXI/Lm1lbWJlcl9pZCkgfHxcclxuICAgICAgICAgICAgICB0aGlzLmFzc2lnbmVlSWRzPy5pbmNsdWRlcyh1c2VyPy5tZW1iZXJfaWQpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdPdmVyc2Vlcic6XHJcbiAgICAgICAgdGhpcy5ub25EaXNhYmxlZFVzZXJzID0gdGhpcy51c2Vyc0xpc3QuZmlsdGVyKFxyXG4gICAgICAgICAgKHVzZXI6IGFueSkgPT5cclxuICAgICAgICAgICAgIShcclxuICAgICAgICAgICAgICB0aGlzLmFzc2lnbm9ySWQ/LmluY2x1ZGVzKHVzZXI/Lm1lbWJlcl9pZCkgfHxcclxuICAgICAgICAgICAgICB0aGlzLnJldmlld2VySWRzPy5pbmNsdWRlcyh1c2VyPy5tZW1iZXJfaWQpIHx8XHJcbiAgICAgICAgICAgICAgdGhpcy5hc3NpZ25lZUlkcz8uaW5jbHVkZXModXNlcj8ubWVtYmVyX2lkKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLm5vbkRpc2FibGVkVXNlcnM7XHJcbiAgfVxyXG5cclxuICBzZXRBbGxVc2Vyc1NlbGVjdGVkKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZnV0dXJlVXNlcnNXaWxsU2VsZWN0ID0gZXZlbnQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -53,7 +53,7 @@ function View_UserGroupListComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵe
53
53
  } return ad; }, null, null)), i1.ɵdid(4, 81920, null, 0, i4.ToolTipDirective, [i1.ElementRef, i1.Renderer2], { tooltipTitle: [0, "tooltipTitle"], placement: [1, "placement"], type: [2, "type"], tooltipMandatory: [3, "tooltipMandatory"] }, null), (_l()(), i1.ɵted(-1, null, ["\uE91F"])), (_l()(), i1.ɵeld(6, 0, null, null, 1, "app-cs-switch", [], null, [[null, "ngValueChange"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("ngValueChange" === en)) {
54
54
  var pd_0 = (_co.setAllUsersSelected($event) !== false);
55
55
  ad = (pd_0 && ad);
56
- } return ad; }, i5.View_CsSwitchComponent_0, i5.RenderType_CsSwitchComponent)), i1.ɵdid(7, 114688, null, 0, i6.CsSwitchComponent, [], { ngValue: [0, "ngValue"] }, { ngValueChange: "ngValueChange" })], function (_ck, _v) { var _co = _v.component; var currVal_0 = "question mark text tooltip here..."; var currVal_1 = "bottom-right"; var currVal_2 = "white"; var currVal_3 = true; _ck(_v, 4, 0, currVal_0, currVal_1, currVal_2, currVal_3); var currVal_4 = _co.futureUsersWillSelect; _ck(_v, 7, 0, currVal_4); }, null); }
56
+ } return ad; }, i5.View_CsSwitchComponent_0, i5.RenderType_CsSwitchComponent)), i1.ɵdid(7, 114688, null, 0, i6.CsSwitchComponent, [], { ngValue: [0, "ngValue"] }, { ngValueChange: "ngValueChange" })], function (_ck, _v) { var _co = _v.component; var currVal_0 = "If selected, this policy will be visible to all users that are currently active in your VComply account and users that might be added in the future."; var currVal_1 = "bottom-right"; var currVal_2 = "white"; var currVal_3 = true; _ck(_v, 4, 0, currVal_0, currVal_1, currVal_2, currVal_3); var currVal_4 = _co.futureUsersWillSelect; _ck(_v, 7, 0, currVal_4); }, null); }
57
57
  function View_UserGroupListComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 13, "div", [["class", "user-group-list-tab vx-d-flex vx-align-center vx-justify-between vx-mb-2"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 10, "div", [["class", "vx-d-flex vx-align-center"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 4, "button", [["class", "tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4"]], [[2, "active", null]], [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
58
58
  var pd_0 = (_co.switchTab("USER") !== false);
59
59
  ad = (pd_0 && ad);
@@ -305,4 +305,4 @@ export function View_UserGroupListComponent_0(_l) { return i1.ɵvid(0, [i1.ɵpid
305
305
  export function View_UserGroupListComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "user-group-list", [], null, null, null, View_UserGroupListComponent_0, RenderType_UserGroupListComponent)), i1.ɵdid(1, 114688, null, 0, i26.UserGroupListComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }
306
306
  var UserGroupListComponentNgFactory = i1.ɵccf("user-group-list", i26.UserGroupListComponent, View_UserGroupListComponent_Host_0, { groupEnabled: "groupEnabled", panelTitle: "panelTitle", singleSelect: "singleSelect", selectedReviewer: "selectedReviewer", featureflag: "featureflag", reviewerWorkflowType: "reviewerWorkflowType", mode: "mode", fieldType: "fieldType", fromResponsibility: "fromResponsibility", assignorId: "assignorId", assigneeIds: "assigneeIds", reviewerIds: "reviewerIds", overseerIds: "overseerIds", FromProgram: "FromProgram", userListInfo: "userListInfo", groupListInfo: "groupListInfo", fromApprovalWorkflow: "fromApprovalWorkflow", approvalType: "approvalType", showFutureUsersSwitch: "showFutureUsersSwitch", futureUsersWillSelect: "futureUsersWillSelect", isAllDisabled: "isAllDisabled", disabledIds: "disabledIds", nonRemovableUserIds: "nonRemovableUserIds", allUserSelectedDisabled: "allUserSelectedDisabled", nonRemovableGroupIds: "nonRemovableGroupIds", loading: "loading", setUserList: "userlist", setSelectedUser: "selectedUsers", setDefaultSelectedUsers: "defaultSelectedUsers", userType: "userType", setGroupList: "groupList", setSelectedGroup: "selectedGroups" }, { save: "save", cancel: "cancel", reviewerWorkflowTypeChange: "reviewerWorkflowTypeChange", fetchUserData: "fetchUserData" }, []);
307
307
  export { UserGroupListComponentNgFactory as UserGroupListComponentNgFactory };
308
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ncm91cC1saXN0LmNvbXBvbmVudC5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1wcm9ncmFtL2NyZWF0ZS1wcm9ncmFtLXVpL3VzZXItZ3JvdXAtbGlzdC91c2VyLWdyb3VwLWxpc3QuY29tcG9uZW50Lm5nZmFjdG9yeS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXByb2dyYW0vY3JlYXRlLXByb2dyYW0tdWkvdXNlci1ncm91cC1saXN0L3VzZXItZ3JvdXAtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUVDTVUsaVFBQXVEO2lFQU9yRCw4SEFPTSxLQU5KLHdJQUF3RyxLQUEzQyxrRUFBcUMsTUFDbEc7Ozs7Ozs7Ozs7Ozs7Ozt1UEFBcU0sSUFBWixtQ0FBUSxNQUNqTSxrSkFHZ0IsWUFEZDs7d0JBQTZDO01BRi9DLGlNQUdnQixtREFKMkMsb0RBQW1ELEVBQUMsOEJBQXdCLEVBQVcsdUJBQVksRUFBQyxvQkFBeUIsRUFBeEwsWUFBcU0sRUFBMUksU0FBbUQsRUFBQyxTQUF3QixFQUFXLFNBQVksRUFBQyxTQUF5QixHQUV0TCxtQkFBaUMsd0JBRG5DLFlBR2dCLEVBRmQsU0FBaUM7aUVBVnZDLGtLQWNNLEtBYkosbUhBR00sS0FGSixvUkFBZ2MsWUFBeGI7O3dCQUEyQjtNQUFuQyx3QkFBZ2MsS0FBelAsbUNBQU0sTUFBQSxxS0FBME8sS0FBaEosaURBQXlJLElBQ2hiLG9SQUFrZixZQUExZTs7d0JBQTRCO01BQXBDLHdCQUFrZixLQUF6UyxpQ0FBeUMsTUFBQSxxS0FBdVAsS0FBN0osbURBQXNKLElBR3BlLHVMQU9NLGlEQVA2QyxtQkFBNkIsd0JBQWhGLGFBT00sRUFQNkMsU0FBNkIsbURBSmtGLDBDQUFzQyxHQUF0TSxZQUFnYyxFQUFoUyxTQUFzQyxHQUFpRywwWkFBeUksR0FDL1EsMkNBQXVDLEdBQXhNLFlBQWtmLEVBQWpWLFNBQXVDLEdBQUMscUZBQXlDLEdBQTBGLGliQUFzSjtpRUFlcGU7Ozs7Ozs7Ozs7O3dCQUEwSTtNQUE5Rzs7d0JBQXVCO01BQW5ELHlpQkFBMEksaURBQTlHLG1CQUF1QixZQUFuRCxZQUEwSSxFQUE5RyxTQUF1QixtREFBYSwrR0FBdUUsR0FBdkksNlVBQTBJLEVBQTFFLFNBQXVFLEVBQXZJLDJFQUEwSTtpRUFDMUk7Ozs7Ozs7Ozs7O3dCQUE4STtNQUFuSDs7d0JBQXVCO01BQWxELHlpQkFBOEksaURBQW5ILG1CQUF1QixZQUFsRCxZQUE4SSxFQUFuSCxTQUF1QixtREFBYSxvSEFBNEUsR0FBM0ksNlVBQThJLEVBQS9FLFNBQTRFLEVBQTNJLDJFQUE4STtpRUFLNUksaUpBQTJPLFlBQXhEOzt3QkFBc0M7TUFBek4sdU9BQTJPLG1EQUFqSSxtQkFBK0Isa0JBQUUsd0RBQXVDLDRCQUFsTCxZQUEyTyxFQUFqSSxTQUErQixFQUFFLFNBQXVDO2tFQUl0SywwSUFFZSxZQUZnSzs7d0JBQWdDO01BQS9NLG1UQUVlLElBRFgsMElBQTBILEtBQXhELGdDQUFrRCxtREFEeEIsa0ZBQThFLGlCQUFuSSwyQ0FBb0QseUJBQS9GLFlBRWUsRUFGaUYsU0FBOEUsRUFBbkksU0FBb0QsMkJBQ3pCLHNJQUFrRDtrRUFNcEg7Ozs7Ozs7Ozs7Ozs7Ozt1UEFFTyxHQUZtQyxZQUFxSyxJQUMzTSwwSUFBaVMsWUFBblI7O3dCQUFrQztNQUFoRCwwU0FBaVMsSUFBbEUsK0ZBQW1ELEtBQTNCLGdDQUFxQixtREFEdE8sa1lBQXFLLGdCQUFDLDZCQUF1QixFQUFXLHVCQUFZLEVBQUMsb0JBQXlCLEVBQXhSLFlBRU8sRUFGbUMsU0FBcUssRUFBQyxTQUF1QixFQUFXLFNBQVksRUFBQyxTQUF5QixHQUNuTyw0TUFBNkYsaUJBQUMscUxBQStFLHlCQUE5TixZQUFpUyxFQUFoUCxTQUE2RixFQUFDLFNBQStFLDJCQUF5QixpSUFBcUI7a0VBRTVRLCtGQU9DLEtBTkQ7Ozs7Ozs7Ozs7Ozs7O3dCQUthO01BTDRCOzt3QkFBNkM7TUFBdEYsdVpBS2EsTUFGdUIsK0JBRXRDLG1EQUhFLGtFQUFpQyx5Q0FBQyw2QkFBdUIsRUFDL0Msb0JBQXlCLEVBSG5DLFlBS2EsRUFIYixTQUFpQyxFQUFDLFNBQXVCLEVBQy9DLFNBQXlCLEdBSHBCLGdDQUF5QixFQUNqQix1SUFBc0Qsd0NBRDdFLFlBS2EsRUFMRSxTQUF5QixFQUNqQixTQUFzRCwyQkFFekMsaUlBRXRDO2tFQVZKLDZFQVllLEtBWGIsdUxBRU8sSUFDSCx1TEFPQyxzRkFWZSxvQkFBcUIsZUFBekMsWUFFTyxFQUZhLFNBQXFCLEdBR2pCLG1CQUFvQixlQUF4QyxZQU9DLEVBUG1CLFNBQW9CO2lFQVp4RCw2RUF1QmUsS0F0QlgsaUhBSU0sS0FIRix1TEFFZSxJQUVuQix1R0FnQk0sS0FmRiwrR0FjUyxLQWJQLHFOQVllLGlEQWxCSCxvQkFBcUIsZUFBbkMsWUFFZSxFQUZELFNBQXFCLEdBTW5CLGtCQUEyQixzQkFBekMsWUFZZSxFQVpELFNBQTJCO2tFQWlCL0MscVFBQTZOLGlEQUEvTCxvR0FBb0csRUFBQyxzSEFBMkUsR0FBOU0sWUFBNk4sRUFBL0wsU0FBb0csRUFBQyxTQUEyRTtrRUFBOU0sdUxBQTZOLHNGQUFoTixvQkFBZ0IsVUFBN0IsWUFBNk4sRUFBaE4sU0FBZ0I7aUVBNUJ2Qyw2RUErQmlCLEtBOUJmLHNMQUEyTyxJQUMzTyxzSUE0Qk0sS0EzQkYsaU5BdUJlLElBQ2YsaUZBRWMsa0RBNUJGLGtNQUF5Riw4QkFBekcsWUFBMk8sRUFBM04sU0FBeUYsR0FFdkYsZ0hBQXFDLEdBQW5ELFlBdUJlLEVBdkJELG9CQUFxQyxtREFEdEIsbUJBQXNDLGVBQXZFLFlBNEJNLEVBNUIyQixTQUFzQztpRUFIM0UsNkVBaUNlLEtBaENiLHNMQStCaUIsR0EvQkgsMkxBQTZDLGNBQTNELFlBK0JpQixFQS9CSCxTQUE2QztrRUE2QzdDLCtGQU9LLEtBTkQsMElBS2UsWUFMRDs7d0JBQW9DO01BQWxELDBTQUtlLElBSlg7Ozs7Ozs7Ozs7Ozs7OztvT0FHc0ssSUFEcEssbUdBQW9ELEtBQTVCLGlDQUFzQixNQUM1QywySkFBNEosS0FBNUUscUNBQXFFLG1EQUoxRywwSUFBNEQsZ0NBQUMsa0lBQXVELGdDQUF2SyxZQUtlLEVBTG9DLFNBQTRELEVBQUMsU0FBdUQsR0FDekcsMkRBQWdDLGdDQUFDLDZCQUF1QixFQUNsSCxvQkFBeUIsRUFEekIsWUFHc0ssRUFINUcsU0FBZ0MsRUFBQyxTQUF1QixFQUNsSCxTQUF5QiwyQkFDQyxrSEFBc0IsR0FDb0MsdVBBQXFFO2tFQWI3Syw4RUFrQmUsS0FqQlgsaUhBSU0sS0FIRiwwSUFFZSxZQUZ5RTs7d0JBQWlDO01BQXpILG9UQUVlLElBRFgsMElBQTJILEtBQXpELGdDQUFtRCxNQUc3SCx1R0FXTSxLQVZGLCtHQVNLLEtBUkQsc05BT0ssaURBYnlDLG1CQUFxQywyQkFBbEUsbUJBQTRCLG1CQUFqRCxZQUVlLEVBRm1DLFNBQXFDLEVBQWxFLFNBQTRCLEdBTXpCLGtCQUE0QixzQkFBaEQsYUFPSyxFQVBlLFNBQTRCLDJCQUxrQixzSUFBbUQ7a0VBaUI3SCxxUUFBaU8saURBQW5NLG9HQUFvRyxFQUFDLDBIQUErRSxHQUFsTixZQUFpTyxFQUFuTSxTQUFvRyxFQUFDLFNBQStFO2tFQUFsTix1TEFBaU8sc0ZBQXBOLG9CQUFnQixVQUE3QixZQUFpTyxFQUFwTixTQUFnQjtrRUF0QnJDLDZFQXlCZSxLQXhCZixzSUF1Qk0sS0F0QkYsa05Ba0JlLElBQ2Ysa0ZBRWMsMEJBckJBLGdIQUF3QyxHQUF0RCxZQWtCZSxFQWxCRCxvQkFBd0MsbURBRHpCLG1CQUFzQyxlQUF2RSxZQXVCTSxFQXZCMkIsU0FBc0M7a0VBRnpFLDZFQTJCZSxLQTFCYix1TEF5QmUsR0F6QkQsb05BQTRELElBQTFFLFlBeUJlLEVBekJELFNBQTREO2tFQWlDdEUsd0xBQXVMLFlBQW5FOzt3QkFBc0Q7TUFBMUssd0JBQXVMLEtBQVosbUNBQVE7a0VBQ25MLHdLQUlRLEtBSnlLLHdOQUkvSztrRUFFRjs7Ozs7Ozs7d0JBQThQO01BQS9GOzt3QkFBZ0M7TUFBL0wsdUpBQThQLElBQTdDLGlDQUFvQywyQkFBckQsc0JBQWdCLEVBQWhOLFlBQThQLEVBQTlELFNBQWdCLG1EQUFDLHVLQUFvQztrRUFSdlAsd0pBU00sS0FSSix1TEFBdUwsSUFDdkwsdUxBSVEsSUFDUjs7Ozs7Ozs7Ozs7Ozs7O3VQQUEwTCxJQUEvQixnQ0FBd0IsTUFDbkwsdUxBQThQLGlEQVByTSx5SUFBMEQsaUNBQW5ILFlBQXVMLEVBQTlILFNBQTBELEdBQzlHLHFHQUFtRixJQUF4RixZQUlRLEVBSkgsU0FBbUYsR0FLM0MsMkRBQW1DLGlDQUFDLDZCQUF1QixFQUFXLHVCQUFZLEVBQUMscUJBQTBCLEVBQTFKLFlBQTBMLEVBQTdJLFNBQW1DLEVBQUMsU0FBdUIsRUFBVyxTQUFZLEVBQUMsU0FBMEIsR0FDbEosb0ZBQStCLEdBQXZDLFlBQThQLEVBQXRQLFNBQStCLDJCQURvSCxtSEFBd0I7a0VBUnZMLDZFQWVlLEtBZGIscU5BU00sc0ZBVHVFLGtGQUErRCxJQUE1SSxZQVNNLEVBVHVFLFNBQStEO2tFQWdCNUksc0pBQXVLLFlBQTVFOzt3QkFBK0Q7TUFBMUosd0JBQXVLLEtBQVosbUNBQVE7a0VBR2pLOzs7Ozs7Ozt3QkFDcUQ7TUFEYTs7d0JBQTZCO01BQS9GLHVKQUNxRCxJQUFwQyxpQ0FBOEIsMkJBQS9DLHNCQUFnQixFQURoQixZQUNxRCxFQUFyRCxTQUFnQixtREFBQyw4R0FBOEI7a0VBRmpELDZFQUdlLEtBRmIsdUxBQ3FELHNGQURoQyxvRkFBaUMsR0FBdEQsWUFDcUQsRUFEaEMsU0FBaUM7a0VBSjFELHdHQU9NLEtBTkosdUxBQXVLLElBQ3ZLLHdHQUFvRSxLQUF2QyxnQ0FBaUMsTUFDOUQsdUxBR2UsaURBTFEsMEpBQW1FLGdCQUExRixZQUF1SyxFQUFoSixTQUFtRSxHQUU1RSxtQkFBb0IsZUFBbEMsWUFHZSxFQUhELFNBQW9CLG1EQURMLG1IQUFpQztrRUFROUQsd0dBQThILEtBQTdELHNPQUFzRDtrRUFDdkgsd0dBQTRILEtBQTdELHNPQUFzRDtrRUFJckgsc0pBQTBLLFlBQTlFOzt3QkFBaUU7TUFBN0osd0JBQTBLLEtBQVosbUNBQVE7a0VBRXRLOzs7Ozs7Ozt3QkFDc0Q7TUFEcUI7O3dCQUE4QjtNQUF6Ryx1SkFDc0QsSUFBckMsaUNBQStCLDJCQUFoRCxzQkFBZ0IsRUFEaEIsWUFDc0QsRUFBdEQsU0FBZ0IsbURBQUMsZ0hBQStCO2tFQUpsRCx3R0FLTSxLQUpKLHVMQUEwSyxJQUMxSyx3R0FBb0UsS0FBdkMsZ0NBQWlDLE1BQzlELHVMQUNzRCxpREFIL0IsOEpBQW9FLGVBQTNGLFlBQTBLLEVBQW5KLFNBQW9FLEdBRWhFLHNGQUFrQyxHQUE3RCxZQUNzRCxFQUQzQixTQUFrQyxtREFEaEMsb0hBQWlDO2tFQUtoRSw2RUFBeUcsS0FBOUQsOExBQXVEO2tFQUNsRyw2RUFBeUcsS0FBaEUsZ01BQXlEO2tFQVN0RixnSkFDcUUsWUFBbkU7O3dCQUFzRDtNQUR4RCx3QkFDcUUsS0FBWixtQ0FBUTtrRUFKdkUsMkVBUUssS0FQSCxvR0FNTSxLQUxKLCtGQUlPLEtBSEwsdUxBQ3FFLElBQUEsa0NBRXZFLG1EQUhtQix5SUFBMEQsaUNBQTNFLFlBQ3FFLEVBRHBELFNBQTBELDJCQUNOLG1IQUV2RTtrRUFhSSxnSkFDcUUsWUFBbkU7O3dCQUFzRDtNQUR4RCx3QkFDcUUsS0FBWixtQ0FBUTtrRUFDL0QseUtBS1MsS0FMeUssdVJBS2hMO2tFQVZWLDJFQWNLLEtBYkgsb0dBWU0sS0FYSiwrRkFVTyxLQVRMLHVMQUNxRSxJQUNuRSx1TEFLUyxJQUFBLGtDQUViLG1EQVRtQix5SUFBMEQsaUNBQTNFLFlBQ3FFLEVBRHBELFNBQTBELEdBRW5FLHFHQUFtRixJQUF6RixZQUtTLEVBTEgsU0FBbUYsMkJBS2hGLG1IQUViO2tFQWFBLGdKQUNzRSxZQUFwRTs7d0JBQXVEO01BRHpELHdCQUNzRSxLQUFaLG1DQUFRO2tFQUp4RSwyRUFRSyxLQVBILG9HQU1NLEtBTEosK0ZBSU8sS0FITCx1TEFDc0UsSUFBQSxrQ0FFeEUsbURBSG1CLDJJQUEwRCxnQ0FBM0UsWUFDc0UsRUFEckQsU0FBMEQsMkJBQ0wsa0hBRXhFO2tFQXpGWix1TUErRm1CLFlBL0Y4RDs7d0JBQXlCO01BQUM7O3dCQUF5QjtNQUFDOzt3QkFBcUQ7TUFBMUwsb2FBK0ZtQixNQTlGakIsb0xBZWUsSUFDZixvTEFPTSxJQUNOLHlHQUlNLEtBRkosdUxBQThILElBQzlILHdMQUE0SCxJQUc5SCxxTEFLTSxJQUNSLDBHQUdNLEtBRkosd0xBQXlHLElBQ3pHLHdMQUF5RyxJQUczRzs7OzhOQWNjLElBYlYscUdBWU0sS0FYSixvR0FVSyxLQVRILHNOQVFLLEdBUkQsMkJBQThELElBYXhFOzs7aU9Bb0JjLElBbkJWLHFHQWtCTSxLQWpCSixvR0FnQkssS0FmSCxzTkFjSyxJQUtiOzs7K05BY2MsSUFiWixxR0FZTSxLQVhKLG9HQVVLLEtBVEgsc05BUUssR0FSRCwyQkFBK0QsaURBbkY0TCxtQkFBZ0MsaUJBQWxFLG1CQUFpQyxtQkFBM0UsbUJBQXlDLHVCQUFvRSxtQkFBYSxPQUFDLG1IQUFvRSxJQUExWCxZQStGbUIsRUEvRm9QLFNBQWdDLEVBQWxFLFNBQWlDLEVBQTNFLFNBQXlDLEVBQW9FLFNBQWEsRUFBQyxTQUFvRSxHQUMxVyxvQkFBcUIsZUFBbkMsWUFlZSxFQWZELFNBQXFCLEdBZ0JOLHVGQUE2QyxnQkFBMUUsWUFPTSxFQVB1QixTQUE2QyxHQVUzQyxzRkFBbUMsR0FBaEUsWUFBOEgsRUFBakcsU0FBbUMsR0FDbkMsb0ZBQWlDLEdBQTlELGFBQTRILEVBQS9GLFNBQWlDLEdBR25DLDBEQUE4Qix5QkFBM0QsYUFLTSxFQUx1QixTQUE4QixHQU9yRCx5RkFBb0MsR0FBMUMsYUFBeUcsRUFBbkcsVUFBb0MsR0FDcEMsdUZBQWtDLEdBQXhDLGFBQXlHLEVBQW5HLFVBQWtDLEdBR2xCLHFCQUF5QixFQUFqRCxhQWNjLEVBZFUsVUFBeUIsR0FHckMsa0ZBQThELElBQWxFLGFBUUssRUFSRCxVQUE4RCxHQWE3QyxxQkFBeUIsRUFBcEQsYUFvQmMsRUFwQmEsVUFBeUIsR0FHeEMsMENBQTJELEdBQS9ELGFBY0ssRUFkRCxVQUEyRCxHQW1COUMscUJBQXlCLEVBQWxELGFBY2MsRUFkVyxVQUF5QixHQUd4QyxtRkFBK0QsSUFBbkUsYUFRSyxFQVJELFVBQStEO2tFQWN2RSw2RkFLUSxLQUpKLDZFQUdlLEtBRmIsZ0pBQTZGLFlBQTVFOzt3QkFBK0Q7TUFBaEYsd0JBQTZGLEtBQVosbUNBQVEsTUFDekYsK0ZBQTZELEtBQXpDLDZNQUFrQztrRUFKaEUsdUtBT21CLFlBUG9COzt3QkFBeUI7TUFBQzs7d0JBQXlCO01BQTFGLGtQQU9tQixNQU5mLG9MQUtRLGlEQU4rRSxtSEFBb0UsSUFBL0osWUFPbUIsRUFQd0UsU0FBb0UsR0FDekkseURBQTZCLHdCQUEvQyxZQUtRLEVBTFUsU0FBNkI7a0VBVXZELHNIQVlNLEtBWEoseUdBR00sS0FGRixtR0FBMkQsS0FBbkMsNEZBQTZCLEtBQVosbUNBQVEsTUFDakQsNkZBQWlHLEtBQS9FLDZGQUF5RSxNQUUvRiw0R0FNTSxLQUxGLGdHQUFrRSxLQUE3QyxvRUFBdUMsTUFDNUQsc0dBR00sS0FGRix1SkFBZ0UsWUFBekM7O3dCQUE2QjtNQUFwRCx3QkFBZ0UsS0FBWCwrQkFBRSxNQUN2RCx3SkFBbUUsWUFBM0M7O3dCQUE4QjtNQUF0RCx3QkFBbUUsS0FBWixnQ0FBRyx5REFONUMscURBQXlFO2dMQTdNckcsMkhBd05NLEtBdk5GLDZHQUVNLEtBREYsNkdBQXFELEtBQW5CLGdDQUFjLE1BRXBELDhHQW9NTSxLQW5NSixvSEF1Rk0sS0F0RkYsdUxBQXVELElBQ3ZELHVMQWNNLElBRU4sOEdBSU0sS0FISiw2RkFBNkIsS0FBWixtQ0FBUSxNQUN6Qix1TEFBMEksSUFDMUksdUxBQThJLElBR2hKLHVMQWlDZSxJQUVqQix3TEEyQmUsSUFHakIsZ0hBeUdNLEtBeEdKLHdMQStGbUIsSUFDbkIsd0xBT21CLElBSXZCLHdMQVlNLGlEQWhObUIsbUJBQWUsVUFBbEMsYUFBdUQsRUFBcEMsU0FBZSxHQUNvRCxtQkFBb0IsZUFBMUcsYUFjTSxFQWRnRixTQUFvQixHQWtCakcsb0JBQW9CLGNBQTNCLGFBQTBJLEVBQW5JLFNBQW9CLEdBQ3BCLG1CQUFtQixjQUExQixhQUE4SSxFQUF2SSxTQUFtQixHQUdkLG9EQUF5QyxXQUF2RCxhQWlDZSxFQWpDRCxTQUF5QyxHQW1DM0MsMkNBQThCLEdBQTVDLGFBMkJlLEVBM0JELFNBQThCLEdBK0IxQiwrREFBOEQscUJBQWhGLGFBK0ZtQixFQS9GRCxTQUE4RCxHQWdHOUQsbUJBQW9CLGVBQXRDLGFBT21CLEVBUEQsU0FBb0IsR0FXQSxvQkFBd0IsbUJBQWxFLGFBWU0sRUFab0MsVUFBd0IsbURBMU16QyxtQkFBMkIsWUFBeEQsWUF3Tk0sRUF4TnVCLFNBQTJCLEdBRWQsdURBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmkwLkNvbXBvbmVudEZhY3Rvcnk7XG4iLCI8ZGl2IGNsYXNzPVwidXNlci1ncm91cC1saXN0XCIgW2NsYXNzLmFuaW1hdGVdPVwiYW5pbWF0aW9uXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidXNlci1ncm91cC1saXN0LWhlYWRcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJ1c2VyLWdyb3VwLWxpc3QtdGl0bGVcIj57e3BhbmVsVGl0bGV9fTwvaDM+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWdyb3VwLWxpc3QtYm9keVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidXNlci1ncm91cC1saXN0LWJvZHktaW5uZXJcIj5cclxuICAgICAgICAgIDxhcHAtbG9hZGVyLWlubGluZSAqbmdJZj1cImxvYWRpbmdcIj48L2FwcC1sb2FkZXItaW5saW5lPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItZ3JvdXAtbGlzdC10YWIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtbWItMlwiICpuZ0lmPVwiZ3JvdXBFbmFibGVkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic3dpdGNoVGFiKCdVU0VSJylcIiBjbGFzcz1cInRhYi1idG4gdngtZnMtMTEgdngtZnctNjAwIHZ4LXBhcmFncmFwaC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1wYi0yIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWxoLTRcIiBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRUYWIgPT09ICdVU0VSJ1wiPlVTRVJTIDxzcGFuIGNsYXNzPVwidngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtbWwtMiB2eC1saC00XCI+e3tzZWFyY2hLZXk/Lmxlbmd0aCAmJiBjdXJyZW50VGFiID09PSAnVVNFUicgPyAodXNlcnNMaXN0fCBmaWx0ZXIgOiBzZWFyY2hLZXkpPy5sZW5ndGggOiB1c2Vyc0xpc3Q/Lmxlbmd0aCB8fCB1c2VyTGlzdEluZm8/LnRvdGFsX2l0ZW1zfX08L3NwYW4+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic3dpdGNoVGFiKCdHUk9VUCcpXCIgY2xhc3M9XCJ0YWItYnRuIHZ4LWZzLTExIHZ4LWZ3LTYwMCB2eC1wYXJhZ3JhcGgtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtcGItMiB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1saC00XCIgW2NsYXNzLmFjdGl2ZV09XCJjdXJyZW50VGFiID09PSAnR1JPVVAnXCI+e3tmZWF0dXJlZmxhZyA/ICdVU0VSIEdST1VQUyc6J0dST1VQUyd9fSA8c3BhbiBjbGFzcz1cInZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyIHZ4LW1sLTIgdngtbGgtNFwiPnt7c2VhcmNoS2V5Py5sZW5ndGggJiYgY3VycmVudFRhYiA9PT0gJ0dST1VQJyA/IChncm91cHNMaXN0fHNlYXJjaDpzZWFyY2hLZXk6J2dyb3VwX25hbWUnKT8ubGVuZ3RoIDpncm91cHNMaXN0Py5sZW5ndGggfHwgZ3JvdXBMaXN0SW5mbz8udG90YWxfaXRlbXN9fTwvc3Bhbj48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnV0dXJlLXVzZXIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiICpuZ0lmPVwic2hvd0Z1dHVyZVVzZXJzU3dpdGNoXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtdHQtdXBwZXJjYXNlXCI+VmlzaWJsZSB0byBBbGwgQ3VycmVudCAmIEZ1dHVyZSBVc2VyczwvZGl2PlxyXG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgaW5mbyB2eC1mcy0xMiB2eC10eHQtYmx1ZSB2eC1tbC0xIHZ4LW1yLTFcIiBbYXBwVG9vbHRpcF09XCIncXVlc3Rpb24gbWFyayB0ZXh0IHRvb2x0aXAgaGVyZS4uLidcIiBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiBkZWxheT1cIjBcIiB0eXBlPVwid2hpdGVcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+JiN4ZTkxZjs8L2k+XHJcbiAgICAgICAgICAgICAgPGFwcC1jcy1zd2l0Y2hcclxuICAgICAgICAgICAgICAgIFtuZ1ZhbHVlXT1cImZ1dHVyZVVzZXJzV2lsbFNlbGVjdFwiIFxyXG4gICAgICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2V0QWxsVXNlcnNTZWxlY3RlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgPC9hcHAtY3Mtc3dpdGNoPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtYmxvY2sgdngtbWItMlwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XHJcbiAgICAgICAgICAgIDxpbnB1dCAqbmdJZj1cIiFmZWF0dXJlZmxhZ1wiIFsobmdNb2RlbCldPVwic2VhcmNoS2V5XCIgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cInt7Y3VycmVudFRhYiA9PT0gJ1VTRVInID8gJ1NlYXJjaCBVc2VyJyA6J1NlYXJjaCBHcm91cCd9fVwiIC8+XHJcbiAgICAgICAgICAgIDxpbnB1dCAqbmdJZj1cImZlYXR1cmVmbGFnXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hLZXlcIiB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwie3tjdXJyZW50VGFiID09PSAnVVNFUicgPyAnU2VhcmNoIFVzZXInIDonU2VhcmNoIFVzZXIgR3JvdXAnfX1cIiAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRUYWIgPT09ICdVU0VSJyAmJiAhbG9hZGluZ1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKHVzZXJzTGlzdHxmaWx0ZXI6c2VhcmNoS2V5KSBhcyB1c2Vyc1wiPlxyXG4gICAgICAgICAgICAgIDx2dWktcGFnaW5hdGlvbiAqbmdJZj1cInVzZXJMaXN0SW5mbz8udG90YWxfcGFnZXMgID4gMSAmJiB1c2Vyc0xpc3Q/Lmxlbmd0aCAhPT0gdXNlckxpc3RJbmZvPy50b3RhbF9pdGVtc1wiIFtjdXJyZW50UGFnZV09XCJ1c2VyQ3VycmVudFBhZ2VcIiAgW3RvdGFsUGFnZV09XCJ1c2VyTGlzdEluZm8/LnRvdGFsX3BhZ2VzXCIgKHBhZ2VDaGFuZ2VkKT1cInVzZXJQYWdlQ2hhbmdlKCRldmVudClcIj48L3Z1aS1wYWdpbmF0aW9uPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWdyb3VwLWxpc3QtbWlkXCIgW2NsYXNzLndpdGgtcGFnaW5hdGlvbl09XCJpc1BhZ2luYXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVzZXJzPy5sZW5ndGggPiAwO2Vsc2Ugbm91c2VyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1saXN0LXNlbGVjdCB2eC1tYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHZ1aS1jaGVja2JveCAqbmdJZj1cIiFzaW5nbGVTZWxlY3RcIiAgI3VzZXIgW2NoZWNrZWRdPVwiYWxsVXNlclNlbGVjdGVkIHx8IGZ1dHVyZVVzZXJzV2lsbFNlbGVjdFwiIFtkaXNhYmxlZF09XCJhbGxVc2VyU2VsZWN0ZWREaXNhYmxlZCB8fCBmdXR1cmVVc2Vyc1dpbGxTZWxlY3QgfHwgaXNBbGxEaXNhYmxlZFwiIChjaGFuZ2UpPVwic2VsZWN0QWxsVXNlcigkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLW5hbWUgdngtZnMtMTIgdngtZnctNjAwIHZ4LWxhYmVsLXR4dCB2eC10dC1ub25lXCI+e3shdXNlcj8uY2hlY2tlZCA/ICdTZWxlY3QgQWxsJyA6ICdEZXNlbGVjdCBBbGwnfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Z1aS1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItbGlzdC1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidngtbS0wIHZ4LXAtMCB2eC1kLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHVzZXIgb2YgdXNlcnMgXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJ2eC1tYi0zXCIgKm5nSWY9XCIhc2luZ2xlU2VsZWN0XCIgW2FwcFRvb2x0aXBdPVwidXNlciB8dG9vbHRpcE1lc3NhZ2U6IGZyb21SZXNwb25zaWJpbGl0eTpyZXZpZXdlcklkczpvdmVyc2Vlcklkczphc3NpZ25vcklkOmFzc2lnbmVlSWRzOidtZW1iZXJfaWQnOmRpc2FibGVkSWRzPy5pbmNsdWRlcyh1c2VyPy5tZW1iZXJfaWQpOkZyb21Qcm9ncmFtXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dnVpLWNoZWNrYm94IChjaGFuZ2UpPVwic2VsZWN0SXRlbSgkZXZlbnQsdXNlcilcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRJZHM/LmluY2x1ZGVzKHVzZXI/Lm1lbWJlcl9pZCkgfHwgZnV0dXJlVXNlcnNXaWxsU2VsZWN0IHx8IGlzQWxsRGlzYWJsZWRcIiBbY2hlY2tlZF09XCJzZWxlY3RlZFVzZXJJZHM/LmluY2x1ZGVzKHVzZXI/Lm1lbWJlcl9pZCkgfHwgZnV0dXJlVXNlcnNXaWxsU2VsZWN0XCI+PGRpdiBjbGFzcz1cInVzZXItbmFtZVwiID57e3VzZXI/Lm1lbWJlcl9uYW1lfX08L2Rpdj48L3Z1aS1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwidngtbWItM1wiICpuZ0lmPVwic2luZ2xlU2VsZWN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWNzLXJhZGlvICBbbmFtZV09XCIncmFkaW8tc2VsZWN0b3InXCIgKGNoZWNrZWRFdmVudCk9XCJzZWxlY3RJdGVtUmFkaW8oJGV2ZW50LHVzZXIpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIidyeC1jYXRlZ29yeSdcIiBbY2hlY2tlZF09XCJzZWxlY3RlZFVzZXJJZHM/LmluY2x1ZGVzKHVzZXI/Lm1lbWJlcl9pZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwidXNlcj8ubWVtYmVyX2VtYWlsXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3t1c2VyPy5tZW1iZXJfbmFtZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hcHAtY3MtcmFkaW8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub3VzZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8YXBwLW5vLWRhdGEgKm5nSWY9XCIhbG9hZGluZ1wiIFtub0RhdGFJbWFnZV09XCInaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3NlYXJjaC1kYXRhLnN2ZydcIiBbbm9EYXRhVGV4dF09XCIoc2VhcmNoS2V5Py5sZW5ndGggPiAwID8nTm8gbWF0Y2ggZm91bmQuJzonTm8gVXNlcnMgZm91bmQuJylcIj48L2FwcC1uby1kYXRhPlxyXG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXJyZW50VGFiID09PSAnR1JPVVAnXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGdyb3Vwc0xpc3R8c2VhcmNoOnNlYXJjaEtleTonZ3JvdXBfbmFtZScpIGFzIGdyb3Vwc1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItZ3JvdXAtbGlzdC1taWRcIiBbY2xhc3Mud2l0aC1wYWdpbmF0aW9uXT1cImlzUGFnaW5hdGlvblwiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJncm91cHM/Lmxlbmd0aCA+IDA7IGVsc2Ugbm9ncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1saXN0LXNlbGVjdCB2eC1tYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dnVpLWNoZWNrYm94ICNncm91cCBbY2hlY2tlZF09XCJhbGxHcm91cFNlbGVjdGVkXCIgW2Rpc2FibGVkXT1cImFsbEdyb3VwU2VsZWN0ZWREaXNhYmxlZFwiIChjaGFuZ2UpPVwic2VsZWN0QWxsR3JvdXAoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLW5hbWUgdngtZnMtMTIgdngtZnctNjAwIHZ4LWxhYmVsLXR4dCB2eC10dC1ub25lXCI+e3shZ3JvdXA/LmNoZWNrZWQgPyAnU2VsZWN0IEFsbCcgOiAnRGVzZWxlY3QgQWxsJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3Z1aS1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWxpc3QtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidngtbS0wIHZ4LXAtMCB2eC1kLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJ2eC1tYi0zXCIgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGdyb3Vwc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dnVpLWNoZWNrYm94IChjaGFuZ2UpPVwic2VsZWN0R3JvdXAoJGV2ZW50LGdyb3VwKVwiIFtkaXNhYmxlZF09XCJub25SZW1vdmFibGVHcm91cElkcz8uaW5jbHVkZXMoZ3JvdXA/Lmdyb3VwX2lkKVwiIFtjaGVja2VkXT1cInNlbGVjdGVkR3JvdXBJZHM/LmluY2x1ZGVzKGdyb3VwPy5ncm91cF9pZClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLW5hbWUgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC13LTEwMFwiIFthcHBUb29sdGlwXT1cImdyb3VwPy5ncm91cF9uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdXAtbmFtZVwiPnt7Z3JvdXA/Lmdyb3VwX25hbWV9fSA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvdW50ZXIgdngtZnMtOSB2eC1mdy02MDAgdngtcGwtMSB2eC1wci0xIHZ4LWxoLTMgdngtdHQtdXBwZXJjYXNlXCI+e3tncm91cD8ubWVtYmVyX2NvdW50fX0ge3tncm91cD8ubWVtYmVyX2NvdW50ID4gMSA/ICdVU0VSUycgOidVU0VSJ319PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Z1aS1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub2dyb3VwPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLW5vLWRhdGEgKm5nSWY9XCIhbG9hZGluZ1wiIFtub0RhdGFJbWFnZV09XCInaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3NlYXJjaC1kYXRhLnN2ZydcIiBbbm9EYXRhVGV4dF09XCIoc2VhcmNoS2V5Py5sZW5ndGggPiAwID8nTm8gbWF0Y2ggZm91bmQuJzonTm8gZGF0YSB0byBkaXNwbGF5LicpXCI+PC9hcHAtbm8tZGF0YT5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwidXNlci1ncm91cC1saXN0LWZvb3RlclwiPlxyXG4gICAgICAgIDx2dWktZmxvYXRpbmctYmFyICpuZ0lmPVwiKCFzaW5nbGVTZWxlY3QgfHwgKCFzaW5nbGVTZWxlY3QgJiYgc2VsZWN0ZWRSZXZpZXdlcikpXCIgKGNsb3NlRXZlbnQpPVwic2F2ZUxpc3QoKVwiIChjbG9zZUxpc3QpPVwiY2xvc2VMaXN0KClcIiAod29ya2Zsb3dUeXBlQ2hhbmdlZCkgPSBcIndvcmtmbG93VHlwZUNoYW5nZWQoJGV2ZW50KVwiIFtzZWxlY3RlZFdvcmtmbG93XT1cInJldmlld2VyV29ya2Zsb3dUeXBlXCIgW3Nob3dXb3JrZmxvd109XCJzZWxlY3RlZFJldmlld2VyXCIgW2dyb3VwU2VsZWN0ZWRdPVwic2VsZWN0ZWRHcm91cHNcIiBbbW9kZV09XCJtb2RlXCIgW25leHREaXNhYmxlZF09XCJmcm9tQXBwcm92YWxXb3JrZmxvdyAmJiBzZWxlY3RlZFVzZXJzPy5sZW5ndGggPT09IDBcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZ3JvdXBFbmFibGVkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGlwQ29udGFpbmVyIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtcGwtMiB2eC1wci0yIHZ4LW1yLTJcIiAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiBzZWxlY3RlZFVzZXJzPy5zbGljZSgwLDEpO2xldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIGNyb3NzIHZ4LWZzLTEwIHZ4LXBhcmFncmFwaC10eHQgdngtbXItMVwiICpuZ0lmPVwiIW5vblJlbW92YWJsZVVzZXJJZHM/LmluY2x1ZGVzKGVsZW1lbnQ/Lm1lbWJlcl9pZClcIiAoY2xpY2spPVwic2VsZWN0SXRlbSh7dGFyZ2V0OntjaGVja2VkOmZhbHNlfX0sZWxlbWVudClcIj4mI3hlOWFlOzwvaT5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZnJvbUFwcHJvdmFsV29ya2Zsb3cgJiYgYXBwcm92YWxXb3JrZmxvd1R5cGUudG9Mb3dlckNhc2UoKSA9PT0gJ3NlcXVlbnRpYWwnXCIgY2xhc3M9XCJ3b3JrZmxvd0xhdmVsIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1wbC0xIHZ4LXByLTEgdngtbGgtNCB2eC1tci0xIHZ4LXRleHQtY2VudGVyXCI+e3tcclxuICAgICAgICAgICAgICAgIDEgPT0gc2VsZWN0ZWRVc2Vycz8ubGVuZ3RoXHJcbiAgICAgICAgICAgICAgICAgID8gXCJGaW5hbFwiXHJcbiAgICAgICAgICAgICAgICAgIDogMVxyXG4gICAgICAgICAgICAgIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGlwTmFtZSB2eC1mcy0xMSB2eC1sYWJlbC10eHRcIiBbYXBwVG9vbHRpcF09XCJlbGVtZW50Py5tZW1iZXJfbmFtZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj57e2VsZW1lbnQ/Lm1lbWJlcl9uYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInNlbGVjdGVkVXNlcnM/Lmxlbmd0aD4xXCIgY2xhc3M9XCJjb3VudEJ0biB2eC1mcy05IHZ4LWZ3LTUwMCB2eC10eHQtd2hpdGUgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlciB2eC1saC00IGdyZWVuQmdcIiBhcHBQb3BvdmVyIChjbGljayk9XCJncm91cERpc2FibGUucG9wb3ZlcigpXCIgcGxhY2VtZW50PVwibGVmdFwiPit7e3NlbGVjdGVkVXNlcnM/LnNsaWNlKDEpPy5sZW5ndGh9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNoaXBcIiAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiBzZWxlY3RlZFVzZXJzPy5zbGljZSgwLDEpO2xldCBpID0gaW5kZXhcIj48aSAqbmdJZj1cIiFub25SZW1vdmFibGVVc2VySWRzPy5pbmNsdWRlcyhlbGVtZW50Py5tZW1iZXJfaWQpXCIgKGNsaWNrKT1cInNlbGVjdEl0ZW0oe3RhcmdldDp7Y2hlY2tlZDpmYWxzZX19LGVsZW1lbnQpXCIgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGQ7PC9pPiA8c3Bhbj57e2VsZW1lbnQ/Lm1lbWJlcl9uYW1lfX08L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50ZXJcIiAqbmdJZj1cInNlbGVjdGVkVXNlcnM/Lmxlbmd0aD4xXCIgYXBwUG9wb3ZlciAoY2xpY2spPVwiZ3JvdXBEaXNhYmxlLnBvcG92ZXIoKVwiXHJcbiAgICAgICAgICAgICAgcGxhY2VtZW50PVwibGVmdFwiPit7e3NlbGVjdGVkVXNlcnM/LnNsaWNlKDEpPy5sZW5ndGh9fTwvZGl2PiAtLT5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItZ3JvdXAtY2hpcFwiICpuZ0lmPVwic2VsZWN0ZWRVc2Vycz8ubGVuZ3RoICYmIGdyb3VwRW5hYmxlZFwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIGNyb3NzXCIgKm5nSWY9XCIhbm9uUmVtb3ZhYmxlVXNlcklkcz8uaW5jbHVkZXMoc2VsZWN0ZWRVc2Vyc1swXT8ubWVtYmVyX2lkKVwiIChjbGljayk9XCJzZWxlY3RJdGVtKHt0YXJnZXQ6e2NoZWNrZWQ6ZmFsc2V9fSxzZWxlY3RlZFVzZXJzWzBdKVwiPiYjeGU5YWU7PC9pPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1ncm91cC1uYW1lXCI+e3tzZWxlY3RlZFVzZXJzWzBdPy5tZW1iZXJfbmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJncm91cEVuYWJsZWRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY291bnRlclwiICpuZ0lmPVwic2VsZWN0ZWRVc2Vycz8ubGVuZ3RoID4gMVwiIGFwcFBvcG92ZXIgKGNsaWNrKT1cInVzZXJDb3VudC5wb3BvdmVyKClcIlxyXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cImxlZnRcIj4re3tzZWxlY3RlZFVzZXJzPy5sZW5ndGggLSAxfX08L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lIHVzZXJHcm91cC1uYW1lXCI+XHJcbiAgICAgICAgICAgIDwhLS0ge3tzZWxlY3RlZEdyb3VwcyAmJiBzZWxlY3RlZEdyb3Vwcz8ubGVuZ3RoID4gMCA/JyAmICc6Jyd9fSAtLT5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1c2VyR3JvdXAtdGV4dFwiICpuZ0lmPVwic2VsZWN0ZWRVc2Vycz8ubGVuZ3RoID09PSAxXCI+VXNlciB7e3NlbGVjdGVkR3JvdXBzPy5sZW5ndGggPiAwID8nICYgJzonIHNlbGVjdGVkJ319PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInVzZXJHcm91cC10ZXh0XCIgKm5nSWY9XCJzZWxlY3RlZFVzZXJzPy5sZW5ndGggPiAxXCI+VXNlcnMge3tzZWxlY3RlZEdyb3Vwcz8ubGVuZ3RoID4gMCA/JyAmICc6J3NlbGVjdGVkJ319PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItZ3JvdXAtY2hpcFwiICpuZ0lmPVwic2VsZWN0ZWRHcm91cHM/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIGNyb3NzXCIgKm5nSWY9XCIhbm9uUmVtb3ZhYmxlR3JvdXBJZHM/LmluY2x1ZGVzKHNlbGVjdGVkR3JvdXBzWzBdPy5ncm91cF9pZClcIiAoY2xpY2spPVwic2VsZWN0R3JvdXAoe3RhcmdldDp7Y2hlY2tlZDpmYWxzZX19LHNlbGVjdGVkR3JvdXBzWzBdKVwiPiYjeGU5YWU7PC9pPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1ncm91cC1uYW1lXCI+e3tzZWxlY3RlZEdyb3Vwc1swXT8uZ3JvdXBfbmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb3VudGVyIGdyb3VwXCIgKm5nSWY9XCJzZWxlY3RlZEdyb3Vwcz8ubGVuZ3RoID4gMVwiICAgYXBwUG9wb3ZlciAoY2xpY2spPVwiZ3JvdXBDb3VudC5wb3BvdmVyKClcIlxyXG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJsZWZ0XCI+K3t7c2VsZWN0ZWRHcm91cHM/Lmxlbmd0aCAtIDF9fTwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUgdXNlckdyb3VwLW5hbWVcIj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwic2VsZWN0ZWRHcm91cHM/Lmxlbmd0aCA9PT0gMVwiPnt7ZmVhdHVyZWZsYWcgPydVc2VyIEdyb3VwIHNlbGVjdGVkJzonR3JvdXAgc2VsZWN0ZWQnfX08L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInNlbGVjdGVkR3JvdXBzPy5sZW5ndGggPiAxXCI+e3tmZWF0dXJlZmxhZyA/J1VzZXIgR3JvdXBzIHNlbGVjdGVkJzonR3JvdXBzIHNlbGVjdGVkJ319PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8YXBwLXBvcG92ZXIgI3VzZXJDb3VudCBbZG9udENsb3Nlb25DbGlja109XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxyXG4gICAgICAgICAgICAgIDx1bCBjbGFzcz1cImFjdGlvbi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2Ygc2VsZWN0ZWRVc2VycyB8IHNsaWNlOiAxOyBsZXQgaSA9aW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiICpuZ0lmPVwiIW5vblJlbW92YWJsZVVzZXJJZHM/LmluY2x1ZGVzKGVsZW1lbnQ/Lm1lbWJlcl9pZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0SXRlbSh7dGFyZ2V0OntjaGVja2VkOmZhbHNlfX0sZWxlbWVudClcIj4mI3hlOTBkOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7ZWxlbWVudD8ubWVtYmVyX25hbWV9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvYXBwLXBvcG92ZXI+XHJcblxyXG4gICAgICAgICAgPGFwcC1wb3BvdmVyICNncm91cERpc2FibGUgW2RvbnRDbG9zZW9uQ2xpY2tdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiYWN0aW9uLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mIHNlbGVjdGVkVXNlcnMuc2xpY2UoMSkgbGV0IGkgPWluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIiAqbmdJZj1cIiFub25SZW1vdmFibGVVc2VySWRzPy5pbmNsdWRlcyhlbGVtZW50Py5tZW1iZXJfaWQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0SXRlbSh7dGFyZ2V0OntjaGVja2VkOmZhbHNlfX0sZWxlbWVudClcIj4mI3hlOTBkOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImZyb21BcHByb3ZhbFdvcmtmbG93ICYmIGFwcHJvdmFsV29ya2Zsb3dUeXBlLnRvTG93ZXJDYXNlKCkgPT09ICdzZXF1ZW50aWFsJ1wiIGNsYXNzPVwid29ya2Zsb3dMYXZlbCB2eC1mcy0xMSB2eC1mdy01MDAgdngtcGwtMSB2eC1wci0xIHZ4LWxoLTQgdngtbXItMSB2eC10ZXh0LWNlbnRlclwiPnt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpKzEgPT09XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFVzZXJzPy5sZW5ndGggLSAxXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gXCJGaW5hbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaSArIDJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3tlbGVtZW50Py5tZW1iZXJfbmFtZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9hcHAtcG9wb3Zlcj5cclxuXHJcbiAgICAgICAgICA8YXBwLXBvcG92ZXIgI2dyb3VwQ291bnQgW2RvbnRDbG9zZW9uQ2xpY2tdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2YtYWN0aW9uLWxpc3RcIj5cclxuICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mIHNlbGVjdGVkR3JvdXBzIHwgc2xpY2U6IDE7IGxldCBpID1pbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWNhcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCIgKm5nSWY9XCIhbm9uUmVtb3ZhYmxlR3JvdXBJZHM/LmluY2x1ZGVzKGVsZW1lbnQ/Lmdyb3VwX2lkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RHcm91cCh7dGFyZ2V0OntjaGVja2VkOmZhbHNlfX0sZWxlbWVudClcIj4mI3hlOTBkOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7ZWxlbWVudD8uZ3JvdXBfbmFtZX19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2FwcC1wb3BvdmVyPlxyXG4gICAgICAgIDwvdnVpLWZsb2F0aW5nLWJhcj5cclxuICAgICAgICA8dnVpLWZsb2F0aW5nLWJhciAqbmdJZj1cInNpbmdsZVNlbGVjdFwiIChjbG9zZUV2ZW50KT1cInNhdmVMaXN0KClcIiAoY2xvc2VMaXN0KT1cImNsb3NlTGlzdCgpXCIgW25leHREaXNhYmxlZF09XCJmcm9tQXBwcm92YWxXb3JrZmxvdyAmJiBzZWxlY3RlZFVzZXJzPy5sZW5ndGggPT09IDBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoaXBcIiAqbmdJZj1cInNlbGVjdGVkVXNlcnM/Lmxlbmd0aFwiID5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIiAoY2xpY2spPVwic2VsZWN0SXRlbSh7dGFyZ2V0OntjaGVja2VkOmZhbHNlfX0sc2VsZWN0ZWRVc2Vyc1swXSlcIj4mI3hlOTBkOzwvaT5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiPiB7e3NlbGVjdGVkVXNlcnNbMF0/Lm1lbWJlcl9uYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3Z1aS1mbG9hdGluZy1iYXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInVzZXItZ3JvdXAtbGlzdC1jb25maXJtYXRpb25cIiAqbmdJZj1cInNob3dDb25maXJtYXRpb25cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbmZpcm1hdGlvbi10b3BcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWJsb2NrXCI+PGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MzA7PC9pPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHRcIj5UaGlzIGFjdGlvbiB3aWxsIHJlc2V0IHRoZSBkZWZhdWx0IHt7dXNlclR5cGV9fSBzZWxlY3RlZCBmb3IgdGhlIFByb2dyYW0uPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29uZmlybWF0aW9uLWJvdHRvbVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2VcIj5BcmUgeW91IHN1cmUgeW91IHdvdWxkIGxpa2UgdG8gcHJvY2VlZD88L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tZ3JvdXBcIj5cclxuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibm8tYnRuXCIgKGNsaWNrKT1cImNvbmZpcm1BY3Rpb24oJ05PJylcIj5OTzwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJ5ZXMtYnRuXCIgKGNsaWNrKT1cImNvbmZpcm1BY3Rpb24oJ1lFUycpXCI+WUVTPC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG4iXX0=
308
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ncm91cC1saXN0LmNvbXBvbmVudC5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1wcm9ncmFtL2NyZWF0ZS1wcm9ncmFtLXVpL3VzZXItZ3JvdXAtbGlzdC91c2VyLWdyb3VwLWxpc3QuY29tcG9uZW50Lm5nZmFjdG9yeS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXByb2dyYW0vY3JlYXRlLXByb2dyYW0tdWkvdXNlci1ncm91cC1saXN0L3VzZXItZ3JvdXAtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUVDTVUsaVFBQXVEO2lFQU9yRCw4SEFPTSxLQU5KLHdJQUF3RyxLQUEzQyxrRUFBcUMsTUFDbEc7Ozs7Ozs7Ozs7Ozs7Ozt1UEFBdVQsSUFBWixtQ0FBUSxNQUNuVCxrSkFHZ0IsWUFEZDs7d0JBQTZDO01BRi9DLGlNQUdnQixtREFKMkMsc0tBQXFLLEVBQUMsOEJBQXdCLEVBQVcsdUJBQVksRUFBQyxvQkFBeUIsRUFBMVMsWUFBdVQsRUFBNVAsU0FBcUssRUFBQyxTQUF3QixFQUFXLFNBQVksRUFBQyxTQUF5QixHQUV4UyxtQkFBaUMsd0JBRG5DLFlBR2dCLEVBRmQsU0FBaUM7aUVBVnZDLGtLQWNNLEtBYkosbUhBR00sS0FGSixvUkFBZ2MsWUFBeGI7O3dCQUEyQjtNQUFuQyx3QkFBZ2MsS0FBelAsbUNBQU0sTUFBQSxxS0FBME8sS0FBaEosaURBQXlJLElBQ2hiLG9SQUFrZixZQUExZTs7d0JBQTRCO01BQXBDLHdCQUFrZixLQUF6UyxpQ0FBeUMsTUFBQSxxS0FBdVAsS0FBN0osbURBQXNKLElBR3BlLHVMQU9NLGlE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QWhObUIsbUJBQWUsVUFBbEMsYUFBdUQsRUFBcEMsU0FBZSxHQUNvRCxtQkFBb0IsZUFBMUcsYUFjTSxFQWRnRixTQUFvQixHQWtCakcsb0JBQW9CLGNBQTNCLGFBQTBJLEVBQW5JLFNBQW9CLEdBQ3BCLG1CQUFtQixjQUExQixhQUE4SSxFQUF2SSxTQUFtQixHQUdkLG9EQUF5QyxXQUF2RCxhQWlDZSxFQWpDRCxTQUF5QyxHQW1DM0MsMkNBQThCLEdBQTVDLGFBMkJlLEVBM0JELFNBQThCLEdBK0IxQiwrREFBOEQscUJBQWhGLGFBK0ZtQixFQS9GRCxTQUE4RCxHQWdHOUQsbUJBQW9CLGVBQXRDLGFBT21CLEVBUEQsU0FBb0IsR0FXQSxvQkFBd0IsbUJBQWxFLGFBWU0sRUFab0MsVUFBd0IsbURBMU16QyxtQkFBMkIsWUFBeEQsWUF3Tk0sRUF4TnVCLFNBQTJCLEdBRWQsdURBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmkwLkNvbXBvbmVudEZhY3Rvcnk7XG4iLCI8ZGl2IGNsYXNzPVwidXNlci1ncm91cC1saXN0XCIgW2NsYXNzLmFuaW1hdGVdPVwiYW5pbWF0aW9uXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidXNlci1ncm91cC1saXN0LWhlYWRcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJ1c2VyLWdyb3VwLWxpc3QtdGl0bGVcIj57e3BhbmVsVGl0bGV9fTwvaDM+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWdyb3VwLWxpc3QtYm9keVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidXNlci1ncm91cC1saXN0LWJvZHktaW5uZXJcIj5cclxuICAgICAgICAgIDxhcHAtbG9hZGVyLWlubGluZSAqbmdJZj1cImxvYWRpbmdcIj48L2FwcC1sb2FkZXItaW5saW5lPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItZ3JvdXAtbGlzdC10YWIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtbWItMlwiICpuZ0lmPVwiZ3JvdXBFbmFibGVkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic3dpdGNoVGFiKCdVU0VSJylcIiBjbGFzcz1cInRhYi1idG4gdngtZnMtMTEgdngtZnctNjAwIHZ4LXBhcmFncmFwaC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1wYi0yIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWxoLTRcIiBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRUYWIgPT09ICdVU0VSJ1wiPlVTRVJTIDxzcGFuIGNsYXNzPVwidngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtbWwtMiB2eC1saC00XCI+e3tzZWFyY2hLZXk/Lmxlbmd0aCAmJiBjdXJyZW50VGFiID09PSAnVVNFUicgPyAodXNlcnNMaXN0fCBmaWx0ZXIgOiBzZWFyY2hLZXkpPy5sZW5ndGggOiB1c2Vyc0xpc3Q/Lmxlbmd0aCB8fCB1c2VyTGlzdEluZm8/LnRvdGFsX2l0ZW1zfX08L3NwYW4+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic3dpdGNoVGFiKCdHUk9VUCcpXCIgY2xhc3M9XCJ0YWItYnRuIHZ4LWZzLTExIHZ4LWZ3LTYwMCB2eC1wYXJhZ3JhcGgtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtcGItMiB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1saC00XCIgW2NsYXNzLmFjdGl2ZV09XCJjdXJyZW50VGFiID09PSAnR1JPVVAnXCI+e3tmZWF0dXJlZmxhZyA/ICdVU0VSIEdST1VQUyc6J0dST1VQUyd9fSA8c3BhbiBjbGFzcz1cInZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyIHZ4LW1sLTIgdngtbGgtNFwiPnt7c2VhcmNoS2V5Py5sZW5ndGggJiYgY3VycmVudFRhYiA9PT0gJ0dST1VQJyA/IChncm91cHNMaXN0fHNlYXJjaDpzZWFyY2hLZXk6J2dyb3VwX25hbWUnKT8ubGVuZ3RoIDpncm91cHNMaXN0Py5sZW5ndGggfHwgZ3JvdXBMaXN0SW5mbz8udG90YWxfaXRlbXN9fTwvc3Bhbj48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnV0dXJlLXVzZXIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiICpuZ0lmPVwic2hvd0Z1dHVyZVVzZXJzU3dpdGNoXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtdHQtdXBwZXJjYXNlXCI+VmlzaWJsZSB0byBBbGwgQ3VycmVudCAmIEZ1dHVyZSBVc2VyczwvZGl2PlxyXG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgaW5mbyB2eC1mcy0xMiB2eC10eHQtYmx1ZSB2eC1tbC0xIHZ4LW1yLTFcIiBbYXBwVG9vbHRpcF09XCInSWYgc2VsZWN0ZWQsIHRoaXMgcG9saWN5IHdpbGwgYmUgdmlzaWJsZSB0byBhbGwgdXNlcnMgdGhhdCBhcmUgY3VycmVudGx5IGFjdGl2ZSBpbiB5b3VyIFZDb21wbHkgYWNjb3VudCBhbmQgdXNlcnMgdGhhdCBtaWdodCBiZSBhZGRlZCBpbiB0aGUgZnV0dXJlLidcIiBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiBkZWxheT1cIjBcIiB0eXBlPVwid2hpdGVcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+JiN4ZTkxZjs8L2k+XHJcbiAgICAgICAgICAgICAgPGFwcC1jcy1zd2l0Y2hcclxuICAgICAgICAgICAgICAgIFtuZ1ZhbHVlXT1cImZ1dHVyZVVzZXJzV2lsbFNlbGVjdFwiIFxyXG4gICAgICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2V0QWxsVXNlcnNTZWxlY3RlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgPC9hcHAtY3Mtc3dpdGNoPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtYmxvY2sgdngtbWItMlwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XHJcbiAgICAgICAgICAgIDxpbnB1dCAqbmdJZj1cIiFmZWF0dXJlZmxhZ1wiIFsobmdNb2RlbCldPVwic2VhcmNoS2V5XCIgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cInt7Y3VycmVudFRhYiA9PT0gJ1VTRVInID8gJ1NlYXJjaCBVc2VyJyA6J1NlYXJjaCBHcm91cCd9fVwiIC8+XHJcbiAgICAgICAgICAgIDxpbnB1dCAqbmdJZj1cImZlYXR1cmVmbGFnXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hLZXlcIiB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwie3tjdXJyZW50VGFiID09PSAnVVNFUicgPyAnU2VhcmNoIFVzZXInIDonU2VhcmNoIFVzZXIgR3JvdXAnfX1cIiAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRUYWIgPT09ICdVU0VSJyAmJiAhbG9hZGluZ1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKHVzZXJzTGlzdHxmaWx0ZXI6c2VhcmNoS2V5KSBhcyB1c2Vyc1wiPlxyXG4gICAgICAgICAgICAgIDx2dWktcGFnaW5hdGlvbiAqbmdJZj1cInVzZXJMaXN0SW5mbz8udG90YWxfcGFnZXMgID4gMSAmJiB1c2Vyc0xpc3Q/Lmxlbmd0aCAhPT0gdXNlckxpc3RJbmZvPy50b3RhbF9pdGVtc1wiIFtjdXJyZW50UGFnZV09XCJ1c2VyQ3VycmVudFBhZ2VcIiAgW3RvdGFsUGFnZV09XCJ1c2VyTGlzdEluZm8/LnRvdGFsX3BhZ2VzXCIgKHBhZ2VDaGFuZ2VkKT1cInVzZXJQYWdlQ2hhbmdlKCRldmVudClcIj48L3Z1aS1wYWdpbmF0aW9uPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWdyb3VwLWxpc3QtbWlkXCIgW2NsYXNzLndpdGgtcGFnaW5hdGlvbl09XCJpc1BhZ2luYXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVzZXJzPy5sZW5ndGggPiAwO2Vsc2Ugbm91c2VyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1saXN0LXNlbGVjdCB2eC1tYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHZ1aS1jaGVja2JveCAqbmdJZj1cIiFzaW5nbGVTZWxlY3RcIiAgI3VzZXIgW2NoZWNrZWRdPVwiYWxsVXNlclNlbGVjdGVkIHx8IGZ1dHVyZVVzZXJzV2lsbFNlbGVjdFwiIFtkaXNhYmxlZF09XCJhbGxVc2VyU2VsZWN0ZWREaXNhYmxlZCB8fCBmdXR1cmVVc2Vyc1dpbGxTZWxlY3QgfHwgaXNBbGxEaXNhYmxlZFwiIChjaGFuZ2UpPVwic2VsZWN0QWxsVXNlcigkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLW5hbWUgdngtZnMtMTIgdngtZnctNjAwIHZ4LWxhYmVsLXR4dCB2eC10dC1ub25lXCI+e3shdXNlcj8uY2hlY2tlZCA/ICdTZWxlY3QgQWxsJyA6ICdEZXNlbGVjdCBBbGwnfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Z1aS1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItbGlzdC1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidngtbS0wIHZ4LXAtMCB2eC1kLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHVzZXIgb2YgdXNlcnMgXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJ2eC1tYi0zXCIgKm5nSWY9XCIhc2luZ2xlU2VsZWN0XCIgW2FwcFRvb2x0aXBdPVwidXNlciB8dG9vbHRpcE1lc3NhZ2U6IGZyb21SZXNwb25zaWJpbGl0eTpyZXZpZXdlcklkczpvdmVyc2Vlcklkczphc3NpZ25vcklkOmFzc2lnbmVlSWRzOidtZW1iZXJfaWQnOmRpc2FibGVkSWRzPy5pbmNsdWRlcyh1c2VyPy5tZW1iZXJfaWQpOkZyb21Qcm9ncmFtXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dnVpLWNoZWNrYm94IChjaGFuZ2UpPVwic2VsZWN0SXRlbSgkZXZlbnQsdXNlcilcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRJZHM/LmluY2x1ZGVzKHVzZXI/Lm1lbWJlcl9pZCkgfHwgZnV0dXJlVXNlcnNXaWxsU2VsZWN0IHx8IGlzQWxsRGlzYWJsZWRcIiBbY2hlY2tlZF09XCJzZWxlY3RlZFVzZXJJZHM/LmluY2x1ZGVzKHVzZXI/Lm1lbWJlcl9pZCkgfHwgZnV0dXJlVXNlcnNXaWxsU2VsZWN0XCI+PGRpdiBjbGFzcz1cInVzZXItbmFtZVwiID57e3VzZXI/Lm1lbWJlcl9uYW1lfX08L2Rpdj48L3Z1aS1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwidngtbWItM1wiICpuZ0lmPVwic2luZ2xlU2VsZWN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWNzLXJhZGlvICBbbmFtZV09XCIncmFkaW8tc2VsZWN0b3InXCIgKGNoZWNrZWRFdmVudCk9XCJzZWxlY3RJdGVtUmFkaW8oJGV2ZW50LHVzZXIpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIidyeC1jYXRlZ29yeSdcIiBbY2hlY2tlZF09XCJzZWxlY3RlZFVzZXJJZHM/LmluY2x1ZGVzKHVzZXI/Lm1lbWJlcl9pZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwidXNlcj8ubWVtYmVyX2VtYWlsXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3t1c2VyPy5tZW1iZXJfbmFtZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hcHAtY3MtcmFkaW8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub3VzZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8YXBwLW5vLWRhdGEgKm5nSWY9XCIhbG9hZGluZ1wiIFtub0RhdGFJbWFnZV09XCInaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3NlYXJjaC1kYXRhLnN2ZydcIiBbbm9EYXRhVGV4dF09XCIoc2VhcmNoS2V5Py5sZW5ndGggPiAwID8nTm8gbWF0Y2ggZm91bmQuJzonTm8gVXNlcnMgZm91bmQuJylcIj48L2FwcC1uby1kYXRhPlxyXG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXJyZW50VGFiID09PSAnR1JPVVAnXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGdyb3Vwc0xpc3R8c2VhcmNoOnNlYXJjaEtleTonZ3JvdXBfbmFtZScpIGFzIGdyb3Vwc1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItZ3JvdXAtbGlzdC1taWRcIiBbY2xhc3Mud2l0aC1wYWdpbmF0aW9uXT1cImlzUGFnaW5hdGlvblwiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJncm91cHM/Lmxlbmd0aCA+IDA7IGVsc2Ugbm9ncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1saXN0LXNlbGVjdCB2eC1tYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dnVpLWNoZWNrYm94ICNncm91cCBbY2hlY2tlZF09XCJhbGxHcm91cFNlbGVjdGVkXCIgW2Rpc2FibGVkXT1cImFsbEdyb3VwU2VsZWN0ZWREaXNhYmxlZFwiIChjaGFuZ2UpPVwic2VsZWN0QWxsR3JvdXAoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLW5hbWUgdngtZnMtMTIgdngtZnctNjAwIHZ4LWxhYmVsLXR4dCB2eC10dC1ub25lXCI+e3shZ3JvdXA/LmNoZWNrZWQgPyAnU2VsZWN0IEFsbCcgOiAnRGVzZWxlY3QgQWxsJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3Z1aS1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWxpc3QtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidngtbS0wIHZ4LXAtMCB2eC1kLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJ2eC1tYi0zXCIgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGdyb3Vwc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dnVpLWNoZWNrYm94IChjaGFuZ2UpPVwic2VsZWN0R3JvdXAoJGV2ZW50LGdyb3VwKVwiIFtkaXNhYmxlZF09XCJub25SZW1vdmFibGVHcm91cElkcz8uaW5jbHVkZXMoZ3JvdXA/Lmdyb3VwX2lkKVwiIFtjaGVja2VkXT1cInNlbGVjdGVkR3JvdXBJZHM/LmluY2x1ZGVzKGdyb3VwPy5ncm91cF9pZClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLW5hbWUgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC13LTEwMFwiIFthcHBUb29sdGlwXT1cImdyb3VwPy5ncm91cF9uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdXAtbmFtZVwiPnt7Z3JvdXA/Lmdyb3VwX25hbWV9fSA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvdW50ZXIgdngtZnMtOSB2eC1mdy02MDAgdngtcGwtMSB2eC1wci0xIHZ4LWxoLTMgdngtdHQtdXBwZXJjYXNlXCI+e3tncm91cD8ubWVtYmVyX2NvdW50fX0ge3tncm91cD8ubWVtYmVyX2NvdW50ID4gMSA/ICdVU0VSUycgOidVU0VSJ319PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Z1aS1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub2dyb3VwPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLW5vLWRhdGEgKm5nSWY9XCIhbG9hZGluZ1wiIFtub0RhdGFJbWFnZV09XCInaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3NlYXJjaC1kYXRhLnN2ZydcIiBbbm9EYXRhVGV4dF09XCIoc2VhcmNoS2V5Py5sZW5ndGggPiAwID8nTm8gbWF0Y2ggZm91bmQuJzonTm8gZGF0YSB0byBkaXNwbGF5LicpXCI+PC9hcHAtbm8tZGF0YT5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwidXNlci1ncm91cC1saXN0LWZvb3RlclwiPlxyXG4gICAgICAgIDx2dWktZmxvYXRpbmctYmFyICpuZ0lmPVwiKCFzaW5nbGVTZWxlY3QgfHwgKCFzaW5nbGVTZWxlY3QgJiYgc2VsZWN0ZWRSZXZpZXdlcikpXCIgKGNsb3NlRXZlbnQpPVwic2F2ZUxpc3QoKVwiIChjbG9zZUxpc3QpPVwiY2xvc2VMaXN0KClcIiAod29ya2Zsb3dUeXBlQ2hhbmdlZCkgPSBcIndvcmtmbG93VHlwZUNoYW5nZWQoJGV2ZW50KVwiIFtzZWxlY3RlZFdvcmtmbG93XT1cInJldmlld2VyV29ya2Zsb3dUeXBlXCIgW3Nob3dXb3JrZmxvd109XCJzZWxlY3RlZFJldmlld2VyXCIgW2dyb3VwU2VsZWN0ZWRdPVwic2VsZWN0ZWRHcm91cHNcIiBbbW9kZV09XCJtb2RlXCIgW25leHREaXNhYmxlZF09XCJmcm9tQXBwcm92YWxXb3JrZmxvdyAmJiBzZWxlY3RlZFVzZXJzPy5sZW5ndGggPT09IDBcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZ3JvdXBFbmFibGVkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGlwQ29udGFpbmVyIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtcGwtMiB2eC1wci0yIHZ4LW1yLTJcIiAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiBzZWxlY3RlZFVzZXJzPy5zbGljZSgwLDEpO2xldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIGNyb3NzIHZ4LWZzLTEwIHZ4LXBhcmFncmFwaC10eHQgdngtbXItMVwiICpuZ0lmPVwiIW5vblJlbW92YWJsZVVzZXJJZHM/LmluY2x1ZGVzKGVsZW1lbnQ/Lm1lbWJlcl9pZClcIiAoY2xpY2spPVwic2VsZWN0SXRlbSh7dGFyZ2V0OntjaGVja2VkOmZhbHNlfX0sZWxlbWVudClcIj4mI3hlOWFlOzwvaT5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZnJvbUFwcHJvdmFsV29ya2Zsb3cgJiYgYXBwcm92YWxXb3JrZmxvd1R5cGUudG9Mb3dlckNhc2UoKSA9PT0gJ3NlcXVlbnRpYWwnXCIgY2xhc3M9XCJ3b3JrZmxvd0xhdmVsIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1wbC0xIHZ4LXByLTEgdngtbGgtNCB2eC1tci0xIHZ4LXRleHQtY2VudGVyXCI+e3tcclxuICAgICAgICAgICAgICAgIDEgPT0gc2VsZWN0ZWRVc2Vycz8ubGVuZ3RoXHJcbiAgICAgICAgICAgICAgICAgID8gXCJGaW5hbFwiXHJcbiAgICAgICAgICAgICAgICAgIDogMVxyXG4gICAgICAgICAgICAgIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGlwTmFtZSB2eC1mcy0xMSB2eC1sYWJlbC10eHRcIiBbYXBwVG9vbHRpcF09XCJlbGVtZW50Py5tZW1iZXJfbmFtZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj57e2VsZW1lbnQ/Lm1lbWJlcl9uYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInNlbGVjdGVkVXNlcnM/Lmxlbmd0aD4xXCIgY2xhc3M9XCJjb3VudEJ0biB2eC1mcy05IHZ4LWZ3LTUwMCB2eC10eHQtd2hpdGUgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlciB2eC1saC00IGdyZWVuQmdcIiBhcHBQb3BvdmVyIChjbGljayk9XCJncm91cERpc2FibGUucG9wb3ZlcigpXCIgcGxhY2VtZW50PVwibGVmdFwiPit7e3NlbGVjdGVkVXNlcnM/LnNsaWNlKDEpPy5sZW5ndGh9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNoaXBcIiAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiBzZWxlY3RlZFVzZXJzPy5zbGljZSgwLDEpO2xldCBpID0gaW5kZXhcIj48aSAqbmdJZj1cIiFub25SZW1vdmFibGVVc2VySWRzPy5pbmNsdWRlcyhlbGVtZW50Py5tZW1iZXJfaWQpXCIgKGNsaWNrKT1cInNlbGVjdEl0ZW0oe3RhcmdldDp7Y2hlY2tlZDpmYWxzZX19LGVsZW1lbnQpXCIgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGQ7PC9pPiA8c3Bhbj57e2VsZW1lbnQ/Lm1lbWJlcl9uYW1lfX08L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50ZXJcIiAqbmdJZj1cInNlbGVjdGVkVXNlcnM/Lmxlbmd0aD4xXCIgYXBwUG9wb3ZlciAoY2xpY2spPVwiZ3JvdXBEaXNhYmxlLnBvcG92ZXIoKVwiXHJcbiAgICAgICAgICAgICAgcGxhY2VtZW50PVwibGVmdFwiPit7e3NlbGVjdGVkVXNlcnM/LnNsaWNlKDEpPy5sZW5ndGh9fTwvZGl2PiAtLT5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItZ3JvdXAtY2hpcFwiICpuZ0lmPVwic2VsZWN0ZWRVc2Vycz8ubGVuZ3RoICYmIGdyb3VwRW5hYmxlZFwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIGNyb3NzXCIgKm5nSWY9XCIhbm9uUmVtb3ZhYmxlVXNlcklkcz8uaW5jbHVkZXMoc2VsZWN0ZWRVc2Vyc1swXT8ubWVtYmVyX2lkKVwiIChjbGljayk9XCJzZWxlY3RJdGVtKHt0YXJnZXQ6e2NoZWNrZWQ6ZmFsc2V9fSxzZWxlY3RlZFVzZXJzWzBdKVwiPiYjeGU5YWU7PC9pPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1ncm91cC1uYW1lXCI+e3tzZWxlY3RlZFVzZXJzWzBdPy5tZW1iZXJfbmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJncm91cEVuYWJsZWRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY291bnRlclwiICpuZ0lmPVwic2VsZWN0ZWRVc2Vycz8ubGVuZ3RoID4gMVwiIGFwcFBvcG92ZXIgKGNsaWNrKT1cInVzZXJDb3VudC5wb3BvdmVyKClcIlxyXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cImxlZnRcIj4re3tzZWxlY3RlZFVzZXJzPy5sZW5ndGggLSAxfX08L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lIHVzZXJHcm91cC1uYW1lXCI+XHJcbiAgICAgICAgICAgIDwhLS0ge3tzZWxlY3RlZEdyb3VwcyAmJiBzZWxlY3RlZEdyb3Vwcz8ubGVuZ3RoID4gMCA/JyAmICc6Jyd9fSAtLT5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1c2VyR3JvdXAtdGV4dFwiICpuZ0lmPVwic2VsZWN0ZWRVc2Vycz8ubGVuZ3RoID09PSAxXCI+VXNlciB7e3NlbGVjdGVkR3JvdXBzPy5sZW5ndGggPiAwID8nICYgJzonIHNlbGVjdGVkJ319PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInVzZXJHcm91cC10ZXh0XCIgKm5nSWY9XCJzZWxlY3RlZFVzZXJzPy5sZW5ndGggPiAxXCI+VXNlcnMge3tzZWxlY3RlZEdyb3Vwcz8ubGVuZ3RoID4gMCA/JyAmICc6J3NlbGVjdGVkJ319PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItZ3JvdXAtY2hpcFwiICpuZ0lmPVwic2VsZWN0ZWRHcm91cHM/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIGNyb3NzXCIgKm5nSWY9XCIhbm9uUmVtb3ZhYmxlR3JvdXBJZHM/LmluY2x1ZGVzKHNlbGVjdGVkR3JvdXBzWzBdPy5ncm91cF9pZClcIiAoY2xpY2spPVwic2VsZWN0R3JvdXAoe3RhcmdldDp7Y2hlY2tlZDpmYWxzZX19LHNlbGVjdGVkR3JvdXBzWzBdKVwiPiYjeGU5YWU7PC9pPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1ncm91cC1uYW1lXCI+e3tzZWxlY3RlZEdyb3Vwc1swXT8uZ3JvdXBfbmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb3VudGVyIGdyb3VwXCIgKm5nSWY9XCJzZWxlY3RlZEdyb3Vwcz8ubGVuZ3RoID4gMVwiICAgYXBwUG9wb3ZlciAoY2xpY2spPVwiZ3JvdXBDb3VudC5wb3BvdmVyKClcIlxyXG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJsZWZ0XCI+K3t7c2VsZWN0ZWRHcm91cHM/Lmxlbmd0aCAtIDF9fTwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUgdXNlckdyb3VwLW5hbWVcIj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwic2VsZWN0ZWRHcm91cHM/Lmxlbmd0aCA9PT0gMVwiPnt7ZmVhdHVyZWZsYWcgPydVc2VyIEdyb3VwIHNlbGVjdGVkJzonR3JvdXAgc2VsZWN0ZWQnfX08L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInNlbGVjdGVkR3JvdXBzPy5sZW5ndGggPiAxXCI+e3tmZWF0dXJlZmxhZyA/J1VzZXIgR3JvdXBzIHNlbGVjdGVkJzonR3JvdXBzIHNlbGVjdGVkJ319PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8YXBwLXBvcG92ZXIgI3VzZXJDb3VudCBbZG9udENsb3Nlb25DbGlja109XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxyXG4gICAgICAgICAgICAgIDx1bCBjbGFzcz1cImFjdGlvbi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2Ygc2VsZWN0ZWRVc2VycyB8IHNsaWNlOiAxOyBsZXQgaSA9aW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiICpuZ0lmPVwiIW5vblJlbW92YWJsZVVzZXJJZHM/LmluY2x1ZGVzKGVsZW1lbnQ/Lm1lbWJlcl9pZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0SXRlbSh7dGFyZ2V0OntjaGVja2VkOmZhbHNlfX0sZWxlbWVudClcIj4mI3hlOTBkOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7ZWxlbWVudD8ubWVtYmVyX25hbWV9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvYXBwLXBvcG92ZXI+XHJcblxyXG4gICAgICAgICAgPGFwcC1wb3BvdmVyICNncm91cERpc2FibGUgW2RvbnRDbG9zZW9uQ2xpY2tdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiYWN0aW9uLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mIHNlbGVjdGVkVXNlcnMuc2xpY2UoMSkgbGV0IGkgPWluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIiAqbmdJZj1cIiFub25SZW1vdmFibGVVc2VySWRzPy5pbmNsdWRlcyhlbGVtZW50Py5tZW1iZXJfaWQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0SXRlbSh7dGFyZ2V0OntjaGVja2VkOmZhbHNlfX0sZWxlbWVudClcIj4mI3hlOTBkOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImZyb21BcHByb3ZhbFdvcmtmbG93ICYmIGFwcHJvdmFsV29ya2Zsb3dUeXBlLnRvTG93ZXJDYXNlKCkgPT09ICdzZXF1ZW50aWFsJ1wiIGNsYXNzPVwid29ya2Zsb3dMYXZlbCB2eC1mcy0xMSB2eC1mdy01MDAgdngtcGwtMSB2eC1wci0xIHZ4LWxoLTQgdngtbXItMSB2eC10ZXh0LWNlbnRlclwiPnt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpKzEgPT09XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFVzZXJzPy5sZW5ndGggLSAxXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gXCJGaW5hbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaSArIDJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3tlbGVtZW50Py5tZW1iZXJfbmFtZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9hcHAtcG9wb3Zlcj5cclxuXHJcbiAgICAgICAgICA8YXBwLXBvcG92ZXIgI2dyb3VwQ291bnQgW2RvbnRDbG9zZW9uQ2xpY2tdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2YtYWN0aW9uLWxpc3RcIj5cclxuICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mIHNlbGVjdGVkR3JvdXBzIHwgc2xpY2U6IDE7IGxldCBpID1pbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWNhcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCIgKm5nSWY9XCIhbm9uUmVtb3ZhYmxlR3JvdXBJZHM/LmluY2x1ZGVzKGVsZW1lbnQ/Lmdyb3VwX2lkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RHcm91cCh7dGFyZ2V0OntjaGVja2VkOmZhbHNlfX0sZWxlbWVudClcIj4mI3hlOTBkOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7ZWxlbWVudD8uZ3JvdXBfbmFtZX19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2FwcC1wb3BvdmVyPlxyXG4gICAgICAgIDwvdnVpLWZsb2F0aW5nLWJhcj5cclxuICAgICAgICA8dnVpLWZsb2F0aW5nLWJhciAqbmdJZj1cInNpbmdsZVNlbGVjdFwiIChjbG9zZUV2ZW50KT1cInNhdmVMaXN0KClcIiAoY2xvc2VMaXN0KT1cImNsb3NlTGlzdCgpXCIgW25leHREaXNhYmxlZF09XCJmcm9tQXBwcm92YWxXb3JrZmxvdyAmJiBzZWxlY3RlZFVzZXJzPy5sZW5ndGggPT09IDBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoaXBcIiAqbmdJZj1cInNlbGVjdGVkVXNlcnM/Lmxlbmd0aFwiID5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIiAoY2xpY2spPVwic2VsZWN0SXRlbSh7dGFyZ2V0OntjaGVja2VkOmZhbHNlfX0sc2VsZWN0ZWRVc2Vyc1swXSlcIj4mI3hlOTBkOzwvaT5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiPiB7e3NlbGVjdGVkVXNlcnNbMF0/Lm1lbWJlcl9uYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3Z1aS1mbG9hdGluZy1iYXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInVzZXItZ3JvdXAtbGlzdC1jb25maXJtYXRpb25cIiAqbmdJZj1cInNob3dDb25maXJtYXRpb25cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbmZpcm1hdGlvbi10b3BcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWJsb2NrXCI+PGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MzA7PC9pPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHRcIj5UaGlzIGFjdGlvbiB3aWxsIHJlc2V0IHRoZSBkZWZhdWx0IHt7dXNlclR5cGV9fSBzZWxlY3RlZCBmb3IgdGhlIFByb2dyYW0uPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29uZmlybWF0aW9uLWJvdHRvbVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2VcIj5BcmUgeW91IHN1cmUgeW91IHdvdWxkIGxpa2UgdG8gcHJvY2VlZD88L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tZ3JvdXBcIj5cclxuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibm8tYnRuXCIgKGNsaWNrKT1cImNvbmZpcm1BY3Rpb24oJ05PJylcIj5OTzwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJ5ZXMtYnRuXCIgKGNsaWNrKT1cImNvbmZpcm1BY3Rpb24oJ1lFUycpXCI+WUVTPC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG4iXX0=