UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

88 lines • 19.9 kB
import { NgZone } from '@angular/core'; import { downgradeInjectable } from '@angular/upgrade/static'; import { QueriesUtil } from '@c8y/client'; import * as angular from 'angular'; import { c8yAlertDecorator } from './alert.decorator'; import { appLogsAutoRefreshComponentDowngradedComponent, bootstrapComponentDowngradedComponent, dataGridComponentDowngradedComponent, datapointSelectionListComponentDowngradedComponent, emptyStateComponentDowngradedComponent, helpComponentDowngradedComponent, highlightComponentDowngradedComponent, loadingComponentDowngradedComponent, paginationComponentDowngradedComponent, passwordInputComponentDowngradedComponent, platformConfigurationFormDowngradedComponent, rangeDisplayComponentDowngradedComponent, rolesAssetTreeComponentDowngradedComponent, userTotpComponentDowngradedComponent } from './downgraded.components'; import { absoluteDateServiceDowngradedInjectable, alertsServiceDowngradedInjectable, apiServiceDowngradedInjectable, appStateServiceDowngradedInjectable, assetLinkPipeDowngradedInjectable, authBridgeServiceDowngradedInjectable, bridgeServiceDowngradedInjectable, cachedLocaleDictionaryServiceDowngradedInjectable, datapointSelectorServiceDowngradedInjectable, deviceGridServiceDowngradedInjectable, deviceTypeDetailEditedServiceDowngradedInjectable, docsServiceDowngradedInjectable, filesServiceDowngradedInjectable, gainsightServiceDowngradedInjectable, globalConfigServiceDowngradedInjectable, headerServiceDowngradedInjectable, modalServiceDowngradedInjectable, passwordServiceDowngradedInjectable, propertyValueTransformServiceDowngradedInjectable, serverMessagesServiceDowngradedInjectable, serviceRegistryInjectable, translateServiceDowngradedInjectable, userMenuServiceDowngradedInjectable } from './downgraded.services'; import { gettextCatalogDecorator } from './gettextCatalog.decorator'; import { groupTypesHierarchyNavigatorDecorator } from './groupsHierarchyNavigator.decorator'; import { c8yNg1HttpInterceptor } from './http.interceptor'; import { c8yNavigatorProvider } from './navigator.provider'; import { rootComponent } from './root.component'; import { c8yTitleDecorator } from './title.decorator'; import { c8yViewsProvider } from './views.provider'; const NAME_UPGRADE = 'c8y.upgrade'; window.preventNg1Bootstrap = true; angular .module(NAME_UPGRADE, []) // tslint:disable-next-line:only-arrow-functions .config(function ($httpProvider) { 'ngInject'; const ng1InterceptorIndex = $httpProvider.interceptors.indexOf('c8yLoadingIndicator'); if (ng1InterceptorIndex > -1) { $httpProvider.interceptors.splice(ng1InterceptorIndex, 1); } $httpProvider.interceptors.push(c8yNg1HttpInterceptor); }) .component('c8yUiRoot', rootComponent) .directive('c8yBootstrap', bootstrapComponentDowngradedComponent) .factory('c8yBridgeService', bridgeServiceDowngradedInjectable) .factory('c8yAuthBridgeService', authBridgeServiceDowngradedInjectable) .factory('c8yAppStateService', appStateServiceDowngradedInjectable) .factory('c8yHeaderService', headerServiceDowngradedInjectable) .factory('c8yUserMenuService', userMenuServiceDowngradedInjectable) // tslint:disable-next-line:only-arrow-functions .service('c8yQueriesUtil', function () { return new QueriesUtil(); }) .factory('c8yAlert', alertsServiceDowngradedInjectable) .decorator('c8yAlert', c8yAlertDecorator) .decorator('groupTypesHierarchyNavigator', groupTypesHierarchyNavigatorDecorator) // prevents loading the groups .factory('c8yApiService', apiServiceDowngradedInjectable) .factory('c8yDocs', docsServiceDowngradedInjectable) .service('c8yPasswordConfirm', passwordServiceDowngradedInjectable) .service('c8yModalService', modalServiceDowngradedInjectable) .service('c8yGainsightService', gainsightServiceDowngradedInjectable) .service('c8yFilesService', filesServiceDowngradedInjectable) .service('c8yGlobalConfigService', globalConfigServiceDowngradedInjectable) .service('c8yPropertyValueTransformService', propertyValueTransformServiceDowngradedInjectable) .service('c8yDatapointSelectorService', datapointSelectorServiceDowngradedInjectable); angular .module('c8y.ui') .filter('absoluteDate', absoluteDateServiceDowngradedInjectable) .directive('c8yLoading', loadingComponentDowngradedComponent) .provider('c8yNavigator', c8yNavigatorProvider) .provider('c8yViews', c8yViewsProvider) .directive('c8yUserTotpRevoke', userTotpComponentDowngradedComponent) .directive('c8yAppLogsAutoRefresh', appLogsAutoRefreshComponentDowngradedComponent) .directive('c8yDataGrid', dataGridComponentDowngradedComponent) .directive('c8yRangeDisplay', rangeDisplayComponentDowngradedComponent) .directive('c8yHelp', helpComponentDowngradedComponent) .directive('c8yUiEmptyState', emptyStateComponentDowngradedComponent) .directive('c8yDatapointSelectionList', datapointSelectionListComponentDowngradedComponent) .directive('c8yHighlight', highlightComponentDowngradedComponent) .directive('c8yPasswordInput', passwordInputComponentDowngradedComponent) .directive('pagination', paginationComponentDowngradedComponent) .directive('c8yRolesAssetTreeDowngraded', rolesAssetTreeComponentDowngradedComponent) .directive('c8yPlatformConfigurationForm', platformConfigurationFormDowngradedComponent) .factory('c8yTranslate', translateServiceDowngradedInjectable) .factory('c8yCachedLocaleDictionaryService', cachedLocaleDictionaryServiceDowngradedInjectable) .decorator('gettextCatalog', gettextCatalogDecorator) .factory('c8yServerMessages', serverMessagesServiceDowngradedInjectable) .factory('ngZone', downgradeInjectable(NgZone)) .factory('c8yDeviceTypeDetailEdited', deviceTypeDetailEditedServiceDowngradedInjectable) .factory('c8yDeviceGridService', deviceGridServiceDowngradedInjectable) .factory('c8yServiceRegistry', serviceRegistryInjectable) .factory('assetLink', assetLinkPipeDowngradedInjectable); angular .module('c8y.ui') .decorator('c8yTitle', c8yTitleDecorator) .run([ 'c8yTitle', function () { // needed to inject c8yTitle with decorator applied to it, to ensure displaying ng1 titles } ]); export const ng1ModulesUpgrade = ['app', NAME_UPGRADE]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi91cGdyYWRlL25nMS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxLQUFLLE9BQU8sTUFBTSxTQUFTLENBQUM7QUFDbkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUNMLDhDQUE4QyxFQUM5QyxxQ0FBcUMsRUFDckMsb0NBQW9DLEVBQ3BDLGtEQUFrRCxFQUNsRCxzQ0FBc0MsRUFDdEMsZ0NBQWdDLEVBQ2hDLHFDQUFxQyxFQUNyQyxtQ0FBbUMsRUFDbkMsc0NBQXNDLEVBQ3RDLHlDQUF5QyxFQUN6Qyw0Q0FBNEMsRUFDNUMsd0NBQXdDLEVBQ3hDLDBDQUEwQyxFQUMxQyxvQ0FBb0MsRUFDckMsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQ0wsdUNBQXVDLEVBQ3ZDLGlDQUFpQyxFQUNqQyw4QkFBOEIsRUFDOUIsbUNBQW1DLEVBQ25DLGlDQUFpQyxFQUNqQyxxQ0FBcUMsRUFDckMsaUNBQWlDLEVBQ2pDLGlEQUFpRCxFQUNqRCw0Q0FBNEMsRUFDNUMscUNBQXFDLEVBQ3JDLGlEQUFpRCxFQUNqRCwrQkFBK0IsRUFDL0IsZ0NBQWdDLEVBQ2hDLG9DQUFvQyxFQUNwQyx1Q0FBdUMsRUFDdkMsaUNBQWlDLEVBQ2pDLGdDQUFnQyxFQUNoQyxtQ0FBbUMsRUFDbkMsaURBQWlELEVBQ2pELHlDQUF5QyxFQUN6Qyx5QkFBeUIsRUFDekIsb0NBQW9DLEVBQ3BDLG1DQUFtQyxFQUNwQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxN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LDBGQUEwRjtJQUM1RixDQUFDO0NBQ0YsQ0FBQyxDQUFDO0FBRUwsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRvd25ncmFkZUluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci91cGdyYWRlL3N0YXRpYyc7XG5pbXBvcnQgeyBRdWVyaWVzVXRpbCB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCAqIGFzIGFuZ3VsYXIgZnJvbSAnYW5ndWxhcic7XG5pbXBvcnQgeyBjOHlBbGVydERlY29yYXRvciB9IGZyb20gJy4vYWxlcnQuZGVjb3JhdG9yJztcbmltcG9ydCB7XG4gIGFwcExvZ3NBdXRvUmVmcmVzaENvbXBvbmVudERvd25ncmFkZWRDb21wb25lbnQsXG4gIGJvb3RzdHJhcENvbXBvbmVudERvd25ncmFkZWRDb21wb25lbnQsXG4gIGRhdGFHcmlkQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudCxcbiAgZGF0YXBvaW50U2VsZWN0aW9uTGlzdENvbXBvbmVudERvd25ncmFkZWRDb21wb25lbnQsXG4gIGVtcHR5U3RhdGVDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50LFxuICBoZWxwQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudCxcbiAgaGlnaGxpZ2h0Q29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudCxcbiAgbG9hZGluZ0NvbXBvbmVudERvd25ncmFkZWRDb21wb25lbnQsXG4gIHBhZ2luYXRpb25Db21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50LFxuICBwYXNzd29yZElucHV0Q29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudCxcbiAgcGxhdGZvcm1Db25maWd1cmF0aW9uRm9ybURvd25ncmFkZWRDb21wb25lbnQsXG4gIHJhbmdlRGlzcGxheUNvbXBvbmVudERvd25ncmFkZWRDb21wb25lbnQsXG4gIHJvbGVzQXNzZXRUcmVlQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudCxcbiAgdXNlclRvdHBDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50XG59IGZyb20gJy4vZG93bmdyYWRlZC5jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIGFic29sdXRlRGF0ZVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSxcbiAgYWxlcnRzU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBhcGlTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIGFwcFN0YXRlU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBhc3NldExpbmtQaXBlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIGF1dGhCcmlkZ2VTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIGJyaWRnZVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSxcbiAgY2FjaGVkTG9jYWxlRGljdGlvbmFyeVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSxcbiAgZGF0YXBvaW50U2VsZWN0b3JTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIGRldmljZUdyaWRTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIGRldmljZVR5cGVEZXRhaWxFZGl0ZWRTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIGRvY3NTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIGZpbGVzU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBnYWluc2lnaHRTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIGdsb2JhbENvbmZpZ1NlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSxcbiAgaGVhZGVyU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBtb2RhbFNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSxcbiAgcGFzc3dvcmRTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIHByb3BlcnR5VmFsdWVUcmFuc2Zvcm1TZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIHNlcnZlck1lc3NhZ2VzU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBzZXJ2aWNlUmVnaXN0cnlJbmplY3RhYmxlLFxuICB0cmFuc2xhdGVTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIHVzZXJNZW51U2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlXG59IGZyb20gJy4vZG93bmdyYWRlZC5zZXJ2aWNlcyc7XG5pbXBvcnQgeyBnZXR0ZXh0Q2F0YWxvZ0RlY29yYXRvciB9IGZyb20gJy4vZ2V0dGV4dENhdGFsb2cuZGVjb3JhdG9yJztcbmltcG9ydCB7IGdyb3VwVHlwZXNIaWVyYXJjaHlOYXZpZ2F0b3JEZWNvcmF0b3IgfSBmcm9tICcuL2dyb3Vwc0hpZXJhcmNoeU5hdmlnYXRvci5kZWNvcmF0b3InO1xuaW1wb3J0IHsgYzh5TmcxSHR0cEludGVyY2VwdG9yIH0gZnJvbSAnLi9odHRwLmludGVyY2VwdG9yJztcbmltcG9ydCB7IGM4eU5hdmlnYXRvclByb3ZpZGVyIH0gZnJvbSAnLi9uYXZpZ2F0b3IucHJvdmlkZXInO1xuaW1wb3J0IHsgcm9vdENvbXBvbmVudCB9IGZyb20gJy4vcm9vdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgYzh5VGl0bGVEZWNvcmF0b3IgfSBmcm9tICcuL3RpdGxlLmRlY29yYXRvcic7XG5pbXBvcnQgeyBjOHlWaWV3c1Byb3ZpZGVyIH0gZnJvbSAnLi92aWV3cy5wcm92aWRlcic7XG5cbmNvbnN0IE5BTUVfVVBHUkFERSA9ICdjOHkudXBncmFkZSc7XG4od2luZG93IGFzIGFueSkucHJldmVudE5nMUJvb3RzdHJhcCA9IHRydWU7XG5cbmFuZ3VsYXJcbiAgLm1vZHVsZShOQU1FX1VQR1JBREUsIFtdKVxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6b25seS1hcnJvdy1mdW5jdGlvbnNcbiAgLmNvbmZpZyhmdW5jdGlvbiAoJGh0dHBQcm92aWRlcikge1xuICAgICduZ0luamVjdCc7XG5cbiAgICBjb25zdCBuZzFJbnRlcmNlcHRvckluZGV4ID0gJGh0dHBQcm92aWRlci5pbnRlcmNlcHRvcnMuaW5kZXhPZignYzh5TG9hZGluZ0luZGljYXRvcicpO1xuICAgIGlmIChuZzFJbnRlcmNlcHRvckluZGV4ID4gLTEpIHtcbiAgICAgICRodHRwUHJvdmlkZXIuaW50ZXJjZXB0b3JzLnNwbGljZShuZzFJbnRlcmNlcHRvckluZGV4LCAxKTtcbiAgICB9XG4gICAgJGh0dHBQcm92aWRlci5pbnRlcmNlcHRvcnMucHVzaChjOHlOZzFIdHRwSW50ZXJjZXB0b3IpO1xuICB9KVxuICAuY29tcG9uZW50KCdjOHlVaVJvb3QnLCByb290Q29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlCb290c3RyYXAnLCBib290c3RyYXBDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZmFjdG9yeSgnYzh5QnJpZGdlU2VydmljZScsIGJyaWRnZVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLmZhY3RvcnkoJ2M4eUF1dGhCcmlkZ2VTZXJ2aWNlJywgYXV0aEJyaWRnZVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLmZhY3RvcnkoJ2M4eUFwcFN0YXRlU2VydmljZScsIGFwcFN0YXRlU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAuZmFjdG9yeSgnYzh5SGVhZGVyU2VydmljZScsIGhlYWRlclNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLmZhY3RvcnkoJ2M4eVVzZXJNZW51U2VydmljZScsIHVzZXJNZW51U2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6b25seS1hcnJvdy1mdW5jdGlvbnNcbiAgLnNlcnZpY2UoJ2M4eVF1ZXJpZXNVdGlsJywgZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBuZXcgUXVlcmllc1V0aWwoKTtcbiAgfSlcbiAgLmZhY3RvcnkoJ2M4eUFsZXJ0JywgYWxlcnRzU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAuZGVjb3JhdG9yKCdjOHlBbGVydCcsIGM4eUFsZXJ0RGVjb3JhdG9yKVxuICAuZGVjb3JhdG9yKCdncm91cFR5cGVzSGllcmFyY2h5TmF2aWdhdG9yJywgZ3JvdXBUeXBlc0hpZXJhcmNoeU5hdmlnYXRvckRlY29yYXRvcikgLy8gcHJldmVudHMgbG9hZGluZyB0aGUgZ3JvdXBzXG4gIC5mYWN0b3J5KCdjOHlBcGlTZXJ2aWNlJywgYXBpU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAuZmFjdG9yeSgnYzh5RG9jcycsIGRvY3NTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5zZXJ2aWNlKCdjOHlQYXNzd29yZENvbmZpcm0nLCBwYXNzd29yZFNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLnNlcnZpY2UoJ2M4eU1vZGFsU2VydmljZScsIG1vZGFsU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAuc2VydmljZSgnYzh5R2FpbnNpZ2h0U2VydmljZScsIGdhaW5zaWdodFNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLnNlcnZpY2UoJ2M4eUZpbGVzU2VydmljZScsIGZpbGVzU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAuc2VydmljZSgnYzh5R2xvYmFsQ29uZmlnU2VydmljZScsIGdsb2JhbENvbmZpZ1NlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLnNlcnZpY2UoJ2M4eVByb3BlcnR5VmFsdWVUcmFuc2Zvcm1TZXJ2aWNlJywgcHJvcGVydHlWYWx1ZVRyYW5zZm9ybVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLnNlcnZpY2UoJ2M4eURhdGFwb2ludFNlbGVjdG9yU2VydmljZScsIGRhdGFwb2ludFNlbGVjdG9yU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKTtcblxuYW5ndWxhclxuICAubW9kdWxlKCdjOHkudWknKVxuICAuZmlsdGVyKCdhYnNvbHV0ZURhdGUnLCBhYnNvbHV0ZURhdGVTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5kaXJlY3RpdmUoJ2M4eUxvYWRpbmcnLCBsb2FkaW5nQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudClcbiAgLnByb3ZpZGVyKCdjOHlOYXZpZ2F0b3InLCBjOHlOYXZpZ2F0b3JQcm92aWRlcilcbiAgLnByb3ZpZGVyKCdjOHlWaWV3cycsIGM4eVZpZXdzUHJvdmlkZXIpXG4gIC5kaXJlY3RpdmUoJ2M4eVVzZXJUb3RwUmV2b2tlJywgdXNlclRvdHBDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlBcHBMb2dzQXV0b1JlZnJlc2gnLCBhcHBMb2dzQXV0b1JlZnJlc2hDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlEYXRhR3JpZCcsIGRhdGFHcmlkQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudClcbiAgLmRpcmVjdGl2ZSgnYzh5UmFuZ2VEaXNwbGF5JywgcmFuZ2VEaXNwbGF5Q29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudClcbiAgLmRpcmVjdGl2ZSgnYzh5SGVscCcsIGhlbHBDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlVaUVtcHR5U3RhdGUnLCBlbXB0eVN0YXRlQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudClcbiAgLmRpcmVjdGl2ZSgnYzh5RGF0YXBvaW50U2VsZWN0aW9uTGlzdCcsIGRhdGFwb2ludFNlbGVjdGlvbkxpc3RDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlIaWdobGlnaHQnLCBoaWdobGlnaHRDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlQYXNzd29yZElucHV0JywgcGFzc3dvcmRJbnB1dENvbXBvbmVudERvd25ncmFkZWRDb21wb25lbnQpXG4gIC5kaXJlY3RpdmUoJ3BhZ2luYXRpb24nLCBwYWdpbmF0aW9uQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudClcbiAgLmRpcmVjdGl2ZSgnYzh5Um9sZXNBc3NldFRyZWVEb3duZ3JhZGVkJywgcm9sZXNBc3NldFRyZWVDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlQbGF0Zm9ybUNvbmZpZ3VyYXRpb25Gb3JtJywgcGxhdGZvcm1Db25maWd1cmF0aW9uRm9ybURvd25ncmFkZWRDb21wb25lbnQpXG4gIC5mYWN0b3J5KCdjOHlUcmFuc2xhdGUnLCB0cmFuc2xhdGVTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5mYWN0b3J5KCdjOHlDYWNoZWRMb2NhbGVEaWN0aW9uYXJ5U2VydmljZScsIGNhY2hlZExvY2FsZURpY3Rpb25hcnlTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5kZWNvcmF0b3IoJ2dldHRleHRDYXRhbG9nJywgZ2V0dGV4dENhdGFsb2dEZWNvcmF0b3IpXG4gIC5mYWN0b3J5KCdjOHlTZXJ2ZXJNZXNzYWdlcycsIHNlcnZlck1lc3NhZ2VzU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAuZmFjdG9yeSgnbmdab25lJywgZG93bmdyYWRlSW5qZWN0YWJsZShOZ1pvbmUpKVxuICAuZmFjdG9yeSgnYzh5RGV2aWNlVHlwZURldGFpbEVkaXRlZCcsIGRldmljZVR5cGVEZXRhaWxFZGl0ZWRTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5mYWN0b3J5KCdjOHlEZXZpY2VHcmlkU2VydmljZScsIGRldmljZUdyaWRTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5mYWN0b3J5KCdjOHlTZXJ2aWNlUmVnaXN0cnknLCBzZXJ2aWNlUmVnaXN0cnlJbmplY3RhYmxlKVxuICAuZmFjdG9yeSgnYXNzZXRMaW5rJywgYXNzZXRMaW5rUGlwZURvd25ncmFkZWRJbmplY3RhYmxlKTtcblxuYW5ndWxhclxuICAubW9kdWxlKCdjOHkudWknKVxuICAuZGVjb3JhdG9yKCdjOHlUaXRsZScsIGM4eVRpdGxlRGVjb3JhdG9yKVxuICAucnVuKFtcbiAgICAnYzh5VGl0bGUnLFxuICAgIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIG5lZWRlZCB0byBpbmplY3QgYzh5VGl0bGUgd2l0aCBkZWNvcmF0b3IgYXBwbGllZCB0byBpdCwgdG8gZW5zdXJlIGRpc3BsYXlpbmcgbmcxIHRpdGxlc1xuICAgIH1cbiAgXSk7XG5cbmV4cG9ydCBjb25zdCBuZzFNb2R1bGVzVXBncmFkZSA9IFsnYXBwJywgTkFNRV9VUEdSQURFXTtcbiJdfQ==