@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
89 lines • 20.2 kB
JavaScript
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, dateFormatServiceInjectable, 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('c8yDateFormatService', dateFormatServiceInjectable)
.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi91cGdyYWRlL25nMS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxLQUFLLE9BQU8sTUFBTSxTQUFTLENBQUM7QUFDbkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUNMLDhDQUE4QyxFQUM5QyxxQ0FBcUMsRUFDckMsb0NBQW9DLEVBQ3BDLGtEQUFrRCxFQUNsRCxzQ0FBc0MsRUFDdEMsZ0NBQWdDLEVBQ2hDLHFDQUFxQyxFQUNyQyxtQ0FBbUMsRUFDbkMsc0NBQXNDLEVBQ3RDLHlDQUF5QyxFQUN6Qyw0Q0FBNEMsRUFDNUMsd0NBQXdDLEVBQ3hDLDBDQUEwQyxFQUMxQyxvQ0FBb0MsRUFDckMsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQ0wsdUNBQXVDLEVBQ3ZDLGlDQUFpQyxFQUNqQyw4QkFBOEIsRUFDOUIsbUNBQW1DLEVBQ25DLGlDQUFpQyxFQUNqQyxxQ0FBcUMsRUFDckMsaUNBQWlDLEVBQ2pDLGlEQUFpRCxFQUNqRCw0Q0FBNEMsRUFDNUMsMkJBQTJCLEVBQzNCLHFDQUFxQyxFQUNyQyxpREFBaUQsRUFDakQsK0JBQStCLEVBQy9CLGdDQUFnQyxFQUNoQyxvQ0FBb0MsRUFDcEMsdUNBQXVDLEVBQ3ZDLGlDQUFpQyxFQUNqQyxnQ0FBZ0MsRUFDaEMsbUNBQW1DLEVBQ25DLGlEQUFpRCxFQUNqRCx5Q0FBeUMsRUFDekMseUJBQXlCLEVBQ3pCLG9DQUFvQyxFQUNwQyxtQ0FBbUMsRUFDcEMsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUs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LEVBQUUsaUJBQWlCLENBQUM7S0FDeEMsR0FBRyxDQUFDO0lBQ0gsVUFBVTtJQUNWO1FBQ0UsMEZBQTBGO0lBQzVGLENBQUM7Q0FDRixDQUFDLENBQUM7QUFFTCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZG93bmdyYWRlSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL3VwZ3JhZGUvc3RhdGljJztcbmltcG9ydCB7IFF1ZXJpZXNVdGlsIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0ICogYXMgYW5ndWxhciBmcm9tICdhbmd1bGFyJztcbmltcG9ydCB7IGM4eUFsZXJ0RGVjb3JhdG9yIH0gZnJvbSAnLi9hbGVydC5kZWNvcmF0b3InO1xuaW1wb3J0IHtcbiAgYXBwTG9nc0F1dG9SZWZyZXNoQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudCxcbiAgYm9vdHN0cmFwQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudCxcbiAgZGF0YUdyaWRDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50LFxuICBkYXRhcG9pbnRTZWxlY3Rpb25MaXN0Q29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudCxcbiAgZW1wdHlTdGF0ZUNvbXBvbmVudERvd25ncmFkZWRDb21wb25lbnQsXG4gIGhlbHBDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50LFxuICBoaWdobGlnaHRDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50LFxuICBsb2FkaW5nQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudCxcbiAgcGFnaW5hdGlvbkNvbXBvbmVudERvd25ncmFkZWRDb21wb25lbnQsXG4gIHBhc3N3b3JkSW5wdXRDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50LFxuICBwbGF0Zm9ybUNvbmZpZ3VyYXRpb25Gb3JtRG93bmdyYWRlZENvbXBvbmVudCxcbiAgcmFuZ2VEaXNwbGF5Q29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudCxcbiAgcm9sZXNBc3NldFRyZWVDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50LFxuICB1c2VyVG90cENvbXBvbmVudERvd25ncmFkZWRDb21wb25lbnRcbn0gZnJvbSAnLi9kb3duZ3JhZGVkLmNvbXBvbmVudHMnO1xuaW1wb3J0IHtcbiAgYWJzb2x1dGVEYXRlU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBhbGVydHNTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIGFwaVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSxcbiAgYXBwU3RhdGVTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIGFzc2V0TGlua1BpcGVEb3duZ3JhZGVkSW5qZWN0YWJsZSxcbiAgYXV0aEJyaWRnZVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSxcbiAgYnJpZGdlU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBjYWNoZWRMb2NhbGVEaWN0aW9uYXJ5U2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBkYXRhcG9pbnRTZWxlY3RvclNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSxcbiAgZGF0ZUZvcm1hdFNlcnZpY2VJbmplY3RhYmxlLFxuICBkZXZpY2VHcmlkU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBkZXZpY2VUeXBlRGV0YWlsRWRpdGVkU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBkb2NzU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBmaWxlc1NlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSxcbiAgZ2FpbnNpZ2h0U2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBnbG9iYWxDb25maWdTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIGhlYWRlclNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSxcbiAgbW9kYWxTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIHBhc3N3b3JkU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBwcm9wZXJ0eVZhbHVlVHJhbnNmb3JtU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBzZXJ2ZXJNZXNzYWdlc1NlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSxcbiAgc2VydmljZVJlZ2lzdHJ5SW5qZWN0YWJsZSxcbiAgdHJhbnNsYXRlU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICB1c2VyTWVudVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZVxufSBmcm9tICcuL2Rvd25ncmFkZWQuc2VydmljZXMnO1xuaW1wb3J0IHsgZ2V0dGV4dENhdGFsb2dEZWNvcmF0b3IgfSBmcm9tICcuL2dldHRleHRDYXRhbG9nLmRlY29yYXRvcic7XG5pbXBvcnQgeyBncm91cFR5cGVzSGllcmFyY2h5TmF2aWdhdG9yRGVjb3JhdG9yIH0gZnJvbSAnLi9ncm91cHNIaWVyYXJjaHlOYXZpZ2F0b3IuZGVjb3JhdG9yJztcbmltcG9ydCB7IGM4eU5nMUh0dHBJbnRlcmNlcHRvciB9IGZyb20gJy4vaHR0cC5pbnRlcmNlcHRvcic7XG5pbXBvcnQgeyBjOHlOYXZpZ2F0b3JQcm92aWRlciB9IGZyb20gJy4vbmF2aWdhdG9yLnByb3ZpZGVyJztcbmltcG9ydCB7IHJvb3RDb21wb25lbnQgfSBmcm9tICcuL3Jvb3QuY29tcG9uZW50JztcbmltcG9ydCB7IGM4eVRpdGxlRGVjb3JhdG9yIH0gZnJvbSAnLi90aXRsZS5kZWNvcmF0b3InO1xuaW1wb3J0IHsgYzh5Vmlld3NQcm92aWRlciB9IGZyb20gJy4vdmlld3MucHJvdmlkZXInO1xuXG5jb25zdCBOQU1FX1VQR1JBREUgPSAnYzh5LnVwZ3JhZGUnO1xuKHdpbmRvdyBhcyBhbnkpLnByZXZlbnROZzFCb290c3RyYXAgPSB0cnVlO1xuXG5hbmd1bGFyXG4gIC5tb2R1bGUoTkFNRV9VUEdSQURFLCBbXSlcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm9ubHktYXJyb3ctZnVuY3Rpb25zXG4gIC5jb25maWcoZnVuY3Rpb24gKCRodHRwUHJvdmlkZXIpIHtcbiAgICAnbmdJbmplY3QnO1xuXG4gICAgY29uc3QgbmcxSW50ZXJjZXB0b3JJbmRleCA9ICRodHRwUHJvdmlkZXIuaW50ZXJjZXB0b3JzLmluZGV4T2YoJ2M4eUxvYWRpbmdJbmRpY2F0b3InKTtcbiAgICBpZiAobmcxSW50ZXJjZXB0b3JJbmRleCA+IC0xKSB7XG4gICAgICAkaHR0cFByb3ZpZGVyLmludGVyY2VwdG9ycy5zcGxpY2UobmcxSW50ZXJjZXB0b3JJbmRleCwgMSk7XG4gICAgfVxuICAgICRodHRwUHJvdmlkZXIuaW50ZXJjZXB0b3JzLnB1c2goYzh5TmcxSHR0cEludGVyY2VwdG9yKTtcbiAgfSlcbiAgLmNvbXBvbmVudCgnYzh5VWlSb290Jywgcm9vdENvbXBvbmVudClcbiAgLmRpcmVjdGl2ZSgnYzh5Qm9vdHN0cmFwJywgYm9vdHN0cmFwQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudClcbiAgLmZhY3RvcnkoJ2M4eUJyaWRnZVNlcnZpY2UnLCBicmlkZ2VTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5mYWN0b3J5KCdjOHlBdXRoQnJpZGdlU2VydmljZScsIGF1dGhCcmlkZ2VTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5mYWN0b3J5KCdjOHlBcHBTdGF0ZVNlcnZpY2UnLCBhcHBTdGF0ZVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLmZhY3RvcnkoJ2M4eURhdGVGb3JtYXRTZXJ2aWNlJywgZGF0ZUZvcm1hdFNlcnZpY2VJbmplY3RhYmxlKVxuICAuZmFjdG9yeSgnYzh5SGVhZGVyU2VydmljZScsIGhlYWRlclNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLmZhY3RvcnkoJ2M4eVVzZXJNZW51U2VydmljZScsIHVzZXJNZW51U2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6b25seS1hcnJvdy1mdW5jdGlvbnNcbiAgLnNlcnZpY2UoJ2M4eVF1ZXJpZXNVdGlsJywgZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBuZXcgUXVlcmllc1V0aWwoKTtcbiAgfSlcbiAgLmZhY3RvcnkoJ2M4eUFsZXJ0JywgYWxlcnRzU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAuZGVjb3JhdG9yKCdjOHlBbGVydCcsIGM4eUFsZXJ0RGVjb3JhdG9yKVxuICAuZGVjb3JhdG9yKCdncm91cFR5cGVzSGllcmFyY2h5TmF2aWdhdG9yJywgZ3JvdXBUeXBlc0hpZXJhcmNoeU5hdmlnYXRvckRlY29yYXRvcikgLy8gcHJldmVudHMgbG9hZGluZyB0aGUgZ3JvdXBzXG4gIC5mYWN0b3J5KCdjOHlBcGlTZXJ2aWNlJywgYXBpU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAuZmFjdG9yeSgnYzh5RG9jcycsIGRvY3NTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5zZXJ2aWNlKCdjOHlQYXNzd29yZENvbmZpcm0nLCBwYXNzd29yZFNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLnNlcnZpY2UoJ2M4eU1vZGFsU2VydmljZScsIG1vZGFsU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAuc2VydmljZSgnYzh5R2FpbnNpZ2h0U2VydmljZScsIGdhaW5zaWdodFNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLnNlcnZpY2UoJ2M4eUZpbGVzU2VydmljZScsIGZpbGVzU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAuc2VydmljZSgnYzh5R2xvYmFsQ29uZmlnU2VydmljZScsIGdsb2JhbENvbmZpZ1NlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLnNlcnZpY2UoJ2M4eVByb3BlcnR5VmFsdWVUcmFuc2Zvcm1TZXJ2aWNlJywgcHJvcGVydHlWYWx1ZVRyYW5zZm9ybVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLnNlcnZpY2UoJ2M4eURhdGFwb2ludFNlbGVjdG9yU2VydmljZScsIGRhdGFwb2ludFNlbGVjdG9yU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKTtcblxuYW5ndWxhclxuICAubW9kdWxlKCdjOHkudWknKVxuICAuZmlsdGVyKCdhYnNvbHV0ZURhdGUnLCBhYnNvbHV0ZURhdGVTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5kaXJlY3RpdmUoJ2M4eUxvYWRpbmcnLCBsb2FkaW5nQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudClcbiAgLnByb3ZpZGVyKCdjOHlOYXZpZ2F0b3InLCBjOHlOYXZpZ2F0b3JQcm92aWRlcilcbiAgLnByb3ZpZGVyKCdjOHlWaWV3cycsIGM4eVZpZXdzUHJvdmlkZXIpXG4gIC5kaXJlY3RpdmUoJ2M4eVVzZXJUb3RwUmV2b2tlJywgdXNlclRvdHBDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlBcHBMb2dzQXV0b1JlZnJlc2gnLCBhcHBMb2dzQXV0b1JlZnJlc2hDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlEYXRhR3JpZCcsIGRhdGFHcmlkQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudClcbiAgLmRpcmVjdGl2ZSgnYzh5UmFuZ2VEaXNwbGF5JywgcmFuZ2VEaXNwbGF5Q29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudClcbiAgLmRpcmVjdGl2ZSgnYzh5SGVscCcsIGhlbHBDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlVaUVtcHR5U3RhdGUnLCBlbXB0eVN0YXRlQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudClcbiAgLmRpcmVjdGl2ZSgnYzh5RGF0YXBvaW50U2VsZWN0aW9uTGlzdCcsIGRhdGFwb2ludFNlbGVjdGlvbkxpc3RDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlIaWdobGlnaHQnLCBoaWdobGlnaHRDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlQYXNzd29yZElucHV0JywgcGFzc3dvcmRJbnB1dENvbXBvbmVudERvd25ncmFkZWRDb21wb25lbnQpXG4gIC5kaXJlY3RpdmUoJ3BhZ2luYXRpb24nLCBwYWdpbmF0aW9uQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudClcbiAgLmRpcmVjdGl2ZSgnYzh5Um9sZXNBc3NldFRyZWVEb3duZ3JhZGVkJywgcm9sZXNBc3NldFRyZWVDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlQbGF0Zm9ybUNvbmZpZ3VyYXRpb25Gb3JtJywgcGxhdGZvcm1Db25maWd1cmF0aW9uRm9ybURvd25ncmFkZWRDb21wb25lbnQpXG4gIC5mYWN0b3J5KCdjOHlUcmFuc2xhdGUnLCB0cmFuc2xhdGVTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5mYWN0b3J5KCdjOHlDYWNoZWRMb2NhbGVEaWN0aW9uYXJ5U2VydmljZScsIGNhY2hlZExvY2FsZURpY3Rpb25hcnlTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5kZWNvcmF0b3IoJ2dldHRleHRDYXRhbG9nJywgZ2V0dGV4dENhdGFsb2dEZWNvcmF0b3IpXG4gIC5mYWN0b3J5KCdjOHlTZXJ2ZXJNZXNzYWdlcycsIHNlcnZlck1lc3NhZ2VzU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAuZmFjdG9yeSgnbmdab25lJywgZG93bmdyYWRlSW5qZWN0YWJsZShOZ1pvbmUpKVxuICAuZmFjdG9yeSgnYzh5RGV2aWNlVHlwZURldGFpbEVkaXRlZCcsIGRldmljZVR5cGVEZXRhaWxFZGl0ZWRTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5mYWN0b3J5KCdjOHlEZXZpY2VHcmlkU2VydmljZScsIGRldmljZUdyaWRTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5mYWN0b3J5KCdjOHlTZXJ2aWNlUmVnaXN0cnknLCBzZXJ2aWNlUmVnaXN0cnlJbmplY3RhYmxlKVxuICAuZmFjdG9yeSgnYXNzZXRMaW5rJywgYXNzZXRMaW5rUGlwZURvd25ncmFkZWRJbmplY3RhYmxlKTtcblxuYW5ndWxhclxuICAubW9kdWxlKCdjOHkudWknKVxuICAuZGVjb3JhdG9yKCdjOHlUaXRsZScsIGM4eVRpdGxlRGVjb3JhdG9yKVxuICAucnVuKFtcbiAgICAnYzh5VGl0bGUnLFxuICAgIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIG5lZWRlZCB0byBpbmplY3QgYzh5VGl0bGUgd2l0aCBkZWNvcmF0b3IgYXBwbGllZCB0byBpdCwgdG8gZW5zdXJlIGRpc3BsYXlpbmcgbmcxIHRpdGxlc1xuICAgIH1cbiAgXSk7XG5cbmV4cG9ydCBjb25zdCBuZzFNb2R1bGVzVXBncmFkZSA9IFsnYXBwJywgTkFNRV9VUEdSQURFXTtcbiJdfQ==