barsa-sap-ui 2.2.44 → 2.2.46

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.
@@ -478,7 +478,7 @@ export const INIT_SAPFIORI = (rtlService, contentDensityService, themeService, p
478
478
  const userSettings = userPortalSettings['UserPortalSettings'];
479
479
  let contentDensity;
480
480
  if (!userSettings) {
481
- const defaultTheme = localStorageService.getItem('default_theme') || 'sap_fiori_3';
481
+ const defaultTheme = localStorageService.getItem('default_theme') || 'sap_horizon';
482
482
  setTheme(defaultTheme);
483
483
  if (getDeviceIsMobile() || getDeviceIsPhone() || getDeviceIsTablet()) {
484
484
  contentDensity = ContentDensityMode.COZY;
@@ -552,4 +552,4 @@ export const INIT_SAPFIORI = (rtlService, contentDensityService, themeService, p
552
552
  }
553
553
  });
554
554
  };
555
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTJDLGtCQUFrQixFQUFrQixNQUFNLHVCQUF1QixDQUFDO0FBQ3BILE9BQU8sRUFDSCxRQUFRLEVBQ1IsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixpQkFBaUIsRUFHcEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQy9HLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3RHLE9BQU8s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LFdBQVcsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ25FLFFBQVEsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMvRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDcEUsUUFBUSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2hFLENBQUM7WUFDRCxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUnRsU2VydmljZSwgR2xvYmFsQ29udGVudERlbnNpdHlTZXJ2aWNlLCBDb250ZW50RGVuc2l0eU1vZGUsIFRoZW1pbmdTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcclxuaW1wb3J0IHtcclxuICAgIEJhcnNhQXBpLFxyXG4gICAgZ2V0RGV2aWNlSXNNb2JpbGUsXHJcbiAgICBnZXREZXZpY2VJc1Bob25lLFxyXG4gICAgZ2V0RGV2aWNlSXNUYWJsZXQsXHJcbiAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgUG9ydGFsU2VydmljZVxyXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuaW1wb3J0IHsgVWlUZXh0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL3VpLXRleHQtZmllbGQvdWktdGV4dC1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMeUxheW91dEZpZWxkTGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2x5LWxheW91dC1maWVsZC1sYWJlbC9seS1sYXlvdXQtZmllbGQtbGFiZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlDaGVja0JveENvbXBvbmVudCB9IGZyb20gJy4vdWktY2hlY2stYm94L3VpLWNoZWNrLWJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVNpbXBsZUNvbWJvQ29tcG9uZW50IH0gZnJvbSAnLi91aS1zaW1wbGUtY29tYm8vdWktc2ltcGxlLWNvbWJvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpUmFkaW9Hcm91cENvbXBvbmVudCB9IGZyb20gJy4vdWktcmFkaW8tZ3JvdXAvdWktcmFkaW8tZ3JvdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi91aS1ncmlkL3VpLWdyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlNYXBDb21wb25lbnQgfSBmcm9tICcuL3VpLW1hcC91aS1tYXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTHlMYXlvdXRDb250YWluZXJPZlJvb3RDb21wb25lbnQgfSBmcm9tICcuL2x5LWxheW91dC1jb250YWluZXItb2Ytcm9vdC9seS1sYXlvdXQtY29udGFpbmVyLW9mLXJvb3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTHlMYXlvdXRQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vbHktbGF5b3V0LXBhbmVsL2x5LWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVJlYWRPbmx5RmllbGRDb21wb25lbnQgfSBmcm9tICcuL3VpLXJlYWQtb25seS1maWVsZC91aS1yZWFkLW9ubHktZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlDb250YWluZXJXaXRoQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi91aS1jb250YWluZXItd2l0aC1idXR0b24vdWktY29udGFpbmVyLXdpdGgtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpUGljdHVyZUZpbGVDb21wb25lbnQgfSBmcm9tICcuL3VpLXBpY3R1cmUtZmlsZS91aS1waWN0dXJlLWZpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlNb0luZm9VbHZDb21ib0NvbXBvbmVudCB9IGZyb20gJy4vdWktbW8taW5mby11bHYtY29tYm8vdWktbW8taW5mby11bHYtY29tYm8uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlNdWx0aVNlbGVjdENvbWJvQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tdWx0aS1zZWxlY3QtY29tYm8vdWktbXVsdGktc2VsZWN0LWNvbWJvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpTnVtRGVjaW1hbFVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS1udW0tZGVjaW1hbC11aS91aS1udW0tZGVjaW1hbC11aS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaU51bUludFVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS1udW0taW50LXVpL3VpLW51bS1pbnQtdWkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlUaW1lU3BhbkNvbXBvbmVudCB9IGZyb20gJy4vdWktdGltZS1zcGFuL3VpLXRpbWUtc3Bhbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUZpbGVMaW5lYXJMaXN0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi91aS1maWxlLWxpbmVhci1saXN0LWJveC91aS1maWxlLWxpbmVhci1saXN0LWJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMeUVtcHR5U3BhY2VDb21wb25lbnQgfSBmcm9tICcuL2x5LWVtcHR5LXNwYWNlL2x5LWVtcHR5LXNwYWNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpU2luZ2xlUGljdHVyZUNvbXBvbmVudCB9IGZyb20gJy4vdWktc2luZ2xlLXBpY3R1cmUvdWktc2luZ2xlLXBpY3R1cmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWx2U2VsZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi91bHYtc2VsZWN0aW9uL3Vsdi1zZWxlY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWx2VG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vdWx2LXRvb2xiYXIvdWx2LXRvb2xiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWx2UGFnaW5nQ29tcG9uZW50IH0gZnJvbSAnLi91bHYtcGFnaW5nL3Vsdi1wYWdpbmcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlHcmlkU29ydFNldHRpbmdDb21wb25lbnQgfSBmcm9tICcuL3VpLWdyaWQtc29ydC1zZXR0aW5nL3VpLWdyaWQtc29ydC1zZXR0aW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpR3JpZFNvcnRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi91aS1ncmlkLXNvcnQtaXRlbS91aS1ncmlkLXNvcnQtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUdyaWRDb2x1bW5zQ29tcG9uZW50IH0gZnJvbSAnLi91aS1ncmlkLWNvbHVtbnMvdWktZ3JpZC1jb2x1bW5zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hc2tDb21wb25lbnQgfSBmcm9tICcuL21hc2svbWFzay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUluZm9CYXJQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vdWktaW5mby1iYXItcGFuZWwvdWktaW5mby1iYXItcGFuZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlGb3JtUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL3VpLWZvcm0tcGFuZWwvdWktZm9ybS1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVNlYXJjaENvbW1hbmRJbmZvVWlDb21wb25lbnQgfSBmcm9tICcuL3VpLXNlYXJjaC1jb21tYW5kLWluZm8tdWkvdWktc2VhcmNoLWNvbW1hbmQtaW5mby11aS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVbHZTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vdWx2LXNldHRpbmdzL3Vsdi1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVRpbnltY2VDb21wb25lbnQgfSBmcm9tICcuL3VpLXRpbnltY2UvdWktdGlueW1jZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdWktYnV0dG9uL3VpLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaURhdGVUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi91aS1kYXRlLXRpbWUvdWktZGF0ZS10aW1lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZGlhbG9nL2Zvcm0tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpTW9JbmZvU3ViRm9ybVVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tby1pbmZvLXN1Yi1mb3JtLXVpL3VpLW1vLWluZm8tc3ViLWZvcm0tdWkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVzcG9uc2l2ZVRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3Jlc3BvbnNpdmUtdG9vbGJhci9yZXNwb25zaXZlLXRvb2xiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVzcG9uc2l2ZVRvb2xiYXJSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4vcmVzcG9uc2l2ZS10b29sYmFyLXJlbmRlcmVyL3Jlc3BvbnNpdmUtdG9vbGJhci1yZW5kZXJlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVRleHRBcmVhQ29tcG9uZW50IH0gZnJvbSAnLi91aS10ZXh0LWFyZWEvdWktdGV4dC1hcmVhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExheW91dENvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuL2xheW91dC1jb250cm9sL2xheW91dC1jb250cm9sLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExheW91dFdpemFyZENvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0LXdpemFyZC9sYXlvdXQtd2l6YXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1XaXphcmRDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0td2l6YXJkL2Zvcm0td2l6YXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdpemFyZExheW91dERpcmVjdGl2ZSB9IGZyb20gJy4vd2l6YXJkLWxheW91dC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBGb3JtRGlhbG9nTGVzc0NvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1kaWFsb2ctbGVzcy9mb3JtLWRpYWxvZy1sZXNzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJpY2hUZXh0U3RhdGljQ29tcG9uZW50IH0gZnJvbSAnLi9yaWNoLXRleHQtc3RhdGljL3JpY2gtdGV4dC1zdGF0aWMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlQaWN0dXJlc0luZm9Db21wb25lbnQgfSBmcm9tICcuL3VpLXBpY3R1cmVzLWluZm8vdWktcGljdHVyZXMtaW5mby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMeUhvcml6b250YWxMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2x5LWhvcml6b250YWwtbGF5b3V0L2x5LWhvcml6b250YWwtbGF5b3V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEx5VmVydGljYWxMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2x5LXZlcnRpY2FsLWxheW91dC9seS12ZXJ0aWNhbC1sYXlvdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTHlUYWJDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2x5LXRhYi1jb250YWluZXIvbHktdGFiLWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMeVRhYlBhZ2VDb21wb25lbnQgfSBmcm9tICcuL2x5LXRhYi1wYWdlL2x5LXRhYi1wYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEx5TGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2x5LWxhYmVsL2x5LWxhYmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbFJlbmRlcmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9jb2wtcmVuZGVyZXIuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgVWlNb0luZm9Db21ib1ZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vdWktbW8taW5mby1jb21iby12aWV3ZXIvdWktbW8taW5mby1jb21iby12aWV3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWxNc2dCb3hBZGFwdGVyQ29tcG9uZW50IH0gZnJvbSAnLi91bC1tc2ctYm94LWFkYXB0ZXIvdWwtbXNnLWJveC1hZGFwdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEhlYWRlckF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyLWF2YXRhci9oZWFkZXItYXZhdGFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFwcGx5Q29uZGl0aW9uYWxGb3JtYXRzRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHBseS1jb25kaXRpb25hbC1mb3JtbWF0aW5ncy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBVaVdvcmtmbG93UGFuZWxVaUNvbXBvbmVudCB9IGZyb20gJy4vdWktd29ya2Zsb3ctcGFuZWwtdWkvdWktd29ya2Zsb3ctcGFuZWwtdWkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWx2Q29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICcuL3Vsdi1jb250ZXh0LW1lbnUvdWx2LWNvbnRleHQtbWVudS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVbExvYWRpbmdNYXNrVWlDb21wb25lbnQgfSBmcm9tICcuL3VsLWxvYWRpbmctbWFzay11aS91bC1sb2FkaW5nLW1hc2stdWkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlUZXh0RmllbGRBdXRvQ29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL3VpLXRleHQtZmllbGQtYXV0by1jb21wbGV0ZS91aS10ZXh0LWZpZWxkLWF1dG8tY29tcGxldGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2FwdGNoYUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jYXB0Y2hhLWZpZWxkL2NhcHRjaGEtZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTHlTaW1wbGVMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vbHktc2ltcGxlLWxhYmVsL2x5LXNpbXBsZS1sYWJlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHbG9iYWxTZWFyY2hQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vZ2xvYmFsLXNlYXJjaC1wYW5lbC9nbG9iYWwtc2VhcmNoLXBhbmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdsb2JhbFNlYXJjaE1vZHVsZUNvbXBvbmVudCB9IGZyb20gJy4vZ2xvYmFsLXNlYXJjaC1tb2R1bGUvZ2xvYmFsLXNlYXJjaC1tb2R1bGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgR2xvYmFsU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi9nbG9iYWwtc2VhcmNoL2dsb2JhbC1zZWFyY2guY29tcG9uZW50JztcclxuaW1wb3J0IHsgSHlwZXJsaW5rQ29tcG9uZW50IH0gZnJvbSAnLi9oeXBlcmxpbmsvaHlwZXJsaW5rLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN0YXRpY1RleHRDb21wb25lbnQgfSBmcm9tICcuL3N0YXRpYy10ZXh0L3N0YXRpYy10ZXh0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVsVG9hc3RBZGFwdGVyQ29tcG9uZW50IH0gZnJvbSAnLi91bC10b2FzdC1hZGFwdGVyL3VsLXRvYXN0LWFkYXB0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWVzc2FnZVN0cmlwQ29tcG9uZW50IH0gZnJvbSAnLi9tZXNzYWdlLXN0cmlwL21lc3NhZ2Utc3RyaXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlMaW5lYXJMaXN0Q29udGFpbmVyV2l0aEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdWktbGluZWFyLWxpc3QtY29udGFpbmVyLXdpdGgtYnV0dG9uL3VpLWxpbmVhci1saXN0LWNvbnRhaW5lci13aXRoLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGdW5kYW1lbnRhbER5bmFtaWNGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mdW5kYW1lbnRhbC1keW5hbWljLWZvcm0vZnVuZGFtZW50YWwtZHluYW1pYy1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExheW91dEFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2xheW91dC1hY3Rpb25zL2xheW91dC1hY3Rpb25zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEx5TGF5b3V0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9seS1sYXlvdXQtY29udGFpbmVyL2x5LWxheW91dC1jb250YWluZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlVbHZGb3JtTXVsdGlTZWxlY3RVaUNvbXBvbmVudCB9IGZyb20gJy4vdWktdWx2LWZvcm0tbXVsdGktc2VsZWN0LXVpL3VpLXVsdi1mb3JtLW11bHRpLXNlbGVjdC11aS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVbHZGb3JtTXVsdGlTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3Vsdi1mb3JtLW11bHRpLXNlbGVjdC91bHYtZm9ybS1tdWx0aS1zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWx2Q29sdW1uU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL3Vsdi1jb2x1bW4tc2V0dGluZ3MvdWx2LWNvbHVtbi1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVbHZGaWx0ZXJTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vdWx2LWZpbHRlci1zZXR0aW5ncy91bHYtZmlsdGVyLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVsdlNvcnRTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vdWx2LXNvcnQtc2V0dGluZ3MvdWx2LXNvcnQtc2V0dGluZ3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWx2R3JvdXBieVNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi91bHYtZ3JvdXBieS1zZXR0aW5ncy91bHYtZ3JvdXBieS1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUxpc3RGaWxlTGluZWFyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1saXN0LWZpbGUtbGluZWFyL2JhcnNhLWxpc3QtZmlsZS1saW5lYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlQZGZWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL3VpLXBkZi12aWV3ZXIvdWktcGRmLXZpZXdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYVRpbnllbWNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10aW55ZW1jZS9iYXJzYS10aW55ZW1jZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaU1vbmFjb0VkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vdWktbW9uYWNvLWVkaXRvci91aS1tb25hY28tZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhTW9uYWNvRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1tb25hY28tZWRpdG9yL2JhcnNhLW1vbmFjby1lZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FEYXRlVGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtZGF0ZS10aW1lLXBpY2tlci9iYXJzYS1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhVHJlZUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRyZWUtaXRlbS9iYXJzYS10cmVlLWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVXBsb2FkRmlsZVN0YXR1c1BpcGUgfSBmcm9tICcuL3VwbG9hZC1maWxlLXN0YXR1cy5waXBlJztcclxuaW1wb3J0IHsgVWlTd2l0Y2hCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3VpLXN3aXRjaC1idXR0b24vdWktc3dpdGNoLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUNvbG9yVWlDb21wb25lbnQgfSBmcm9tICcuL3VpLWNvbG9yLXVpL3VpLWNvbG9yLXVpLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEx5TGluZUNvbXBvbmVudCB9IGZyb20gJy4vbHktbGluZS9seS1saW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpVWx2TWFpblVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS11bHYtbWFpbi11aS91aS11bHYtbWFpbi11aS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXBvcnROYXZpZ2F0b3JDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydC1uYXZpZ2F0b3IvcmVwb3J0LW5hdmlnYXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYW5hZ2VGaWx0ZXJzUmVwb3J0Q29tcG9uZW50IH0gZnJvbSAnLi9tYW5hZ2UtZmlsdGVycy1yZXBvcnQvbWFuYWdlLWZpbHRlcnMtcmVwb3J0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlcG9ydFNlYXJjaEZpZWxkc01hbmFnZUNvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0LXNlYXJjaC1maWVsZHMtbWFuYWdlL3JlcG9ydC1zZWFyY2gtZmllbGRzLW1hbmFnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXBvcnRTZWFyY2hGaWVsZHNIaWRkZW5TZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0LXNlYXJjaC1maWVsZHMtaGlkZGVuLXNldHRpbmdzL3JlcG9ydC1zZWFyY2gtZmllbGRzLWhpZGRlbi1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWFyY2hQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLXBhbmVsL3NlYXJjaC1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXBvcnRTZWFyY2hQYW5lbFNhdmVDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydC1zZWFyY2gtcGFuZWwtc2F2ZS9yZXBvcnQtc2VhcmNoLXBhbmVsLXNhdmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlHcmlkRmlsdGVyU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL3VpLWdyaWQtZmlsdGVyLXNldHRpbmdzL3VpLWdyaWQtZmlsdGVyLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpR3JpZEZpbHRlckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3VpLWdyaWQtZmlsdGVyLWl0ZW0vdWktZ3JpZC1maWx0ZXItaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTYXBGb250UGlwZSB9IGZyb20gJy4vc2FwLWZvbnQucGlwZSc7XHJcbmltcG9ydCB7IFNhcEZvbnRDbGFzc1BpcGUgfSBmcm9tICcuL3NhcC1mb250LWNsYXNzLnBpcGUnO1xyXG5pbXBvcnQgeyBVaURhdGVSYW5nZUV4Q29tcG9uZW50IH0gZnJvbSAnLi91aS1kYXRlLXJhbmdlLWV4L3VpLWRhdGUtcmFuZ2UtZXguY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWxOb3RpZnlQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vdWwtbm90aWZ5LXBvcHVwL3VsLW5vdGlmeS1wb3B1cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVRhYmxlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdWktdGFibGUtdmlldy91aS10YWJsZS12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpTGlzdFZpZXdDb21wb25lbnQgfSBmcm9tICcuL3VpLWxpc3Qtdmlldy91aS1saXN0LXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3RyaW5nVG9BcnJheVBpcGUsIFVpQ2FyZFZpZXdDb21wb25lbnQgfSBmcm9tICcuL3VpLWNhcmQtdmlldy91aS1jYXJkLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlSZXBvcnRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3VpLXJlcG9ydC1jb250YWluZXIvdWktcmVwb3J0LWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOb0RhdGFDb21wb25lbnQgfSBmcm9tICcuL25vLWRhdGEvbm8tZGF0YS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2x1bW5SZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4vY29sdW1uLXJlbmRlcmVyL2NvbHVtbi1yZW5kZXJlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbmxpbmVTYXZlQW5kQ2FuY2VsQ29tcG9uZW50IH0gZnJvbSAnLi9pbmxpbmUtc2F2ZS1hbmQtY2FuY2VsL2lubGluZS1zYXZlLWFuZC1jYW5jZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlUcmVlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdWktdHJlZS12aWV3L3VpLXRyZWUtdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVRyZWVDb21wb25lbnQgfSBmcm9tICcuL3VpLXRyZWUvdWktdHJlZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUNhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSAnLi91aS1jYWxlbmRhci91aS1jYWxlbmRhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOb2RlSGFzT25lRGVwdGhMZXZlbFBpcGUgfSBmcm9tICcuL2JhcnNhLXRyZWUtaXRlbS9ub2RlLWhhcy1vbmUtZGVwdGgtbGV2ZWwucGlwZSc7XHJcbmltcG9ydCB7IFVpQXNwUmVwb3J0Vmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi91aS1hc3AtcmVwb3J0LXZpZXdlci91aS1hc3AtcmVwb3J0LXZpZXdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUdyYXBoQ29tcG9uZW50IH0gZnJvbSAnLi91aS1ncmFwaC91aS1ncmFwaC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUV4Y2VwdGlvbkZvcm1Db21wb25lbnQgfSBmcm9tICcuL3VpLWV4Y2VwdGlvbi1mb3JtL3VpLWV4Y2VwdGlvbi1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpRWRpdGFibGVHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi91aS1lZGl0YWJsZS1ncmlkL3VpLWVkaXRhYmxlLWdyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29sdW1uTWF0cml4UmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbHVtbi1tYXRyaXgtcmVuZGVyZXIvY29sdW1uLW1hdHJpeC1yZW5kZXJlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaU1hdHJpeFZpZXdDb21wb25lbnQgfSBmcm9tICcuL3VpLW1hdHJpeC12aWV3L3VpLW1hdHJpeC12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbURhdGVUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi9jdXN0b20tZGF0ZS10aW1lL2N1c3RvbS1kYXRlLXRpbWUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0cml4VmFsdWVQaXBlIH0gZnJvbSAnLi9jb2x1bW4tbWF0cml4LXJlbmRlcmVyL21hdHJpeC12YWx1ZS5waXBlJztcclxuaW1wb3J0IHsgQmFyc2FBc3BWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWFzcC12aWV3ZXIvYmFyc2EtYXNwLXZpZXdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWxlSW5EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtaW4tZGlhbG9nL2ZpbGUtaW4tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IER5bmFtaWNQYWdlU2l6ZVBpcGUgfSBmcm9tICcuL2R5bmFtaWMtcGFnZS1zaXplLnBpcGUnO1xyXG5pbXBvcnQgeyBSZXBvcnRWaWV3UmVuZGVyZXJEaXJlY3RpdmUgfSBmcm9tICcuL3JlcG9ydC12aWV3LXJlbmRlcmVyLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFVpTW9JbmZvR2VuZXJhbE9iamVjdFVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tby1pbmZvLWdlbmVyYWwtb2JqZWN0LXVpL3VpLW1vLWluZm8tZ2VuZXJhbC1vYmplY3QtdWkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlHYW50dENoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi91aS1nYW50dC1jaGFydC91aS1nYW50dC1jaGFydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHYW50dERodG1sQ2hhcnRWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9nYW50dC1kaHRtbC1jaGFydC12aWV3L2dhbnR0LWRodG1sLWNoYXJ0LXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRnVsbHNjcmVlbkRpYWxvZ0RpcmVjdGl2ZSB9IGZyb20gJy4vZnVsbHNjcmVlbi1kaWFsb2cuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUHJvZ3Jlc3NJbmRpY2F0b3JDb21wb25lbnQgfSBmcm9tICcuL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2FyZFZpZXdDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jYXJkLXZpZXctY29udGVudC9jYXJkLXZpZXctY29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDYXJkSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY2FyZC1pdGVtL2NhcmQtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUNhcmRWaWV3SG9yaXpvbnRhbEdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi91aS1jYXJkLXZpZXctaG9yaXpvbnRhbC1ncm91cC91aS1jYXJkLXZpZXctaG9yaXpvbnRhbC1ncm91cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4vdGl0bGUvdGl0bGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FVbHZNYWluQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS11bHYtbWFpbi9iYXJzYS11bHYtbWFpbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMaXN0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIdHJlZUNyZWF0ZU5ld0NvbXBvbmVudCB9IGZyb20gJy4vaHRyZWUtY3JlYXRlLW5ldy9odHJlZS1jcmVhdGUtbmV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhVGFibGVSb3dDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRhYmxlLXJvdy9iYXJzYS10YWJsZS1yb3cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FUYWJsZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtdGFibGUtY29sdW1uL2JhcnNhLXRhYmxlLWNvbHVtbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYVRhYmxlSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10YWJsZS1oZWFkZXIvYmFyc2EtdGFibGUtaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUxhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi91aS1sYWJlbC91aS1sYWJlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtVG9vbGJhckJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS10b29sYmFyLWJ1dHRvbi9mb3JtLXRvb2xiYXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhU2VhcmNoRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2Etc2VhcmNoLWZvcm0vYmFyc2Etc2VhcmNoLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVwb3J0TmV3VG9wRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0LW5ldy10b3AtZm9ybS9yZXBvcnQtbmV3LXRvcC1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhTmV0d29ya09mZmxpbmVDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLW5ldHdvcmstb2ZmbGluZS9iYXJzYS1uZXR3b3JrLW9mZmxpbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmxvYlZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vYmxvYi12aWV3ZXIvYmxvYi12aWV3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsZVZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsZS12aWV3ZXIvZmlsZS12aWV3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsZVZpZXdlckNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtdmlld2VyLWNvbnRlbnQvZmlsZS12aWV3ZXItY29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWxlVmlld2VyUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsZS12aWV3ZXItcG9wb3Zlci9maWxlLXZpZXdlci1wb3BvdmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERvd25sb2FkRmlsZXNEaXJlY3RpdmUgfSBmcm9tICcuL2Rvd25sb2FkLWZpbGVzLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEZ1bGxzY3JlZW5GaWxlc0RpcmVjdGl2ZSB9IGZyb20gJy4vZnVsbHNjcmVlbi1maWxlcy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9ub3RpZmljYXRpb24taXRlbS9ub3RpZmljYXRpb24taXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUNhcnRhYmxlVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNhcnRhYmxlLXRlbXBsYXRlL2JhcnNhLWNhcnRhYmxlLXRlbXBsYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhQ2FydGFibGVHcm91cENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtZ3JvdXAtY2FydGFibGUvYmFyc2EtY2FydGFibGUtZ3JvdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDYXJ0YWJsZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNhcnRhYmxlLWZvcm0vYmFyc2EtY2FydGFibGUtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUNvbHVtbkluZGljYXRvckNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY29sdW1uLWluZGljYXRvci9iYXJzYS1jb2x1bW4taW5kaWNhdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhRmllbGRLZXlWYWx1ZUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtZmllbGQta2V5LXZhbHVlL2JhcnNhLWZpZWxkLWtleS12YWx1ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYVRvb2xiYXJpdGVtU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10b29sYmFyaXRlbS1zZWFyY2gvYmFyc2EtdG9vbGJhcml0ZW0tc2VhcmNoLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpSHRtbFZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vdWktaHRtbC12aWV3ZXIvdWktaHRtbC12aWV3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FQaXNobmFtYXllc2hQYXlhbUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtcGlzaG5hbWF5ZXNoLXBheWFtL2JhcnNhLXBpc2huYW1heWVzaC1wYXlhbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYVRleHRFbGxpcHNpc0NvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtdGV4dC1lbGxpcHNpcy9iYXJzYS10ZXh0LWVsbGlwc2lzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhTGlzdEZpbGVMaW5lYXJHbWFpbENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtbGlzdC1maWxlLWxpbmVhci1nbWFpbC9iYXJzYS1saXN0LWZpbGUtbGluZWFyLWdtYWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhTGlua2FibGVJdGVtc1BhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1saW5rYWJsZS1pdGVtcy1wYW5lbC9iYXJzYS1saW5rYWJsZS1pdGVtcy1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUVudW1NZW51QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1lbnVtLW1lbnUtYnV0dG9uL2JhcnNhLWVudW0tbWVudS1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDYXJkTGF5b3V0UGFuZWxDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNhcmQtbGF5b3V0LXBhbmVsL2JhcnNhLWNhcmQtbGF5b3V0LXBhbmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhSG9yaXpvbnRhbEZsZXhQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtaG9yaXpvbnRhbC1mbGV4LXBhbmVsL2JhcnNhLWhvcml6b250YWwtZmxleC1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUJhc2VMYXlvdXRQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtYmFzZS1wYW5lbC9iYXJzYS1iYXNlLWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUJhclBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1iYXItcGFuZWwvYmFyc2EtYmFyLXBhbmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhRm9ybVNpZGVDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1mb3JtLXNpZGUtY29udGVudC9iYXJzYS1mb3JtLXNpZGUtY29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEaWFsb2dIYW5kbGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaWFsb2ctaGFuZGxlci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBCYXJzYVNpbXBsZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXNpbXBsZS1mb3JtL2JhcnNhLXNpbXBsZS1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1Ub29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLXRvb2xiYXIvZm9ybS10b29sYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhTGlzdExheW91dFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1saXN0LWxheW91dC1wYW5lbC9iYXJzYS1saXN0LWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUdyaWRMYXlvdXRQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtZ3JpZC1sYXlvdXQtcGFuZWwvYmFyc2EtZ3JpZC1sYXlvdXQtcGFuZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FEeW5hbWljRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWR5bmFtaWMtZmllbGQvYmFyc2EtZHluYW1pYy1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTYXBTaXplUGlwZSB9IGZyb20gJy4vc2FwLXNpemUucGlwZSc7XHJcbmltcG9ydCB7IFVpTXVsdGlTZWxlY3RSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4vdWktbXVsdGktc2VsZWN0LXJhZGlvL3VpLW11bHRpLXNlbGVjdC1yYWRpby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaU11bHRpU2VsZWN0Q2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL3VpLW11bHRpLXNlbGVjdC1jaGVja2JveC91aS1tdWx0aS1zZWxlY3QtY2hlY2tib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlNdWx0aVNlbGVjdFNsaWRlckNvbXBvbmVudCB9IGZyb20gJy4vdWktbXVsdGktc2VsZWN0LXNsaWRlci91aS1tdWx0aS1zZWxlY3Qtc2xpZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpTXVsdGlTZWxlY3RDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tdWx0aS1zZWxlY3QtY2FyZC91aS1tdWx0aS1zZWxlY3QtY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaU11bHRpU2VsZWN0U21pbGVDb21wb25lbnQgfSBmcm9tICcuL3VpLW11bHRpLXNlbGVjdC1zbWlsZS91aS1tdWx0aS1zZWxlY3Qtc21pbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlOdW1JbnRTbGlkZXJDb21wb25lbnQgfSBmcm9tICcuL3VpLW51bS1pbnQtc2xpZGVyL3VpLW51bS1pbnQtc2xpZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhUmVwb3J0Q2hlY2tib3hTd2l0Y2hCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXJlcG9ydC1jaGVja2JveC1zd2l0Y2gtYnV0dG9uL2JhcnNhLXJlcG9ydC1jaGVja2JveC1zd2l0Y2gtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhQ29sdW1uUm93TnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jb2x1bW4tcm93bnVtYmVyL2JhcnNhLWNvbHVtbi1yb3dudW1iZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FSZXBvcnRPbmVPZkxpc3RDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXJlcG9ydC1vbmUtb2YtbGlzdC9iYXJzYS1yZXBvcnQtb25lLW9mLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDYXJkUm93UGF5YW1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNhcmQtcm93LXBheWFtL2JhcnNhLWNhcmQtcm93LXBheWFtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhUXVlc3Rpb25Qb3N0Q29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1xdWVzdGlvbi1wb3N0L2JhcnNhLXF1ZXN0aW9uLXBvc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FRdWVzdGlvbkFuc3dlckZvcm1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1mb3JtL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhUXVlc3Rpb25BbnN3ZXJGb3JtQWRkQ29tbWVudENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWZvcm0tYWRkLWNvbW1lbnQvYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWZvcm0tYWRkLWNvbW1lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FBbnN3ZXJDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1hbnN3ZXItY2FyZC9iYXJzYS1hbnN3ZXItY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYVF1ZXN0aW9uQW5zd2VyQ3JlYXRvclRpbWVTZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItY3JlYXRvci10aW1lLXNlY3Rpb24vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWNyZWF0b3ItdGltZS1zZWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhUXVlc3Rpb25BbnN3ZXJDb21tZW50c1NlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1jb21tZW50cy1zZWN0aW9uL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1jb21tZW50cy1zZWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhUXVlc3Rpb25BbnN3ZXJWb3RlU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLXZvdGUtc2VjdGlvbi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItdm90ZS1zZWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhUXVlc3Rpb25BbnN3ZXJDb250ZW50QWN0aW9uc1NlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1jb250ZW50LWFjdGlvbnMtc2VjdGlvbi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItY29udGVudC1hY3Rpb25zLXNlY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDaGlwQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jaGlwL2JhcnNhLWNoaXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FSZXBvcnRDYXJkRmxleFZpZXdDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXJlcG9ydC1jYXJkLWZsZXgtdmlldy9iYXJzYS1yZXBvcnQtY2FyZC1mbGV4LXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FUYWdzQ2F0ZWdvcnlSb3dDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRhZ3MtY2F0ZWdvcnktcm93L2JhcnNhLXRhZ3MtY2F0ZWdvcnktcm93LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhVGFnQ2hpcENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtdGFnLWNoaXAvYmFyc2EtdGFnLWNoaXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FUYWdDYXRlZ29yaWVzQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10YWctY2F0ZWdvcmllcy9iYXJzYS10YWctY2F0ZWdvcmllcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUN1c3RvbUlubGluZUVkaXRDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWN1c3RvbS1pbmxpbmUtZWRpdC9iYXJzYS1jdXN0b20taW5saW5lLWVkaXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDdXN0b21JbmxpbmVFZGl0Um93Q29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jdXN0b20taW5saW5lLWVkaXQtcm93L2JhcnNhLWN1c3RvbS1pbmxpbmUtZWRpdC1yb3cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IEJhcnNhQ2hhdENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY2hhdC9iYXJzYS1jaGF0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhQ2hhdENvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNoYXQtY29udGVudC9iYXJzYS1jaGF0LWNvbnRlbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDaGF0TWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY2hhdC1tZXNzYWdlL2JhcnNhLWNoYXQtbWVzc2FnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUNoYXRUaHJlYWRDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNoYXQtdGhyZWFkL2JhcnNhLWNoYXQtdGhyZWFkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhQ2hhdFRocmVhZHNMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jaGF0LXRocmVhZHMtbGlzdC9iYXJzYS1jaGF0LXRocmVhZHMtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUNoYXRUaHJlYWRzTGlzdFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNoYXQtdGhyZWFkcy1saXN0LXRvb2xiYXIvYmFyc2EtY2hhdC10aHJlYWRzLWxpc3QtdG9vbGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUNoYXRDb250ZW50VG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY2hhdC1jb250ZW50LXRvb2xiYXIvYmFyc2EtY2hhdC1jb250ZW50LXRvb2xiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDaGF0TGlzdENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY2hhdC1saXN0L2JhcnNhLWNoYXQtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdmF0YXJHcmlkQ29sUGlwZSB9IGZyb20gJy4vYXZhdGFyLXNpemUucGlwZSc7XHJcbmltcG9ydCB7IEJhcnNhTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLW1vZGFsL2JhcnNhLW1vZGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhVGFiUm91dGVNYW5hZ2VyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10YWItcm91dGUtbWFuYWdlci9iYXJzYS10YWItcm91dGUtbWFuYWdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUJyZWFkY3J1bWJzQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1icmVhZGNydW1icy9iYXJzYS1icmVhZGNydW1icy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWJsZVRoRGlyZWN0aXZlIH0gZnJvbSAnLi90YWJsZS10aC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBCYXJzYVJvd0lubGluZUFjdGlvbmxpc3RDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXJvdy1pbmxpbmUtYWN0aW9ubGlzdC9iYXJzYS1yb3ctaW5saW5lLWFjdGlvbmxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT2JqZWN0U3RhdHVzSWNvblBpcGUgfSBmcm9tICcuL29iamVjdC1zdGF0dXMtaWNvbi5waXBlJztcclxuaW1wb3J0IHsgVWlCcG1uVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi91aS1icG1uLXZpZXdlci91aS1icG1uLXZpZXdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUJhckRvd25sb2FkRmlsZUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtYmFyLWRvd25sb2FkLWZpbGUvYmFyc2EtYmFyLWRvd25sb2FkLWZpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlOb3RpZmljYXRpb25WaWV3Q29tcG9uZW50IH0gZnJvbSAnLi91aS1ub3RpZmljYXRpb24tdmlldy91aS1ub3RpZmljYXRpb24tdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25JdGVtQWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vbm90aWZpY2F0aW9uLWl0ZW0tYWN0aW9ucy9ub3RpZmljYXRpb24taXRlbS1hY3Rpb25zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhRm9ybUxheW91dFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1mb3JtLWxheW91dC1wYW5lbC9iYXJzYS1mb3JtLWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVJlcG9ydENhcm91c2VsVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdWktcmVwb3J0LWNhcm91c2VsLXZpZXcvdWktcmVwb3J0LWNhcm91c2VsLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDYXJkQmFubmVyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jYXJkLWJhbm5lci9iYXJzYS1jYXJkLWJhbm5lci5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGNvbnN0IGNvbXBvbmVudHMgPSBbXHJcbiAgICBCYXJzYUJhckRvd25sb2FkRmlsZUNvbXBvbmVudCxcclxuICAgIFVpVGV4dEZpZWxkQ29tcG9uZW50LFxyXG4gICAgTHlMYXlvdXRGaWVsZExhYmVsQ29tcG9uZW50LFxyXG4gICAgVWlDaGVja0JveENvbXBvbmVudCxcclxuICAgIFVpU2ltcGxlQ29tYm9Db21wb25lbnQsXHJcbiAgICBVaVJhZGlvR3JvdXBDb21wb25lbnQsXHJcbiAgICBVaUdyaWRDb21wb25lbnQsXHJcbiAgICBVaU1hcENvbXBvbmVudCxcclxuICAgIEx5TGF5b3V0Q29udGFpbmVyT2ZSb290Q29tcG9uZW50LFxyXG4gICAgTHlMYXlvdXRQYW5lbENvbXBvbmVudCxcclxuICAgIFVpUmVhZE9ubHlGaWVsZENvbXBvbmVudCxcclxuICAgIFVpQ29udGFpbmVyV2l0aEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFVpUGljdHVyZUZpbGVDb21wb25lbnQsXHJcbiAgICBVaU1vSW5mb1VsdkNvbWJvQ29tcG9uZW50LFxyXG4gICAgVWlNdWx0aVNlbGVjdENvbWJvQ29tcG9uZW50LFxyXG4gICAgVWlOdW1EZWNpbWFsVWlDb21wb25lbnQsXHJcbiAgICBVaU51bUludFVpQ29tcG9uZW50LFxyXG4gICAgVWlUaW1lU3BhbkNvbXBvbmVudCxcclxuICAgIFVpRmlsZUxpbmVhckxpc3RCb3hDb21wb25lbnQsXHJcbiAgICBMeUVtcHR5U3BhY2VDb21wb25lbnQsXHJcbiAgICBVaVNpbmdsZVBpY3R1cmVDb21wb25lbnQsXHJcbiAgICBVbHZTZWxlY3Rpb25Db21wb25lbnQsXHJcbiAgICBVbHZUb29sYmFyQ29tcG9uZW50LFxyXG4gICAgVWx2UGFnaW5nQ29tcG9uZW50LFxyXG4gICAgVWlHcmlkU29ydFNldHRpbmdDb21wb25lbnQsXHJcbiAgICBVaUdyaWRTb3J0SXRlbUNvbXBvbmVudCxcclxuICAgIFVpR3JpZENvbHVtbnNDb21wb25lbnQsXHJcbiAgICBNYXNrQ29tcG9uZW50LFxyXG4gICAgVWlJbmZvQmFyUGFuZWxDb21wb25lbnQsXHJcbiAgICBVaUZvcm1QYW5lbENvbXBvbmVudCxcclxuICAgIFVpU2VhcmNoQ29tbWFuZEluZm9VaUNvbXBvbmVudCxcclxuICAgIFVsdlNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgVWlUaW55bWNlQ29tcG9uZW50LFxyXG4gICAgVWlCdXR0b25Db21wb25lbnQsXHJcbiAgICBVaURhdGVUaW1lQ29tcG9uZW50LFxyXG4gICAgRm9ybURpYWxvZ0NvbXBvbmVudCxcclxuICAgIFVpTW9JbmZvU3ViRm9ybVVpQ29tcG9uZW50LFxyXG4gICAgUmVzcG9uc2l2ZVRvb2xiYXJDb21wb25lbnQsXHJcbiAgICBSZXNwb25zaXZlVG9vbGJhclJlbmRlcmVyQ29tcG9uZW50LFxyXG4gICAgVWlUZXh0QXJlYUNvbXBvbmVudCxcclxuICAgIExheW91dENvbnRyb2xDb21wb25lbnQsXHJcbiAgICBMYXlvdXRXaXphcmRDb21wb25lbnQsXHJcbiAgICBGb3JtV2l6YXJkQ29tcG9uZW50LFxyXG4gICAgRm9ybURpYWxvZ0xlc3NDb21wb25lbnQsXHJcbiAgICBSaWNoVGV4dFN0YXRpY0NvbXBvbmVudCxcclxuICAgIFVpUGljdHVyZXNJbmZvQ29tcG9uZW50LFxyXG4gICAgTHlIb3Jpem9udGFsTGF5b3V0Q29tcG9uZW50LFxyXG4gICAgTHlWZXJ0aWNhbExheW91dENvbXBvbmVudCxcclxuICAgIEx5VGFiQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgTHlUYWJQYWdlQ29tcG9uZW50LFxyXG4gICAgTHlMYWJlbENvbXBvbmVudCxcclxuICAgIFVpTW9JbmZvQ29tYm9WaWV3ZXJDb21wb25lbnQsXHJcbiAgICBVbE1zZ0JveEFkYXB0ZXJDb21wb25lbnQsXHJcbiAgICBVaVRyZWVDb21wb25lbnQsXHJcbiAgICBIZWFkZXJBdmF0YXJDb21wb25lbnQsXHJcbiAgICBVaVdvcmtmbG93UGFuZWxVaUNvbXBvbmVudCxcclxuICAgIFVsdkNvbnRleHRNZW51Q29tcG9uZW50LFxyXG4gICAgVWxMb2FkaW5nTWFza1VpQ29tcG9uZW50LFxyXG4gICAgVWlUZXh0RmllbGRBdXRvQ29tcGxldGVDb21wb25lbnQsXHJcbiAgICBDYXB0Y2hhRmllbGRDb21wb25lbnQsXHJcbiAgICBMeVNpbXBsZUxhYmVsQ29tcG9uZW50LFxyXG4gICAgR2xvYmFsU2VhcmNoUGFuZWxDb21wb25lbnQsXHJcbiAgICBHbG9iYWxTZWFyY2hNb2R1bGVDb21wb25lbnQsXHJcbiAgICBHbG9iYWxTZWFyY2hDb21wb25lbnQsXHJcbiAgICBIeXBlcmxpbmtDb21wb25lbnQsXHJcbiAgICBTdGF0aWNUZXh0Q29tcG9uZW50LFxyXG4gICAgVWxUb2FzdEFkYXB0ZXJDb21wb25lbnQsXHJcbiAgICBNZXNzYWdlU3RyaXBDb21wb25lbnQsXHJcbiAgICBVaUxpbmVhckxpc3RDb250YWluZXJXaXRoQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgRnVuZGFtZW50YWxEeW5hbWljRm9ybUNvbXBvbmVudCxcclxuICAgIExheW91dEFjdGlvbnNDb21wb25lbnQsXHJcbiAgICBMeUxheW91dENvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIFVpVWx2Rm9ybU11bHRpU2VsZWN0VWlDb21wb25lbnQsXHJcbiAgICBVbHZGb3JtTXVsdGlTZWxlY3RDb21wb25lbnQsXHJcbiAgICBVbHZDb2x1bW5TZXR0aW5nc0NvbXBvbmVudCxcclxuICAgIFVsdkZpbHRlclNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgVWx2U29ydFNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgVWx2R3JvdXBieVNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgQmFyc2FMaXN0RmlsZUxpbmVhckNvbXBvbmVudCxcclxuICAgIFVpUGRmVmlld2VyQ29tcG9uZW50LFxyXG4gICAgQmFyc2FUaW55ZW1jZUNvbXBvbmVudCxcclxuICAgIFVpTW9uYWNvRWRpdG9yQ29tcG9uZW50LFxyXG4gICAgQmFyc2FNb25hY29FZGl0b3JDb21wb25lbnQsXHJcbiAgICBCYXJzYURhdGVUaW1lUGlja2VyQ29tcG9uZW50LFxyXG4gICAgQmFyc2FUcmVlSXRlbUNvbXBvbmVudCxcclxuICAgIFVpU3dpdGNoQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgVWlDb2xvclVpQ29tcG9uZW50LFxyXG4gICAgTHlMaW5lQ29tcG9uZW50LFxyXG4gICAgVWlVbHZNYWluVWlDb21wb25lbnQsXHJcbiAgICBSZXBvcnROYXZpZ2F0b3JDb21wb25lbnQsXHJcbiAgICBNYW5hZ2VGaWx0ZXJzUmVwb3J0Q29tcG9uZW50LFxyXG4gICAgUmVwb3J0U2VhcmNoRmllbGRzTWFuYWdlQ29tcG9uZW50LFxyXG4gICAgUmVwb3J0U2VhcmNoRmllbGRzSGlkZGVuU2V0dGluZ3NDb21wb25lbnQsXHJcbiAgICBTZWFyY2hQYW5lbENvbXBvbmVudCxcclxuICAgIFJlcG9ydFNlYXJjaFBhbmVsU2F2ZUNvbXBvbmVudCxcclxuICAgIFVpR3JpZEZpbHRlclNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgVWlHcmlkRmlsdGVySXRlbUNvbXBvbmVudCxcclxuICAgIFVpRGF0ZVJhbmdlRXhDb21wb25lbnQsXHJcbiAgICBVbE5vdGlmeVBvcHVwQ29tcG9uZW50LFxyXG4gICAgVWlUYWJsZVZpZXdDb21wb25lbnQsXHJcbiAgICBVaUxpc3RWaWV3Q29tcG9uZW50LFxyXG4gICAgVWlDYXJkVmlld0NvbXBvbmVudCxcclxuICAgIFVpUmVwb3J0Q29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgTm9EYXRhQ29tcG9uZW50LFxyXG4gICAgQ29sdW1uUmVuZGVyZXJDb21wb25lbnQsXHJcbiAgICBJbmxpbmVTYXZlQW5kQ2FuY2VsQ29tcG9uZW50LFxyXG4gICAgVWlUcmVlVmlld0NvbXBvbmVudCxcclxuICAgIElubGluZVNhdmVBbmRDYW5jZWxDb21wb25lbnQsXHJcbiAgICBVaUNhbGVuZGFyQ29tcG9uZW50LFxyXG4gICAgVWlBc3BSZXBvcnRWaWV3ZXJDb21wb25lbnQsXHJcbiAgICBVaUdyYXBoQ29tcG9uZW50LFxyXG4gICAgVWlFeGNlcHRpb25Gb3JtQ29tcG9uZW50LFxyXG4gICAgVWlFZGl0YWJsZUdyaWRDb21wb25lbnQsXHJcbiAgICBDb2x1bW5NYXRyaXhSZW5kZXJlckNvbXBvbmVudCxcclxuICAgIFVpTWF0cml4Vmlld0NvbXBvbmVudCxcclxuICAgIEN1c3RvbURhdGVUaW1lQ29tcG9uZW50LFxyXG4gICAgQmFyc2FBc3BWaWV3ZXJDb21wb25lbnQsXHJcbiAgICBGaWxlSW5EaWFsb2dDb21wb25lbnQsXHJcbiAgICBVaU1vSW5mb0dlbmVyYWxPYmplY3RVaUNvbXBvbmVudCxcclxuICAgIFVpR2FudHRDaGFydENvbXBvbmVudCxcclxuICAgIEdhbnR0RGh0bWxDaGFydFZpZXdDb21wb25lbnQsXHJcbiAgICBQcm9ncmVzc0luZGljYXRvckNvbXBvbmVudCxcclxuICAgIENhcmRWaWV3Q29udGVudENvbXBvbmVudCxcclxuICAgIENhcmRJdGVtQ29tcG9uZW50LFxyXG4gICAgVWlDYXJkVmlld0hvcml6b250YWxHcm91cENvbXBvbmVudCxcclxuICAgIFRpdGxlQ29tcG9uZW50LFxyXG4gICAgQmFyc2FVbHZNYWluQ29tcG9uZW50LFxyXG4gICAgTGlzdEl0ZW1Db21wb25lbnQsXHJcbiAgICBIdHJlZUNyZWF0ZU5ld0NvbXBvbmVudCxcclxuICAgIEJhcnNhVGFibGVIZWFkZXJDb21wb25lbnQsXHJcbiAgICBCYXJzYVRhYmxlUm93Q29tcG9uZW50LFxyXG4gICAgQmFyc2FUYWJsZUNvbHVtbkNvbXBvbmVudCxcclxuICAgIEJyZWFkY3J1bWJDb21wb25lbnQsXHJcbiAgICBVaUxhYmVsQ29tcG9uZW50LFxyXG4gICAgRm9ybVRvb2xiYXJCdXR0b25Db21wb25lbnQsXHJcbiAgICBCYXJzYVNlYXJjaEZvcm1Db21wb25lbnQsXHJcbiAgICBSZXBvcnROZXdUb3BGb3JtQ29tcG9uZW50LFxyXG4gICAgQmFyc2FOZXR3b3JrT2ZmbGluZUNvbXBvbmVudCxcclxuICAgIEZpbGVWaWV3ZXJDb250ZW50Q29tcG9uZW50LFxyXG4gICAgRmlsZVZpZXdlclBvcG92ZXJDb21wb25lbnQsXHJcbiAgICBGaWxlVmlld2VyQ29tcG9uZW50LFxyXG4gICAgQmxvYlZpZXdlckNvbXBvbmVudCxcclxuICAgIE5vdGlmaWNhdGlvbkl0ZW1Db21wb25lbnQsXHJcbiAgICBCYXJzYUNhcnRhYmxlVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICBCYXJzYUNhcnRhYmxlR3JvdXBDb21wb25lbnQsXHJcbiAgICBCYXJzYUNhcnRhYmxlRm9ybUNvbXBvbmVudCxcclxuICAgIEJhcnNhQ29sdW1uSW5kaWNhdG9yQ29tcG9uZW50LFxyXG4gICAgQmFyc2FGaWVsZEtleVZhbHVlQ29tcG9uZW50LFxyXG4gICAgQmFyc2FUb29sYmFyaXRlbVNlYXJjaENvbXBvbmVudCxcclxuICAgIFVpSHRtbFZpZXdlckNvbXBvbmVudCxcclxuICAgIEJhcnNhUGlzaG5hbWF5ZXNoUGF5YW1Db21wb25lbnQsXHJcbiAgICBCYXJzYVRleHRFbGxpcHNpc0NvbXBvbmVudCxcclxuICAgIEJhcnNhTGlzdEZpbGVMaW5lYXJHbWFpbENvbXBvbmVudCxcclxuICAgIEJhcnNhTGlua2FibGVJdGVtc1BhbmVsQ29tcG9uZW50LFxyXG4gICAgQmFyc2FFbnVtTWVudUJ1dHRvbkNvbXBvbmVudCxcclxuICAgIEJhcnNhQ2FyZExheW91dFBhbmVsQ29tcG9uZW50LFxyXG4gICAgQmFyc2FIb3Jpem9udGFsRmxleFBhbmVsQ29tcG9uZW50LFxyXG4gICAgQmFyc2FCYXNlTGF5b3V0UGFuZWxDb21wb25lbnQsXHJcbiAgICBCYXJzYUJhclBhbmVsQ29tcG9uZW50LFxyXG4gICAgQmFyc2FGb3JtU2lkZUNvbnRlbnRDb21wb25lbnQsXHJcbiAgICBCYXJzYVNpbXBsZUZvcm1Db21wb25lbnQsXHJcbiAgICBGb3JtVG9vbGJhckNvbXBvbmVudCxcclxuICAgIEJhcnNhTGlzdExheW91dFBhbmVsQ29tcG9uZW50LFxyXG4gICAgQmFyc2FHcmlkTGF5b3V0UGFuZWxDb21wb25lbnQsXHJcbiAgICBCYXJzYUR5bmFtaWNGaWVsZENvbXBvbmVudCxcclxuICAgIFVpTXVsdGlTZWxlY3RSYWRpb0NvbXBvbmVudCxcclxuICAgIFVpTXVsdGlTZWxlY3RDaGVja2JveENvbXBvbmVudCxcclxuICAgIFVpTnVtSW50U2xpZGVyQ29tcG9uZW50LFxyXG4gICAgVWlNdWx0aVNlbGVjdFNsaWRlckNvbXBvbmVudCxcclxuICAgIFVpTXVsdGlTZWxlY3RDYXJkQ29tcG9uZW50LFxyXG4gICAgVWlNdWx0aVNlbGVjdFNtaWxlQ29tcG9uZW50LFxyXG4gICAgQmFyc2FSZXBvcnRDaGVja2JveFN3aXRjaEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIEJhcnNhQ29sdW1uUm93TnVtYmVyQ29tcG9uZW50LFxyXG4gICAgQmFyc2FDYXJkUm93UGF5YW1Db21wb25lbnQsXHJcbiAgICBCYXJzYUNvbHVtblJvd051bWJlckNvbXBvbmVudCxcclxuICAgIEJhcnNhUXVlc3Rpb25Qb3N0Q29tcG9uZW50LFxyXG4gICAgQmFyc2FRdWVzdGlvbkFuc3dlckZvcm1Db21wb25lbnQsXHJcbiAgICBCYXJzYVF1ZXN0aW9uQW5zd2VyRm9ybUFkZENvbW1lbnRDb21wb25lbnQsXHJcbiAgICBCYXJzYUFuc3dlckNhcmRDb21wb25lbnQsXHJcbiAgICBCYXJzYVF1ZXN0aW9uQW5zd2VyQ29udGVudEFjdGlvbnNTZWN0aW9uQ29tcG9uZW50LFxyXG4gICAgQmFyc2FRdWVzdGlvbkFuc3dlclZvdGVTZWN0aW9uQ29tcG9uZW50LFxyXG4gICAgQmFyc2FRdWVzdGlvbkFuc3dlckNyZWF0b3JUaW1lU2VjdGlvbkNvbXBvbmVudCxcclxuICAgIEJhcnNhUXVlc3Rpb25BbnN3ZXJDb21tZW50c1NlY3Rpb25Db21wb25lbnQsXHJcbiAgICBCYXJzYUNoaXBDb21wb25lbnQsXHJcbiAgICBCYXJzYVRhZ0NoaXBDb21wb25lbnQsXHJcbiAgICBCYXJzYVJlcG9ydENhcmRGbGV4Vmlld0NvbXBvbmVudCxcclxuICAgIEJhcnNhVGFnc0NhdGVnb3J5Um93Q29tcG9uZW50LFxyXG4gICAgQmFyc2FUYWdDYXRlZ29yaWVzQ29tcG9uZW50LFxyXG4gICAgQmFyc2FSZXBvcnRPbmVPZkxpc3RDb21wb25lbnQsXHJcbiAgICBCYXJzYUNhcmRSb3dQYXlhbUNvbXBvbmVudCxcclxuICAgIEJhcnNhQ3VzdG9tSW5saW5lRWRpdENvbXBvbmVudCxcclxuICAgIEJhcnNhQ3VzdG9tSW5saW5lRWRpdFJvd0NvbXBvbmVudCxcclxuICAgIEJhcnNhQ2hhdENvbXBvbmVudCxcclxuICAgIEJhcnNhQ2hhdENvbnRlbnRDb21wb25lbnQsXHJcbiAgICBCYXJzYUNoYXRNZXNzYWdlQ29tcG9uZW50LFxyXG4gICAgQmFyc2FDaGF0VGhyZWFkQ29tcG9uZW50LFxyXG4gICAgQmFyc2FDaGF0VGhyZWFkc0xpc3RDb21wb25lbnQsXHJcbiAgICBCYXJzYUNoYXRUaHJlYWRzTGlzdFRvb2xiYXJDb21wb25lbnQsXHJcbiAgICBCYXJzYUNoYXRDb250ZW50VG9vbGJhckNvbXBvbmVudCxcclxuICAgIEJhcnNhQ2hhdExpc3RDb21wb25lbnQsXHJcbiAgICBCYXJzYU1vZGFsQ29tcG9uZW50LFxyXG4gICAgQmFyc2FUYWJSb3V0ZU1hbmFnZXJDb21wb25lbnQsXHJcbiAgICBCYXJzYUJyZWFkY3J1bWJzQ29tcG9uZW50LFxyXG4gICAgQmFyc2FSb3dJbmxpbmVBY3Rpb25saXN0Q29tcG9uZW50LFxyXG4gICAgVWlCcG1uVmlld2VyQ29tcG9uZW50LFxyXG4gICAgVWlOb3RpZmljYXRpb25WaWV3Q29tcG9uZW50LFxyXG4gICAgTm90aWZpY2F0aW9uSXRlbUFjdGlvbnNDb21wb25lbnQsXHJcbiAgICBCYXJzYUZvcm1MYXlvdXRQYW5lbENvbXBvbmVudCxcclxuICAgIFVpUmVwb3J0Q2Fyb3VzZWxWaWV3Q29tcG9uZW50LFxyXG4gICAgQmFyc2FDYXJkQmFubmVyQ29tcG9uZW50XHJcbl07XHJcbmV4cG9ydCBjb25zdCBwaXBlcyA9IFtcclxuICAgIFVwbG9hZEZpbGVTdGF0dXNQaXBlLFxyXG4gICAgU2FwRm9udFBpcGUsXHJcbiAgICBTYXBGb250Q2xhc3NQaXBlLFxyXG4gICAgU3RyaW5nVG9BcnJheVBpcGUsXHJcbiAgICBOb2RlSGFzT25lRGVwdGhMZXZlbFBpcGUsXHJcbiAgICBNYXRyaXhWYWx1ZVBpcGUsXHJcbiAgICBEeW5hbWljUGFnZVNpemVQaXBlLFxyXG4gICAgU2FwU2l6ZVBpcGUsXHJcbiAgICBBdmF0YXJHcmlkQ29sUGlwZSxcclxuICAgIE9iamVjdFN0YXR1c0ljb25QaXBlXHJcbl07XHJcbmV4cG9ydCBjb25zdCBkaXJlY3RpdmVzID0gW1xyXG4gICAgV2l6YXJkTGF5b3V0RGlyZWN0aXZlLFxyXG4gICAgQ29sUmVuZGVyZXJEaXJlY3RpdmUsXHJcbiAgICBBcHBseUNvbmRpdGlvbmFsRm9ybWF0c0RpcmVjdGl2ZSxcclxuICAgIFJlcG9ydFZpZXdSZW5kZXJlckRpcmVjdGl2ZSxcclxuICAgIEZ1bGxzY3JlZW5EaWFsb2dEaXJlY3RpdmUsXHJcbiAgICBGdWxsc2NyZWVuRmlsZXNEaXJlY3RpdmUsXHJcbiAgICBEb3dubG9hZEZpbGVzRGlyZWN0aXZlLFxyXG4gICAgRGlhbG9nSGFuZGxlckRpcmVjdGl2ZSxcclxuICAgIFRhYmxlVGhEaXJlY3RpdmVcclxuXTtcclxuZXhwb3J0IGNvbnN0IElOSVRfU0FQRklPUkkgPVxyXG4gICAgKFxyXG4gICAgICAgIHJ0bFNlcnZpY2U6IFJ0bFNlcnZpY2UsXHJcbiAgICAgICAgY29udGVudERlbnNpdHlTZXJ2aWNlOiBHbG9iYWxDb250ZW50RGVuc2l0eVNlcnZpY2UsXHJcbiAgICAgICAgdGhlbWVTZXJ2aWNlOiBUaGVtaW5nU2VydmljZSxcclxuICAgICAgICBwb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLFxyXG4gICAgICAgIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxyXG4gICAgICAgIGxvY2FsU3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2VcclxuICAgICkgPT5cclxuICAgICgpID0+IHtcclxuICAgICAgICAvLyBydGxTZXJ2aWNlLnJ0bC5uZXh0KEJhcnNhQXBpLkxvZ2luRm9ybURhdGEuSXNSdGwpO1xyXG4gICAgICAgIGNvbnN0IHNldFRoZW1lID0gKHRoZW1lKTogdm9pZCA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGVtZSkge1xyXG4gICAgICAgICAgICAgICAgdGhlbWVTZXJ2aWNlLnNldFRoZW1lKHRoZW1lKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyB0aGVtZVNlcnZpY2Uuc2V0VGhlbWUodGhlbWVDYXB0aW9uKTtcclxuICAgICAgICAgICAgdGhlbWVTZXJ2aWNlLmN1cnJlbnRUaGVtZS5zdWJzY3JpYmUoKHRoZW1lKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhlbWUpIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3J0YWxTZXJ2aWNlLnNldENzc1VybFRoZW1lKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHRoZW1lLnRoZW1pbmcudGhlbWVQYXRoKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh0aGVtZS50aGVtaW5nLnRoZW1pbmdCYXNlUGF0aClcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHBvcnRhbFNlcnZpY2UudXNlclBvcnRhbFNldHRpbmdzJC5waXBlKCkuc3Vic2NyaWJlKCh1c2VyUG9ydGFsU2V0dGluZ3MpID0+IHtcclxuICAgICAgICAgICAgcnRsU2VydmljZS5ydGwubmV4dChCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLklzUnRsKTtcclxuICAgICAgICAgICAgY29uc3QgdXNlclNldHRpbmdzID0gdXNlclBvcnRhbFNldHRpbmdzWydVc2VyUG9ydGFsU2V0dGluZ3MnXTtcclxuICAgICAgICAgICAgbGV0IGNvbnRlbnREZW5zaXR5OiBhbnk7XHJcbiAgICAgICAgICAgIGlmICghdXNlclNldHRpbmdzKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkZWZhdWx0VGhlbWUgPSBsb2NhbFN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ2RlZmF1bHRfdGhlbWUnKSB8fCAnc2FwX2Zpb3JpXzMnO1xyXG4gICAgICAgICAgICAgICAgc2V0VGhlbWUoZGVmYXVsdFRoZW1lKTtcclxuICAgICAgICAgICAgICAgIGlmIChnZXREZXZpY2VJc01vYmlsZSgpIHx8IGdldERldmljZUlzUGhvbmUoKSB8fCBnZXREZXZpY2VJc1RhYmxldCgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudERlbnNpdHkgPSBDb250ZW50RGVuc2l0eU1vZGUuQ09aWTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudERlbnNpdHkgPSBDb250ZW50RGVuc2l0eU1vZGUuQ09NUEFDVDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGNvbnRlbnREZW5zaXR5U2VydmljZS51cGRhdGVDb250ZW50RGVuc2l0eShjb250ZW50RGVuc2l0eSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IHRoZW1lOiBhbnk7XHJcbiAgICAgICAgICAgIGlmICh1c2VyU2V0dGluZ3MpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHsgQ29udGVudERlbnNpdHkkQ2FwdGlvbiwgVGhlbWUkQ2FwdGlvbiB9ID0gdXNlclNldHRpbmdzO1xyXG4gICAgICAgICAgICAgICAgY29udGVudERlbnNpdHkgPSBDb250ZW50RGVuc2l0eSRDYXB0aW9uO1xyXG4gICAgICAgICAgICAgICAgdGhlbWUgPSBUaGVtZSRDYXB0aW9uO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFjb250ZW50RGVuc2l0eSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnREZW5zaXR5ID0gQ29udGVudERlbnNpdHlNb2RlLkNPTVBBQ1Q7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGdldERldmljZUlzTW9iaWxlKCkgfHwgZ2V0RGV2aWNlSXNQaG9uZSgpKSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50RGVuc2l0eSA9IENvbnRlbnREZW5zaXR5TW9kZS5DT1pZO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChjb250ZW50RGVuc2l0eSkge1xyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnREZW5zaXR5U2VydmljZS51cGRhdGVDb250ZW50RGVuc2l0eShjb250ZW50RGVuc2l0eSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb25zdCBib2R5Q2xhc3NDb21wYWN0ID0gJ3VpNS1jb250ZW50LWRlbnNpdHktY29tcGFjdCc7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBib2R5Q2xhc3NDb25kZW5zZWQgPSAndWk1LWNvbnRlbnQtZGVuc2l0eS1jb25kZW5zZWQnO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYm9keUNsYXNzQ296eSA9ICd1aTUtY29udGVudC1kZW5zaXR5LWNvenknO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYm9keSA9IGRvY3VtZW50Py5ib2R5O1xyXG4gICAgICAgICAgICAgICAgc3dpdGNoIChjb250ZW50RGVuc2l0eSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2NvbmRlbnNlZCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghYm9keS5jbGFzc0xpc3QuY29udGFpbnMoYm9keUNsYXNzQ29uZGVuc2VkKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkuY2xhc3NMaXN0LmFkZChib2R5Q2xhc3NDb25kZW5zZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKGJvZHlDbGFzc0NvbXBhY3QpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKGJvZHlDbGFzc0NvenkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2NvenknOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKGJvZHlDbGFzc0NvenkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QuYWRkKGJvZHlDbGFzc0NvenkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKGJvZHlDbGFzc0NvbXBhY3QpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKGJvZHlDbGFzc0NvbmRlbnNlZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnY29tcGFjdCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghYm9keS5jbGFzc0xpc3QuY29udGFpbnMoYm9keUNsYXNzQ29tcGFjdCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5LmNsYXNzTGlzdC5hZGQoYm9keUNsYXNzQ29tcGFjdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5LmNsYXNzTGlzdC5yZW1vdmUoYm9keUNsYXNzQ296eSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5LmNsYXNzTGlzdC5yZW1vdmUoYm9keUNsYXNzQ29uZGVuc2VkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodGhlbWUpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGVtZS5pbmRleE9mKCdkYXJrJykgPiAtMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnY29sb3Itc2NoZW1lJywgJ2RhcmsnKTtcclxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLW1vZGUnLCAnZGFyaycpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2NvbG9yLXNjaGVtZScsICdsaWdodCcpO1xyXG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtbW9kZScsICdsaWdodCcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgc2V0VGhlbWUodGhlbWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9O1xyXG4iXX0=
555
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTJDLGtCQUFrQixFQUFrQixNQUFNLHVCQUF1QixDQUFDO0FBQ3BILE9BQU8sRUFDSCxRQUFRLEVBQ1IsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixpQkFBaUIsRUFHcEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQy9HLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ25HLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUN6SCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNwRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM3RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUN2SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNwRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSx1RkFBdUYsQ0FBQztBQUNqSixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNoSCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUN0SCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDekYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdkcsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDeEgsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sdUZBQXVGLENBQUM7QUFDbEosT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDL0csT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDNUcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDaEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9GLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0YsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDbkcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDMUcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQ3pILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQzdILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMzRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNoRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNoSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNoSCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx1RUFBdUUsQ0FBQztBQUMxSCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUNySCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUM1RyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNyRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUM1RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUM1RyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUM1RyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdEcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDL0csT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDekcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDbkcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDMUYsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0scUZBQXFGLENBQUM7QUFDL0ksT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDMUcsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDOUcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDbkcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDckgsT0FBTyxFQUFFLDBDQUEwQyxFQUFFLE1BQU0sMkZBQTJGLENBQUM7QUFDdkosT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0YsT0FBTyxFQUFFLDhDQUE4QyxFQUFFLE1BQU0sbUdBQW1HLENBQUM7QUFDbkssT0FBTyxFQUFFLDJDQUEyQyxFQUFFLE1BQU0sMkZBQTJGLENBQUM7QUFDeEosT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sbUZBQW1GLENBQUM7QUFDNUksT0FBTyxFQUFFLGlEQUFpRCxFQUFFLE1BQU0seUdBQXlHLENBQUM7QUFDNUssT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDdkgsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDNUcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDL0csT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFFMUgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDOUYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDOUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0YsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDNUcsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sNkVBQTZFLENBQUM7QUFDbkksT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDckgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDNUcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDNUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDeEgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDNUcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDbkgsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDNUcsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDNUcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFFM0YsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3RCLDZCQUE2QjtJQUM3QixvQkFBb0I7SUFDcEIsMkJBQTJCO0lBQzNCLG1CQUFtQjtJQUNuQixzQkFBc0I7SUFDdEIscUJBQXFCO0lBQ3JCLGVBQWU7SUFDZixjQUFjO0lBQ2QsZ0NBQWdDO0lBQ2hDLHNCQUFzQjtJQUN0Qix3QkFBd0I7SUFDeEIsOEJBQThCO0lBQzlCLHNCQUFzQjtJQUN0Qix5QkFBeUI7SUFDekIsMkJBQTJCO0lBQzNCLHVCQUF1QjtJQUN2QixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLDRCQUE0QjtJQUM1QixxQkFBcUI7SUFDckIsd0JBQXdCO0lBQ3hCLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLDBCQUEwQjtJQUMxQix1QkFBdUI7SUFDdkIsc0JBQXNCO0lBQ3RCLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsb0JBQW9CO0lBQ3BCLDhCQUE4QjtJQUM5QixvQkFBb0I7SUFDcEIsa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLDBCQUEwQjtJQUMxQiwwQkFBMEI7SUFDMUIsa0NBQWtDO0lBQ2xDLG1CQUFtQjtJQUNuQixzQkFBc0I7SUFDdEIscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtJQUN2QiwyQkFBMkI7SUFDM0IseUJBQXlCO0lBQ3pCLHVCQUF1QjtJQUN2QixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLDRCQUE0QjtJQUM1Qix3QkFBd0I7SUFDeEIsZUFBZTtJQUNmLHFCQUFxQjtJQUNyQiwwQkFBMEI7SUFDMUIsdUJBQXVCO0lBQ3ZCLHdCQUF3QjtJQUN4QixnQ0FBZ0M7SUFDaEMscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0QiwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLHFCQUFxQjtJQUNyQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixxQkFBcUI7SUFDckIsd0NBQXdDO0lBQ3hDLCtCQUErQjtJQUMvQixzQkFBc0I7SUFDdEIsMEJBQTBCO0lBQzFCLCtCQUErQjtJQUMvQiwyQkFBMkI7SUFDM0IsMEJBQTBCO0lBQzFCLDBCQUEwQjtJQUMxQix3QkFBd0I7SUFDeEIsMkJBQTJCO0lBQzNCLDRCQUE0QjtJQUM1QixvQkFBb0I7SUFDcEIsc0JBQXNCO0lBQ3RCLHVCQUF1QjtJQUN2QiwwQkFBMEI7SUFDMUIsNEJBQTRCO0lBQzVCLHNCQUFzQjtJQUN0Qix1QkFBdUI7SUFDdkIsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixvQkFBb0I7SUFDcEIsd0JBQXdCO0lBQ3hCLDRCQUE0QjtJQUM1QixpQ0FBaUM7SUFDakMseUNBQXlDO0lBQ3pDLG9CQUFvQjtJQUNwQiw4QkFBOEI7SUFDOUIsNkJBQTZCO0lBQzdCLHlCQUF5QjtJQUN6QixzQkFBc0I7SUFDdEIsc0JBQXNCO0lBQ3RCLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLDBCQUEwQjtJQUMxQixlQUFlO0lBQ2YsdUJBQXVCO0lBQ3ZCLDRCQUE0QjtJQUM1QixtQkFBbUI7SUFDbkIsNEJBQTRCO0lBQzVCLG1CQUFtQjtJQUNuQiwwQkFBMEI7SUFDMUIsZ0JBQWdCO0lBQ2hCLHdCQUF3QjtJQUN4Qix1QkFBdUI7SUFDdkIsNkJBQTZCO0lBQzdCLHFCQUFxQjtJQUNyQix1QkFBdUI7SUFDdkIsdUJBQXVCO0lBQ3ZCLHFCQUFxQjtJQUNyQixnQ0FBZ0M7SUFDaEMscUJBQXFCO0lBQ3JCLDRCQUE0QjtJQUM1QiwwQkFBMEI7SUFDMUIsd0JBQXdCO0lBQ3hCLGlCQUFpQjtJQUNqQixrQ0FBa0M7SUFDbEMsY0FBYztJQUNkLHFCQUFxQjtJQUNyQixpQkFBaUI7SUFDakIsdUJBQXVCO0lBQ3ZCLHlCQUF5QjtJQUN6QixzQkFBc0I7SUFDdEIseUJBQXlCO0lBQ3pCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsMEJBQTBCO0lBQzFCLHdCQUF3QjtJQUN4Qix5QkFBeUI7SUFDekIsNEJBQTRCO0lBQzVCLDBCQUEwQjtJQUMxQiwwQkFBMEI7SUFDMUIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQix5QkFBeUI7SUFDekIsOEJBQThCO0lBQzlCLDJCQUEyQjtJQUMzQiwwQkFBMEI7SUFDMUIsNkJBQTZCO0lBQzdCLDJCQUEyQjtJQUMzQiwrQkFBK0I7SUFDL0IscUJBQXFCO0lBQ3JCLCtCQUErQjtJQUMvQiwwQkFBMEI7SUFDMUIsaUNBQWlDO0lBQ2pDLGdDQUFnQztJQUNoQyw0QkFBNEI7SUFDNUIsNkJBQTZCO0lBQzdCLGlDQUFpQztJQUNqQyw2QkFBNkI7SUFDN0Isc0JBQXNCO0lBQ3RCLDZCQUE2QjtJQUM3Qix3QkFBd0I7SUFDeEIsb0JBQW9CO0lBQ3BCLDZCQUE2QjtJQUM3Qiw2QkFBNkI7SUFDN0IsMEJBQTBCO0lBQzFCLDJCQUEyQjtJQUMzQiw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQ3ZCLDRCQUE0QjtJQUM1QiwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLHdDQUF3QztJQUN4Qyw2QkFBNkI7SUFDN0IsMEJBQTBCO0lBQzFCLDZCQUE2QjtJQUM3QiwwQkFBMEI7SUFDMUIsZ0NBQWdDO0lBQ2hDLDBDQUEwQztJQUMxQyx3QkFBd0I7SUFDeEIsaURBQWlEO0lBQ2pELHVDQUF1QztJQUN2Qyw4Q0FBOEM7SUFDOUMsMkNBQTJDO0lBQzNDLGtCQUFrQjtJQUNsQixxQkFBcUI7SUFDckIsZ0NBQWdDO0lBQ2hDLDZCQUE2QjtJQUM3QiwyQkFBMkI7SUFDM0IsNkJBQTZCO0lBQzdCLDBCQUEwQjtJQUMxQiw4QkFBOEI7SUFDOUIsaUNBQWlDO0lBQ2pDLGtCQUFrQjtJQUNsQix5QkFBeUI7SUFDekIseUJBQXlCO0lBQ3pCLHdCQUF3QjtJQUN4Qiw2QkFBNkI7SUFDN0Isb0NBQW9DO0lBQ3BDLGdDQUFnQztJQUNoQyxzQkFBc0I7SUFDdEIsbUJBQW1CO0lBQ25CLDZCQUE2QjtJQUM3Qix5QkFBeUI7SUFDekIsaUNBQWlDO0lBQ2pDLHFCQUFxQjtJQUNyQiwyQkFBMkI7SUFDM0IsZ0NBQWdDO0lBQ2hDLDZCQUE2QjtJQUM3Qiw2QkFBNkI7SUFDN0Isd0JBQXdCO0NBQzNCLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUc7SUFDakIsb0JBQW9CO0lBQ3BCLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLHdCQUF3QjtJQUN4QixlQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsb0JBQW9CO0NBQ3ZCLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDdEIscUJBQXFCO0lBQ3JCLG9CQUFvQjtJQUNwQixnQ0FBZ0M7SUFDaEMsMkJBQTJCO0lBQzNCLHlCQUF5QjtJQUN6Qix3QkFBd0I7SUFDeEIsc0JBQXNCO0lBQ3RCLHNCQUFzQjtJQUN0QixnQkFBZ0I7Q0FDbkIsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FDdEIsQ0FDSSxVQUFzQixFQUN0QixxQkFBa0QsRUFDbEQsWUFBNEIsRUFDNUIsYUFBNEIsRUFDNUIsWUFBMEIsRUFDMUIsbUJBQXdDLEVBQzFDLEVBQUUsQ0FDSixHQUFHLEVBQUU7SUFDRCxxREFBcUQ7SUFDckQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFLLEVBQVEsRUFBRTtRQUM3QixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsdUNBQXVDO1FBQ3ZDLFlBQVksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDMUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDUixhQUFhLENBQUMsY0FBYyxDQUN4QixZQUFZLENBQUMsOEJBQThCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFDcEUsWUFBWSxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQzdFLENBQUM7WUFDTixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUM7SUFDRixhQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsa0JBQWtCLEVBQUUsRUFBRTtRQUN0RSxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xELE1BQU0sWUFBWSxHQUFHLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDOUQsSUFBSSxjQUFtQixDQUFDO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNoQixNQUFNLFlBQVksR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksYUFBYSxDQUFDO1lBQ25GLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN2QixJQUFJLGlCQUFpQixFQUFFLElBQUksZ0JBQWdCLEVBQUUsSUFBSSxpQkFBaUIsRUFBRSxFQUFFLENBQUM7Z0JBQ25FLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7WUFDN0MsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7WUFDaEQsQ0FBQztZQUNELHFCQUFxQixDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzNELE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxLQUFVLENBQUM7UUFDZixJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2YsTUFBTSxFQUFFLHNCQUFzQixFQUFFLGFBQWEsRUFBRSxHQUFHLFlBQVksQ0FBQztZQUMvRCxjQUFjLEdBQUcsc0JBQXNCLENBQUM7WUFDeEMsS0FBSyxHQUFHLGFBQWEsQ0FBQztZQUN0QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ2xCLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7WUFDaEQsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLGlCQUFpQixFQUFFLElBQUksZ0JBQWdCLEVBQUUsRUFBRSxDQUFDO1lBQzVDLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7UUFDN0MsQ0FBQztRQUNELElBQUksY0FBYyxFQUFFLENBQUM7WUFDakIsQ0FBQztnQkFDRyxxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUMvRCxDQUFDO1lBQ0QsTUFBTSxnQkFBZ0IsR0FBRyw2QkFBNkIsQ0FBQztZQUN2RCxNQUFNLGtCQUFrQixHQUFHLCtCQUErQixDQUFDO1lBQzNELE1BQU0sYUFBYSxHQUFHLDBCQUEwQixDQUFDO1lBQ2pELE1BQU0sSUFBSSxHQUFHLFFBQVEsRUFBRSxJQUFJLENBQUM7WUFDNUIsUUFBUSxjQUFjLEVBQUUsQ0FBQztnQkFDckIsS0FBSyxXQUFXO29CQUNaLENBQUM7d0JBQ0csSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQzs0QkFDL0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQzt3QkFDM0MsQ0FBQzt3QkFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO3dCQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDekMsQ0FBQztvQkFDRCxNQUFNO2dCQUNWLEtBQUssTUFBTTtvQkFDUCxDQUFDO3dCQUNHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDOzRCQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQzt3QkFDdEMsQ0FBQzt3QkFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO3dCQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO29CQUM5QyxDQUFDO29CQUNELE1BQU07Z0JBQ1YsS0FBSyxTQUFTO29CQUNWLENBQUM7d0JBQ0csSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQzs0QkFDN0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzt3QkFDekMsQ0FBQzt3QkFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQzt3QkFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztvQkFDOUMsQ0FBQztvQkFDRCxNQUFNO1lBQ2QsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzdCLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ25FLFFBQVEsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMvRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDcEUsUUFBUSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2hFLENBQUM7WUFDRCxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUnRsU2VydmljZSwgR2xvYmFsQ29udGVudERlbnNpdHlTZXJ2aWNlLCBDb250ZW50RGVuc2l0eU1vZGUsIFRoZW1pbmdTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcclxuaW1wb3J0IHtcclxuICAgIEJhcnNhQXBpLFxyXG4gICAgZ2V0RGV2aWNlSXNNb2JpbGUsXHJcbiAgICBnZXREZXZpY2VJc1Bob25lLFxyXG4gICAgZ2V0RGV2aWNlSXNUYWJsZXQsXHJcbiAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgUG9ydGFsU2VydmljZVxyXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuaW1wb3J0IHsgVWlUZXh0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL3VpLXRleHQtZmllbGQvdWktdGV4dC1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMeUxheW91dEZpZWxkTGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2x5LWxheW91dC1maWVsZC1sYWJlbC9seS1sYXlvdXQtZmllbGQtbGFiZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlDaGVja0JveENvbXBvbmVudCB9IGZyb20gJy4vdWktY2hlY2stYm94L3VpLWNoZWNrLWJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVNpbXBsZUNvbWJvQ29tcG9uZW50IH0gZnJvbSAnLi91aS1zaW1wbGUtY29tYm8vdWktc2ltcGxlLWNvbWJvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpUmFkaW9Hcm91cENvbXBvbmVudCB9IGZyb20gJy4vdWktcmFkaW8tZ3JvdXAvdWktcmFkaW8tZ3JvdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi91aS1ncmlkL3VpLWdyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlNYXBDb21wb25lbnQgfSBmcm9tICcuL3VpLW1hcC91aS1tYXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTHlMYXlvdXRDb250YWluZXJPZlJvb3RDb21wb25lbnQgfSBmcm9tICcuL2x5LWxheW91dC1jb250YWluZXItb2Ytcm9vdC9seS1sYXlvdXQtY29udGFpbmVyLW9mLXJvb3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTHlMYXlvdXRQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vbHktbGF5b3V0LXBhbmVsL2x5LWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVJlYWRPbmx5RmllbGRDb21wb25lbnQgfSBmcm9tICcuL3VpLXJlYWQtb25seS1maWVsZC91aS1yZWFkLW9ubHktZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlDb250YWluZXJXaXRoQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi91aS1jb250YWluZXItd2l0aC1idXR0b24vdWktY29udGFpbmVyLXdpdGgtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpUGljdHVyZUZpbGVDb21wb25lbnQgfSBmcm9tICcuL3VpLXBpY3R1cmUtZmlsZS91aS1waWN0dXJlLWZpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlNb0luZm9VbHZDb21ib0NvbXBvbmVudCB9IGZyb20gJy4vdWktbW8taW5mby11bHYtY29tYm8vdWktbW8taW5mby11bHYtY29tYm8uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlNdWx0aVNlbGVjdENvbWJvQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tdWx0aS1zZWxlY3QtY29tYm8vdWktbXVsdGktc2VsZWN0LWNvbWJvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpTnVtRGVjaW1hbFVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS1udW0tZGVjaW1hbC11aS91aS1udW0tZGVjaW1hbC11aS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaU51bUludFVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS1udW0taW50LXVpL3VpLW51bS1pbnQtdWkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlUaW1lU3BhbkNvbXBvbmVudCB9IGZyb20gJy4vdWktdGltZS1zcGFuL3VpLXRpbWUtc3Bhbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUZpbGVMaW5lYXJMaXN0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi91aS1maWxlLWxpbmVhci1saXN0LWJveC91aS1maWxlLWxpbmVhci1saXN0LWJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMeUVtcHR5U3BhY2VDb21wb25lbnQgfSBmcm9tICcuL2x5LWVtcHR5LXNwYWNlL2x5LWVtcHR5LXNwYWNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpU2luZ2xlUGljdHVyZUNvbXBvbmVudCB9IGZyb20gJy4vdWktc2luZ2xlLXBpY3R1cmUvdWktc2luZ2xlLXBpY3R1cmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWx2U2VsZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi91bHYtc2VsZWN0aW9uL3Vsdi1zZWxlY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWx2VG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vdWx2LXRvb2xiYXIvdWx2LXRvb2xiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWx2UGFnaW5nQ29tcG9uZW50IH0gZnJvbSAnLi91bHYtcGFnaW5nL3Vsdi1wYWdpbmcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlHcmlkU29ydFNldHRpbmdDb21wb25lbnQgfSBmcm9tICcuL3VpLWdyaWQtc29ydC1zZXR0aW5nL3VpLWdyaWQtc29ydC1zZXR0aW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpR3JpZFNvcnRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi91aS1ncmlkLXNvcnQtaXRlbS91aS1ncmlkLXNvcnQtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUdyaWRDb2x1bW5zQ29tcG9uZW50IH0gZnJvbSAnLi91aS1ncmlkLWNvbHVtbnMvdWktZ3JpZC1jb2x1bW5zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hc2tDb21wb25lbnQgfSBmcm9tICcuL21hc2svbWFzay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUluZm9CYXJQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vdWktaW5mby1iYXItcGFuZWwvdWktaW5mby1iYXItcGFuZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlGb3JtUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL3VpLWZvcm0tcGFuZWwvdWktZm9ybS1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVNlYXJjaENvbW1hbmRJbmZvVWlDb21wb25lbnQgfSBmcm9tICcuL3VpLXNlYXJjaC1jb21tYW5kLWluZm8tdWkvdWktc2VhcmNoLWNvbW1hbmQtaW5mby11aS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVbHZTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vdWx2LXNldHRpbmdzL3Vsdi1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVRpbnltY2VDb21wb25lbnQgfSBmcm9tICcuL3VpLXRpbnltY2UvdWktdGlueW1jZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdWktYnV0dG9uL3VpLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaURhdGVUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi91aS1kYXRlLXRpbWUvdWktZGF0ZS10aW1lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZGlhbG9nL2Zvcm0tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpTW9JbmZvU3ViRm9ybVVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tby1pbmZvLXN1Yi1mb3JtLXVpL3VpLW1vLWluZm8tc3ViLWZvcm0tdWkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVzcG9uc2l2ZVRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3Jlc3BvbnNpdmUtdG9vbGJhci9yZXNwb25zaXZlLXRvb2xiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVzcG9uc2l2ZVRvb2xiYXJSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4vcmVzcG9uc2l2ZS10b29sYmFyLXJlbmRlcmVyL3Jlc3BvbnNpdmUtdG9vbGJhci1yZW5kZXJlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVRleHRBcmVhQ29tcG9uZW50IH0gZnJvbSAnLi91aS10ZXh0LWFyZWEvdWktdGV4dC1hcmVhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExheW91dENvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuL2xheW91dC1jb250cm9sL2xheW91dC1jb250cm9sLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExheW91dFdpemFyZENvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0LXdpemFyZC9sYXlvdXQtd2l6YXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1XaXphcmRDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0td2l6YXJkL2Zvcm0td2l6YXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdpemFyZExheW91dERpcmVjdGl2ZSB9IGZyb20gJy4vd2l6YXJkLWxheW91dC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBGb3JtRGlhbG9nTGVzc0NvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1kaWFsb2ctbGVzcy9mb3JtLWRpYWxvZy1sZXNzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJpY2hUZXh0U3RhdGljQ29tcG9uZW50IH0gZnJvbSAnLi9yaWNoLXRleHQtc3RhdGljL3JpY2gtdGV4dC1zdGF0aWMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlQaWN0dXJlc0luZm9Db21wb25lbnQgfSBmcm9tICcuL3VpLXBpY3R1cmVzLWluZm8vdWktcGljdHVyZXMtaW5mby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMeUhvcml6b250YWxMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2x5LWhvcml6b250YWwtbGF5b3V0L2x5LWhvcml6b250YWwtbGF5b3V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEx5VmVydGljYWxMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2x5LXZlcnRpY2FsLWxheW91dC9seS12ZXJ0aWNhbC1sYXlvdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTHlUYWJDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2x5LXRhYi1jb250YWluZXIvbHktdGFiLWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMeVRhYlBhZ2VDb21wb25lbnQgfSBmcm9tICcuL2x5LXRhYi1wYWdlL2x5LXRhYi1wYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEx5TGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2x5LWxhYmVsL2x5LWxhYmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbFJlbmRlcmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9jb2wtcmVuZGVyZXIuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgVWlNb0luZm9Db21ib1ZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vdWktbW8taW5mby1jb21iby12aWV3ZXIvdWktbW8taW5mby1jb21iby12aWV3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWxNc2dCb3hBZGFwdGVyQ29tcG9uZW50IH0gZnJvbSAnLi91bC1tc2ctYm94LWFkYXB0ZXIvdWwtbXNnLWJveC1hZGFwdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEhlYWRlckF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyLWF2YXRhci9oZWFkZXItYXZhdGFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFwcGx5Q29uZGl0aW9uYWxGb3JtYXRzRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHBseS1jb25kaXRpb25hbC1mb3JtbWF0aW5ncy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBVaVdvcmtmbG93UGFuZWxVaUNvbXBvbmVudCB9IGZyb20gJy4vdWktd29ya2Zsb3ctcGFuZWwtdWkvdWktd29ya2Zsb3ctcGFuZWwtdWkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWx2Q29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICcuL3Vsdi1jb250ZXh0LW1lbnUvdWx2LWNvbnRleHQtbWVudS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVbExvYWRpbmdNYXNrVWlDb21wb25lbnQgfSBmcm9tICcuL3VsLWxvYWRpbmctbWFzay11aS91bC1sb2FkaW5nLW1hc2stdWkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlUZXh0RmllbGRBdXRvQ29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL3VpLXRleHQtZmllbGQtYXV0by1jb21wbGV0ZS91aS10ZXh0LWZpZWxkLWF1dG8tY29tcGxldGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2FwdGNoYUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jYXB0Y2hhLWZpZWxkL2NhcHRjaGEtZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTHlTaW1wbGVMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vbHktc2ltcGxlLWxhYmVsL2x5LXNpbXBsZS1sYWJlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHbG9iYWxTZWFyY2hQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vZ2xvYmFsLXNlYXJjaC1wYW5lbC9nbG9iYWwtc2VhcmNoLXBhbmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdsb2JhbFNlYXJjaE1vZHVsZUNvbXBvbmVudCB9IGZyb20gJy4vZ2xvYmFsLXNlYXJjaC1tb2R1bGUvZ2xvYmFsLXNlYXJjaC1tb2R1bGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgR2xvYmFsU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi9nbG9iYWwtc2VhcmNoL2dsb2JhbC1zZWFyY2guY29tcG9uZW50JztcclxuaW1wb3J0IHsgSHlwZXJsaW5rQ29tcG9uZW50IH0gZnJvbSAnLi9oeXBlcmxpbmsvaHlwZXJsaW5rLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN0YXRpY1RleHRDb21wb25lbnQgfSBmcm9tICcuL3N0YXRpYy10ZXh0L3N0YXRpYy10ZXh0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVsVG9hc3RBZGFwdGVyQ29tcG9uZW50IH0gZnJvbSAnLi91bC10b2FzdC1hZGFwdGVyL3VsLXRvYXN0LWFkYXB0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWVzc2FnZVN0cmlwQ29tcG9uZW50IH0gZnJvbSAnLi9tZXNzYWdlLXN0cmlwL21lc3NhZ2Utc3RyaXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlMaW5lYXJMaXN0Q29udGFpbmVyV2l0aEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdWktbGluZWFyLWxpc3QtY29udGFpbmVyLXdpdGgtYnV0dG9uL3VpLWxpbmVhci1saXN0LWNvbnRhaW5lci13aXRoLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGdW5kYW1lbnRhbER5bmFtaWNGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mdW5kYW1lbnRhbC1keW5hbWljLWZvcm0vZnVuZGFtZW50YWwtZHluYW1pYy1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExheW91dEFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2xheW91dC1hY3Rpb25zL2xheW91dC1hY3Rpb25zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEx5TGF5b3V0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9seS1sYXlvdXQtY29udGFpbmVyL2x5LWxheW91dC1jb250YWluZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlVbHZGb3JtTXVsdGlTZWxlY3RVaUNvbXBvbmVudCB9IGZyb20gJy4vdWktdWx2LWZvcm0tbXVsdGktc2VsZWN0LXVpL3VpLXVsdi1mb3JtLW11bHRpLXNlbGVjdC11aS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVbHZGb3JtTXVsdGlTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3Vsdi1mb3JtLW11bHRpLXNlbGVjdC91bHYtZm9ybS1tdWx0aS1zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWx2Q29sdW1uU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL3Vsdi1jb2x1bW4tc2V0dGluZ3MvdWx2LWNvbHVtbi1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVbHZGaWx0ZXJTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vdWx2LWZpbHRlci1zZXR0aW5ncy91bHYtZmlsdGVyLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVsdlNvcnRTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vdWx2LXNvcnQtc2V0dGluZ3MvdWx2LXNvcnQtc2V0dGluZ3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWx2R3JvdXBieVNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi91bHYtZ3JvdXBieS1zZXR0aW5ncy91bHYtZ3JvdXBieS1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUxpc3RGaWxlTGluZWFyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1saXN0LWZpbGUtbGluZWFyL2JhcnNhLWxpc3QtZmlsZS1saW5lYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlQZGZWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL3VpLXBkZi12aWV3ZXIvdWktcGRmLXZpZXdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYVRpbnllbWNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10aW55ZW1jZS9iYXJzYS10aW55ZW1jZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaU1vbmFjb0VkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vdWktbW9uYWNvLWVkaXRvci91aS1tb25hY28tZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhTW9uYWNvRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1tb25hY28tZWRpdG9yL2JhcnNhLW1vbmFjby1lZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FEYXRlVGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtZGF0ZS10aW1lLXBpY2tlci9iYXJzYS1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhVHJlZUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRyZWUtaXRlbS9iYXJzYS10cmVlLWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVXBsb2FkRmlsZVN0YXR1c1BpcGUgfSBmcm9tICcuL3VwbG9hZC1maWxlLXN0YXR1cy5waXBlJztcclxuaW1wb3J0IHsgVWlTd2l0Y2hCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3VpLXN3aXRjaC1idXR0b24vdWktc3dpdGNoLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUNvbG9yVWlDb21wb25lbnQgfSBmcm9tICcuL3VpLWNvbG9yLXVpL3VpLWNvbG9yLXVpLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEx5TGluZUNvbXBvbmVudCB9IGZyb20gJy4vbHktbGluZS9seS1saW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpVWx2TWFpblVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS11bHYtbWFpbi11aS91aS11bHYtbWFpbi11aS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXBvcnROYXZpZ2F0b3JDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydC1uYXZpZ2F0b3IvcmVwb3J0LW5hdmlnYXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYW5hZ2VGaWx0ZXJzUmVwb3J0Q29tcG9uZW50IH0gZnJvbSAnLi9tYW5hZ2UtZmlsdGVycy1yZXBvcnQvbWFuYWdlLWZpbHRlcnMtcmVwb3J0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlcG9ydFNlYXJjaEZpZWxkc01hbmFnZUNvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0LXNlYXJjaC1maWVsZHMtbWFuYWdlL3JlcG9ydC1zZWFyY2gtZmllbGRzLW1hbmFnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXBvcnRTZWFyY2hGaWVsZHNIaWRkZW5TZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0LXNlYXJjaC1maWVsZHMtaGlkZGVuLXNldHRpbmdzL3JlcG9ydC1zZWFyY2gtZmllbGRzLWhpZGRlbi1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWFyY2hQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLXBhbmVsL3NlYXJjaC1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXBvcnRTZWFyY2hQYW5lbFNhdmVDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydC1zZWFyY2gtcGFuZWwtc2F2ZS9yZXBvcnQtc2VhcmNoLXBhbmVsLXNhdmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlHcmlkRmlsdGVyU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL3VpLWdyaWQtZmlsdGVyLXNldHRpbmdzL3VpLWdyaWQtZmlsdGVyLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpR3JpZEZpbHRlckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3VpLWdyaWQtZmlsdGVyLWl0ZW0vdWktZ3JpZC1maWx0ZXItaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTYXBGb250UGlwZSB9IGZyb20gJy4vc2FwLWZvbnQucGlwZSc7XHJcbmltcG9ydCB7IFNhcEZvbnRDbGFzc1BpcGUgfSBmcm9tICcuL3NhcC1mb250LWNsYXNzLnBpcGUnO1xyXG5pbXBvcnQgeyBVaURhdGVSYW5nZUV4Q29tcG9uZW50IH0gZnJvbSAnLi91aS1kYXRlLXJhbmdlLWV4L3VpLWRhdGUtcmFuZ2UtZXguY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWxOb3RpZnlQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vdWwtbm90aWZ5LXBvcHVwL3VsLW5vdGlmeS1wb3B1cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVRhYmxlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdWktdGFibGUtdmlldy91aS10YWJsZS12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpTGlzdFZpZXdDb21wb25lbnQgfSBmcm9tICcuL3VpLWxpc3Qtdmlldy91aS1saXN0LXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3RyaW5nVG9BcnJheVBpcGUsIFVpQ2FyZFZpZXdDb21wb25lbnQgfSBmcm9tICcuL3VpLWNhcmQtdmlldy91aS1jYXJkLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlSZXBvcnRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3VpLXJlcG9ydC1jb250YWluZXIvdWktcmVwb3J0LWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOb0RhdGFDb21wb25lbnQgfSBmcm9tICcuL25vLWRhdGEvbm8tZGF0YS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2x1bW5SZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4vY29sdW1uLXJlbmRlcmVyL2NvbHVtbi1yZW5kZXJlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbmxpbmVTYXZlQW5kQ2FuY2VsQ29tcG9uZW50IH0gZnJvbSAnLi9pbmxpbmUtc2F2ZS1hbmQtY2FuY2VsL2lubGluZS1zYXZlLWFuZC1jYW5jZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlUcmVlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdWktdHJlZS12aWV3L3VpLXRyZWUtdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVRyZWVDb21wb25lbnQgfSBmcm9tICcuL3VpLXRyZWUvdWktdHJlZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUNhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSAnLi91aS1jYWxlbmRhci91aS1jYWxlbmRhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOb2RlSGFzT25lRGVwdGhMZXZlbFBpcGUgfSBmcm9tICcuL2JhcnNhLXRyZWUtaXRlbS9ub2RlLWhhcy1vbmUtZGVwdGgtbGV2ZWwucGlwZSc7XHJcbmltcG9ydCB7IFVpQXNwUmVwb3J0Vmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi91aS1hc3AtcmVwb3J0LXZpZXdlci91aS1hc3AtcmVwb3J0LXZpZXdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUdyYXBoQ29tcG9uZW50IH0gZnJvbSAnLi91aS1ncmFwaC91aS1ncmFwaC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUV4Y2VwdGlvbkZvcm1Db21wb25lbnQgfSBmcm9tICcuL3VpLWV4Y2VwdGlvbi1mb3JtL3VpLWV4Y2VwdGlvbi1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpRWRpdGFibGVHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi91aS1lZGl0YWJsZS1ncmlkL3VpLWVkaXRhYmxlLWdyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29sdW1uTWF0cml4UmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbHVtbi1tYXRyaXgtcmVuZGVyZXIvY29sdW1uLW1hdHJpeC1yZW5kZXJlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaU1hdHJpeFZpZXdDb21wb25lbnQgfSBmcm9tICcuL3VpLW1hdHJpeC12aWV3L3VpLW1hdHJpeC12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbURhdGVUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi9jdXN0b20tZGF0ZS10aW1lL2N1c3RvbS1kYXRlLXRpbWUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0cml4VmFsdWVQaXBlIH0gZnJvbSAnLi9jb2x1bW4tbWF0cml4LXJlbmRlcmVyL21hdHJpeC12YWx1ZS5waXBlJztcclxuaW1wb3J0IHsgQmFyc2FBc3BWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWFzcC12aWV3ZXIvYmFyc2EtYXNwLXZpZXdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWxlSW5EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtaW4tZGlhbG9nL2ZpbGUtaW4tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IER5bmFtaWNQYWdlU2l6ZVBpcGUgfSBmcm9tICcuL2R5bmFtaWMtcGFnZS1zaXplLnBpcGUnO1xyXG5pbXBvcnQgeyBSZXBvcnRWaWV3UmVuZGVyZXJEaXJlY3RpdmUgfSBmcm9tICcuL3JlcG9ydC12aWV3LXJlbmRlcmVyLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFVpTW9JbmZvR2VuZXJhbE9iamVjdFVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tby1pbmZvLWdlbmVyYWwtb2JqZWN0LXVpL3VpLW1vLWluZm8tZ2VuZXJhbC1vYmplY3QtdWkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlHYW50dENoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi91aS1nYW50dC1jaGFydC91aS1nYW50dC1jaGFydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHYW50dERodG1sQ2hhcnRWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9nYW50dC1kaHRtbC1jaGFydC12aWV3L2dhbnR0LWRodG1sLWNoYXJ0LXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRnVsbHNjcmVlbkRpYWxvZ0RpcmVjdGl2ZSB9IGZyb20gJy4vZnVsbHNjcmVlbi1kaWFsb2cuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUHJvZ3Jlc3NJbmRpY2F0b3JDb21wb25lbnQgfSBmcm9tICcuL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2FyZFZpZXdDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jYXJkLXZpZXctY29udGVudC9jYXJkLXZpZXctY29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDYXJkSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY2FyZC1pdGVtL2NhcmQtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUNhcmRWaWV3SG9yaXpvbnRhbEdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi91aS1jYXJkLXZpZXctaG9yaXpvbnRhbC1ncm91cC91aS1jYXJkLXZpZXctaG9yaXpvbnRhbC1ncm91cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4vdGl0bGUvdGl0bGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FVbHZNYWluQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS11bHYtbWFpbi9iYXJzYS11bHYtbWFpbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMaXN0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIdHJlZUNyZWF0ZU5ld0NvbXBvbmVudCB9IGZyb20gJy4vaHRyZWUtY3JlYXRlLW5ldy9odHJlZS1jcmVhdGUtbmV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhVGFibGVSb3dDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRhYmxlLXJvdy9iYXJzYS10YWJsZS1yb3cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FUYWJsZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtdGFibGUtY29sdW1uL2JhcnNhLXRhYmxlLWNvbHVtbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYVRhYmxlSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10YWJsZS1oZWFkZXIvYmFyc2EtdGFibGUtaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUxhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi91aS1sYWJlbC91aS1sYWJlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtVG9vbGJhckJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS10b29sYmFyLWJ1dHRvbi9mb3JtLXRvb2xiYXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhU2VhcmNoRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2Etc2VhcmNoLWZvcm0vYmFyc2Etc2VhcmNoLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVwb3J0TmV3VG9wRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0LW5ldy10b3AtZm9ybS9yZXBvcnQtbmV3LXRvcC1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhTmV0d29ya09mZmxpbmVDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLW5ldHdvcmstb2ZmbGluZS9iYXJzYS1uZXR3b3JrLW9mZmxpbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmxvYlZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vYmxvYi12aWV3ZXIvYmxvYi12aWV3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsZVZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsZS12aWV3ZXIvZmlsZS12aWV3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsZVZpZXdlckNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtdmlld2VyLWNvbnRlbnQvZmlsZS12aWV3ZXItY29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWxlVmlld2VyUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsZS12aWV3ZXItcG9wb3Zlci9maWxlLXZpZXdlci1wb3BvdmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERvd25sb2FkRmlsZXNEaXJlY3RpdmUgfSBmcm9tICcuL2Rvd25sb2FkLWZpbGVzLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEZ1bGxzY3JlZW5GaWxlc0RpcmVjdGl2ZSB9IGZyb20gJy4vZnVsbHNjcmVlbi1maWxlcy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9ub3RpZmljYXRpb24taXRlbS9ub3RpZmljYXRpb24taXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUNhcnRhYmxlVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNhcnRhYmxlLXRlbXBsYXRlL2JhcnNhLWNhcnRhYmxlLXRlbXBsYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhQ2FydGFibGVHcm91cENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtZ3JvdXAtY2FydGFibGUvYmFyc2EtY2FydGFibGUtZ3JvdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDYXJ0YWJsZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNhcnRhYmxlLWZvcm0vYmFyc2EtY2FydGFibGUtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUNvbHVtbkluZGljYXRvckNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY29sdW1uLWluZGljYXRvci9iYXJzYS1jb2x1bW4taW5kaWNhdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhRmllbGRLZXlWYWx1ZUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtZmllbGQta2V5LXZhbHVlL2JhcnNhLWZpZWxkLWtleS12YWx1ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYVRvb2xiYXJpdGVtU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10b29sYmFyaXRlbS1zZWFyY2gvYmFyc2EtdG9vbGJhcml0ZW0tc2VhcmNoLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpSHRtbFZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vdWktaHRtbC12aWV3ZXIvdWktaHRtbC12aWV3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FQaXNobmFtYXllc2hQYXlhbUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtcGlzaG5hbWF5ZXNoLXBheWFtL2JhcnNhLXBpc2huYW1heWVzaC1wYXlhbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYVRleHRFbGxpcHNpc0NvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtdGV4dC1lbGxpcHNpcy9iYXJzYS10ZXh0LWVsbGlwc2lzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhTGlzdEZpbGVMaW5lYXJHbWFpbENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtbGlzdC1maWxlLWxpbmVhci1nbWFpbC9iYXJzYS1saXN0LWZpbGUtbGluZWFyLWdtYWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhTGlua2FibGVJdGVtc1BhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1saW5rYWJsZS1pdGVtcy1wYW5lbC9iYXJzYS1saW5rYWJsZS1pdGVtcy1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUVudW1NZW51QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1lbnVtLW1lbnUtYnV0dG9uL2JhcnNhLWVudW0tbWVudS1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDYXJkTGF5b3V0UGFuZWxDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNhcmQtbGF5b3V0LXBhbmVsL2JhcnNhLWNhcmQtbGF5b3V0LXBhbmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhSG9yaXpvbnRhbEZsZXhQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtaG9yaXpvbnRhbC1mbGV4LXBhbmVsL2JhcnNhLWhvcml6b250YWwtZmxleC1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUJhc2VMYXlvdXRQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtYmFzZS1wYW5lbC9iYXJzYS1iYXNlLWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUJhclBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1iYXItcGFuZWwvYmFyc2EtYmFyLXBhbmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhRm9ybVNpZGVDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1mb3JtLXNpZGUtY29udGVudC9iYXJzYS1mb3JtLXNpZGUtY29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEaWFsb2dIYW5kbGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaWFsb2ctaGFuZGxlci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBCYXJzYVNpbXBsZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXNpbXBsZS1mb3JtL2JhcnNhLXNpbXBsZS1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1Ub29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLXRvb2xiYXIvZm9ybS10b29sYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhTGlzdExheW91dFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1saXN0LWxheW91dC1wYW5lbC9iYXJzYS1saXN0LWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUdyaWRMYXlvdXRQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtZ3JpZC1sYXlvdXQtcGFuZWwvYmFyc2EtZ3JpZC1sYXlvdXQtcGFuZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FEeW5hbWljRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWR5bmFtaWMtZmllbGQvYmFyc2EtZHluYW1pYy1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTYXBTaXplUGlwZSB9IGZyb20gJy4vc2FwLXNpemUucGlwZSc7XHJcbmltcG9ydCB7IFVpTXVsdGlTZWxlY3RSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4vdWktbXVsdGktc2VsZWN0LXJhZGlvL3VpLW11bHRpLXNlbGVjdC1yYWRpby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaU11bHRpU2VsZWN0Q2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL3VpLW11bHRpLXNlbGVjdC1jaGVja2JveC91aS1tdWx0aS1zZWxlY3QtY2hlY2tib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlNdWx0aVNlbGVjdFNsaWRlckNvbXBvbmVudCB9IGZyb20gJy4vdWktbXVsdGktc2VsZWN0LXNsaWRlci91aS1tdWx0aS1zZWxlY3Qtc2xpZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpTXVsdGlTZWxlY3RDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tdWx0aS1zZWxlY3QtY2FyZC91aS1tdWx0aS1zZWxlY3QtY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaU11bHRpU2VsZWN0U21pbGVDb21wb25lbnQgfSBmcm9tICcuL3VpLW11bHRpLXNlbGVjdC1zbWlsZS91aS1tdWx0aS1zZWxlY3Qtc21pbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlOdW1JbnRTbGlkZXJDb21wb25lbnQgfSBmcm9tICcuL3VpLW51bS1pbnQtc2xpZGVyL3VpLW51bS1pbnQtc2xpZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhUmVwb3J0Q2hlY2tib3hTd2l0Y2hCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXJlcG9ydC1jaGVja2JveC1zd2l0Y2gtYnV0dG9uL2JhcnNhLXJlcG9ydC1jaGVja2JveC1zd2l0Y2gtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhQ29sdW1uUm93TnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jb2x1bW4tcm93bnVtYmVyL2JhcnNhLWNvbHVtbi1yb3dudW1iZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FSZXBvcnRPbmVPZkxpc3RDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXJlcG9ydC1vbmUtb2YtbGlzdC9iYXJzYS1yZXBvcnQtb25lLW9mLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDYXJkUm93UGF5YW1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNhcmQtcm93LXBheWFtL2JhcnNhLWNhcmQtcm93LXBheWFtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhUXVlc3Rpb25Qb3N0Q29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1xdWVzdGlvbi1wb3N0L2JhcnNhLXF1ZXN0aW9uLXBvc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FRdWVzdGlvbkFuc3dlckZvcm1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1mb3JtL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhUXVlc3Rpb25BbnN3ZXJGb3JtQWRkQ29tbWVudENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWZvcm0tYWRkLWNvbW1lbnQvYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWZvcm0tYWRkLWNvbW1lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FBbnN3ZXJDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1hbnN3ZXItY2FyZC9iYXJzYS1hbnN3ZXItY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYVF1ZXN0aW9uQW5zd2VyQ3JlYXRvclRpbWVTZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItY3JlYXRvci10aW1lLXNlY3Rpb24vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWNyZWF0b3ItdGltZS1zZWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhUXVlc3Rpb25BbnN3ZXJDb21tZW50c1NlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1jb21tZW50cy1zZWN0aW9uL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1jb21tZW50cy1zZWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhUXVlc3Rpb25BbnN3ZXJWb3RlU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLXZvdGUtc2VjdGlvbi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItdm90ZS1zZWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhUXVlc3Rpb25BbnN3ZXJDb250ZW50QWN0aW9uc1NlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1jb250ZW50LWFjdGlvbnMtc2VjdGlvbi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItY29udGVudC1hY3Rpb25zLXNlY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDaGlwQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jaGlwL2JhcnNhLWNoaXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FSZXBvcnRDYXJkRmxleFZpZXdDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXJlcG9ydC1jYXJkLWZsZXgtdmlldy9iYXJzYS1yZXBvcnQtY2FyZC1mbGV4LXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FUYWdzQ2F0ZWdvcnlSb3dDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRhZ3MtY2F0ZWdvcnktcm93L2JhcnNhLXRhZ3MtY2F0ZWdvcnktcm93LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhVGFnQ2hpcENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtdGFnLWNoaXAvYmFyc2EtdGFnLWNoaXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FUYWdDYXRlZ29yaWVzQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10YWctY2F0ZWdvcmllcy9iYXJzYS10YWctY2F0ZWdvcmllcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUN1c3RvbUlubGluZUVkaXRDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWN1c3RvbS1pbmxpbmUtZWRpdC9iYXJzYS1jdXN0b20taW5saW5lLWVkaXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDdXN0b21JbmxpbmVFZGl0Um93Q29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jdXN0b20taW5saW5lLWVkaXQtcm93L2JhcnNhLWN1c3RvbS1pbmxpbmUtZWRpdC1yb3cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IEJhcnNhQ2hhdENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY2hhdC9iYXJzYS1jaGF0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhQ2hhdENvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNoYXQtY29udGVudC9iYXJzYS1jaGF0LWNvbnRlbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDaGF0TWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY2hhdC1tZXNzYWdlL2JhcnNhLWNoYXQtbWVzc2FnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUNoYXRUaHJlYWRDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNoYXQtdGhyZWFkL2JhcnNhLWNoYXQtdGhyZWFkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhQ2hhdFRocmVhZHNMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jaGF0LXRocmVhZHMtbGlzdC9iYXJzYS1jaGF0LXRocmVhZHMtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUNoYXRUaHJlYWRzTGlzdFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNoYXQtdGhyZWFkcy1saXN0LXRvb2xiYXIvYmFyc2EtY2hhdC10aHJlYWRzLWxpc3QtdG9vbGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUNoYXRDb250ZW50VG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY2hhdC1jb250ZW50LXRvb2xiYXIvYmFyc2EtY2hhdC1jb250ZW50LXRvb2xiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDaGF0TGlzdENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY2hhdC1saXN0L2JhcnNhLWNoYXQtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdmF0YXJHcmlkQ29sUGlwZSB9IGZyb20gJy4vYXZhdGFyLXNpemUucGlwZSc7XHJcbmltcG9ydCB7IEJhcnNhTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLW1vZGFsL2JhcnNhLW1vZGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhVGFiUm91dGVNYW5hZ2VyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10YWItcm91dGUtbWFuYWdlci9iYXJzYS10YWItcm91dGUtbWFuYWdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUJyZWFkY3J1bWJzQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1icmVhZGNydW1icy9iYXJzYS1icmVhZGNydW1icy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWJsZVRoRGlyZWN0aXZlIH0gZnJvbSAnLi90YWJsZS10aC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBCYXJzYVJvd0lubGluZUFjdGlvbmxpc3RDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXJvdy1pbmxpbmUtYWN0aW9ubGlzdC9iYXJzYS1yb3ctaW5saW5lLWFjdGlvbmxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT2JqZWN0U3RhdHVzSWNvblBpcGUgfSBmcm9tICcuL29iamVjdC1zdGF0dXMtaWNvbi5waXBlJztcclxuaW1wb3J0IHsgVWlCcG1uVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi91aS1icG1uLXZpZXdlci91aS1icG1uLXZpZXdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUJhckRvd25sb2FkRmlsZUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtYmFyLWRvd25sb2FkLWZpbGUvYmFyc2EtYmFyLWRvd25sb2FkLWZpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlOb3RpZmljYXRpb25WaWV3Q29tcG9uZW50IH0gZnJvbSAnLi91aS1ub3RpZmljYXRpb24tdmlldy91aS1ub3RpZmljYXRpb24tdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25JdGVtQWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vbm90aWZpY2F0aW9uLWl0ZW0tYWN0aW9ucy9ub3RpZmljYXRpb24taXRlbS1hY3Rpb25zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhRm9ybUxheW91dFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1mb3JtLWxheW91dC1wYW5lbC9iYXJzYS1mb3JtLWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVJlcG9ydENhcm91c2VsVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdWktcmVwb3J0LWNhcm91c2VsLXZpZXcvdWktcmVwb3J0LWNhcm91c2VsLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDYXJkQmFubmVyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jYXJkLWJhbm5lci9iYXJzYS1jYXJkLWJhbm5lci5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGNvbnN0IGNvbXBvbmVudHMgPSBbXHJcbiAgICBCYXJzYUJhckRvd25sb2FkRmlsZUNvbXBvbmVudCxcclxuICAgIFVpVGV4dEZpZWxkQ29tcG9uZW50LFxyXG4gICAgTHlMYXlvdXRGaWVsZExhYmVsQ29tcG9uZW50LFxyXG4gICAgVWlDaGVja0JveENvbXBvbmVudCxcclxuICAgIFVpU2ltcGxlQ29tYm9Db21wb25lbnQsXHJcbiAgICBVaVJhZGlvR3JvdXBDb21wb25lbnQsXHJcbiAgICBVaUdyaWRDb21wb25lbnQsXHJcbiAgICBVaU1hcENvbXBvbmVudCxcclxuICAgIEx5TGF5b3V0Q29udGFpbmVyT2ZSb290Q29tcG9uZW50LFxyXG4gICAgTHlMYXlvdXRQYW5lbENvbXBvbmVudCxcclxuICAgIFVpUmVhZE9ubHlGaWVsZENvbXBvbmVudCxcclxuICAgIFVpQ29udGFpbmVyV2l0aEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFVpUGljdHVyZUZpbGVDb21wb25lbnQsXHJcbiAgICBVaU1vSW5mb1VsdkNvbWJvQ29tcG9uZW50LFxyXG4gICAgVWlNdWx0aVNlbGVjdENvbWJvQ29tcG9uZW50LFxyXG4gICAgVWlOdW1EZWNpbWFsVWlDb21wb25lbnQsXHJcbiAgICBVaU51bUludFVpQ29tcG9uZW50LFxyXG4gICAgVWlUaW1lU3BhbkNvbXBvbmVudCxcclxuICAgIFVpRmlsZUxpbmVhckxpc3RCb3hDb21wb25lbnQsXHJcbiAgICBMeUVtcHR5U3BhY2VDb21wb25lbnQsXHJcbiAgICBVaVNpbmdsZVBpY3R1cmVDb21wb25lbnQsXHJcbiAgICBVbHZTZWxlY3Rpb25Db21wb25lbnQsXHJcbiAgICBVbHZUb29sYmFyQ29tcG9uZW50LFxyXG4gICAgVWx2UGFnaW5nQ29tcG9uZW50LFxyXG4gICAgVWlHcmlkU29ydFNldHRpbmdDb21wb25lbnQsXHJcbiAgICBVaUdyaWRTb3J0SXRlbUNvbXBvbmVudCxcclxuICAgIFVpR3JpZENvbHVtbnNDb21wb25lbnQsXHJcbiAgICBNYXNrQ29tcG9uZW50LFxyXG4gICAgVWlJbmZvQmFyUGFuZWxDb21wb25lbnQsXHJcbiAgICBVaUZvcm1QYW5lbENvbXBvbmVudCxcclxuICAgIFVpU2VhcmNoQ29tbWFuZEluZm9VaUNvbXBvbmVudCxcclxuICAgIFVsdlNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgVWlUaW55bWNlQ29tcG9uZW50LFxyXG4gICAgVWlCdXR0b25Db21wb25lbnQsXHJcbiAgICBVaURhdGVUaW1lQ29tcG9uZW50LFxyXG4gICAgRm9ybURpYWxvZ0NvbXBvbmVudCxcclxuICAgIFVpTW9JbmZvU3ViRm9ybVVpQ29tcG9uZW50LFxyXG4gICAgUmVzcG9uc2l2ZVRvb2xiYXJDb21wb25lbnQsXHJcbiAgICBSZXNwb25zaXZlVG9vbGJhclJlbmRlcmVyQ29tcG9uZW50LFxyXG4gICAgVWlUZXh0QXJlYUNvbXBvbmVudCxcclxuICAgIExheW91dENvbnRyb2xDb21wb25lbnQsXHJcbiAgICBMYXlvdXRXaXphcmRDb21wb25lbnQsXHJcbiAgICBGb3JtV2l6YXJkQ29tcG9uZW50LFxyXG4gICAgRm9ybURpYWxvZ0xlc3NDb21wb25lbnQsXHJcbiAgICBSaWNoVGV4dFN0YXRpY0NvbXBvbmVudCxcclxuICAgIFVpUGljdHVyZXNJbmZvQ29tcG9uZW50LFxyXG4gICAgTHlIb3Jpem9udGFsTGF5b3V0Q29tcG9uZW50LFxyXG4gICAgTHlWZXJ0aWNhbExheW91dENvbXBvbmVudCxcclxuICAgIEx5VGFiQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgTHlUYWJQYWdlQ29tcG9uZW50LFxyXG4gICAgTHlMYWJlbENvbXBvbmVudCxcclxuICAgIFVpTW9JbmZvQ29tYm9WaWV3ZXJDb21wb25lbnQsXHJcbiAgICBVbE1zZ0JveEFkYXB0ZXJDb21wb25lbnQsXHJcbiAgICBVaVRyZWVDb21wb25lbnQsXHJcbiAgICBIZWFkZXJBdmF0YXJDb21wb25lbnQsXHJcbiAgICBVaVdvcmtmbG93UGFuZWxVaUNvbXBvbmVudCxcclxuICAgIFVsdkNvbnRleHRNZW51Q29tcG9uZW50LFxyXG4gICAgVWxMb2FkaW5nTWFza1VpQ29tcG9uZW50LFxyXG4gICAgVWlUZXh0RmllbGRBdXRvQ29tcGxldGVDb21wb25lbnQsXHJcbiAgICBDYXB0Y2hhRmllbGRDb21wb25lbnQsXHJcbiAgICBMeVNpbXBsZUxhYmVsQ29tcG9uZW50LFxyXG4gICAgR2xvYmFsU2VhcmNoUGFuZWxDb21wb25lbnQsXHJcbiAgICBHbG9iYWxTZWFyY2hNb2R1bGVDb21wb25lbnQsXHJcbiAgICBHbG9iYWxTZWFyY2hDb21wb25lbnQsXHJcbiAgICBIeXBlcmxpbmtDb21wb25lbnQsXHJcbiAgICBTdGF0aWNUZXh0Q29tcG9uZW50LFxyXG4gICAgVWxUb2FzdEFkYXB0ZXJDb21wb25lbnQsXHJcbiAgICBNZXNzYWdlU3RyaXBDb21wb25lbnQsXHJcbiAgICBVaUxpbmVhckxpc3RDb250YWluZXJXaXRoQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgRnVuZGFtZW50YWxEeW5hbWljRm9ybUNvbXBvbmVudCxcclxuICAgIExheW91dEFjdGlvbnNDb21wb25lbnQsXHJcbiAgICBMeUxheW91dENvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIFVpVWx2Rm9ybU11bHRpU2VsZWN0VWlDb21wb25lbnQsXHJcbiAgICBVbHZGb3JtTXVsdGlTZWxlY3RDb21wb25lbnQsXHJcbiAgICBVbHZDb2x1bW5TZXR0aW5nc0NvbXBvbmVudCxcclxuICAgIFVsdkZpbHRlclNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgVWx2U29ydFNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgVWx2R3JvdXBieVNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgQmFyc2FMaXN0RmlsZUxpbmVhckNvbXBvbmVudCxcclxuICAgIFVpUGRmVmlld2VyQ29tcG9uZW50LFxyXG4gICAgQmFyc2FUaW55ZW1jZUNvbXBvbmVudCxcclxuICAgIFVpTW9uYWNvRWRpdG9yQ29tcG9uZW50LFxyXG4gICAgQmFyc2FNb25hY29FZGl0b3JDb21wb25lbnQsXHJcbiAgICBCYXJzYURhdGVUaW1lUGlja2VyQ29tcG9uZW50LFxyXG4gICAgQmFyc2FUcmVlSXRlbUNvbXBvbmVudCxcclxuICAgIFVpU3dpdGNoQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgVWlDb2xvclVpQ29tcG9uZW50LFxyXG4gICAgTHlMaW5lQ29tcG9uZW50LFxyXG4gICAgVWlVbHZNYWluVWlDb21wb25lbnQsXHJcbiAgICBSZXBvcnROYXZpZ2F0b3JDb21wb25lbnQsXHJcbiAgICBNYW5hZ2VGaWx0ZXJzUmVwb3J0Q29tcG9uZW50LFxyXG4gICAgUmVwb3J0U2VhcmNoRmllbGRzTWFuYWdlQ29tcG9uZW50LFxyXG4gICAgUmVwb3J0U2VhcmNoRmllbGRzSGlkZGVuU2V0dGluZ3NDb21wb25lbnQsXHJcbiAgICBTZWFyY2hQYW5lbENvbXBvbmVudCxcclxuICAgIFJlcG9ydFNlYXJjaFBhbmVsU2F2ZUNvbXBvbmVudCxcclxuICAgIFVpR3JpZEZpbHRlclNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgVWlHcmlkRmlsdGVySXRlbUNvbXBvbmVudCxcclxuICAgIFVpRGF0ZVJhbmdlRXhDb21wb25lbnQsXHJcbiAgICBVbE5vdGlmeVBvcHVwQ29tcG9uZW50LFxyXG4gICAgVWlUYWJsZVZpZXdDb21wb25lbnQsXHJcbiAgICBVaUxpc3RWaWV3Q29tcG9uZW50LFxyXG4gICAgVWlDYXJkVmlld0NvbXBvbmVudCxcclxuICAgIFVpUmVwb3J0Q29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgTm9EYXRhQ29tcG9uZW50LFxyXG4gICAgQ29sdW1uUmVuZGVyZXJDb21wb25lbnQsXHJcbiAgICBJbmxpbmVTYXZlQW5kQ2FuY2VsQ29tcG9uZW50LFxyXG4gICAgVWlUcmVlVmlld0NvbXBvbmVudCxcclxuICAgIElubGluZVNhdmVBbmRDYW5jZWxDb21wb25lbnQsXHJcbiAgICBVaUNhbGVuZGFyQ29tcG9uZW50LFxyXG4gICAgVWlBc3BSZXBvcnRWaWV3ZXJDb21wb25lbnQsXHJcbiAgICBVaUdyYXBoQ29tcG9uZW50LFxyXG4gICAgVWlFeGNlcHRpb25Gb3JtQ29tcG9uZW50LFxyXG4gICAgVWlFZGl0YWJsZUdyaWRDb21wb25lbnQsXHJcbiAgICBDb2x1bW5NYXRyaXhSZW5kZXJlckNvbXBvbmVudCxcclxuICAgIFVpTWF0cml4Vmlld0NvbXBvbmVudCxcclxuICAgIEN1c3RvbURhdGVUaW1lQ29tcG9uZW50LFxyXG4gICAgQmFyc2FBc3BWaWV3ZXJDb21wb25lbnQsXHJcbiAgICBGaWxlSW5EaWFsb2dDb21wb25lbnQsXHJcbiAgICBVaU1vSW5mb0dlbmVyYWxPYmplY3RVaUNvbXBvbmVudCxcclxuICAgIFVpR2FudHRDaGFydENvbXBvbmVudCxcclxuICAgIEdhbnR0RGh0bWxDaGFydFZpZXdDb21wb25lbnQsXHJcbiAgICBQcm9ncmVzc0luZGljYXRvckNvbXBvbmVudCxcclxuICAgIENhcmRWaWV3Q29udGVudENvbXBvbmVudCxcclxuICAgIENhcmRJdGVtQ29tcG9uZW50LFxyXG4gICAgVWlDYXJkVmlld0hvcml6b250YWxHcm91cENvbXBvbmVudCxcclxuICAgIFRpdGxlQ29tcG9uZW50LFxyXG4gICAgQmFyc2FVbHZNYWluQ29tcG9uZW50LFxyXG4gICAgTGlzdEl0ZW1Db21wb25lbnQsXHJcbiAgICBIdHJlZUNyZWF0ZU5ld0NvbXBvbmVudCxcclxuICAgIEJhcnNhVGFibGVIZWFkZXJDb21wb25lbnQsXHJcbiAgICBCYXJzYVRhYmxlUm93Q29tcG9uZW50LFxyXG4gICAgQmFyc2FUYWJsZUNvbHVtbkNvbXBvbmVudCxcclxuICAgIEJyZWFkY3J1bWJDb21wb25lbnQsXHJcbiAgICBVaUxhYmVsQ29tcG9uZW50LFxyXG4gICAgRm9ybVRvb2xiYXJCdXR0b25Db21wb25lbnQsXHJcbiAgICBCYXJzYVNlYXJjaEZvcm1Db21wb25lbnQsXHJcbiAgICBSZXBvcnROZXdUb3BGb3JtQ29tcG9uZW50LFxyXG4gICAgQmFyc2FOZXR3b3JrT2ZmbGluZUNvbXBvbmVudCxcclxuICAgIEZpbGVWaWV3ZXJDb250ZW50Q29tcG9uZW50LFxyXG4gICAgRmlsZVZpZXdlclBvcG92ZXJDb21wb25lbnQsXHJcbiAgICBGaWxlVmlld2VyQ29tcG9uZW50LFxyXG4gICAgQmxvYlZpZXdlckNvbXBvbmVudCxcclxuICAgIE5vdGlmaWNhdGlvbkl0ZW1Db21wb25lbnQsXHJcbiAgICBCYXJzYUNhcnRhYmxlVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICBCYXJzYUNhcnRhYmxlR3JvdXBDb21wb25lbnQsXHJcbiAgICBCYXJzYUNhcnRhYmxlRm9ybUNvbXBvbmVudCxcclxuICAgIEJhcnNhQ29sdW1uSW5kaWNhdG9yQ29tcG9uZW50LFxyXG4gICAgQmFyc2FGaWVsZEtleVZhbHVlQ29tcG9uZW50LFxyXG4gICAgQmFyc2FUb29sYmFyaXRlbVNlYXJjaENvbXBvbmVudCxcclxuICAgIFVpSHRtbFZpZXdlckNvbXBvbmVudCxcclxuICAgIEJhcnNhUGlzaG5hbWF5ZXNoUGF5YW1Db21wb25lbnQsXHJcbiAgICBCYXJzYVRleHRFbGxpcHNpc0NvbXBvbmVudCxcclxuICAgIEJhcnNhTGlzdEZpbGVMaW5lYXJHbWFpbENvbXBvbmVudCxcclxuICAgIEJhcnNhTGlua2FibGVJdGVtc1BhbmVsQ29tcG9uZW50LFxyXG4gICAgQmFyc2FFbnVtTWVudUJ1dHRvbkNvbXBvbmVudCxcclxuICAgIEJhcnNhQ2FyZExheW91dFBhbmVsQ29tcG9uZW50LFxyXG4gICAgQmFyc2FIb3Jpem9udGFsRmxleFBhbmVsQ29tcG9uZW50LFxyXG4gICAgQmFyc2FCYXNlTGF5b3V0UGFuZWxDb21wb25lbnQsXHJcbiAgICBCYXJzYUJhclBhbmVsQ29tcG9uZW50LFxyXG4gICAgQmFyc2FGb3JtU2lkZUNvbnRlbnRDb21wb25lbnQsXHJcbiAgICBCYXJzYVNpbXBsZUZvcm1Db21wb25lbnQsXHJcbiAgICBGb3JtVG9vbGJhckNvbXBvbmVudCxcclxuICAgIEJhcnNhTGlzdExheW91dFBhbmVsQ29tcG9uZW50LFxyXG4gICAgQmFyc2FHcmlkTGF5b3V0UGFuZWxDb21wb25lbnQsXHJcbiAgICBCYXJzYUR5bmFtaWNGaWVsZENvbXBvbmVudCxcclxuICAgIFVpTXVsdGlTZWxlY3RSYWRpb0NvbXBvbmVudCxcclxuICAgIFVpTXVsdGlTZWxlY3RDaGVja2JveENvbXBvbmVudCxcclxuICAgIFVpTnVtSW50U2xpZGVyQ29tcG9uZW50LFxyXG4gICAgVWlNdWx0aVNlbGVjdFNsaWRlckNvbXBvbmVudCxcclxuICAgIFVpTXVsdGlTZWxlY3RDYXJkQ29tcG9uZW50LFxyXG4gICAgVWlNdWx0aVNlbGVjdFNtaWxlQ29tcG9uZW50LFxyXG4gICAgQmFyc2FSZXBvcnRDaGVja2JveFN3aXRjaEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIEJhcnNhQ29sdW1uUm93TnVtYmVyQ29tcG9uZW50LFxyXG4gICAgQmFyc2FDYXJkUm93UGF5YW1Db21wb25lbnQsXHJcbiAgICBCYXJzYUNvbHVtblJvd051bWJlckNvbXBvbmVudCxcclxuICAgIEJhcnNhUXVlc3Rpb25Qb3N0Q29tcG9uZW50LFxyXG4gICAgQmFyc2FRdWVzdGlvbkFuc3dlckZvcm1Db21wb25lbnQsXHJcbiAgICBCYXJzYVF1ZXN0aW9uQW5zd2VyRm9ybUFkZENvbW1lbnRDb21wb25lbnQsXHJcbiAgICBCYXJzYUFuc3dlckNhcmRDb21wb25lbnQsXHJcbiAgICBCYXJzYVF1ZXN0aW9uQW5zd2VyQ29udGVudEFjdGlvbnNTZWN0aW9uQ29tcG9uZW50LFxyXG4gICAgQmFyc2FRdWVzdGlvbkFuc3dlclZvdGVTZWN0aW9uQ29tcG9uZW50LFxyXG4gICAgQmFyc2FRdWVzdGlvbkFuc3dlckNyZWF0b3JUaW1lU2VjdGlvbkNvbXBvbmVudCxcclxuICAgIEJhcnNhUXVlc3Rpb25BbnN3ZXJDb21tZW50c1NlY3Rpb25Db21wb25lbnQsXHJcbiAgICBCYXJzYUNoaXBDb21wb25lbnQsXHJcbiAgICBCYXJzYVRhZ0NoaXBDb21wb25lbnQsXHJcbiAgICBCYXJzYVJlcG9ydENhcmRGbGV4Vmlld0NvbXBvbmVudCxcclxuICAgIEJhcnNhVGFnc0NhdGVnb3J5Um93Q29tcG9uZW50LFxyXG4gICAgQmFyc2FUYWdDYXRlZ29yaWVzQ29tcG9uZW50LFxyXG4gICAgQmFyc2FSZXBvcnRPbmVPZkxpc3RDb21wb25lbnQsXHJcbiAgICBCYXJzYUNhcmRSb3dQYXlhbUNvbXBvbmVudCxcclxuICAgIEJhcnNhQ3VzdG9tSW5saW5lRWRpdENvbXBvbmVudCxcclxuICAgIEJhcnNhQ3VzdG9tSW5saW5lRWRpdFJvd0NvbXBvbmVudCxcclxuICAgIEJhcnNhQ2hhdENvbXBvbmVudCxcclxuICAgIEJhcnNhQ2hhdENvbnRlbnRDb21wb25lbnQsXHJcbiAgICBCYXJzYUNoYXRNZXNzYWdlQ29tcG9uZW50LFxyXG4gICAgQmFyc2FDaGF0VGhyZWFkQ29tcG9uZW50LFxyXG4gICAgQmFyc2FDaGF0VGhyZWFkc0xpc3RDb21wb25lbnQsXHJcbiAgICBCYXJzYUNoYXRUaHJlYWRzTGlzdFRvb2xiYXJDb21wb25lbnQsXHJcbiAgICBCYXJzYUNoYXRDb250ZW50VG9vbGJhckNvbXBvbmVudCxcclxuICAgIEJhcnNhQ2hhdExpc3RDb21wb25lbnQsXHJcbiAgICBCYXJzYU1vZGFsQ29tcG9uZW50LFxyXG4gICAgQmFyc2FUYWJSb3V0ZU1hbmFnZXJDb21wb25lbnQsXHJcbiAgICBCYXJzYUJyZWFkY3J1bWJzQ29tcG9uZW50LFxyXG4gICAgQmFyc2FSb3dJbmxpbmVBY3Rpb25saXN0Q29tcG9uZW50LFxyXG4gICAgVWlCcG1uVmlld2VyQ29tcG9uZW50LFxyXG4gICAgVWlOb3RpZmljYXRpb25WaWV3Q29tcG9uZW50LFxyXG4gICAgTm90aWZpY2F0aW9uSXRlbUFjdGlvbnNDb21wb25lbnQsXHJcbiAgICBCYXJzYUZvcm1MYXlvdXRQYW5lbENvbXBvbmVudCxcclxuICAgIFVpUmVwb3J0Q2Fyb3VzZWxWaWV3Q29tcG9uZW50LFxyXG4gICAgQmFyc2FDYXJkQmFubmVyQ29tcG9uZW50XHJcbl07XHJcbmV4cG9ydCBjb25zdCBwaXBlcyA9IFtcclxuICAgIFVwbG9hZEZpbGVTdGF0dXNQaXBlLFxyXG4gICAgU2FwRm9udFBpcGUsXHJcbiAgICBTYXBGb250Q2xhc3NQaXBlLFxyXG4gICAgU3RyaW5nVG9BcnJheVBpcGUsXHJcbiAgICBOb2RlSGFzT25lRGVwdGhMZXZlbFBpcGUsXHJcbiAgICBNYXRyaXhWYWx1ZVBpcGUsXHJcbiAgICBEeW5hbWljUGFnZVNpemVQaXBlLFxyXG4gICAgU2FwU2l6ZVBpcGUsXHJcbiAgICBBdmF0YXJHcmlkQ29sUGlwZSxcclxuICAgIE9iamVjdFN0YXR1c0ljb25QaXBlXHJcbl07XHJcbmV4cG9ydCBjb25zdCBkaXJlY3RpdmVzID0gW1xyXG4gICAgV2l6YXJkTGF5b3V0RGlyZWN0aXZlLFxyXG4gICAgQ29sUmVuZGVyZXJEaXJlY3RpdmUsXHJcbiAgICBBcHBseUNvbmRpdGlvbmFsRm9ybWF0c0RpcmVjdGl2ZSxcclxuICAgIFJlcG9ydFZpZXdSZW5kZXJlckRpcmVjdGl2ZSxcclxuICAgIEZ1bGxzY3JlZW5EaWFsb2dEaXJlY3RpdmUsXHJcbiAgICBGdWxsc2NyZWVuRmlsZXNEaXJlY3RpdmUsXHJcbiAgICBEb3dubG9hZEZpbGVzRGlyZWN0aXZlLFxyXG4gICAgRGlhbG9nSGFuZGxlckRpcmVjdGl2ZSxcclxuICAgIFRhYmxlVGhEaXJlY3RpdmVcclxuXTtcclxuZXhwb3J0IGNvbnN0IElOSVRfU0FQRklPUkkgPVxyXG4gICAgKFxyXG4gICAgICAgIHJ0bFNlcnZpY2U6IFJ0bFNlcnZpY2UsXHJcbiAgICAgICAgY29udGVudERlbnNpdHlTZXJ2aWNlOiBHbG9iYWxDb250ZW50RGVuc2l0eVNlcnZpY2UsXHJcbiAgICAgICAgdGhlbWVTZXJ2aWNlOiBUaGVtaW5nU2VydmljZSxcclxuICAgICAgICBwb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLFxyXG4gICAgICAgIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxyXG4gICAgICAgIGxvY2FsU3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2VcclxuICAgICkgPT5cclxuICAgICgpID0+IHtcclxuICAgICAgICAvLyBydGxTZXJ2aWNlLnJ0bC5uZXh0KEJhcnNhQXBpLkxvZ2luRm9ybURhdGEuSXNSdGwpO1xyXG4gICAgICAgIGNvbnN0IHNldFRoZW1lID0gKHRoZW1lKTogdm9pZCA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGVtZSkge1xyXG4gICAgICAgICAgICAgICAgdGhlbWVTZXJ2aWNlLnNldFRoZW1lKHRoZW1lKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyB0aGVtZVNlcnZpY2Uuc2V0VGhlbWUodGhlbWVDYXB0aW9uKTtcclxuICAgICAgICAgICAgdGhlbWVTZXJ2aWNlLmN1cnJlbnRUaGVtZS5zdWJzY3JpYmUoKHRoZW1lKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhlbWUpIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3J0YWxTZXJ2aWNlLnNldENzc1VybFRoZW1lKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHRoZW1lLnRoZW1pbmcudGhlbWVQYXRoKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh0aGVtZS50aGVtaW5nLnRoZW1pbmdCYXNlUGF0aClcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHBvcnRhbFNlcnZpY2UudXNlclBvcnRhbFNldHRpbmdzJC5waXBlKCkuc3Vic2NyaWJlKCh1c2VyUG9ydGFsU2V0dGluZ3MpID0+IHtcclxuICAgICAgICAgICAgcnRsU2VydmljZS5ydGwubmV4dChCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLklzUnRsKTtcclxuICAgICAgICAgICAgY29uc3QgdXNlclNldHRpbmdzID0gdXNlclBvcnRhbFNldHRpbmdzWydVc2VyUG9ydGFsU2V0dGluZ3MnXTtcclxuICAgICAgICAgICAgbGV0IGNvbnRlbnREZW5zaXR5OiBhbnk7XHJcbiAgICAgICAgICAgIGlmICghdXNlclNldHRpbmdzKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkZWZhdWx0VGhlbWUgPSBsb2NhbFN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ2RlZmF1bHRfdGhlbWUnKSB8fCAnc2FwX2hvcml6b24nO1xyXG4gICAgICAgICAgICAgICAgc2V0VGhlbWUoZGVmYXVsdFRoZW1lKTtcclxuICAgICAgICAgICAgICAgIGlmIChnZXREZXZpY2VJc01vYmlsZSgpIHx8IGdldERldmljZUlzUGhvbmUoKSB8fCBnZXREZXZpY2VJc1RhYmxldCgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudERlbnNpdHkgPSBDb250ZW50RGVuc2l0eU1vZGUuQ09aWTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudERlbnNpdHkgPSBDb250ZW50RGVuc2l0eU1vZGUuQ09NUEFDVDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGNvbnRlbnREZW5zaXR5U2VydmljZS51cGRhdGVDb250ZW50RGVuc2l0eShjb250ZW50RGVuc2l0eSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IHRoZW1lOiBhbnk7XHJcbiAgICAgICAgICAgIGlmICh1c2VyU2V0dGluZ3MpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHsgQ29udGVudERlbnNpdHkkQ2FwdGlvbiwgVGhlbWUkQ2FwdGlvbiB9ID0gdXNlclNldHRpbmdzO1xyXG4gICAgICAgICAgICAgICAgY29udGVudERlbnNpdHkgPSBDb250ZW50RGVuc2l0eSRDYXB0aW9uO1xyXG4gICAgICAgICAgICAgICAgdGhlbWUgPSBUaGVtZSRDYXB0aW9uO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFjb250ZW50RGVuc2l0eSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnREZW5zaXR5ID0gQ29udGVudERlbnNpdHlNb2RlLkNPTVBBQ1Q7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGdldERldmljZUlzTW9iaWxlKCkgfHwgZ2V0RGV2aWNlSXNQaG9uZSgpKSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50RGVuc2l0eSA9IENvbnRlbnREZW5zaXR5TW9kZS5DT1pZO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChjb250ZW50RGVuc2l0eSkge1xyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnREZW5zaXR5U2VydmljZS51cGRhdGVDb250ZW50RGVuc2l0eShjb250ZW50RGVuc2l0eSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb25zdCBib2R5Q2xhc3NDb21wYWN0ID0gJ3VpNS1jb250ZW50LWRlbnNpdHktY29tcGFjdCc7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBib2R5Q2xhc3NDb25kZW5zZWQgPSAndWk1LWNvbnRlbnQtZGVuc2l0eS1jb25kZW5zZWQnO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYm9keUNsYXNzQ296eSA9ICd1aTUtY29udGVudC1kZW5zaXR5LWNvenknO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYm9keSA9IGRvY3VtZW50Py5ib2R5O1xyXG4gICAgICAgICAgICAgICAgc3dpdGNoIChjb250ZW50RGVuc2l0eSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2NvbmRlbnNlZCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghYm9keS5jbGFzc0xpc3QuY29udGFpbnMoYm9keUNsYXNzQ29uZGVuc2VkKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkuY2xhc3NMaXN0LmFkZChib2R5Q2xhc3NDb25kZW5zZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKGJvZHlDbGFzc0NvbXBhY3QpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKGJvZHlDbGFzc0NvenkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2NvenknOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKGJvZHlDbGFzc0NvenkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QuYWRkKGJvZHlDbGFzc0NvenkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKGJvZHlDbGFzc0NvbXBhY3QpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKGJvZHlDbGFzc0NvbmRlbnNlZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnY29tcGFjdCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghYm9keS5jbGFzc0xpc3QuY29udGFpbnMoYm9keUNsYXNzQ29tcGFjdCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5LmNsYXNzTGlzdC5hZGQoYm9keUNsYXNzQ29tcGFjdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5LmNsYXNzTGlzdC5yZW1vdmUoYm9keUNsYXNzQ296eSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5LmNsYXNzTGlzdC5yZW1vdmUoYm9keUNsYXNzQ29uZGVuc2VkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodGhlbWUpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGVtZS5pbmRleE9mKCdkYXJrJykgPiAtMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnY29sb3Itc2NoZW1lJywgJ2RhcmsnKTtcclxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLW1vZGUnLCAnZGFyaycpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2NvbG9yLXNjaGVtZScsICdsaWdodCcpO1xyXG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtbW9kZScsICdsaWdodCcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgc2V0VGhlbWUodGhlbWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9O1xyXG4iXX0=
@@ -122,15 +122,15 @@ export class UiFileLinearListBoxComponent extends DeviceInfoFieldBaseComponent {
122
122
  this._fileCountSource.next(value?.filter((c) => !c.IsDeleted).length);
123
123
  }
124
124
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiFileLinearListBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
125
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UiFileLinearListBoxComponent, selector: "bsu-ui-file-linear-list-box", inputs: { value: "value" }, providers: [UploadService], viewQueries: [{ propertyName: "fileUploadComponent", first: true, predicate: FileUploaderComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (value) {\r\n<div\r\n class=\"token-container\"\r\n intersectionObserver\r\n [intersectionThreshold]=\"0.1\"\r\n (visibilityChange)=\"onVisibilityChange($event)\"\r\n>\r\n <div class=\"token-wrapper\">\r\n @for (file of value; track trackById($index, file)) { @if (!file.IsDeleted) {\r\n <fd-popover #popover>\r\n <fd-popover-control>\r\n <fd-token (onCloseClick)=\"onFileDeleted(file.Id)\" [readOnly]=\"(disableOrReadonly$ | async)!!\"\r\n >{{ file.FileName }}\r\n @if (file.IsNew) { @if (valueExtra$ | async; as valueExtra) { @if (valueExtra[file.Id].UploadState\r\n !== 'Complete') {\r\n <span\r\n fd-object-status\r\n [status]=\"file.Id | uploadFileStatus: valueExtra\"\r\n [label]=\"valueExtra[file.Id]?.UploadState || ''\"\r\n [title]=\"valueExtra[file.Id]?.UploadState\"\r\n [aria-label]=\"'File Upload Status Is ' + valueExtra[file.Id]?.UploadState\"\r\n ></span>\r\n } @if (valueExtra[file.Id].Progress) {\r\n <fd-object-number\r\n [number]=\"valueExtra[file.Id].Progress || 0\"\r\n unit=\"%\"\r\n status=\"informative\"\r\n ></fd-object-number>\r\n } @if (valueExtra[file.Id].UploadState === 'Uploading') {\r\n <fd-busy-indicator [loading]=\"true\" [size]=\"'s'\"></fd-busy-indicator>\r\n } } }\r\n </fd-token>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n @if (valueExtra$ | async; as valueExtra) { @if ( valueExtra[file.Id].UploadState !== 'Error' ||\r\n valueExtra[file.Id].UploadState === 'Complete' ) {\r\n <bsu-file-viewer-content\r\n [file]=\"file\"\r\n [width]=\"isMobile ? '100vw' : '30vw'\"\r\n [cardMode]=\"true\"\r\n [showContent]=\"true\"\r\n [showFooter]=\"true\"\r\n [deviceSize]=\"(deviceSize$ | async) || 's'\"\r\n ></bsu-file-viewer-content>\r\n <div fd-popover-body-footer>\r\n <bsu-barsa-bar-download-file\r\n [isMobile]=\"false\"\r\n [popover]=\"popover\"\r\n [canPrint]=\"file.Type | isImageType\"\r\n [files]=\"[file]\"\r\n [hideFullScreen]=\"false\"\r\n [deviceSize]=\"(deviceSize$ | async) || 's'\"\r\n ></bsu-barsa-bar-download-file>\r\n </div>\r\n <!-- <ul fd-list>\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"onDownloadFile(file)\">\r\n <i fd-list-icon glyph=\"download\"></i>\r\n <span fd-list-title>\r\n {{ 'Download' | bbbTranslate }}\r\n </span>\r\n <fd-busy-indicator [loading]=\"fileDownloading\" [size]=\"'s'\"></fd-busy-indicator>\r\n </a>\r\n </li>\r\n </ul> -->\r\n } }\r\n </fd-popover-body>\r\n </fd-popover>\r\n } }\r\n <div style=\"display: flex\">\r\n @if (loading) {\r\n <div style=\"position: relative; width: 3rem\">\r\n <bsu-mask [size]=\"'s'\" style=\"background: transparent\"></bsu-mask>\r\n </div>\r\n } @if ((fileCount$ | async) | canUploadFile: maxFileCount:(disable$ | async)===true:(readonly$ |\r\n async)===true) {\r\n <fd-file-uploader\r\n class=\"file-linear-upload\"\r\n fd-toolbar-item\r\n [id]=\"id\"\r\n [name]=\"'linear_' + id\"\r\n [placeholder]=\"'AttachFile' | bbbTranslate\"\r\n [buttonLabel]=\"'AttachFile' | bbbTranslate\"\r\n [buttonAriaLabel]=\"'AttachFile' | bbbTranslate\"\r\n [accept]=\"validExtension\"\r\n [multiple]=\"maxFileCount > 1 || Setting.IsMultiSelect\"\r\n (selectedFilesChanged)=\"onFileSelection($event)\"\r\n [contentDensity]=\"(contentDensity$ | async)!!\"\r\n ></fd-file-uploader>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n}\r\n", styles: [":host{display:block;width:100%;height:100%}:host ::ng-deep .fd-slider__handle{display:none}:host ::ng-deep .fd-file-uploader input{display:none}:host.isMobile ::ng-deep fd-token>span{-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:pre-wrap;height:auto;text-align:right}:host.isMobile ::ng-deep body[dir=ltr] fd-token>span{text-align:left}.token-container{background:transparent;padding:3px;display:flex;width:100%}.token-wrapper{align-items:center;flex-grow:1;display:flex;flex-wrap:wrap;width:100%}.token-wrapper fd-token,.token-wrapper .file-linear-upload{padding:4px}\n"], dependencies: [{ kind: "directive", type: i1.IntersectionObserverDirective, selector: "[intersectionObserver]", inputs: ["intersectionDebounce", "intersectionRootMargin", "intersectionRoot", "intersectionThreshold"], outputs: ["visibilityChange"] }, { kind: "component", type: i2.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i3.FileUploaderComponent, selector: "fd-file-uploader", inputs: ["disabled", "required", "multiple", "accept", "dragndrop", "maxFileSize", "minFileSize", "id", "ariaLabel", "ariaLabelledBy", "placeholder", "buttonLabel", "buttonAriaLabel", "state", "fileLimit", "inputHidden", "width"], outputs: ["selectedFilesChanged", "selectedInvalidFiles", "onDragEnter", "onDragLeave"] }, { kind: "component", type: i4.ObjectNumberComponent, selector: "fd-object-number", inputs: ["number", "decimal", "unit", "emphasized", "large", "status", "class", "ariaLabelledBy", "ariaLabel"] }, { kind: "component", type: i5.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "glyphFont", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }, { kind: "component", type: i6.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i6.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "directive", type: i6.PopoverBodyFooterDirective, selector: "[fdPopoverBodyFooter], [fd-popover-body-footer]" }, { kind: "component", type: i6.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "directive", type: i7.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: i8.TokenComponent, selector: "fd-token", inputs: ["disabled", "selected", "readOnly"], outputs: ["onCloseClick", "onRemove", "onTokenClick", "onTokenKeydown", "elementFocused"] }, { kind: "component", type: i9.BarsaBarDownloadFileComponent, selector: "bsu-barsa-bar-download-file", inputs: ["popover", "file", "files", "hideFullScreen", "isMobile", "canPrint", "deviceSize"] }, { kind: "component", type: i10.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i11.FileViewerContentComponent, selector: "bsu-file-viewer-content", inputs: ["fillWidth", "imageOnly", "isImageGallery", "cardMode", "showFooter", "showContent", "width", "deviceSize", "cardContentHeight", "file"], outputs: ["cantView"] }, { kind: "pipe", type: i12.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.CanUploadFilePipe, name: "canUploadFile" }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i1.IsImagePipe, name: "isImageType" }, { kind: "pipe", type: i13.UploadFileStatusPipe, name: "uploadFileStatus" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
125
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UiFileLinearListBoxComponent, selector: "bsu-ui-file-linear-list-box", inputs: { value: "value" }, providers: [UploadService], viewQueries: [{ propertyName: "fileUploadComponent", first: true, predicate: FileUploaderComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (value) {\r\n<div\r\n class=\"token-container\"\r\n intersectionObserver\r\n [intersectionThreshold]=\"0.1\"\r\n (visibilityChange)=\"onVisibilityChange($event)\"\r\n>\r\n <div class=\"token-wrapper\">\r\n @for (file of value; track trackById($index, file)) { @if (!file.IsDeleted) {\r\n <fd-popover #popover>\r\n <fd-popover-control>\r\n <fd-token (onCloseClick)=\"onFileDeleted(file.Id)\" [readOnly]=\"(disableOrReadonly$ | async)!!\"\r\n >{{ file.FileName }}\r\n @if (file.IsNew) { @if (valueExtra$ | async; as valueExtra) { @if (valueExtra[file.Id].UploadState\r\n !== 'Complete') {\r\n <span\r\n fd-object-status\r\n [status]=\"file.Id | uploadFileStatus: valueExtra\"\r\n [label]=\"valueExtra[file.Id]?.UploadState || ''\"\r\n [title]=\"valueExtra[file.Id]?.UploadState\"\r\n [aria-label]=\"'File Upload Status Is ' + valueExtra[file.Id]?.UploadState\"\r\n ></span>\r\n } @if (valueExtra[file.Id].Progress) {\r\n <fd-object-number\r\n [number]=\"valueExtra[file.Id].Progress || 0\"\r\n unit=\"%\"\r\n status=\"informative\"\r\n ></fd-object-number>\r\n } @if (valueExtra[file.Id].UploadState === 'Uploading') {\r\n <fd-busy-indicator [loading]=\"true\" [size]=\"'s'\"></fd-busy-indicator>\r\n } } }\r\n </fd-token>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n @if (valueExtra$ | async; as valueExtra) { @if ( (valueExtra[file.Id].UploadState !== 'Error' ||\r\n valueExtra[file.Id].UploadState === 'Complete') && !file.IsNew ) {\r\n <bsu-file-viewer-content\r\n [file]=\"file\"\r\n [width]=\"isMobile ? '100vw' : '30vw'\"\r\n [cardMode]=\"true\"\r\n [showContent]=\"true\"\r\n [showFooter]=\"true\"\r\n [deviceSize]=\"(deviceSize$ | async) || 's'\"\r\n ></bsu-file-viewer-content>\r\n <div fd-popover-body-footer>\r\n <bsu-barsa-bar-download-file\r\n [isMobile]=\"false\"\r\n [popover]=\"popover\"\r\n [canPrint]=\"file.Type | isImageType\"\r\n [files]=\"[file]\"\r\n [hideFullScreen]=\"false\"\r\n [deviceSize]=\"(deviceSize$ | async) || 's'\"\r\n ></bsu-barsa-bar-download-file>\r\n </div>\r\n <!-- <ul fd-list>\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"onDownloadFile(file)\">\r\n <i fd-list-icon glyph=\"download\"></i>\r\n <span fd-list-title>\r\n {{ 'Download' | bbbTranslate }}\r\n </span>\r\n <fd-busy-indicator [loading]=\"fileDownloading\" [size]=\"'s'\"></fd-busy-indicator>\r\n </a>\r\n </li>\r\n </ul> -->\r\n } }\r\n </fd-popover-body>\r\n </fd-popover>\r\n } }\r\n <div style=\"display: flex\">\r\n @if (loading) {\r\n <div style=\"position: relative; width: 3rem\">\r\n <bsu-mask [size]=\"'s'\" style=\"background: transparent\"></bsu-mask>\r\n </div>\r\n } @if ((fileCount$ | async) | canUploadFile: maxFileCount:(disable$ | async)===true:(readonly$ |\r\n async)===true) {\r\n <fd-file-uploader\r\n class=\"file-linear-upload\"\r\n fd-toolbar-item\r\n [id]=\"id\"\r\n [name]=\"'linear_' + id\"\r\n [placeholder]=\"'AttachFile' | bbbTranslate\"\r\n [buttonLabel]=\"'AttachFile' | bbbTranslate\"\r\n [buttonAriaLabel]=\"'AttachFile' | bbbTranslate\"\r\n [accept]=\"validExtension\"\r\n [multiple]=\"maxFileCount > 1 || Setting.IsMultiSelect\"\r\n (selectedFilesChanged)=\"onFileSelection($event)\"\r\n [contentDensity]=\"(contentDensity$ | async)!!\"\r\n ></fd-file-uploader>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n}\r\n", styles: [":host{display:block;width:100%;height:100%}:host ::ng-deep .fd-slider__handle{display:none}:host ::ng-deep .fd-file-uploader input{display:none}:host.isMobile ::ng-deep fd-token>span{-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:pre-wrap;height:auto;text-align:right}:host.isMobile ::ng-deep body[dir=ltr] fd-token>span{text-align:left}.token-container{background:transparent;padding:3px;display:flex;width:100%}.token-wrapper{align-items:center;flex-grow:1;display:flex;flex-wrap:wrap;width:100%}.token-wrapper fd-token,.token-wrapper .file-linear-upload{padding:4px}\n"], dependencies: [{ kind: "directive", type: i1.IntersectionObserverDirective, selector: "[intersectionObserver]", inputs: ["intersectionDebounce", "intersectionRootMargin", "intersectionRoot", "intersectionThreshold"], outputs: ["visibilityChange"] }, { kind: "component", type: i2.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i3.FileUploaderComponent, selector: "fd-file-uploader", inputs: ["disabled", "required", "multiple", "accept", "dragndrop", "maxFileSize", "minFileSize", "id", "ariaLabel", "ariaLabelledBy", "placeholder", "buttonLabel", "buttonAriaLabel", "state", "fileLimit", "inputHidden", "width"], outputs: ["selectedFilesChanged", "selectedInvalidFiles", "onDragEnter", "onDragLeave"] }, { kind: "component", type: i4.ObjectNumberComponent, selector: "fd-object-number", inputs: ["number", "decimal", "unit", "emphasized", "large", "status", "class", "ariaLabelledBy", "ariaLabel"] }, { kind: "component", type: i5.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "glyphFont", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }, { kind: "component", type: i6.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i6.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "directive", type: i6.PopoverBodyFooterDirective, selector: "[fdPopoverBodyFooter], [fd-popover-body-footer]" }, { kind: "component", type: i6.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "directive", type: i7.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: i8.TokenComponent, selector: "fd-token", inputs: ["disabled", "selected", "readOnly"], outputs: ["onCloseClick", "onRemove", "onTokenClick", "onTokenKeydown", "elementFocused"] }, { kind: "component", type: i9.BarsaBarDownloadFileComponent, selector: "bsu-barsa-bar-download-file", inputs: ["popover", "file", "files", "hideFullScreen", "isMobile", "canPrint", "deviceSize"] }, { kind: "component", type: i10.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i11.FileViewerContentComponent, selector: "bsu-file-viewer-content", inputs: ["fillWidth", "imageOnly", "isImageGallery", "cardMode", "showFooter", "showContent", "width", "deviceSize", "cardContentHeight", "file"], outputs: ["cantView"] }, { kind: "pipe", type: i12.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.CanUploadFilePipe, name: "canUploadFile" }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i1.IsImagePipe, name: "isImageType" }, { kind: "pipe", type: i13.UploadFileStatusPipe, name: "uploadFileStatus" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
126
126
  }
127
127
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiFileLinearListBoxComponent, decorators: [{
128
128
  type: Component,
129
- args: [{ selector: 'bsu-ui-file-linear-list-box', providers: [UploadService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (value) {\r\n<div\r\n class=\"token-container\"\r\n intersectionObserver\r\n [intersectionThreshold]=\"0.1\"\r\n (visibilityChange)=\"onVisibilityChange($event)\"\r\n>\r\n <div class=\"token-wrapper\">\r\n @for (file of value; track trackById($index, file)) { @if (!file.IsDeleted) {\r\n <fd-popover #popover>\r\n <fd-popover-control>\r\n <fd-token (onCloseClick)=\"onFileDeleted(file.Id)\" [readOnly]=\"(disableOrReadonly$ | async)!!\"\r\n >{{ file.FileName }}\r\n @if (file.IsNew) { @if (valueExtra$ | async; as valueExtra) { @if (valueExtra[file.Id].UploadState\r\n !== 'Complete') {\r\n <span\r\n fd-object-status\r\n [status]=\"file.Id | uploadFileStatus: valueExtra\"\r\n [label]=\"valueExtra[file.Id]?.UploadState || ''\"\r\n [title]=\"valueExtra[file.Id]?.UploadState\"\r\n [aria-label]=\"'File Upload Status Is ' + valueExtra[file.Id]?.UploadState\"\r\n ></span>\r\n } @if (valueExtra[file.Id].Progress) {\r\n <fd-object-number\r\n [number]=\"valueExtra[file.Id].Progress || 0\"\r\n unit=\"%\"\r\n status=\"informative\"\r\n ></fd-object-number>\r\n } @if (valueExtra[file.Id].UploadState === 'Uploading') {\r\n <fd-busy-indicator [loading]=\"true\" [size]=\"'s'\"></fd-busy-indicator>\r\n } } }\r\n </fd-token>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n @if (valueExtra$ | async; as valueExtra) { @if ( valueExtra[file.Id].UploadState !== 'Error' ||\r\n valueExtra[file.Id].UploadState === 'Complete' ) {\r\n <bsu-file-viewer-content\r\n [file]=\"file\"\r\n [width]=\"isMobile ? '100vw' : '30vw'\"\r\n [cardMode]=\"true\"\r\n [showContent]=\"true\"\r\n [showFooter]=\"true\"\r\n [deviceSize]=\"(deviceSize$ | async) || 's'\"\r\n ></bsu-file-viewer-content>\r\n <div fd-popover-body-footer>\r\n <bsu-barsa-bar-download-file\r\n [isMobile]=\"false\"\r\n [popover]=\"popover\"\r\n [canPrint]=\"file.Type | isImageType\"\r\n [files]=\"[file]\"\r\n [hideFullScreen]=\"false\"\r\n [deviceSize]=\"(deviceSize$ | async) || 's'\"\r\n ></bsu-barsa-bar-download-file>\r\n </div>\r\n <!-- <ul fd-list>\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"onDownloadFile(file)\">\r\n <i fd-list-icon glyph=\"download\"></i>\r\n <span fd-list-title>\r\n {{ 'Download' | bbbTranslate }}\r\n </span>\r\n <fd-busy-indicator [loading]=\"fileDownloading\" [size]=\"'s'\"></fd-busy-indicator>\r\n </a>\r\n </li>\r\n </ul> -->\r\n } }\r\n </fd-popover-body>\r\n </fd-popover>\r\n } }\r\n <div style=\"display: flex\">\r\n @if (loading) {\r\n <div style=\"position: relative; width: 3rem\">\r\n <bsu-mask [size]=\"'s'\" style=\"background: transparent\"></bsu-mask>\r\n </div>\r\n } @if ((fileCount$ | async) | canUploadFile: maxFileCount:(disable$ | async)===true:(readonly$ |\r\n async)===true) {\r\n <fd-file-uploader\r\n class=\"file-linear-upload\"\r\n fd-toolbar-item\r\n [id]=\"id\"\r\n [name]=\"'linear_' + id\"\r\n [placeholder]=\"'AttachFile' | bbbTranslate\"\r\n [buttonLabel]=\"'AttachFile' | bbbTranslate\"\r\n [buttonAriaLabel]=\"'AttachFile' | bbbTranslate\"\r\n [accept]=\"validExtension\"\r\n [multiple]=\"maxFileCount > 1 || Setting.IsMultiSelect\"\r\n (selectedFilesChanged)=\"onFileSelection($event)\"\r\n [contentDensity]=\"(contentDensity$ | async)!!\"\r\n ></fd-file-uploader>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n}\r\n", styles: [":host{display:block;width:100%;height:100%}:host ::ng-deep .fd-slider__handle{display:none}:host ::ng-deep .fd-file-uploader input{display:none}:host.isMobile ::ng-deep fd-token>span{-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:pre-wrap;height:auto;text-align:right}:host.isMobile ::ng-deep body[dir=ltr] fd-token>span{text-align:left}.token-container{background:transparent;padding:3px;display:flex;width:100%}.token-wrapper{align-items:center;flex-grow:1;display:flex;flex-wrap:wrap;width:100%}.token-wrapper fd-token,.token-wrapper .file-linear-upload{padding:4px}\n"] }]
129
+ args: [{ selector: 'bsu-ui-file-linear-list-box', providers: [UploadService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (value) {\r\n<div\r\n class=\"token-container\"\r\n intersectionObserver\r\n [intersectionThreshold]=\"0.1\"\r\n (visibilityChange)=\"onVisibilityChange($event)\"\r\n>\r\n <div class=\"token-wrapper\">\r\n @for (file of value; track trackById($index, file)) { @if (!file.IsDeleted) {\r\n <fd-popover #popover>\r\n <fd-popover-control>\r\n <fd-token (onCloseClick)=\"onFileDeleted(file.Id)\" [readOnly]=\"(disableOrReadonly$ | async)!!\"\r\n >{{ file.FileName }}\r\n @if (file.IsNew) { @if (valueExtra$ | async; as valueExtra) { @if (valueExtra[file.Id].UploadState\r\n !== 'Complete') {\r\n <span\r\n fd-object-status\r\n [status]=\"file.Id | uploadFileStatus: valueExtra\"\r\n [label]=\"valueExtra[file.Id]?.UploadState || ''\"\r\n [title]=\"valueExtra[file.Id]?.UploadState\"\r\n [aria-label]=\"'File Upload Status Is ' + valueExtra[file.Id]?.UploadState\"\r\n ></span>\r\n } @if (valueExtra[file.Id].Progress) {\r\n <fd-object-number\r\n [number]=\"valueExtra[file.Id].Progress || 0\"\r\n unit=\"%\"\r\n status=\"informative\"\r\n ></fd-object-number>\r\n } @if (valueExtra[file.Id].UploadState === 'Uploading') {\r\n <fd-busy-indicator [loading]=\"true\" [size]=\"'s'\"></fd-busy-indicator>\r\n } } }\r\n </fd-token>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n @if (valueExtra$ | async; as valueExtra) { @if ( (valueExtra[file.Id].UploadState !== 'Error' ||\r\n valueExtra[file.Id].UploadState === 'Complete') && !file.IsNew ) {\r\n <bsu-file-viewer-content\r\n [file]=\"file\"\r\n [width]=\"isMobile ? '100vw' : '30vw'\"\r\n [cardMode]=\"true\"\r\n [showContent]=\"true\"\r\n [showFooter]=\"true\"\r\n [deviceSize]=\"(deviceSize$ | async) || 's'\"\r\n ></bsu-file-viewer-content>\r\n <div fd-popover-body-footer>\r\n <bsu-barsa-bar-download-file\r\n [isMobile]=\"false\"\r\n [popover]=\"popover\"\r\n [canPrint]=\"file.Type | isImageType\"\r\n [files]=\"[file]\"\r\n [hideFullScreen]=\"false\"\r\n [deviceSize]=\"(deviceSize$ | async) || 's'\"\r\n ></bsu-barsa-bar-download-file>\r\n </div>\r\n <!-- <ul fd-list>\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"onDownloadFile(file)\">\r\n <i fd-list-icon glyph=\"download\"></i>\r\n <span fd-list-title>\r\n {{ 'Download' | bbbTranslate }}\r\n </span>\r\n <fd-busy-indicator [loading]=\"fileDownloading\" [size]=\"'s'\"></fd-busy-indicator>\r\n </a>\r\n </li>\r\n </ul> -->\r\n } }\r\n </fd-popover-body>\r\n </fd-popover>\r\n } }\r\n <div style=\"display: flex\">\r\n @if (loading) {\r\n <div style=\"position: relative; width: 3rem\">\r\n <bsu-mask [size]=\"'s'\" style=\"background: transparent\"></bsu-mask>\r\n </div>\r\n } @if ((fileCount$ | async) | canUploadFile: maxFileCount:(disable$ | async)===true:(readonly$ |\r\n async)===true) {\r\n <fd-file-uploader\r\n class=\"file-linear-upload\"\r\n fd-toolbar-item\r\n [id]=\"id\"\r\n [name]=\"'linear_' + id\"\r\n [placeholder]=\"'AttachFile' | bbbTranslate\"\r\n [buttonLabel]=\"'AttachFile' | bbbTranslate\"\r\n [buttonAriaLabel]=\"'AttachFile' | bbbTranslate\"\r\n [accept]=\"validExtension\"\r\n [multiple]=\"maxFileCount > 1 || Setting.IsMultiSelect\"\r\n (selectedFilesChanged)=\"onFileSelection($event)\"\r\n [contentDensity]=\"(contentDensity$ | async)!!\"\r\n ></fd-file-uploader>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n}\r\n", styles: [":host{display:block;width:100%;height:100%}:host ::ng-deep .fd-slider__handle{display:none}:host ::ng-deep .fd-file-uploader input{display:none}:host.isMobile ::ng-deep fd-token>span{-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:pre-wrap;height:auto;text-align:right}:host.isMobile ::ng-deep body[dir=ltr] fd-token>span{text-align:left}.token-container{background:transparent;padding:3px;display:flex;width:100%}.token-wrapper{align-items:center;flex-grow:1;display:flex;flex-wrap:wrap;width:100%}.token-wrapper fd-token,.token-wrapper .file-linear-upload{padding:4px}\n"] }]
130
130
  }], propDecorators: { fileUploadComponent: [{
131
131
  type: ViewChild,
132
132
  args: [FileUploaderComponent, { static: false }]
133
133
  }], value: [{
134
134
  type: Input
135
135
  }] } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZmlsZS1saW5lYXItbGlzdC1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZmlsZS1saW5lYXItbGlzdC1ib3gvdWktZmlsZS1saW5lYXItbGlzdC1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZmlsZS1saW5lYXItbGlzdC1ib3gvdWktZmlsZS1saW5lYXItbGlzdC1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBVyxNQUFNLE1BQU0sQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFrQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTlFLE9BQU8sRUFDSCxhQUFhLEVBQ2IscUJBQXFCLEVBRXJCLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDbkIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBV3pFLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSw0QkFBNEI7SUFSOUU7O1FBYUksZUFBVSxHQUFHLElBQUksVUFBVSxFQUFtQixDQUFDO1FBSy9DLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBRXBCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFHUixxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztLQTJHN0Q7SUExR0csUUFBUTtRQUNKLEtBQUss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QUM7SUFDUyxnQkFBZ0IsQ0FBQyxpQkFBcUM7UUFDNUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUNTLGFBQWEsQ0FBQyxLQUFLO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUUsQ0FBQzsrR0F6SFEsNEJBQTRCO21HQUE1Qiw0QkFBNEIsa0ZBSjFCLENBQUMsYUFBYSxDQUFDLCtFQUtmLHFCQUFxQix1RUN4QnBDLG1sSkE4RkE7OzRGRHZFYSw0QkFBNEI7a0JBUnhDLFNBQVM7K0JBQ0ksNkJBQTZCLGFBRzVCLENBQUMsYUFBYSxDQUFDLG1CQUNULHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSzs4QkFHb0MsbUJBQW1CO3NCQUF2RSxTQUFTO3VCQUFDLHFCQUFxQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDMUMsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5LCBGaWxlVXBsb2FkZXJDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xyXG5cclxuaW1wb3J0IHtcclxuICAgIFVwbG9hZFNlcnZpY2UsXHJcbiAgICBGaWxlc1ZhbGlkYXRpb25IZWxwZXIsXHJcbiAgICBGaWxlQXR0YWNobWVudEluZm8sXHJcbiAgICBnZXRWYWxpZEV4dGVuc2lvbixcclxuICAgIExpbmVhckxpc3RIZWxwZXJcclxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IERldmljZUluZm9GaWVsZEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9kZXZpY2UtaW5mby1maWVsZC1iYXNlJztcclxuaW1wb3J0IHsgSVVwbG9hZGluZ1N0YXRlIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS11aS1maWxlLWxpbmVhci1saXN0LWJveCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktZmlsZS1saW5lYXItbGlzdC1ib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktZmlsZS1saW5lYXItbGlzdC1ib3guY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHByb3ZpZGVyczogW1VwbG9hZFNlcnZpY2VdLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlGaWxlTGluZWFyTGlzdEJveENvbXBvbmVudCBleHRlbmRzIERldmljZUluZm9GaWVsZEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBAVmlld0NoaWxkKEZpbGVVcGxvYWRlckNvbXBvbmVudCwgeyBzdGF0aWM6IGZhbHNlIH0pIGZpbGVVcGxvYWRDb21wb25lbnQ6IEZpbGVVcGxvYWRlckNvbXBvbmVudDtcclxuICAgIEBJbnB1dCgpIHZhbHVlOiBGaWxlQXR0YWNobWVudEluZm9bXTtcclxuXHJcbiAgICBmaWxlQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XHJcbiAgICB1cGxvYWRpbmckID0gbmV3IE9ic2VydmFibGU8SVVwbG9hZGluZ1N0YXRlPigpO1xyXG5cclxuICAgIHZhbHVlRXh0cmEkOiBPYnNlcnZhYmxlPHsgW2tleTogc3RyaW5nXTogVXBsb2FkRmlsZVByb3BzIH0+O1xyXG4gICAgY29udGVudERlbnNpdHkkOiBPYnNlcnZhYmxlPENvbnRlbnREZW5zaXR5PjtcclxuICAgIGZpbGVEb3dubG9hZGluZzogYm9vbGVhbjtcclxuICAgIHZhbGlkRXh0ZW5zaW9uID0gJyc7XHJcbiAgICBtYXhGaWxlQ291bnQ6IG51bWJlcjtcclxuICAgIGxvYWRpbmcgPSBmYWxzZTtcclxuICAgIHByb3RlY3RlZCBfbGluZWFySGVscGVyOiBMaW5lYXJMaXN0SGVscGVyO1xyXG4gICAgcHJvdGVjdGVkIF9maWxlc1ZhbGlkYXRpb25IZWxwZXI6IEZpbGVzVmFsaWRhdGlvbkhlbHBlcjtcclxuICAgIHByaXZhdGUgX2ZpbGVDb3VudFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS53aW5kb3dSZXNpemUkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJlZnJlc2hSZXNpemUoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbnRleHQub24oe1xyXG4gICAgICAgICAgICBTaG93VXBsb2FkV2luZG93OiB0aGlzLl9zaG93VXBsb2FkV2luZG93LmJpbmQodGhpcylcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl9maWxlc1ZhbGlkYXRpb25IZWxwZXIgPSBuZXcgRmlsZXNWYWxpZGF0aW9uSGVscGVyKFxyXG4gICAgICAgICAgICB0aGlzLlNldHRpbmcuTWF4RmlsZUNvdW50LFxyXG4gICAgICAgICAgICB0aGlzLlNldHRpbmcuTWF4RmlsZVNpemVLYixcclxuICAgICAgICAgICAgdGhpcy5TZXR0aW5nLk1heFRvdGFsRmlsZVNpemVLYlxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5fbGluZWFySGVscGVyID0gbmV3IExpbmVhckxpc3RIZWxwZXIoXHJcbiAgICAgICAgICAgIHRoaXMuX3VwbG9hZFNlcnZpY2UsXHJcbiAgICAgICAgICAgIHRoaXMuX2ZpbGVzVmFsaWRhdGlvbkhlbHBlcixcclxuICAgICAgICAgICAgdGhpcy5TZXR0aW5nLkZpZWxkRGVmSWRcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuZmlsZUNvdW50JCA9IHRoaXMuX2ZpbGVDb3VudFNvdXJjZS5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xyXG4gICAgICAgIHRoaXMudmFsdWVFeHRyYSQgPSB0aGlzLl9saW5lYXJIZWxwZXIudmFsdWVFeHRyYSQ7XHJcbiAgICAgICAgdGhpcy51cGxvYWRpbmckID0gdGhpcy5fbGluZWFySGVscGVyLnVwbG9hZGluZyQ7XHJcbiAgICAgICAgdGhpcy5fbGluZWFySGVscGVyLmRlbGV0ZSQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoZmlsZUF0dGFjaG1lbnQpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fZGVsZXRlRmlsZUF0dGFjaG1lbnQoZmlsZUF0dGFjaG1lbnQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX2xpbmVhckhlbHBlci5uZXdGaWxlVXBsb2FkZWQkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGZpbGVBdHRhY2htZW50KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX25ld0ZpbGVVcGxvYWRlZChmaWxlQXR0YWNobWVudCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy52YWx1ZSAmJlxyXG4gICAgICAgICAgICB0aGlzLnZhbHVlLmZvckVhY2goKGMpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2xpbmVhckhlbHBlci5pbml0KGMpO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLlNldHRpbmcuSXNNdWx0aVNlbGVjdCkge1xyXG4gICAgICAgICAgICB0aGlzLl9maWxlc1ZhbGlkYXRpb25IZWxwZXIubWF4RmlsZUNvdW50ID0gMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5tYXhGaWxlQ291bnQgPSB0aGlzLl9maWxlc1ZhbGlkYXRpb25IZWxwZXIubWF4RmlsZUNvdW50O1xyXG4gICAgICAgIHRoaXMudmFsaWRFeHRlbnNpb24gPSBnZXRWYWxpZEV4dGVuc2lvbih0aGlzLlNldHRpbmcuVmFsaWRFeHRlbnNpb25zKTtcclxuICAgICAgICB0aGlzLl9zZXRGaWxlQ291bnQodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICAvLyB0aGlzLnZhbHVlRXh0cmEgPSB7fTtcclxuICAgICAgICB0aGlzLmNvbnRleHQudW4oJ1Nob3dVcGxvYWRXaW5kb3cnLCB0aGlzLl9zaG93VXBsb2FkV2luZG93KTtcclxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gICAgfVxyXG4gICAgb25Eb3dubG9hZEZpbGUoZmlsZTogRmlsZUF0dGFjaG1lbnRJbmZvKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCFmaWxlLklzTmV3IHx8IGZpbGUuVXBsb2FkU3RhdGUgPT09ICdDb21wbGV0ZScgfHwgIWZpbGUuVXBsb2FkU3RhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5maXJlQ29udGV4dEV2ZW50KCdDb21tYW5kUmVxdWVzdCcsIHRoaXMuY29udGV4dCwgJ0Rvd25sb2FkJywgZmlsZS5JZCk7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsZURvd25sb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZpbGVEb3dubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIG9uRmlsZURlbGV0ZWQoZmlsZUlkKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZmlsZURlbGV0ZShmaWxlSWQpO1xyXG4gICAgfVxyXG4gICAgb25UZXJtaW5hdGUoZmlsZUF0dGFjaG1lbnQ6IEZpbGVBdHRhY2htZW50SW5mbyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZmlyZUNvbnRleHRFdmVudCgnQ29tbWFuZFJlcXVlc3QnLCB0aGlzLmNvbnRleHQsICdEZWxldGUnLCBmaWxlQXR0YWNobWVudC5JZCk7XHJcbiAgICAgICAgdGhpcy5fbGluZWFySGVscGVyLmNhbmNlbChmaWxlQXR0YWNobWVudCk7XHJcbiAgICB9XHJcbiAgICBvbkZpbGVTZWxlY3Rpb24oZmlsZXM6IEZpbGVbXSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2xpbmVhckhlbHBlci51cGxvYWRUb1NlcnZlcihmaWxlcyk7XHJcbiAgICB9XHJcbiAgICBvblZpc2liaWxpdHlDaGFuZ2UodmlzaWJpbGl0eTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHZpc2liaWxpdHkgPT09ICdWaXNpYmxlJykge1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucmVmcmVzaFJlc2l6ZSgpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdHJhY2tCeUlkKGZpbGUsIGluZGV4KTogc3RyaW5nIHwgbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gZmlsZSA/IGZpbGUuSWQgOiBpbmRleDtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCByZWZyZXNoUmVzaXplKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHggPSBNYXRoLmZsb29yKHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCk7XHJcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgeCArICdweCcpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIHJldHJ5KGZpbGVBdHRhY2htZW50OiBGaWxlQXR0YWNobWVudEluZm8pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9saW5lYXJIZWxwZXIucmV0cnkoZmlsZUF0dGFjaG1lbnQpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9zZXRWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIuX3NldFZhbHVlKHZhbHVlKTtcclxuICAgICAgICB0aGlzLl9zZXRGaWxlQ291bnQodmFsdWUpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9zaG93VXBsb2FkV2luZG93KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZmlsZVVwbG9hZENvbXBvbmVudC5vcGVuKCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2ZpbGVEZWxldGUoaWQpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBmaWxlQXR0YWNobWVudCA9IHRoaXMudmFsdWUuZmluZCgoYykgPT4gYy5JZCA9PT0gaWQpO1xyXG4gICAgICAgIGlmIChmaWxlQXR0YWNobWVudCkge1xyXG4gICAgICAgICAgICB0aGlzLl9kZWxldGVGaWxlQXR0YWNobWVudChmaWxlQXR0YWNobWVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9kZWxldGVGaWxlQXR0YWNobWVudChmaWxlQXR0YWNobWVudDogRmlsZUF0dGFjaG1lbnRJbmZvKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5maXJlQ29udGV4dEV2ZW50KCdDb21tYW5kUmVxdWVzdCcsIHRoaXMuY29udGV4dCwgJ0RlbGV0ZScsIGZpbGVBdHRhY2htZW50LklkKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgX3NldExvYWRpbmcobG9hZGluZzogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGxvYWRpbmc7XHJcbiAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9uZXdGaWxlVXBsb2FkZWQobmV3RmlsZUF0dGFjaG1lbnQ6IEZpbGVBdHRhY2htZW50SW5mbyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZmlyZUNvbnRleHRFdmVudCgnQ29tbWFuZFJlcXVlc3QnLCB0aGlzLmNvbnRleHQsICdGaWxlVXBsb2FkJywgbmV3RmlsZUF0dGFjaG1lbnQpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9zZXRGaWxlQ291bnQodmFsdWUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9maWxlQ291bnRTb3VyY2UubmV4dCh2YWx1ZT8uZmlsdGVyKChjKSA9PiAhYy5Jc0RlbGV0ZWQpLmxlbmd0aCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmludGVyZmFjZSBVcGxvYWRGaWxlUHJvcHMge1xyXG4gICAgRmlsZVVybD86IHN0cmluZztcclxuICAgIGNhbmNlbGF0aW9uJD86IFN1YmplY3Q8dm9pZD47XHJcbiAgICBiaW5hcnk/OiBhbnk7XHJcbiAgICBVcGxvYWRTdGF0ZT86IHN0cmluZztcclxuICAgIFByb2dyZXNzPzogbnVtYmVyO1xyXG4gICAgSXNJY29uPzogYm9vbGVhbjtcclxufVxyXG4iLCJAaWYgKHZhbHVlKSB7XHJcbjxkaXZcclxuICAgIGNsYXNzPVwidG9rZW4tY29udGFpbmVyXCJcclxuICAgIGludGVyc2VjdGlvbk9ic2VydmVyXHJcbiAgICBbaW50ZXJzZWN0aW9uVGhyZXNob2xkXT1cIjAuMVwiXHJcbiAgICAodmlzaWJpbGl0eUNoYW5nZSk9XCJvblZpc2liaWxpdHlDaGFuZ2UoJGV2ZW50KVwiXHJcbj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0b2tlbi13cmFwcGVyXCI+XHJcbiAgICAgICAgQGZvciAoZmlsZSBvZiB2YWx1ZTsgdHJhY2sgdHJhY2tCeUlkKCRpbmRleCwgZmlsZSkpIHsgQGlmICghZmlsZS5Jc0RlbGV0ZWQpIHtcclxuICAgICAgICA8ZmQtcG9wb3ZlciAjcG9wb3Zlcj5cclxuICAgICAgICAgICAgPGZkLXBvcG92ZXItY29udHJvbD5cclxuICAgICAgICAgICAgICAgIDxmZC10b2tlbiAob25DbG9zZUNsaWNrKT1cIm9uRmlsZURlbGV0ZWQoZmlsZS5JZClcIiBbcmVhZE9ubHldPVwiKGRpc2FibGVPclJlYWRvbmx5JCB8IGFzeW5jKSEhXCJcclxuICAgICAgICAgICAgICAgICAgICA+e3sgZmlsZS5GaWxlTmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoZmlsZS5Jc05ldykgeyBAaWYgKHZhbHVlRXh0cmEkIHwgYXN5bmM7IGFzIHZhbHVlRXh0cmEpIHsgQGlmICh2YWx1ZUV4dHJhW2ZpbGUuSWRdLlVwbG9hZFN0YXRlXHJcbiAgICAgICAgICAgICAgICAgICAgIT09ICdDb21wbGV0ZScpIHtcclxuICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmZC1vYmplY3Qtc3RhdHVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdGF0dXNdPVwiZmlsZS5JZCB8IHVwbG9hZEZpbGVTdGF0dXM6IHZhbHVlRXh0cmFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwidmFsdWVFeHRyYVtmaWxlLklkXT8uVXBsb2FkU3RhdGUgfHwgJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwidmFsdWVFeHRyYVtmaWxlLklkXT8uVXBsb2FkU3RhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXJpYS1sYWJlbF09XCInRmlsZSBVcGxvYWQgU3RhdHVzIElzICcgKyB2YWx1ZUV4dHJhW2ZpbGUuSWRdPy5VcGxvYWRTdGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICB9IEBpZiAodmFsdWVFeHRyYVtmaWxlLklkXS5Qcm9ncmVzcykge1xyXG4gICAgICAgICAgICAgICAgICAgIDxmZC1vYmplY3QtbnVtYmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtudW1iZXJdPVwidmFsdWVFeHRyYVtmaWxlLklkXS5Qcm9ncmVzcyB8fCAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdW5pdD1cIiVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM9XCJpbmZvcm1hdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvZmQtb2JqZWN0LW51bWJlcj5cclxuICAgICAgICAgICAgICAgICAgICB9IEBpZiAodmFsdWVFeHRyYVtmaWxlLklkXS5VcGxvYWRTdGF0ZSA9PT0gJ1VwbG9hZGluZycpIHtcclxuICAgICAgICAgICAgICAgICAgICA8ZmQtYnVzeS1pbmRpY2F0b3IgW2xvYWRpbmddPVwidHJ1ZVwiIFtzaXplXT1cIidzJ1wiPjwvZmQtYnVzeS1pbmRpY2F0b3I+XHJcbiAgICAgICAgICAgICAgICAgICAgfSB9IH1cclxuICAgICAgICAgICAgICAgIDwvZmQtdG9rZW4+XHJcbiAgICAgICAgICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxyXG4gICAgICAgICAgICA8ZmQtcG9wb3Zlci1ib2R5PlxyXG4gICAgICAgICAgICAgICAgQGlmICh2YWx1ZUV4dHJhJCB8IGFzeW5jOyBhcyB2YWx1ZUV4dHJhKSB7IEBpZiAoIHZhbHVlRXh0cmFbZmlsZS5JZF0uVXBsb2FkU3RhdGUgIT09ICdFcnJvcicgfHxcclxuICAgICAgICAgICAgICAgIHZhbHVlRXh0cmFbZmlsZS5JZF0uVXBsb2FkU3RhdGUgPT09ICdDb21wbGV0ZScgKSB7XHJcbiAgICAgICAgICAgICAgICA8YnN1LWZpbGUtdmlld2VyLWNvbnRlbnRcclxuICAgICAgICAgICAgICAgICAgICBbZmlsZV09XCJmaWxlXCJcclxuICAgICAgICAgICAgICAgICAgICBbd2lkdGhdPVwiaXNNb2JpbGUgPyAnMTAwdncnIDogJzMwdncnXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2FyZE1vZGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dDb250ZW50XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzaG93Rm9vdGVyXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtkZXZpY2VTaXplXT1cIihkZXZpY2VTaXplJCB8IGFzeW5jKSB8fCAncydcIlxyXG4gICAgICAgICAgICAgICAgPjwvYnN1LWZpbGUtdmlld2VyLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGZkLXBvcG92ZXItYm9keS1mb290ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJzdS1iYXJzYS1iYXItZG93bmxvYWQtZmlsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbaXNNb2JpbGVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcG9wb3Zlcl09XCJwb3BvdmVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NhblByaW50XT1cImZpbGUuVHlwZSB8IGlzSW1hZ2VUeXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGVzXT1cIltmaWxlXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRlRnVsbFNjcmVlbl09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkZXZpY2VTaXplXT1cIihkZXZpY2VTaXplJCB8IGFzeW5jKSB8fCAncydcIlxyXG4gICAgICAgICAgICAgICAgICAgID48L2JzdS1iYXJzYS1iYXItZG93bmxvYWQtZmlsZT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8dWwgZmQtbGlzdD5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgZmQtbGlzdC1pdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBmZC1saXN0LWxpbmsgKGNsaWNrKT1cIm9uRG93bmxvYWRGaWxlKGZpbGUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBmZC1saXN0LWljb24gZ2x5cGg9XCJkb3dubG9hZFwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtdGl0bGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ0Rvd25sb2FkJyB8IGJiYlRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWJ1c3ktaW5kaWNhdG9yIFtsb2FkaW5nXT1cImZpbGVEb3dubG9hZGluZ1wiIFtzaXplXT1cIidzJ1wiPjwvZmQtYnVzeS1pbmRpY2F0b3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgPC91bD4gLS0+XHJcbiAgICAgICAgICAgICAgICB9IH1cclxuICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XHJcbiAgICAgICAgPC9mZC1wb3BvdmVyPlxyXG4gICAgICAgIH0gfVxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4XCI+XHJcbiAgICAgICAgICAgIEBpZiAobG9hZGluZykge1xyXG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogM3JlbVwiPlxyXG4gICAgICAgICAgICAgICAgPGJzdS1tYXNrIFtzaXplXT1cIidzJ1wiIHN0eWxlPVwiYmFja2dyb3VuZDogdHJhbnNwYXJlbnRcIj48L2JzdS1tYXNrPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfSBAaWYgKChmaWxlQ291bnQkIHwgYXN5bmMpIHwgY2FuVXBsb2FkRmlsZTogbWF4RmlsZUNvdW50OihkaXNhYmxlJCB8IGFzeW5jKT09PXRydWU6KHJlYWRvbmx5JCB8XHJcbiAgICAgICAgICAgIGFzeW5jKT09PXRydWUpIHtcclxuICAgICAgICAgICAgPGZkLWZpbGUtdXBsb2FkZXJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmlsZS1saW5lYXItdXBsb2FkXCJcclxuICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgICAgICAgICAgW2lkXT1cImlkXCJcclxuICAgICAgICAgICAgICAgIFtuYW1lXT1cIidsaW5lYXJfJyArIGlkXCJcclxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQXR0YWNoRmlsZScgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgW2J1dHRvbkxhYmVsXT1cIidBdHRhY2hGaWxlJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBbYnV0dG9uQXJpYUxhYmVsXT1cIidBdHRhY2hGaWxlJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBbYWNjZXB0XT1cInZhbGlkRXh0ZW5zaW9uXCJcclxuICAgICAgICAgICAgICAgIFttdWx0aXBsZV09XCJtYXhGaWxlQ291bnQgPiAxIHx8IFNldHRpbmcuSXNNdWx0aVNlbGVjdFwiXHJcbiAgICAgICAgICAgICAgICAoc2VsZWN0ZWRGaWxlc0NoYW5nZWQpPVwib25GaWxlU2VsZWN0aW9uKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgW2NvbnRlbnREZW5zaXR5XT1cIihjb250ZW50RGVuc2l0eSQgfCBhc3luYykhIVwiXHJcbiAgICAgICAgICAgID48L2ZkLWZpbGUtdXBsb2FkZXI+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxufVxyXG4iXX0=
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZmlsZS1saW5lYXItbGlzdC1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZmlsZS1saW5lYXItbGlzdC1ib3gvdWktZmlsZS1saW5lYXItbGlzdC1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZmlsZS1saW5lYXItbGlzdC1ib3gvdWktZmlsZS1saW5lYXItbGlzdC1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBVyxNQUFNLE1BQU0sQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFrQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTlFLE9BQU8sRUFDSCxhQUFhLEVBQ2IscUJBQXFCLEVBRXJCLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDbkIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBV3pFLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSw0QkFBNEI7SUFSOUU7O1FBYUksZUFBVSxHQUFHLElBQUksVUFBVSxFQUFtQixDQUFDO1FBSy9DLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBRXBCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFHUixxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztLQTJHN0Q7SUExR0csUUFBUTtRQUNKLEtBQUss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QUM7SUFDUyxnQkFBZ0IsQ0FBQyxpQkFBcUM7UUFDNUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUNTLGFBQWEsQ0FBQyxLQUFLO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUUsQ0FBQzsrR0F6SFEsNEJBQTRCO21HQUE1Qiw0QkFBNEIsa0ZBSjFCLENBQUMsYUFBYSxDQUFDLCtFQUtmLHFCQUFxQix1RUN4QnBDLG9tSkE4RkE7OzRGRHZFYSw0QkFBNEI7a0JBUnhDLFNBQVM7K0JBQ0ksNkJBQTZCLGFBRzVCLENBQUMsYUFBYSxDQUFDLG1CQUNULHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSzs4QkFHb0MsbUJBQW1CO3NCQUF2RSxTQUFTO3VCQUFDLHFCQUFxQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDMUMsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5LCBGaWxlVXBsb2FkZXJDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xyXG5cclxuaW1wb3J0IHtcclxuICAgIFVwbG9hZFNlcnZpY2UsXHJcbiAgICBGaWxlc1ZhbGlkYXRpb25IZWxwZXIsXHJcbiAgICBGaWxlQXR0YWNobWVudEluZm8sXHJcbiAgICBnZXRWYWxpZEV4dGVuc2lvbixcclxuICAgIExpbmVhckxpc3RIZWxwZXJcclxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IERldmljZUluZm9GaWVsZEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9kZXZpY2UtaW5mby1maWVsZC1iYXNlJztcclxuaW1wb3J0IHsgSVVwbG9hZGluZ1N0YXRlIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS11aS1maWxlLWxpbmVhci1saXN0LWJveCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktZmlsZS1saW5lYXItbGlzdC1ib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktZmlsZS1saW5lYXItbGlzdC1ib3guY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHByb3ZpZGVyczogW1VwbG9hZFNlcnZpY2VdLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlGaWxlTGluZWFyTGlzdEJveENvbXBvbmVudCBleHRlbmRzIERldmljZUluZm9GaWVsZEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBAVmlld0NoaWxkKEZpbGVVcGxvYWRlckNvbXBvbmVudCwgeyBzdGF0aWM6IGZhbHNlIH0pIGZpbGVVcGxvYWRDb21wb25lbnQ6IEZpbGVVcGxvYWRlckNvbXBvbmVudDtcclxuICAgIEBJbnB1dCgpIHZhbHVlOiBGaWxlQXR0YWNobWVudEluZm9bXTtcclxuXHJcbiAgICBmaWxlQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XHJcbiAgICB1cGxvYWRpbmckID0gbmV3IE9ic2VydmFibGU8SVVwbG9hZGluZ1N0YXRlPigpO1xyXG5cclxuICAgIHZhbHVlRXh0cmEkOiBPYnNlcnZhYmxlPHsgW2tleTogc3RyaW5nXTogVXBsb2FkRmlsZVByb3BzIH0+O1xyXG4gICAgY29udGVudERlbnNpdHkkOiBPYnNlcnZhYmxlPENvbnRlbnREZW5zaXR5PjtcclxuICAgIGZpbGVEb3dubG9hZGluZzogYm9vbGVhbjtcclxuICAgIHZhbGlkRXh0ZW5zaW9uID0gJyc7XHJcbiAgICBtYXhGaWxlQ291bnQ6IG51bWJlcjtcclxuICAgIGxvYWRpbmcgPSBmYWxzZTtcclxuICAgIHByb3RlY3RlZCBfbGluZWFySGVscGVyOiBMaW5lYXJMaXN0SGVscGVyO1xyXG4gICAgcHJvdGVjdGVkIF9maWxlc1ZhbGlkYXRpb25IZWxwZXI6IEZpbGVzVmFsaWRhdGlvbkhlbHBlcjtcclxuICAgIHByaXZhdGUgX2ZpbGVDb3VudFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS53aW5kb3dSZXNpemUkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJlZnJlc2hSZXNpemUoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbnRleHQub24oe1xyXG4gICAgICAgICAgICBTaG93VXBsb2FkV2luZG93OiB0aGlzLl9zaG93VXBsb2FkV2luZG93LmJpbmQodGhpcylcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl9maWxlc1ZhbGlkYXRpb25IZWxwZXIgPSBuZXcgRmlsZXNWYWxpZGF0aW9uSGVscGVyKFxyXG4gICAgICAgICAgICB0aGlzLlNldHRpbmcuTWF4RmlsZUNvdW50LFxyXG4gICAgICAgICAgICB0aGlzLlNldHRpbmcuTWF4RmlsZVNpemVLYixcclxuICAgICAgICAgICAgdGhpcy5TZXR0aW5nLk1heFRvdGFsRmlsZVNpemVLYlxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5fbGluZWFySGVscGVyID0gbmV3IExpbmVhckxpc3RIZWxwZXIoXHJcbiAgICAgICAgICAgIHRoaXMuX3VwbG9hZFNlcnZpY2UsXHJcbiAgICAgICAgICAgIHRoaXMuX2ZpbGVzVmFsaWRhdGlvbkhlbHBlcixcclxuICAgICAgICAgICAgdGhpcy5TZXR0aW5nLkZpZWxkRGVmSWRcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuZmlsZUNvdW50JCA9IHRoaXMuX2ZpbGVDb3VudFNvdXJjZS5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xyXG4gICAgICAgIHRoaXMudmFsdWVFeHRyYSQgPSB0aGlzLl9saW5lYXJIZWxwZXIudmFsdWVFeHRyYSQ7XHJcbiAgICAgICAgdGhpcy51cGxvYWRpbmckID0gdGhpcy5fbGluZWFySGVscGVyLnVwbG9hZGluZyQ7XHJcbiAgICAgICAgdGhpcy5fbGluZWFySGVscGVyLmRlbGV0ZSQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoZmlsZUF0dGFjaG1lbnQpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fZGVsZXRlRmlsZUF0dGFjaG1lbnQoZmlsZUF0dGFjaG1lbnQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX2xpbmVhckhlbHBlci5uZXdGaWxlVXBsb2FkZWQkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGZpbGVBdHRhY2htZW50KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX25ld0ZpbGVVcGxvYWRlZChmaWxlQXR0YWNobWVudCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy52YWx1ZSAmJlxyXG4gICAgICAgICAgICB0aGlzLnZhbHVlLmZvckVhY2goKGMpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2xpbmVhckhlbHBlci5pbml0KGMpO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLlNldHRpbmcuSXNNdWx0aVNlbGVjdCkge1xyXG4gICAgICAgICAgICB0aGlzLl9maWxlc1ZhbGlkYXRpb25IZWxwZXIubWF4RmlsZUNvdW50ID0gMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5tYXhGaWxlQ291bnQgPSB0aGlzLl9maWxlc1ZhbGlkYXRpb25IZWxwZXIubWF4RmlsZUNvdW50O1xyXG4gICAgICAgIHRoaXMudmFsaWRFeHRlbnNpb24gPSBnZXRWYWxpZEV4dGVuc2lvbih0aGlzLlNldHRpbmcuVmFsaWRFeHRlbnNpb25zKTtcclxuICAgICAgICB0aGlzLl9zZXRGaWxlQ291bnQodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICAvLyB0aGlzLnZhbHVlRXh0cmEgPSB7fTtcclxuICAgICAgICB0aGlzLmNvbnRleHQudW4oJ1Nob3dVcGxvYWRXaW5kb3cnLCB0aGlzLl9zaG93VXBsb2FkV2luZG93KTtcclxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gICAgfVxyXG4gICAgb25Eb3dubG9hZEZpbGUoZmlsZTogRmlsZUF0dGFjaG1lbnRJbmZvKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCFmaWxlLklzTmV3IHx8IGZpbGUuVXBsb2FkU3RhdGUgPT09ICdDb21wbGV0ZScgfHwgIWZpbGUuVXBsb2FkU3RhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5maXJlQ29udGV4dEV2ZW50KCdDb21tYW5kUmVxdWVzdCcsIHRoaXMuY29udGV4dCwgJ0Rvd25sb2FkJywgZmlsZS5JZCk7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsZURvd25sb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZpbGVEb3dubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIG9uRmlsZURlbGV0ZWQoZmlsZUlkKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZmlsZURlbGV0ZShmaWxlSWQpO1xyXG4gICAgfVxyXG4gICAgb25UZXJtaW5hdGUoZmlsZUF0dGFjaG1lbnQ6IEZpbGVBdHRhY2htZW50SW5mbyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZmlyZUNvbnRleHRFdmVudCgnQ29tbWFuZFJlcXVlc3QnLCB0aGlzLmNvbnRleHQsICdEZWxldGUnLCBmaWxlQXR0YWNobWVudC5JZCk7XHJcbiAgICAgICAgdGhpcy5fbGluZWFySGVscGVyLmNhbmNlbChmaWxlQXR0YWNobWVudCk7XHJcbiAgICB9XHJcbiAgICBvbkZpbGVTZWxlY3Rpb24oZmlsZXM6IEZpbGVbXSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2xpbmVhckhlbHBlci51cGxvYWRUb1NlcnZlcihmaWxlcyk7XHJcbiAgICB9XHJcbiAgICBvblZpc2liaWxpdHlDaGFuZ2UodmlzaWJpbGl0eTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHZpc2liaWxpdHkgPT09ICdWaXNpYmxlJykge1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucmVmcmVzaFJlc2l6ZSgpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdHJhY2tCeUlkKGZpbGUsIGluZGV4KTogc3RyaW5nIHwgbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gZmlsZSA/IGZpbGUuSWQgOiBpbmRleDtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCByZWZyZXNoUmVzaXplKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHggPSBNYXRoLmZsb29yKHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCk7XHJcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgeCArICdweCcpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIHJldHJ5KGZpbGVBdHRhY2htZW50OiBGaWxlQXR0YWNobWVudEluZm8pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9saW5lYXJIZWxwZXIucmV0cnkoZmlsZUF0dGFjaG1lbnQpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9zZXRWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIuX3NldFZhbHVlKHZhbHVlKTtcclxuICAgICAgICB0aGlzLl9zZXRGaWxlQ291bnQodmFsdWUpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9zaG93VXBsb2FkV2luZG93KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZmlsZVVwbG9hZENvbXBvbmVudC5vcGVuKCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2ZpbGVEZWxldGUoaWQpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBmaWxlQXR0YWNobWVudCA9IHRoaXMudmFsdWUuZmluZCgoYykgPT4gYy5JZCA9PT0gaWQpO1xyXG4gICAgICAgIGlmIChmaWxlQXR0YWNobWVudCkge1xyXG4gICAgICAgICAgICB0aGlzLl9kZWxldGVGaWxlQXR0YWNobWVudChmaWxlQXR0YWNobWVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9kZWxldGVGaWxlQXR0YWNobWVudChmaWxlQXR0YWNobWVudDogRmlsZUF0dGFjaG1lbnRJbmZvKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5maXJlQ29udGV4dEV2ZW50KCdDb21tYW5kUmVxdWVzdCcsIHRoaXMuY29udGV4dCwgJ0RlbGV0ZScsIGZpbGVBdHRhY2htZW50LklkKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgX3NldExvYWRpbmcobG9hZGluZzogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGxvYWRpbmc7XHJcbiAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9uZXdGaWxlVXBsb2FkZWQobmV3RmlsZUF0dGFjaG1lbnQ6IEZpbGVBdHRhY2htZW50SW5mbyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZmlyZUNvbnRleHRFdmVudCgnQ29tbWFuZFJlcXVlc3QnLCB0aGlzLmNvbnRleHQsICdGaWxlVXBsb2FkJywgbmV3RmlsZUF0dGFjaG1lbnQpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9zZXRGaWxlQ291bnQodmFsdWUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9maWxlQ291bnRTb3VyY2UubmV4dCh2YWx1ZT8uZmlsdGVyKChjKSA9PiAhYy5Jc0RlbGV0ZWQpLmxlbmd0aCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmludGVyZmFjZSBVcGxvYWRGaWxlUHJvcHMge1xyXG4gICAgRmlsZVVybD86IHN0cmluZztcclxuICAgIGNhbmNlbGF0aW9uJD86IFN1YmplY3Q8dm9pZD47XHJcbiAgICBiaW5hcnk/OiBhbnk7XHJcbiAgICBVcGxvYWRTdGF0ZT86IHN0cmluZztcclxuICAgIFByb2dyZXNzPzogbnVtYmVyO1xyXG4gICAgSXNJY29uPzogYm9vbGVhbjtcclxuICAgIElzTmV3PzogYm9vbGVhbjtcclxufVxyXG4iLCJAaWYgKHZhbHVlKSB7XHJcbjxkaXZcclxuICAgIGNsYXNzPVwidG9rZW4tY29udGFpbmVyXCJcclxuICAgIGludGVyc2VjdGlvbk9ic2VydmVyXHJcbiAgICBbaW50ZXJzZWN0aW9uVGhyZXNob2xkXT1cIjAuMVwiXHJcbiAgICAodmlzaWJpbGl0eUNoYW5nZSk9XCJvblZpc2liaWxpdHlDaGFuZ2UoJGV2ZW50KVwiXHJcbj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0b2tlbi13cmFwcGVyXCI+XHJcbiAgICAgICAgQGZvciAoZmlsZSBvZiB2YWx1ZTsgdHJhY2sgdHJhY2tCeUlkKCRpbmRleCwgZmlsZSkpIHsgQGlmICghZmlsZS5Jc0RlbGV0ZWQpIHtcclxuICAgICAgICA8ZmQtcG9wb3ZlciAjcG9wb3Zlcj5cclxuICAgICAgICAgICAgPGZkLXBvcG92ZXItY29udHJvbD5cclxuICAgICAgICAgICAgICAgIDxmZC10b2tlbiAob25DbG9zZUNsaWNrKT1cIm9uRmlsZURlbGV0ZWQoZmlsZS5JZClcIiBbcmVhZE9ubHldPVwiKGRpc2FibGVPclJlYWRvbmx5JCB8IGFzeW5jKSEhXCJcclxuICAgICAgICAgICAgICAgICAgICA+e3sgZmlsZS5GaWxlTmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoZmlsZS5Jc05ldykgeyBAaWYgKHZhbHVlRXh0cmEkIHwgYXN5bmM7IGFzIHZhbHVlRXh0cmEpIHsgQGlmICh2YWx1ZUV4dHJhW2ZpbGUuSWRdLlVwbG9hZFN0YXRlXHJcbiAgICAgICAgICAgICAgICAgICAgIT09ICdDb21wbGV0ZScpIHtcclxuICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmZC1vYmplY3Qtc3RhdHVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdGF0dXNdPVwiZmlsZS5JZCB8IHVwbG9hZEZpbGVTdGF0dXM6IHZhbHVlRXh0cmFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwidmFsdWVFeHRyYVtmaWxlLklkXT8uVXBsb2FkU3RhdGUgfHwgJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwidmFsdWVFeHRyYVtmaWxlLklkXT8uVXBsb2FkU3RhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXJpYS1sYWJlbF09XCInRmlsZSBVcGxvYWQgU3RhdHVzIElzICcgKyB2YWx1ZUV4dHJhW2ZpbGUuSWRdPy5VcGxvYWRTdGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICB9IEBpZiAodmFsdWVFeHRyYVtmaWxlLklkXS5Qcm9ncmVzcykge1xyXG4gICAgICAgICAgICAgICAgICAgIDxmZC1vYmplY3QtbnVtYmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtudW1iZXJdPVwidmFsdWVFeHRyYVtmaWxlLklkXS5Qcm9ncmVzcyB8fCAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdW5pdD1cIiVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM9XCJpbmZvcm1hdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvZmQtb2JqZWN0LW51bWJlcj5cclxuICAgICAgICAgICAgICAgICAgICB9IEBpZiAodmFsdWVFeHRyYVtmaWxlLklkXS5VcGxvYWRTdGF0ZSA9PT0gJ1VwbG9hZGluZycpIHtcclxuICAgICAgICAgICAgICAgICAgICA8ZmQtYnVzeS1pbmRpY2F0b3IgW2xvYWRpbmddPVwidHJ1ZVwiIFtzaXplXT1cIidzJ1wiPjwvZmQtYnVzeS1pbmRpY2F0b3I+XHJcbiAgICAgICAgICAgICAgICAgICAgfSB9IH1cclxuICAgICAgICAgICAgICAgIDwvZmQtdG9rZW4+XHJcbiAgICAgICAgICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxyXG4gICAgICAgICAgICA8ZmQtcG9wb3Zlci1ib2R5PlxyXG4gICAgICAgICAgICAgICAgQGlmICh2YWx1ZUV4dHJhJCB8IGFzeW5jOyBhcyB2YWx1ZUV4dHJhKSB7IEBpZiAoICh2YWx1ZUV4dHJhW2ZpbGUuSWRdLlVwbG9hZFN0YXRlICE9PSAnRXJyb3InIHx8XHJcbiAgICAgICAgICAgICAgICB2YWx1ZUV4dHJhW2ZpbGUuSWRdLlVwbG9hZFN0YXRlID09PSAnQ29tcGxldGUnKSAmJiAhZmlsZS5Jc05ldyApIHtcclxuICAgICAgICAgICAgICAgIDxic3UtZmlsZS12aWV3ZXItY29udGVudFxyXG4gICAgICAgICAgICAgICAgICAgIFtmaWxlXT1cImZpbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt3aWR0aF09XCJpc01vYmlsZSA/ICcxMDB2dycgOiAnMzB2dydcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjYXJkTW9kZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2hvd0NvbnRlbnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dGb290ZXJdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2RldmljZVNpemVdPVwiKGRldmljZVNpemUkIHwgYXN5bmMpIHx8ICdzJ1wiXHJcbiAgICAgICAgICAgICAgICA+PC9ic3UtZmlsZS12aWV3ZXItY29udGVudD5cclxuICAgICAgICAgICAgICAgIDxkaXYgZmQtcG9wb3Zlci1ib2R5LWZvb3Rlcj5cclxuICAgICAgICAgICAgICAgICAgICA8YnN1LWJhcnNhLWJhci1kb3dubG9hZC1maWxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpc01vYmlsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwb3BvdmVyXT1cInBvcG92ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2FuUHJpbnRdPVwiZmlsZS5UeXBlIHwgaXNJbWFnZVR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZmlsZXNdPVwiW2ZpbGVdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGVGdWxsU2NyZWVuXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2RldmljZVNpemVdPVwiKGRldmljZVNpemUkIHwgYXN5bmMpIHx8ICdzJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvYnN1LWJhcnNhLWJhci1kb3dubG9hZC1maWxlPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDx1bCBmZC1saXN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBmZC1saXN0LWl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGZkLWxpc3QtbGluayAoY2xpY2spPVwib25Eb3dubG9hZEZpbGUoZmlsZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGZkLWxpc3QtaWNvbiBnbHlwaD1cImRvd25sb2FkXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnRG93bmxvYWQnIHwgYmJiVHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtYnVzeS1pbmRpY2F0b3IgW2xvYWRpbmddPVwiZmlsZURvd25sb2FkaW5nXCIgW3NpemVdPVwiJ3MnXCI+PC9mZC1idXN5LWluZGljYXRvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8L3VsPiAtLT5cclxuICAgICAgICAgICAgICAgIH0gfVxyXG4gICAgICAgICAgICA8L2ZkLXBvcG92ZXItYm9keT5cclxuICAgICAgICA8L2ZkLXBvcG92ZXI+XHJcbiAgICAgICAgfSB9XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXhcIj5cclxuICAgICAgICAgICAgQGlmIChsb2FkaW5nKSB7XHJcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAzcmVtXCI+XHJcbiAgICAgICAgICAgICAgICA8YnN1LW1hc2sgW3NpemVdPVwiJ3MnXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudFwiPjwvYnN1LW1hc2s+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9IEBpZiAoKGZpbGVDb3VudCQgfCBhc3luYykgfCBjYW5VcGxvYWRGaWxlOiBtYXhGaWxlQ291bnQ6KGRpc2FibGUkIHwgYXN5bmMpPT09dHJ1ZToocmVhZG9ubHkkIHxcclxuICAgICAgICAgICAgYXN5bmMpPT09dHJ1ZSkge1xyXG4gICAgICAgICAgICA8ZmQtZmlsZS11cGxvYWRlclxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmaWxlLWxpbmVhci11cGxvYWRcIlxyXG4gICAgICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXHJcbiAgICAgICAgICAgICAgICBbaWRdPVwiaWRcIlxyXG4gICAgICAgICAgICAgICAgW25hbWVdPVwiJ2xpbmVhcl8nICsgaWRcIlxyXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidBdHRhY2hGaWxlJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBbYnV0dG9uTGFiZWxdPVwiJ0F0dGFjaEZpbGUnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgIFtidXR0b25BcmlhTGFiZWxdPVwiJ0F0dGFjaEZpbGUnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgIFthY2NlcHRdPVwidmFsaWRFeHRlbnNpb25cIlxyXG4gICAgICAgICAgICAgICAgW211bHRpcGxlXT1cIm1heEZpbGVDb3VudCA+IDEgfHwgU2V0dGluZy5Jc011bHRpU2VsZWN0XCJcclxuICAgICAgICAgICAgICAgIChzZWxlY3RlZEZpbGVzQ2hhbmdlZCk9XCJvbkZpbGVTZWxlY3Rpb24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBbY29udGVudERlbnNpdHldPVwiKGNvbnRlbnREZW5zaXR5JCB8IGFzeW5jKSEhXCJcclxuICAgICAgICAgICAgPjwvZmQtZmlsZS11cGxvYWRlcj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG59XHJcbiJdfQ==