UNPKG

devextreme-angular

Version:

Angular UI and visualization components based on DevExtreme widgets

140 lines (138 loc) 16.6 kB
/*! * devextreme-angular * Version: 24.2.6 * Build date: Mon Mar 17 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * * This software may be modified and distributed under the terms * of the MIT license. See the LICENSE file in the root of the project for details. * * https://github.com/DevExpress/devextreme-angular */ /* tslint:disable:max-line-length */ /* tslint:disable:use-input-property-decorator */ import { Component, NgModule, Host, SkipSelf, Output, EventEmitter } from '@angular/core'; import { NestedOptionHost, } from 'devextreme-angular/core'; import { DxoFileUploaderOptions } from './base/file-uploader-options'; import * as i0 from "@angular/core"; import * as i1 from "devextreme-angular/core"; export class DxoFileUploaderOptionsComponent extends DxoFileUploaderOptions { /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ valueChange; get _optionPath() { return 'fileUploaderOptions'; } constructor(parentOptionHost, optionHost) { super(); this._createEventEmitters([ { emit: 'valueChange' } ]); parentOptionHost.setNestedOption(this); optionHost.setHost(this, this._fullOptionPath.bind(this)); } ngOnInit() { this._addRecreatedComponent(); } ngOnDestroy() { this._addRemovedOption(this._getOptionPath()); } /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxoFileUploaderOptionsComponent, deps: [{ token: i1.NestedOptionHost, host: true, skipSelf: true }, { token: i1.NestedOptionHost, host: true }], target: i0.ɵɵFactoryTarget.Component }); /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DxoFileUploaderOptionsComponent, selector: "dxo-file-uploader-options", inputs: { abortUpload: "abortUpload", accept: "accept", accessKey: "accessKey", activeStateEnabled: "activeStateEnabled", allowCanceling: "allowCanceling", allowedFileExtensions: "allowedFileExtensions", chunkSize: "chunkSize", dialogTrigger: "dialogTrigger", disabled: "disabled", dropZone: "dropZone", elementAttr: "elementAttr", focusStateEnabled: "focusStateEnabled", height: "height", hint: "hint", hoverStateEnabled: "hoverStateEnabled", inputAttr: "inputAttr", invalidFileExtensionMessage: "invalidFileExtensionMessage", invalidMaxFileSizeMessage: "invalidMaxFileSizeMessage", invalidMinFileSizeMessage: "invalidMinFileSizeMessage", isDirty: "isDirty", isValid: "isValid", labelText: "labelText", maxFileSize: "maxFileSize", minFileSize: "minFileSize", multiple: "multiple", name: "name", onBeforeSend: "onBeforeSend", onContentReady: "onContentReady", onDisposing: "onDisposing", onDropZoneEnter: "onDropZoneEnter", onDropZoneLeave: "onDropZoneLeave", onFilesUploaded: "onFilesUploaded", onInitialized: "onInitialized", onOptionChanged: "onOptionChanged", onProgress: "onProgress", onUploadAborted: "onUploadAborted", onUploaded: "onUploaded", onUploadError: "onUploadError", onUploadStarted: "onUploadStarted", onValueChanged: "onValueChanged", progress: "progress", readOnly: "readOnly", readyToUploadMessage: "readyToUploadMessage", rtlEnabled: "rtlEnabled", selectButtonText: "selectButtonText", showFileList: "showFileList", tabIndex: "tabIndex", uploadAbortedMessage: "uploadAbortedMessage", uploadButtonText: "uploadButtonText", uploadChunk: "uploadChunk", uploadCustomData: "uploadCustomData", uploadedMessage: "uploadedMessage", uploadFailedMessage: "uploadFailedMessage", uploadFile: "uploadFile", uploadHeaders: "uploadHeaders", uploadMethod: "uploadMethod", uploadMode: "uploadMode", uploadUrl: "uploadUrl", validationError: "validationError", validationErrors: "validationErrors", validationStatus: "validationStatus", value: "value", visible: "visible", width: "width" }, outputs: { valueChange: "valueChange" }, providers: [NestedOptionHost], usesInheritance: true, ngImport: i0, template: '', isInline: true, styles: [""] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxoFileUploaderOptionsComponent, decorators: [{ type: Component, args: [{ selector: 'dxo-file-uploader-options', template: '', providers: [NestedOptionHost], inputs: [ 'abortUpload', 'accept', 'accessKey', 'activeStateEnabled', 'allowCanceling', 'allowedFileExtensions', 'chunkSize', 'dialogTrigger', 'disabled', 'dropZone', 'elementAttr', 'focusStateEnabled', 'height', 'hint', 'hoverStateEnabled', 'inputAttr', 'invalidFileExtensionMessage', 'invalidMaxFileSizeMessage', 'invalidMinFileSizeMessage', 'isDirty', 'isValid', 'labelText', 'maxFileSize', 'minFileSize', 'multiple', 'name', 'onBeforeSend', 'onContentReady', 'onDisposing', 'onDropZoneEnter', 'onDropZoneLeave', 'onFilesUploaded', 'onInitialized', 'onOptionChanged', 'onProgress', 'onUploadAborted', 'onUploaded', 'onUploadError', 'onUploadStarted', 'onValueChanged', 'progress', 'readOnly', 'readyToUploadMessage', 'rtlEnabled', 'selectButtonText', 'showFileList', 'tabIndex', 'uploadAbortedMessage', 'uploadButtonText', 'uploadChunk', 'uploadCustomData', 'uploadedMessage', 'uploadFailedMessage', 'uploadFile', 'uploadHeaders', 'uploadMethod', 'uploadMode', 'uploadUrl', 'validationError', 'validationErrors', 'validationStatus', 'value', 'visible', 'width' ] }] }], ctorParameters: () => [{ type: i1.NestedOptionHost, decorators: [{ type: SkipSelf }, { type: Host }] }, { type: i1.NestedOptionHost, decorators: [{ type: Host }] }], propDecorators: { valueChange: [{ type: Output }] } }); export class DxoFileUploaderOptionsModule { /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxoFileUploaderOptionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: DxoFileUploaderOptionsModule, declarations: [DxoFileUploaderOptionsComponent], exports: [DxoFileUploaderOptionsComponent] }); /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxoFileUploaderOptionsModule }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxoFileUploaderOptionsModule, decorators: [{ type: NgModule, args: [{ declarations: [ DxoFileUploaderOptionsComponent ], exports: [ DxoFileUploaderOptionsComponent ], }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWRlci1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vZGlzdC91aS9uZXN0ZWQvZmlsZS11cGxvYWRlci1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztHQVdHO0FBRUgsb0NBQW9DO0FBRXBDLGlEQUFpRDtBQUVqRCxPQUFPLEVBQ0gsU0FBUyxFQUdULFFBQVEsRUFDUixJQUFJLEVBQ0osUUFBUSxFQUNSLE1BQU0sRUFDTixZQUFZLEVBQ2YsTUFBTSxlQUFlLENBQUM7QUFNdkIsT0FBTyxFQUNILGdCQUFnQixHQUNuQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUEyRXRFLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxzQkFBc0I7SUFFdkU7Ozs7T0FJRztJQUNPLFdBQVcsQ0FBMkI7SUFDaEQsSUFBYyxXQUFXO1FBQ3JCLE9BQU8scUJBQXFCLENBQUM7SUFDakMsQ0FBQztJQUdELFlBQWdDLGdCQUFrQyxFQUNsRCxVQUE0QjtRQUN4QyxLQUFLLEVBQUUsQ0FBQztRQUVSLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztZQUN0QixFQUFFLElBQUksRUFBRSxhQUFhLEVBQUU7U0FDMUIsQ0FBQyxDQUFDO1FBRUgsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUdELFFBQVE7UUFDSixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDOzJIQWhDUSwrQkFBK0I7K0dBQS9CLCtCQUErQix1aUVBcEU3QixDQUFDLGdCQUFnQixDQUFDLGlEQUZuQixFQUFFOzs0RkFzRUgsK0JBQStCO2tCQXhFM0MsU0FBUzsrQkFDSSwyQkFBMkIsWUFDM0IsRUFBRSxhQUVELENBQUMsZ0JBQWdCLENBQUMsVUFDckI7d0JBQ0osYUFBYTt3QkFDYixRQUFRO3dCQUNSLFdBQVc7d0JBQ1gsb0JBQW9CO3dCQUNwQixnQkFBZ0I7d0JBQ2hCLHVCQUF1Qjt3QkFDdkIsV0FBVzt3QkFDWCxlQUFlO3dCQUNmLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsUUFBUTt3QkFDUixNQUFNO3dCQUNOLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCw2QkFBNkI7d0JBQzdCLDJCQUEyQjt3QkFDM0IsMkJBQTJCO3dCQUMzQixTQUFTO3dCQUNULFNBQVM7d0JBQ1QsV0FBVzt3QkFDWCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsVUFBVTt3QkFDVixNQUFNO3dCQUNOLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixVQUFVO3dCQUNWLFVBQVU7d0JBQ1Ysc0JBQXNCO3dCQUN0QixZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxVQUFVO3dCQUNWLHNCQUFzQjt3QkFDdEIsa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQixxQkFBcUI7d0JBQ3JCLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixPQUFPO3dCQUNQLFNBQVM7d0JBQ1QsT0FBTztxQkFDVjs7MEJBZVksUUFBUTs7MEJBQUksSUFBSTs7MEJBQ3BCLElBQUk7eUNBUEgsV0FBVztzQkFBcEIsTUFBTTs7QUFzQ1gsTUFBTSxPQUFPLDRCQUE0QjsySEFBNUIsNEJBQTRCOzRIQUE1Qiw0QkFBNEIsaUJBN0M1QiwrQkFBK0IsYUFBL0IsK0JBQStCOzRIQTZDL0IsNEJBQTRCOzs0RkFBNUIsNEJBQTRCO2tCQVJ4QyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWiwrQkFBK0I7cUJBQ2hDO29CQUNELE9BQU8sRUFBRTt3QkFDUCwrQkFBK0I7cUJBQ2hDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBkZXZleHRyZW1lLWFuZ3VsYXJcbiAqIFZlcnNpb246IDI0LjIuNlxuICogQnVpbGQgZGF0ZTogTW9uIE1hciAxNyAyMDI1XG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDEyIC0gMjAyNSBEZXZlbG9wZXIgRXhwcmVzcyBJbmMuIEFMTCBSSUdIVFMgUkVTRVJWRURcbiAqXG4gKiBUaGlzIHNvZnR3YXJlIG1heSBiZSBtb2RpZmllZCBhbmQgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zXG4gKiBvZiB0aGUgTUlUIGxpY2Vuc2UuIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBwcm9qZWN0IGZvciBkZXRhaWxzLlxuICpcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9EZXZFeHByZXNzL2RldmV4dHJlbWUtYW5ndWxhclxuICovXG5cbi8qIHRzbGludDpkaXNhYmxlOm1heC1saW5lLWxlbmd0aCAqL1xyXG5cclxuLyogdHNsaW50OmRpc2FibGU6dXNlLWlucHV0LXByb3BlcnR5LWRlY29yYXRvciAqL1xyXG5cclxuaW1wb3J0IHtcclxuICAgIENvbXBvbmVudCxcclxuICAgIE9uSW5pdCxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIE5nTW9kdWxlLFxyXG4gICAgSG9zdCxcclxuICAgIFNraXBTZWxmLFxyXG4gICAgT3V0cHV0LFxyXG4gICAgRXZlbnRFbWl0dGVyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5cclxuXHJcblxyXG5cclxuaW1wb3J0IHtcclxuICAgIE5lc3RlZE9wdGlvbkhvc3QsXHJcbn0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEeG9GaWxlVXBsb2FkZXJPcHRpb25zIH0gZnJvbSAnLi9iYXNlL2ZpbGUtdXBsb2FkZXItb3B0aW9ucyc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2R4by1maWxlLXVwbG9hZGVyLW9wdGlvbnMnLFxyXG4gICAgdGVtcGxhdGU6ICcnLFxyXG4gICAgc3R5bGVzOiBbJyddLFxyXG4gICAgcHJvdmlkZXJzOiBbTmVzdGVkT3B0aW9uSG9zdF0sXHJcbiAgICBpbnB1dHM6IFtcclxuICAgICAgICAnYWJvcnRVcGxvYWQnLFxyXG4gICAgICAgICdhY2NlcHQnLFxyXG4gICAgICAgICdhY2Nlc3NLZXknLFxyXG4gICAgICAgICdhY3RpdmVTdGF0ZUVuYWJsZWQnLFxyXG4gICAgICAgICdhbGxvd0NhbmNlbGluZycsXHJcbiAgICAgICAgJ2FsbG93ZWRGaWxlRXh0ZW5zaW9ucycsXHJcbiAgICAgICAgJ2NodW5rU2l6ZScsXHJcbiAgICAgICAgJ2RpYWxvZ1RyaWdnZXInLFxyXG4gICAgICAgICdkaXNhYmxlZCcsXHJcbiAgICAgICAgJ2Ryb3Bab25lJyxcclxuICAgICAgICAnZWxlbWVudEF0dHInLFxyXG4gICAgICAgICdmb2N1c1N0YXRlRW5hYmxlZCcsXHJcbiAgICAgICAgJ2hlaWdodCcsXHJcbiAgICAgICAgJ2hpbnQnLFxyXG4gICAgICAgICdob3ZlclN0YXRlRW5hYmxlZCcsXHJcbiAgICAgICAgJ2lucHV0QXR0cicsXHJcbiAgICAgICAgJ2ludmFsaWRGaWxlRXh0ZW5zaW9uTWVzc2FnZScsXHJcbiAgICAgICAgJ2ludmFsaWRNYXhGaWxlU2l6ZU1lc3NhZ2UnLFxyXG4gICAgICAgICdpbnZhbGlkTWluRmlsZVNpemVNZXNzYWdlJyxcclxuICAgICAgICAnaXNEaXJ0eScsXHJcbiAgICAgICAgJ2lzVmFsaWQnLFxyXG4gICAgICAgICdsYWJlbFRleHQnLFxyXG4gICAgICAgICdtYXhGaWxlU2l6ZScsXHJcbiAgICAgICAgJ21pbkZpbGVTaXplJyxcclxuICAgICAgICAnbXVsdGlwbGUnLFxyXG4gICAgICAgICduYW1lJyxcclxuICAgICAgICAnb25CZWZvcmVTZW5kJyxcclxuICAgICAgICAnb25Db250ZW50UmVhZHknLFxyXG4gICAgICAgICdvbkRpc3Bvc2luZycsXHJcbiAgICAgICAgJ29uRHJvcFpvbmVFbnRlcicsXHJcbiAgICAgICAgJ29uRHJvcFpvbmVMZWF2ZScsXHJcbiAgICAgICAgJ29uRmlsZXNVcGxvYWRlZCcsXHJcbiAgICAgICAgJ29uSW5pdGlhbGl6ZWQnLFxyXG4gICAgICAgICdvbk9wdGlvbkNoYW5nZWQnLFxyXG4gICAgICAgICdvblByb2dyZXNzJyxcclxuICAgICAgICAnb25VcGxvYWRBYm9ydGVkJyxcclxuICAgICAgICAnb25VcGxvYWRlZCcsXHJcbiAgICAgICAgJ29uVXBsb2FkRXJyb3InLFxyXG4gICAgICAgICdvblVwbG9hZFN0YXJ0ZWQnLFxyXG4gICAgICAgICdvblZhbHVlQ2hhbmdlZCcsXHJcbiAgICAgICAgJ3Byb2dyZXNzJyxcclxuICAgICAgICAncmVhZE9ubHknLFxyXG4gICAgICAgICdyZWFkeVRvVXBsb2FkTWVzc2FnZScsXHJcbiAgICAgICAgJ3J0bEVuYWJsZWQnLFxyXG4gICAgICAgICdzZWxlY3RCdXR0b25UZXh0JyxcclxuICAgICAgICAnc2hvd0ZpbGVMaXN0JyxcclxuICAgICAgICAndGFiSW5kZXgnLFxyXG4gICAgICAgICd1cGxvYWRBYm9ydGVkTWVzc2FnZScsXHJcbiAgICAgICAgJ3VwbG9hZEJ1dHRvblRleHQnLFxyXG4gICAgICAgICd1cGxvYWRDaHVuaycsXHJcbiAgICAgICAgJ3VwbG9hZEN1c3RvbURhdGEnLFxyXG4gICAgICAgICd1cGxvYWRlZE1lc3NhZ2UnLFxyXG4gICAgICAgICd1cGxvYWRGYWlsZWRNZXNzYWdlJyxcclxuICAgICAgICAndXBsb2FkRmlsZScsXHJcbiAgICAgICAgJ3VwbG9hZEhlYWRlcnMnLFxyXG4gICAgICAgICd1cGxvYWRNZXRob2QnLFxyXG4gICAgICAgICd1cGxvYWRNb2RlJyxcclxuICAgICAgICAndXBsb2FkVXJsJyxcclxuICAgICAgICAndmFsaWRhdGlvbkVycm9yJyxcclxuICAgICAgICAndmFsaWRhdGlvbkVycm9ycycsXHJcbiAgICAgICAgJ3ZhbGlkYXRpb25TdGF0dXMnLFxyXG4gICAgICAgICd2YWx1ZScsXHJcbiAgICAgICAgJ3Zpc2libGUnLFxyXG4gICAgICAgICd3aWR0aCdcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIER4b0ZpbGVVcGxvYWRlck9wdGlvbnNDb21wb25lbnQgZXh0ZW5kcyBEeG9GaWxlVXBsb2FkZXJPcHRpb25zIGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQgIHtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxBcnJheTxhbnk+PjtcclxuICAgIHByb3RlY3RlZCBnZXQgX29wdGlvblBhdGgoKSB7XHJcbiAgICAgICAgcmV0dXJuICdmaWxlVXBsb2FkZXJPcHRpb25zJztcclxuICAgIH1cclxuXHJcblxyXG4gICAgY29uc3RydWN0b3IoQFNraXBTZWxmKCkgQEhvc3QoKSBwYXJlbnRPcHRpb25Ib3N0OiBOZXN0ZWRPcHRpb25Ib3N0LFxyXG4gICAgICAgICAgICBASG9zdCgpIG9wdGlvbkhvc3Q6IE5lc3RlZE9wdGlvbkhvc3QpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG5cclxuICAgICAgICB0aGlzLl9jcmVhdGVFdmVudEVtaXR0ZXJzKFtcclxuICAgICAgICAgICAgeyBlbWl0OiAndmFsdWVDaGFuZ2UnIH1cclxuICAgICAgICBdKTtcclxuXHJcbiAgICAgICAgcGFyZW50T3B0aW9uSG9zdC5zZXROZXN0ZWRPcHRpb24odGhpcyk7XHJcbiAgICAgICAgb3B0aW9uSG9zdC5zZXRIb3N0KHRoaXMsIHRoaXMuX2Z1bGxPcHRpb25QYXRoLmJpbmQodGhpcykpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLl9hZGRSZWNyZWF0ZWRDb21wb25lbnQoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLl9hZGRSZW1vdmVkT3B0aW9uKHRoaXMuX2dldE9wdGlvblBhdGgoKSk7XHJcbiAgICB9XHJcblxyXG5cclxufVxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIER4b0ZpbGVVcGxvYWRlck9wdGlvbnNDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIER4b0ZpbGVVcGxvYWRlck9wdGlvbnNDb21wb25lbnRcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHhvRmlsZVVwbG9hZGVyT3B0aW9uc01vZHVsZSB7IH1cclxuIl19