tnx-shared 5.2.12 → 5.2.13
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.
- package/assets/gulpfile.js +6 -1
- package/bundles/tnx-shared.umd.js +2 -2
- package/bundles/tnx-shared.umd.js.map +1 -1
- package/bundles/tnx-shared.umd.min.js +1 -1
- package/bundles/tnx-shared.umd.min.js.map +1 -1
- package/esm2015/components/splash-component/splash-component-v1/splash-component-v1.component.js +2 -2
- package/esm2015/services/environment.service.js +2 -2
- package/fesm2015/tnx-shared.js +2 -2
- package/fesm2015/tnx-shared.js.map +1 -1
- package/package.json +2 -2
- package/tnx-shared.metadata.json +1 -1
package/esm2015/components/splash-component/splash-component-v1/splash-component-v1.component.js
CHANGED
|
@@ -174,7 +174,7 @@ export class SplashComponentV1Component extends ComponentBase {
|
|
|
174
174
|
SplashComponentV1Component.decorators = [
|
|
175
175
|
{ type: Component, args: [{
|
|
176
176
|
selector: 'splash-component-v1',
|
|
177
|
-
template: "<div *ngIf=\"!loaded\" class=\"wrp-loader\">\n <div class=\"loader\"></div>\n</div>\n<div *ngIf=\"loaded\" class=\"modules-v1\">\n <div class=\"welcome-user\">\n <div class=\"profile-image\">\n <img class=\"custom-avatar\" [src-fallback]=\"defaultAvatar\" [src]=\"getCurrentUserAvatar()\" />\n </div>\n\n <div class=\"wrp-login\">\n <h2>Xin ch\u00E0o!</h2>\n <b>{{currentUser.fullName}}</b>\n <div *ngIf=\"currentUser\" class=\"login\">\n <a (click)=\"goToPersonal()\"><i class=\"far fa-folder-open\"></i>Trang c\u00E1 nh\u00E2n</a>\n <a style=\"background: #fabc01;\" (click)=\"logout()\"><i class=\"far fa-arrow-alt-circle-right\"></i>\u0110\u0103ng\n xu\u1EA5t</a>\n </div>\n <div *ngIf=\"!currentUser\" class=\"login\"><a style=\"background: #fabc01;\" (click)=\"login()\"><i\n class=\"fas fa-sign-out-alt\"></i>\u0110\u0103ng nh\u1EADp</a></div>\n </div>\n\n <div class=\"clock-wrapper\">\n <h1 class=\"clock\">{{currentDate | date:'HH:mm:ss'}}</h1>\n <h4 class=\"data-time\">{{getNgayTrongTuan()}}, ng\u00E0y {{currentDate | date:'dd/MM/yyyy'}}</h4>\n </div>\n </div>\n\n <div class=\"module-icons\">\n <div class=\"img-title\">\n <img class=\"tn-custom-logo\" [src]=\"config.logo\"
|
|
177
|
+
template: "<div *ngIf=\"!loaded\" class=\"wrp-loader\">\n <div class=\"loader\"></div>\n</div>\n<div *ngIf=\"loaded\" class=\"modules-v1\">\n <div class=\"welcome-user\">\n <div class=\"profile-image\">\n <img class=\"custom-avatar\" [src-fallback]=\"defaultAvatar\" [src]=\"getCurrentUserAvatar()\" />\n </div>\n\n <div class=\"wrp-login\">\n <h2>Xin ch\u00E0o!</h2>\n <b>{{currentUser.fullName}}</b>\n <div *ngIf=\"currentUser\" class=\"login\">\n <a (click)=\"goToPersonal()\"><i class=\"far fa-folder-open\"></i>Trang c\u00E1 nh\u00E2n</a>\n <a style=\"background: #fabc01;\" (click)=\"logout()\"><i class=\"far fa-arrow-alt-circle-right\"></i>\u0110\u0103ng\n xu\u1EA5t</a>\n </div>\n <div *ngIf=\"!currentUser\" class=\"login\"><a style=\"background: #fabc01;\" (click)=\"login()\"><i\n class=\"fas fa-sign-out-alt\"></i>\u0110\u0103ng nh\u1EADp</a></div>\n </div>\n\n <div class=\"clock-wrapper\">\n <h1 class=\"clock\">{{currentDate | date:'HH:mm:ss'}}</h1>\n <h4 class=\"data-time\">{{getNgayTrongTuan()}}, ng\u00E0y {{currentDate | date:'dd/MM/yyyy'}}</h4>\n </div>\n </div>\n\n <div class=\"module-icons\">\n <div class=\"img-title\">\n <img class=\"tn-custom-logo\" [src]=\"config.logo\" [alt]=\"config.owner\">\n <div class=\"title\">\n <h2>{{config.title}}</h2>\n <h1>{{config.owner}}</h1>\n </div>\n </div>\n\n <div class=\"div1111-wrapper\">\n <tn-custom-scrollbar *ngIf=\"!isOnMobile\">\n <ng-container *ngTemplateOutlet=\"appSwitcher\"></ng-container>\n </tn-custom-scrollbar>\n\n <ng-container *ngIf=\"isOnMobile\">\n <ng-container *ngTemplateOutlet=\"appSwitcher\"></ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #appSwitcher>\n <div class=\"div1111\">\n <ng-container *ngFor=\"let item of appSwitcherItems; let ind = index;\">\n <span>\n <a class=\"bg-switcher\" (click)=\"switchApp(item)\">\n <i class=\"{{item.icon}} app-switcher-item-icon\"></i>\n <span>{{ item.title | translate}}</span>\n </a>\n </span>\n </ng-container>\n </div>\n</ng-template>",
|
|
178
178
|
providers: [ComponentContextService],
|
|
179
179
|
styles: ["body{background-color:#fff;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.wrp-loader{display:inline-block;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:101}.wrp-loader .loader{-webkit-animation:load4 1.3s linear infinite;animation:load4 1.3s linear infinite;border:2px solid #bcdbf5;border-radius:50%;border-top-color:#3192e1;color:#607d8b;display:block;font-size:10px;height:10px;width:10px}.modules-v1{align-items:center;background-image:url(/assets/images/background-splash.png);background-position:50%;background-repeat:no-repeat;background-size:cover;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:100}.modules-v1 div>span{border-radius:5px;box-shadow:1px 2px 9px 1px #dadada;display:inline-block;height:120px;margin:10px;min-width:100px;white-space:normal;width:120px}.modules-v1 div>span>a{border-radius:5px;cursor:pointer;display:inline-block;display:flex;flex-direction:column;font-weight:700;height:100%;justify-content:space-evenly;position:relative}.modules-v1 div>span>a,.modules-v1 div>span>a>span{color:#fff;text-align:center;text-decoration:unset;width:100%}.modules-v1 div>span>a>span{display:inline-block;line-height:1.2}.modules-v1 div>span>a>i{font-size:3.5em;width:100%}.modules-v1 .div1111-wrapper{height:420px;margin:0 auto;max-width:700px;overflow:auto}.modules-v1 .div1111-wrapper .div1111{display:flex;flex-wrap:wrap;white-space:nowrap;width:100%}.modules-v1 .div1111-wrapper .div1111 .bg-switcher{background:#fff;transition:.3s}.modules-v1 .div1111-wrapper .div1111 .bg-switcher .app-switcher-item-icon{color:#52abff;transition:.3s}.modules-v1 .div1111-wrapper .div1111 .bg-switcher span{color:#2f70ac;font-weight:500;text-shadow:none;transition:.3s}.modules-v1 .div1111-wrapper .div1111 .bg-switcher:hover{background:#fabc01;box-shadow:1px 2px 9px 1px rgba(39,23,86,.5215686274509804)}.modules-v1 .div1111-wrapper .div1111 .bg-switcher:hover .app-switcher-item-icon,.modules-v1 .div1111-wrapper .div1111 .bg-switcher:hover span{color:#2f70ac}.modules-v1 .module-icons{-ms-grid-row-align:stretch;align-self:stretch;background-color:rgba(249,244,244,.9215686274509803);color:#666;display:flex;flex-direction:column;justify-content:space-evenly;text-align:center;width:65%}.modules-v1 .module-icons .img-title .tn-custom-logo{width:100px}.modules-v1 .module-icons h2{color:#271756;font-size:25px;margin-bottom:15px;margin-top:15px}.modules-v1 .module-icons h1{color:#2f70ac;font-size:35px;margin-bottom:0;margin-top:0}.modules-v1 .welcome-user{-ms-grid-row-align:stretch;align-self:stretch;background-color:rgba(47,112,172,.9215686274509803);display:flex;flex-direction:column;text-align:center;width:35%}.modules-v1 .welcome-user .wrp-login{align-items:center;color:#fff;display:flex;flex-direction:column;margin:20px auto auto}.modules-v1 .welcome-user .wrp-login h2{font-size:20px;font-weight:500;margin-bottom:5px;margin-top:0}.modules-v1 .welcome-user .wrp-login b{display:block;font-size:25px;text-transform:uppercase}.modules-v1 .welcome-user .wrp-login .login{-ms-grid-columns:(150px)[2];display:-ms-grid;display:grid;grid-gap:10px;grid-template-columns:repeat(2,150px);margin-top:30px}.modules-v1 .welcome-user .wrp-login .login a{background:#fff;border-radius:5px;color:#5d5d5d;cursor:pointer;display:inline-block;padding:6px}.modules-v1 .welcome-user .wrp-login .login a i{margin-right:10px}.modules-v1 .welcome-user .profile-image{margin:auto auto 0}.modules-v1 .welcome-user .profile-image img{-o-object-fit:contain;background:#fff;border-radius:50%;box-shadow:1px 1px 11px 6px #2a659b;height:200px;object-fit:contain;width:200px}.modules-v1 .welcome-user .clock-wrapper{color:#fff;margin-bottom:auto;margin-top:auto;text-align:center}.modules-v1 .welcome-user .clock-wrapper h4{font-size:18px;font-weight:500;margin-top:10px}.modules-v1 .welcome-user .clock-wrapper h1{font-size:40px;margin-bottom:0}.modules-v1 .underconstruction{color:red;font-size:4em;font-weight:700;text-transform:uppercase}@media (max-width:1368px){.modules-v1 .clock{font-size:1.5em;margin:0 20px}.modules-v1 .data-time{font-size:1em;margin:10px 0 20px}}@media (max-width:1100px){.modules-v1 .div1111-wrapper .div1111{-ms-grid-columns:(minmax(120px,1fr))[4];display:-ms-grid;display:grid;grid-template-columns:repeat(4,minmax(120px,1fr))}}@media (max-width:991px){.modules-v1 .welcome-user .wrp-login .login{-ms-grid-columns:1fr;grid-template-columns:1fr}}@media (max-width:768px){.modules-v1{flex-direction:column}.modules-v1 .welcome-user{align-items:center;flex-direction:row;height:270px;padding-bottom:87px;width:100%}.modules-v1 .welcome-user .profile-image{margin-bottom:auto}.modules-v1 .welcome-user .profile-image img{height:150px;width:150px}.modules-v1 .welcome-user .wrp-login{margin-top:auto}.modules-v1 .welcome-user .wrp-login .login{margin-top:20px}.modules-v1 .welcome-user .clock-wrapper{padding-right:15px}.modules-v1 .module-icons{height:calc(100% - 270px);width:100%}.modules-v1 .module-icons .img-title{background-image:url(/assets/images/logo.png);background-position:50%;background-repeat:no-repeat;z-index:9}.modules-v1 .module-icons .img-title img{display:none}.modules-v1 .module-icons .img-title .title{background:hsla(0,0%,100%,.9019607843137255);box-shadow:1px 4px 9px 2px #67a0d4;left:20px;padding:20px 10px;position:absolute;right:20px;top:200px;width:calc(100% - 40px)}.modules-v1 .module-icons .img-title .title h2{font-size:30px}.modules-v1 .module-icons .img-title .title h1{font-size:34px}}@media (max-width:640px){.modules-v1 .welcome-user{display:block;padding-top:20px}.modules-v1 .welcome-user .wrp-login{float:right;padding:0 20px 0 0;width:50%}.modules-v1 .welcome-user .wrp-login h2{font-size:14px;margin-bottom:3px}.modules-v1 .welcome-user .wrp-login b{font-size:14px}.modules-v1 .welcome-user .wrp-login .login{display:flex;flex-direction:column;margin-top:10px;padding:0 15px;text-align:left}.modules-v1 .welcome-user .wrp-login .login a{font-size:14px}.modules-v1 .welcome-user .profile-image{float:left;width:50%}.modules-v1 .welcome-user .profile-image img{display:block;height:130px;margin-left:35px;width:130px}.modules-v1 .welcome-user .clock-wrapper{clear:both;padding-right:0;padding-top:10px}.modules-v1 .welcome-user .clock-wrapper h4{font-size:14px;margin-top:5px}.modules-v1 .welcome-user .clock-wrapper h1{font-size:1.3em}.modules-v1 .module-icons .img-title{background-size:80px 80px}.modules-v1 .module-icons .img-title .title{top:230px}.modules-v1 .module-icons .img-title .title h1{font-size:16px}.modules-v1 .module-icons .img-title .title h2{font-size:16px;margin-top:0}.modules-v1 .module-icons .div1111-wrapper{height:360px;margin-top:0}.modules-v1 .module-icons .div1111-wrapper .div1111 .bg-switcher span{font-size:14px}.modules-v1 .module-icons div>span{height:100px;width:100px}.modules-v1 .module-icons div>span>a>i{font-size:2.5em;top:10px}}@media (max-width:425px){.modules-v1 .module-icons .img-title .title{top:225px}.modules-v1 .module-icons .div1111-wrapper .div1111{-ms-grid-columns:(minmax(120px,1fr))[3];display:-ms-grid;display:grid;grid-template-columns:repeat(3,minmax(120px,1fr))}}@media (max-width:375px){.modules-v1 .module-icons{height:calc(100% - 250px)}.modules-v1 .module-icons .img-title{background-size:60px 60px}.modules-v1 .module-icons .img-title .title{padding:10px;top:220px}.modules-v1 .module-icons .img-title .title h2{margin-bottom:10px}.modules-v1 .module-icons .img-title .title h1,.modules-v1 .module-icons .img-title .title h2{font-size:14px}.modules-v1 .welcome-user{height:250px}}@media (max-width:360px){.modules-v1 .module-icons{height:calc(100% - 240px)}.modules-v1 .module-icons .img-title{background-size:60px 60px}.modules-v1 .module-icons .img-title .title{left:10px;right:10px;top:205px;width:calc(100% - 20px)}.modules-v1 .welcome-user{height:240px}.modules-v1 .welcome-user .clock-wrapper{padding-top:0}}@-webkit-keyframes load4{0%,to{box-shadow:0 -3em 0 .2em,2em -2em 0 0,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 0}12.5%{box-shadow:0 -3em 0 0,2em -2em 0 .2em,3em 0 0 0,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}25%{box-shadow:0 -3em 0 -.5em,2em -2em 0 0,3em 0 0 .2em,2em 2em 0 0,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}37.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 0,2em 2em 0 .2em,0 3em 0 0,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}50%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 0,0 3em 0 .2em,-2em 2em 0 0,-3em 0 0 -1em,-2em -2em 0 -1em}62.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 0,-2em 2em 0 .2em,-3em 0 0 0,-2em -2em 0 -1em}75%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 .2em,-2em -2em 0 0}87.5%{box-shadow:0 -3em 0 0,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 0,-2em -2em 0 .2em}}@keyframes load4{0%,to{box-shadow:0 -3em 0 .2em,2em -2em 0 0,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 0}12.5%{box-shadow:0 -3em 0 0,2em -2em 0 .2em,3em 0 0 0,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}25%{box-shadow:0 -3em 0 -.5em,2em -2em 0 0,3em 0 0 .2em,2em 2em 0 0,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}37.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 0,2em 2em 0 .2em,0 3em 0 0,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}50%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 0,0 3em 0 .2em,-2em 2em 0 0,-3em 0 0 -1em,-2em -2em 0 -1em}62.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 0,-2em 2em 0 .2em,-3em 0 0 0,-2em -2em 0 -1em}75%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 .2em,-2em -2em 0 0}87.5%{box-shadow:0 -3em 0 0,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 0,-2em -2em 0 .2em}}"]
|
|
180
180
|
},] }
|
|
@@ -189,4 +189,4 @@ SplashComponentV1Component.ctorParameters = () => [
|
|
|
189
189
|
{ type: AuthenService },
|
|
190
190
|
{ type: GlobalService }
|
|
191
191
|
];
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsYXNoLWNvbXBvbmVudC12MS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3NwbGFzaC1jb21wb25lbnQvc3BsYXNoLWNvbXBvbmVudC12MS9zcGxhc2gtY29tcG9uZW50LXYxLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBUTdELE1BQU0sT0FBTywwQkFBMkIsU0FBUSxhQUFhO0lBYXpELFlBQ0ksUUFBa0IsRUFDVixtQkFBdUMsRUFDdkMsa0JBQXFDLEVBQ3JDLHNCQUE2QyxFQUM3QyxZQUF5QixFQUN6QixPQUFlLEVBQ2YsY0FBNkIsRUFDN0IsY0FBNkI7UUFFckMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBUlIsd0JBQW1CLEdBQW5CLG1C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QUFDO0lBQ3RELENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLEVBQUU7WUFDdkMsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsV0FBVztRQUNQLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsS0FBSztRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7OztZQS9MSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsODhFQUFtRDtnQkFFbkQsU0FBUyxFQUFFLENBQUMsdUJBQXVCLENBQUM7O2FBQ3ZDOzs7WUFqQm1CLFFBQVE7WUFPbkIsa0JBQWtCO1lBRWxCLGlCQUFpQjtZQVBqQixxQkFBcUI7WUFRckIsV0FBVztZQVRYLE1BQU07WUFLTixhQUFhO1lBRWIsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlIH0gZnJvbSAnbmd4LWRldmljZS1kZXRlY3Rvcic7XG5pbXBvcnQgeyBDb21wb25lbnRDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2FwcC1jb250ZXh0L2NvbXBvbmVudC1jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvYmFzZS9jb21wb25lbnQtYmFzZSc7XG5pbXBvcnQgeyBDb21DdHhDb25zdGFudHMgfSBmcm9tICcuLi8uLi8uLi9jb25maWdzL2NvbXBvbmVudC1jb250ZXh0LmNvbnN0YW50JztcbmltcG9ydCB7IEF1dGhlblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW4uc2VydmljZSc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9lbnZpcm9ubWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEdsb2JhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9nbG9iYWwuc2VydmljZSc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3Blcm1pc3Npb24uc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3VzZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc3BsYXNoLWNvbXBvbmVudC12MScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NwbGFzaC1jb21wb25lbnQtdjEuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NwbGFzaC1jb21wb25lbnQtdjEuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtDb21wb25lbnRDb250ZXh0U2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgU3BsYXNoQ29tcG9uZW50VjFDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIGRlZmF1bHRBdmF0YXIgPSAnJztcbiAgICBjb25maWc6IGFueSA9IHt9O1xuICAgIGFwcFN3aXRjaGVySXRlbXMgPSBbXTtcbiAgICBjdXJyZW50VXNlcjogYW55O1xuICAgIGxvYWRlZCA9IGZhbHNlO1xuICAgIGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcbiAgICBzaG93RGVmYXVsdFNldHRpbmcgPSBmYWxzZTtcbiAgICBmaWxlQXBpID0gJyc7XG4gICAgaXNPbk1vYmlsZSA9IGZhbHNlO1xuXG4gICAgdW5kZXJjb25zdHJ1Y3Rpb246IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgX2Vudmlyb25tZW50U2VydmljZTogRW52aXJvbm1lbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9wZXJtaXNzaW9uU2VydmljZTogUGVybWlzc2lvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2RldmljZURldGVjdG9yU2VydmljZTogRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF91c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIF9hdXRoZW5TZXJ2aWNlOiBBdXRoZW5TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9nbG9iYWxTZXJ2aWNlOiBHbG9iYWxTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICAgICAgdGhpcy5yb290Q29udGV4dC5maXJlRXZlbnQoJ01BSU5fQ09OVEVOVF9PTkxZJywgdHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVmYXVsdEF2YXRhciA9IHRoaXMuX2Vudmlyb25tZW50U2VydmljZS5nZXREZWZhdWx0TWFsZUF2YXRhcigpO1xuICAgICAgICB0aGlzLmNvbmZpZy50aXRsZSA9IHRoaXMuX2Vudmlyb25tZW50U2VydmljZS5nZXRUaXRsZSgpO1xuICAgICAgICB0aGlzLmNvbmZpZy5sb2dvID0gdGhpcy5fZW52aXJvbm1lbnRTZXJ2aWNlLmdldExvZ28oKTtcbiAgICAgICAgdGhpcy5jb25maWcub3duZXIgPSB0aGlzLl9lbnZpcm9ubWVudFNlcnZpY2UuZ2V0T3duZXIoKTtcbiAgICAgICAgdGhpcy5maWxlQXBpID0gdGhpcy5fZW52aXJvbm1lbnRTZXJ2aWNlLmdldEh0dHBTZXJ2aWNlRW5kcG9pbnQoJ2ZpbGUnKTtcbiAgICAgICAgc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIH0sIDEwMDApO1xuXG4gICAgICAgIGlmICh0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudEFwcE1ldGFkYXRhICYmIHRoaXMucm9vdENvbnRleHQuZGF0YS5jdXJyZW50QXBwTWV0YWRhdGEgJiYgdGhpcy5yb290Q29udGV4dC5kYXRhLmN1cnJlbnRBcHBNZXRhZGF0YS5zaG93RGVmYXVsdFNldHRpbmcgIT0gbnVsbCAmJiB0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudEFwcE1ldGFkYXRhLnNob3dEZWZhdWx0U2V0dGluZyAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0RlZmF1bHRTZXR0aW5nID0gdGhpcy5yb290Q29udGV4dC5kYXRhLmN1cnJlbnRBcHBNZXRhZGF0YS5zaG93RGVmYXVsdFNldHRpbmc7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNob3dEZWZhdWx0U2V0dGluZyA9IHRoaXMuX2Vudmlyb25tZW50U2VydmljZS5nZXRTaG93RGVmYXVsdFNldHRpbmcoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENvbmZpZyBmb3IgYXV0aGVudGljYXRpb25cbiAgICAgICAgdGhpcy5fZ2xvYmFsU2VydmljZS5zZXRIZWFkZXJTdGF0ZShmYWxzZSk7XG4gICAgICAgIHRoaXMuX2dsb2JhbFNlcnZpY2Uuc2V0TWVudVN0YXRlKGZhbHNlKTtcblxuICAgICAgICB0aGlzLnVuZGVyY29uc3RydWN0aW9uID0gdGhpcy5fZW52aXJvbm1lbnRTZXJ2aWNlLmdldFVuZGVyY29uc3RydWN0aW9uKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLl9kZXZpY2VEZXRlY3RvclNlcnZpY2UuaXNNb2JpbGUoKSkge1xuICAgICAgICAgICAgdGhpcy5pc09uTW9iaWxlID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudFVzZXIpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudFVzZXIuZ2VuZGVyID09IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRBdmF0YXIgPSB0aGlzLl9lbnZpcm9ubWVudFNlcnZpY2UuZ2V0RGVmYXVsdEZlbWFsZUF2YXRhcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZWZhdWx0QXZhdGFyID0gdGhpcy5fZW52aXJvbm1lbnRTZXJ2aWNlLmdldERlZmF1bHRNYWxlQXZhdGFyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJvb3RDb250ZXh0LnJlcGxheVN1YnNjcmliZShDb21DdHhDb25zdGFudHMuUk9PVC5VU0VSX0xPQURFRCwgcnMgPT4ge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50VXNlciA9IHRoaXMuX3VzZXJTZXJ2aWNlLmdldEN1cnJlbnRVc2VyKCk7XG4gICAgICAgICAgICB0aGlzLmxvYWRBcHBNZXRhZGF0YSgpO1xuICAgICAgICAgICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGhpcy5yb290TW9kZWwuYWxsb3dBbm9ueW1vdXMpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMubG9hZEFwcE1ldGFkYXRhKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsb2FkQXBwTWV0YWRhdGEoKSB7XG4gICAgICAgIGNvbnN0IHBybXNBcHBTd2ljaGVySXRlbSA9IG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFyciA9IFtdO1xuICAgICAgICAgICAgY29uc3QgbHN0QXBwID0gdGhpcy5fZW52aXJvbm1lbnRTZXJ2aWNlLmdldExpc3RBcHAoKTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgaW5kIGluIGxzdEFwcCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBsc3RBcHBbaW5kXTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnJvb3RNb2RlbC5hbGxvd0Fub255bW91cyAmJiBlbGVtZW50LmFsbG93QW5vbnltb3VzKSB7XG4gICAgICAgICAgICAgICAgICAgIGFyci5wdXNoKGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmICh0aGlzLmN1cnJlbnRVc2VyKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzQXV0aG9yaXplZCA9IGF3YWl0IHRoaXMuX3Blcm1pc3Npb25TZXJ2aWNlLmlzQXV0aG9yaXplZChlbGVtZW50LmNvZGUsIGAke2VsZW1lbnQuY29kZX0uTU9EVUxFLiR7ZWxlbWVudC5jb2RlfWAudG9VcHBlckNhc2UoKSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0F1dGhvcml6ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyci5wdXNoKGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXNvbHZlKGFycik7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHBybXNBcHBTd2ljaGVySXRlbS50aGVuKHJzID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXBwU3dpdGNoZXJJdGVtcy5sZW5ndGggPSAwO1xuICAgICAgICAgICAgaWYgKHJzKSB7XG4gICAgICAgICAgICAgICAgKDxhbnk+cnMpLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LnZpc2libGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5jdXJyZW50VXNlcikgeyAvLyBhbGxvdyBhbm9ueW1vdXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcFN3aXRjaGVySXRlbXMucHVzaChlbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRVc2VyLm1hTmd1b2lIb2MgJiYgdGhpcy5jdXJyZW50VXNlci5pc3N1cGVydXNlci50b0xvd2VyQ2FzZSgpICE9ICd0cnVlJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZWxlbWVudC5jb2RlLnRvTG93ZXJDYXNlKCkgPT0gJ3N2JyB8fCBlbGVtZW50LmNvZGUudG9Mb3dlckNhc2UoKSA9PSAndXNlcicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwU3dpdGNoZXJJdGVtcy5wdXNoKGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcFN3aXRjaGVySXRlbXMucHVzaChlbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc3dpdGNoQXBwKGl0ZW0pIHtcbiAgICAgICAgdGhpcy5sb2FkZWQgPSBmYWxzZTtcbiAgICAgICAgaWYgKGl0ZW0udGFyZ2V0ID09ICdfYmxhbmsnKSB7XG4gICAgICAgICAgICBpZiAoIWl0ZW0uZGVmYXVsdFJlZGlyZWN0KSB7XG4gICAgICAgICAgICAgICAgaXRlbS5kZWZhdWx0UmVkaXJlY3QgPSAnJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gTmFtTkggdGlwIHRyaWNrIGNobyBtb3Qgc28gbWF5IGJpIGxvaSBpdGVtLnVybCA9ICdtYWluJyAtPiByZWRpcmVjdCBzYWkga2hpIGNsaWNrIHZhbyBjYWMgcGhhbiBoZVxuICAgICAgICAgICAgaWYgKGl0ZW0udXJsID09IGl0ZW0uZGVmYXVsdFJlZGlyZWN0KSB7XG4gICAgICAgICAgICAgICAgaXRlbS51cmwgPSAnLycgKyBpdGVtLmNvZGUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IGxpbmsgPSBgJHtpdGVtLnVybH0vJHtpdGVtLmRlZmF1bHRSZWRpcmVjdH1gO1xuICAgICAgICAgICAgaWYgKCFsaW5rLnN0YXJ0c1dpdGgoJy8nKSAmJiAhbGluay5zdGFydHNXaXRoKCdodHRwJykpIHtcbiAgICAgICAgICAgICAgICBsaW5rID0gJy8nICsgbGluaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRvcC5sb2NhdGlvbi5ocmVmID0gbGluaztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmIChpdGVtLmRlZmF1bHRSZWRpcmVjdCAhPSAnJyAmJiAhdGhpcy5yb290Q29udGV4dC5kYXRhLmZsYWdzLm1lbnVUb3BPcGVubmluZykge1xuICAgICAgICAgICAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKGl0ZW0uZGVmYXVsdFJlZGlyZWN0KTtcbiAgICAgICAgICAgICAgICB0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudEFwcE1ldGFkYXRhID0gdGhpcy5fZW52aXJvbm1lbnRTZXJ2aWNlLmdldE9iamVjdEFwcChpdGVtLmNvZGUpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudEFwcE1ldGFkYXRhICYmIHRoaXMucm9vdENvbnRleHQuZGF0YS5jdXJyZW50QXBwTWV0YWRhdGEuc2hvd0RlZmF1bHRTZXR0aW5nICE9IHVuZGVmaW5lZCAmJiB0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudEFwcE1ldGFkYXRhLnNob3dEZWZhdWx0U2V0dGluZyAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd0RlZmF1bHRTZXR0aW5nID0gdGhpcy5yb290Q29udGV4dC5kYXRhLmN1cnJlbnRBcHBNZXRhZGF0YS5zaG93RGVmYXVsdFNldHRpbmcgJiYgdGhpcy5zaG93RGVmYXVsdFNldHRpbmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbG9nb3V0KCkge1xuICAgICAgICB0aGlzLl9hdXRoZW5TZXJ2aWNlLmxvZ291dCgpO1xuICAgIH1cblxuICAgIGdvVG9QZXJzb25hbCgpIHtcbiAgICAgICAgY29uc3QgdXNlck1lbnUgPSB0aGlzLl9lbnZpcm9ubWVudFNlcnZpY2UuZ2V0T2JqZWN0QXBwKCdVU0VSJyk7XG4gICAgICAgIHRoaXMuc3dpdGNoQXBwKHVzZXJNZW51KTtcbiAgICB9XG5cbiAgICBnZXRDdXJyZW50VXNlckF2YXRhcigpIHtcbiAgICAgICAgaWYgKHRoaXMucm9vdENvbnRleHQuZGF0YS5jdXJyZW50VXNlciAmJiB0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudFVzZXIuYXZhdGFyKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7dGhpcy5maWxlQXBpfS9maWxlL3B1YmxpYy8ke3RoaXMucm9vdENvbnRleHQuZGF0YS5jdXJyZW50VXNlci5hdmF0YXJ9L0Rvd25sb2FkYDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRBdmF0YXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkYXlzSW5XZWVrID0gWydDaOG7pyBuaOG6rXQnLCAnVGjhu6kgMicsICdUaOG7qSAzJywgJ1Ro4bupIDQnLCAnVGjhu6kgNScsICdUaOG7qSA2JywgJ1Ro4bupIDcnXTtcbiAgICBnZXROZ2F5VHJvbmdUdWFuKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXlzSW5XZWVrW3RoaXMuY3VycmVudERhdGUuZ2V0RGF5KCldO1xuICAgIH1cblxuICAgIHNob3dQcm9maWxlUGFnZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuX3VzZXJTZXJ2aWNlLmlzU2luaFZpZW5BY2NvdW50KCkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuX2dsb2JhbFNlcnZpY2Uuc2V0SGVhZGVyU3RhdGUodHJ1ZSk7XG4gICAgICAgIHRoaXMuX2dsb2JhbFNlcnZpY2Uuc2V0TWVudVN0YXRlKHRydWUpO1xuICAgIH1cblxuICAgIGxvZ2luKCkge1xuICAgICAgICB0aGlzLnJvb3RDb250ZXh0LmZpcmVFdmVudCgnTE9HSU4nKTtcbiAgICB9XG5cbn1cbiJdfQ==
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsYXNoLWNvbXBvbmVudC12MS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3NwbGFzaC1jb21wb25lbnQvc3BsYXNoLWNvbXBvbmVudC12MS9zcGxhc2gtY29tcG9uZW50LXYxLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBUTdELE1BQU0sT0FBTywwQkFBMkIsU0FBUSxhQUFhO0lBYXpELFlBQ0ksUUFBa0IsRUFDVixtQkFBdUMsRUFDdkMsa0JBQXFDLEVBQ3JDLHNCQUE2QyxFQUM3QyxZQUF5QixFQUN6QixPQUFlLEVBQ2YsY0FBNkIsRUFDN0IsY0FBNkI7UUFFckMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBUlIsd0JBQW1CLEdBQW5CLG1C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QUFDO0lBQ3RELENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLEVBQUU7WUFDdkMsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsV0FBVztRQUNQLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsS0FBSztRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7OztZQS9MSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsNjdFQUFtRDtnQkFFbkQsU0FBUyxFQUFFLENBQUMsdUJBQXVCLENBQUM7O2FBQ3ZDOzs7WUFqQm1CLFFBQVE7WUFPbkIsa0JBQWtCO1lBRWxCLGlCQUFpQjtZQVBqQixxQkFBcUI7WUFRckIsV0FBVztZQVRYLE1BQU07WUFLTixhQUFhO1lBRWIsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlIH0gZnJvbSAnbmd4LWRldmljZS1kZXRlY3Rvcic7XG5pbXBvcnQgeyBDb21wb25lbnRDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2FwcC1jb250ZXh0L2NvbXBvbmVudC1jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvYmFzZS9jb21wb25lbnQtYmFzZSc7XG5pbXBvcnQgeyBDb21DdHhDb25zdGFudHMgfSBmcm9tICcuLi8uLi8uLi9jb25maWdzL2NvbXBvbmVudC1jb250ZXh0LmNvbnN0YW50JztcbmltcG9ydCB7IEF1dGhlblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW4uc2VydmljZSc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9lbnZpcm9ubWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEdsb2JhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9nbG9iYWwuc2VydmljZSc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3Blcm1pc3Npb24uc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3VzZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc3BsYXNoLWNvbXBvbmVudC12MScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NwbGFzaC1jb21wb25lbnQtdjEuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NwbGFzaC1jb21wb25lbnQtdjEuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtDb21wb25lbnRDb250ZXh0U2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgU3BsYXNoQ29tcG9uZW50VjFDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIGRlZmF1bHRBdmF0YXIgPSAnJztcbiAgICBjb25maWc6IGFueSA9IHt9O1xuICAgIGFwcFN3aXRjaGVySXRlbXMgPSBbXTtcbiAgICBjdXJyZW50VXNlcjogYW55O1xuICAgIGxvYWRlZCA9IGZhbHNlO1xuICAgIGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcbiAgICBzaG93RGVmYXVsdFNldHRpbmcgPSBmYWxzZTtcbiAgICBmaWxlQXBpID0gJyc7XG4gICAgaXNPbk1vYmlsZSA9IGZhbHNlO1xuXG4gICAgdW5kZXJjb25zdHJ1Y3Rpb246IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgX2Vudmlyb25tZW50U2VydmljZTogRW52aXJvbm1lbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9wZXJtaXNzaW9uU2VydmljZTogUGVybWlzc2lvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2RldmljZURldGVjdG9yU2VydmljZTogRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF91c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIF9hdXRoZW5TZXJ2aWNlOiBBdXRoZW5TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9nbG9iYWxTZXJ2aWNlOiBHbG9iYWxTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICAgICAgdGhpcy5yb290Q29udGV4dC5maXJlRXZlbnQoJ01BSU5fQ09OVEVOVF9PTkxZJywgdHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVmYXVsdEF2YXRhciA9IHRoaXMuX2Vudmlyb25tZW50U2VydmljZS5nZXREZWZhdWx0TWFsZUF2YXRhcigpO1xuICAgICAgICB0aGlzLmNvbmZpZy50aXRsZSA9IHRoaXMuX2Vudmlyb25tZW50U2VydmljZS5nZXRUaXRsZSgpO1xuICAgICAgICB0aGlzLmNvbmZpZy5sb2dvID0gdGhpcy5fZW52aXJvbm1lbnRTZXJ2aWNlLmdldExvZ28oKTtcbiAgICAgICAgdGhpcy5jb25maWcub3duZXIgPSB0aGlzLl9lbnZpcm9ubWVudFNlcnZpY2UuZ2V0T3duZXIoKTtcbiAgICAgICAgdGhpcy5maWxlQXBpID0gdGhpcy5fZW52aXJvbm1lbnRTZXJ2aWNlLmdldEh0dHBTZXJ2aWNlRW5kcG9pbnQoJ2ZpbGUnKTtcbiAgICAgICAgc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIH0sIDEwMDApO1xuXG4gICAgICAgIGlmICh0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudEFwcE1ldGFkYXRhICYmIHRoaXMucm9vdENvbnRleHQuZGF0YS5jdXJyZW50QXBwTWV0YWRhdGEgJiYgdGhpcy5yb290Q29udGV4dC5kYXRhLmN1cnJlbnRBcHBNZXRhZGF0YS5zaG93RGVmYXVsdFNldHRpbmcgIT0gbnVsbCAmJiB0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudEFwcE1ldGFkYXRhLnNob3dEZWZhdWx0U2V0dGluZyAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0RlZmF1bHRTZXR0aW5nID0gdGhpcy5yb290Q29udGV4dC5kYXRhLmN1cnJlbnRBcHBNZXRhZGF0YS5zaG93RGVmYXVsdFNldHRpbmc7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNob3dEZWZhdWx0U2V0dGluZyA9IHRoaXMuX2Vudmlyb25tZW50U2VydmljZS5nZXRTaG93RGVmYXVsdFNldHRpbmcoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENvbmZpZyBmb3IgYXV0aGVudGljYXRpb25cbiAgICAgICAgdGhpcy5fZ2xvYmFsU2VydmljZS5zZXRIZWFkZXJTdGF0ZShmYWxzZSk7XG4gICAgICAgIHRoaXMuX2dsb2JhbFNlcnZpY2Uuc2V0TWVudVN0YXRlKGZhbHNlKTtcblxuICAgICAgICB0aGlzLnVuZGVyY29uc3RydWN0aW9uID0gdGhpcy5fZW52aXJvbm1lbnRTZXJ2aWNlLmdldFVuZGVyY29uc3RydWN0aW9uKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLl9kZXZpY2VEZXRlY3RvclNlcnZpY2UuaXNNb2JpbGUoKSkge1xuICAgICAgICAgICAgdGhpcy5pc09uTW9iaWxlID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudFVzZXIpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudFVzZXIuZ2VuZGVyID09IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRBdmF0YXIgPSB0aGlzLl9lbnZpcm9ubWVudFNlcnZpY2UuZ2V0RGVmYXVsdEZlbWFsZUF2YXRhcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZWZhdWx0QXZhdGFyID0gdGhpcy5fZW52aXJvbm1lbnRTZXJ2aWNlLmdldERlZmF1bHRNYWxlQXZhdGFyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJvb3RDb250ZXh0LnJlcGxheVN1YnNjcmliZShDb21DdHhDb25zdGFudHMuUk9PVC5VU0VSX0xPQURFRCwgcnMgPT4ge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50VXNlciA9IHRoaXMuX3VzZXJTZXJ2aWNlLmdldEN1cnJlbnRVc2VyKCk7XG4gICAgICAgICAgICB0aGlzLmxvYWRBcHBNZXRhZGF0YSgpO1xuICAgICAgICAgICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGhpcy5yb290TW9kZWwuYWxsb3dBbm9ueW1vdXMpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMubG9hZEFwcE1ldGFkYXRhKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsb2FkQXBwTWV0YWRhdGEoKSB7XG4gICAgICAgIGNvbnN0IHBybXNBcHBTd2ljaGVySXRlbSA9IG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFyciA9IFtdO1xuICAgICAgICAgICAgY29uc3QgbHN0QXBwID0gdGhpcy5fZW52aXJvbm1lbnRTZXJ2aWNlLmdldExpc3RBcHAoKTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgaW5kIGluIGxzdEFwcCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBsc3RBcHBbaW5kXTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnJvb3RNb2RlbC5hbGxvd0Fub255bW91cyAmJiBlbGVtZW50LmFsbG93QW5vbnltb3VzKSB7XG4gICAgICAgICAgICAgICAgICAgIGFyci5wdXNoKGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmICh0aGlzLmN1cnJlbnRVc2VyKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzQXV0aG9yaXplZCA9IGF3YWl0IHRoaXMuX3Blcm1pc3Npb25TZXJ2aWNlLmlzQXV0aG9yaXplZChlbGVtZW50LmNvZGUsIGAke2VsZW1lbnQuY29kZX0uTU9EVUxFLiR7ZWxlbWVudC5jb2RlfWAudG9VcHBlckNhc2UoKSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0F1dGhvcml6ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyci5wdXNoKGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXNvbHZlKGFycik7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHBybXNBcHBTd2ljaGVySXRlbS50aGVuKHJzID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXBwU3dpdGNoZXJJdGVtcy5sZW5ndGggPSAwO1xuICAgICAgICAgICAgaWYgKHJzKSB7XG4gICAgICAgICAgICAgICAgKDxhbnk+cnMpLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LnZpc2libGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5jdXJyZW50VXNlcikgeyAvLyBhbGxvdyBhbm9ueW1vdXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcFN3aXRjaGVySXRlbXMucHVzaChlbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRVc2VyLm1hTmd1b2lIb2MgJiYgdGhpcy5jdXJyZW50VXNlci5pc3N1cGVydXNlci50b0xvd2VyQ2FzZSgpICE9ICd0cnVlJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZWxlbWVudC5jb2RlLnRvTG93ZXJDYXNlKCkgPT0gJ3N2JyB8fCBlbGVtZW50LmNvZGUudG9Mb3dlckNhc2UoKSA9PSAndXNlcicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwU3dpdGNoZXJJdGVtcy5wdXNoKGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcFN3aXRjaGVySXRlbXMucHVzaChlbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc3dpdGNoQXBwKGl0ZW0pIHtcbiAgICAgICAgdGhpcy5sb2FkZWQgPSBmYWxzZTtcbiAgICAgICAgaWYgKGl0ZW0udGFyZ2V0ID09ICdfYmxhbmsnKSB7XG4gICAgICAgICAgICBpZiAoIWl0ZW0uZGVmYXVsdFJlZGlyZWN0KSB7XG4gICAgICAgICAgICAgICAgaXRlbS5kZWZhdWx0UmVkaXJlY3QgPSAnJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gTmFtTkggdGlwIHRyaWNrIGNobyBtb3Qgc28gbWF5IGJpIGxvaSBpdGVtLnVybCA9ICdtYWluJyAtPiByZWRpcmVjdCBzYWkga2hpIGNsaWNrIHZhbyBjYWMgcGhhbiBoZVxuICAgICAgICAgICAgaWYgKGl0ZW0udXJsID09IGl0ZW0uZGVmYXVsdFJlZGlyZWN0KSB7XG4gICAgICAgICAgICAgICAgaXRlbS51cmwgPSAnLycgKyBpdGVtLmNvZGUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IGxpbmsgPSBgJHtpdGVtLnVybH0vJHtpdGVtLmRlZmF1bHRSZWRpcmVjdH1gO1xuICAgICAgICAgICAgaWYgKCFsaW5rLnN0YXJ0c1dpdGgoJy8nKSAmJiAhbGluay5zdGFydHNXaXRoKCdodHRwJykpIHtcbiAgICAgICAgICAgICAgICBsaW5rID0gJy8nICsgbGluaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRvcC5sb2NhdGlvbi5ocmVmID0gbGluaztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmIChpdGVtLmRlZmF1bHRSZWRpcmVjdCAhPSAnJyAmJiAhdGhpcy5yb290Q29udGV4dC5kYXRhLmZsYWdzLm1lbnVUb3BPcGVubmluZykge1xuICAgICAgICAgICAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKGl0ZW0uZGVmYXVsdFJlZGlyZWN0KTtcbiAgICAgICAgICAgICAgICB0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudEFwcE1ldGFkYXRhID0gdGhpcy5fZW52aXJvbm1lbnRTZXJ2aWNlLmdldE9iamVjdEFwcChpdGVtLmNvZGUpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudEFwcE1ldGFkYXRhICYmIHRoaXMucm9vdENvbnRleHQuZGF0YS5jdXJyZW50QXBwTWV0YWRhdGEuc2hvd0RlZmF1bHRTZXR0aW5nICE9IHVuZGVmaW5lZCAmJiB0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudEFwcE1ldGFkYXRhLnNob3dEZWZhdWx0U2V0dGluZyAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd0RlZmF1bHRTZXR0aW5nID0gdGhpcy5yb290Q29udGV4dC5kYXRhLmN1cnJlbnRBcHBNZXRhZGF0YS5zaG93RGVmYXVsdFNldHRpbmcgJiYgdGhpcy5zaG93RGVmYXVsdFNldHRpbmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbG9nb3V0KCkge1xuICAgICAgICB0aGlzLl9hdXRoZW5TZXJ2aWNlLmxvZ291dCgpO1xuICAgIH1cblxuICAgIGdvVG9QZXJzb25hbCgpIHtcbiAgICAgICAgY29uc3QgdXNlck1lbnUgPSB0aGlzLl9lbnZpcm9ubWVudFNlcnZpY2UuZ2V0T2JqZWN0QXBwKCdVU0VSJyk7XG4gICAgICAgIHRoaXMuc3dpdGNoQXBwKHVzZXJNZW51KTtcbiAgICB9XG5cbiAgICBnZXRDdXJyZW50VXNlckF2YXRhcigpIHtcbiAgICAgICAgaWYgKHRoaXMucm9vdENvbnRleHQuZGF0YS5jdXJyZW50VXNlciAmJiB0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudFVzZXIuYXZhdGFyKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7dGhpcy5maWxlQXBpfS9maWxlL3B1YmxpYy8ke3RoaXMucm9vdENvbnRleHQuZGF0YS5jdXJyZW50VXNlci5hdmF0YXJ9L0Rvd25sb2FkYDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRBdmF0YXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkYXlzSW5XZWVrID0gWydDaOG7pyBuaOG6rXQnLCAnVGjhu6kgMicsICdUaOG7qSAzJywgJ1Ro4bupIDQnLCAnVGjhu6kgNScsICdUaOG7qSA2JywgJ1Ro4bupIDcnXTtcbiAgICBnZXROZ2F5VHJvbmdUdWFuKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXlzSW5XZWVrW3RoaXMuY3VycmVudERhdGUuZ2V0RGF5KCldO1xuICAgIH1cblxuICAgIHNob3dQcm9maWxlUGFnZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuX3VzZXJTZXJ2aWNlLmlzU2luaFZpZW5BY2NvdW50KCkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuX2dsb2JhbFNlcnZpY2Uuc2V0SGVhZGVyU3RhdGUodHJ1ZSk7XG4gICAgICAgIHRoaXMuX2dsb2JhbFNlcnZpY2Uuc2V0TWVudVN0YXRlKHRydWUpO1xuICAgIH1cblxuICAgIGxvZ2luKCkge1xuICAgICAgICB0aGlzLnJvb3RDb250ZXh0LmZpcmVFdmVudCgnTE9HSU4nKTtcbiAgICB9XG5cbn1cbiJdfQ==
|
|
@@ -43,7 +43,7 @@ export class EnvironmentService {
|
|
|
43
43
|
}
|
|
44
44
|
getServiceEndpointByServiceInfo(serviceInfo) {
|
|
45
45
|
let endpoint = '';
|
|
46
|
-
if (serviceInfo.
|
|
46
|
+
if (serviceInfo.uselocalendpoint) {
|
|
47
47
|
endpoint = serviceInfo.localhttpendpoint;
|
|
48
48
|
}
|
|
49
49
|
else {
|
|
@@ -307,4 +307,4 @@ EnvironmentService.decorators = [
|
|
|
307
307
|
EnvironmentService.ctorParameters = () => [
|
|
308
308
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [moduleConfigFunc,] }] }
|
|
309
309
|
];
|
|
310
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQvc3JjL2xpYi8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL2Vudmlyb25tZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJN0UsTUFBTSxVQUFVLGdCQUFnQjtJQUM1QixPQUFPLElBQUksY0FBYyxDQUFlLEVBQUUsQ0FBQyxDQUFDO0FBQ2hELENBQUM7QUFJRCxNQUFNLE9BQU8sa0JBQWtCO0lBRzNCLFlBRUksa0JBQXVCLElBQUk7UUFFM0IsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNsQiwyQkFBMkI7WUFDM0IsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ3ZELElBQUksSUFBSSxFQUFFO2dCQUNOLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN2QztpQkFDSTtnQkFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7YUFDaEQ7U0FDSjthQUNJO1lBQ0QsTUFBTSxrQkFBa0IsR0FBRyxlQUFlLEVBQUUsQ0FBQztZQUM3QyxJQUFJLENBQUMsV0FBVyxHQUFHLGtCQUFrQixDQUFDLFdBQVcsQ0FBQztZQUNsRCxJQUFJLENBQUMsT0FBTyxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztZQUMxQyxjQUFjLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7U0FDL0U7SUFDTCxDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksS0FBSyxHQUFHLHNCQUFzQixDQUFDO1FBQ25DLElBQUksSUFB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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dGhDb25maWcgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IEVudmlyb25tZW50U2NoZW1hIH0gZnJvbSAnLi4vY2xhc3Nlcy9lbnZpcm9ubWVudC1zY2hlbWEnO1xuaW1wb3J0IHsgTW9kdWxlQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlncy9tb2R1bGUtY29uZmlnJztcbmV4cG9ydCBmdW5jdGlvbiBtb2R1bGVDb25maWdGdW5jKCkge1xuICAgIHJldHVybiBuZXcgSW5qZWN0aW9uVG9rZW48TW9kdWxlQ29uZmlnPignJyk7XG59XG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEVudmlyb25tZW50U2VydmljZSB7XG4gICAgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50U2NoZW1hO1xuICAgIHByaXZhdGUgYXBwQ29kZTogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KG1vZHVsZUNvbmZpZ0Z1bmMpXG4gICAgICAgIG1vZHVsZUNvbmZpZ1ZhbDogYW55ID0gbnVsbFxuICAgICkge1xuICAgICAgICBpZiAoIW1vZHVsZUNvbmZpZ1ZhbCkge1xuICAgICAgICAgICAgLy8gZ2V0IGZyb20gc2Vzc2lvbiBzdG9yYWdlXG4gICAgICAgICAgICBjb25zdCBkYXRhID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnbW9kdWxlQ29uZmlnVmFsJyk7XG4gICAgICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZW52aXJvbm1lbnQgPSBKU09OLnBhcnNlKGRhdGEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignY2Fubm90IGZpbmQgbW9kdWxlQ29uZmlnVmFsJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBvYmpNb2R1bGVDb25maWdWYWwgPSBtb2R1bGVDb25maWdWYWwoKTtcbiAgICAgICAgICAgIHRoaXMuZW52aXJvbm1lbnQgPSBvYmpNb2R1bGVDb25maWdWYWwuZW52aXJvbm1lbnQ7XG4gICAgICAgICAgICB0aGlzLmFwcENvZGUgPSBvYmpNb2R1bGVDb25maWdWYWwuYXBwQ29kZTtcbiAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ21vZHVsZUNvbmZpZ1ZhbCcsIEpTT04uc3RyaW5naWZ5KHRoaXMuZW52aXJvbm1lbnQpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEF1dGhDb25maWcoKTogQXV0aENvbmZpZyB7XG4gICAgICAgIGxldCBzY29wZSA9ICdvcGVuaWQgcHJvZmlsZSBlbWFpbCc7XG4gICAgICAgIGlmICh0aGlzLmVudmlyb25tZW50LmF1dGhlbnRpY2F0aW9uU2V0dGluZ3Muc2NvcGUpIHtcbiAgICAgICAgICAgIHNjb3BlID0gdGhpcy5lbnZpcm9ubWVudC5hdXRoZW50aWNhdGlvblNldHRpbmdzLnNjb3BlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiA8QXV0aENvbmZpZz57XG4gICAgICAgICAgICBpc3N1ZXI6IGAke3RoaXMuZW52aXJvbm1lbnQuYXV0aGVudGljYXRpb25TZXR0aW5ncy5pc3N1ZXJ9YCxcbiAgICAgICAgICAgIGNsaWVudElkOiBgJHt0aGlzLmVudmlyb25tZW50LmF1dGhlbnRpY2F0aW9uU2V0dGluZ3MuY2xpZW50SWR9YCxcbiAgICAgICAgICAgIHJlZGlyZWN0VXJpOiB0aGlzLmVudmlyb25tZW50LmF1dGhlbnRpY2F0aW9uU2V0dGluZ3MuY3VzdG9tUmVkaXJlY3RVcmkgfHwgd2luZG93LmxvY2F0aW9uLm9yaWdpbixcbiAgICAgICAgICAgIHBvc3RMb2dvdXRSZWRpcmVjdFVyaTogd2luZG93LmxvY2F0aW9uLm9yaWdpbixcbiAgICAgICAgICAgIHNpbGVudFJlZnJlc2hSZWRpcmVjdFVyaTogd2luZG93LmxvY2F0aW9uLm9yaWdpbiArICcvc2lsZW50LXJlZnJlc2guaHRtbCcsXG4gICAgICAgICAgICByZXF1aXJlSHR0cHM6IHRoaXMuZW52aXJvbm1lbnQuYXV0aGVudGljYXRpb25TZXR0aW5ncy5yZXF1aXJlSHR0cHMgPyB0aGlzLmVudmlyb25tZW50LmF1dGhlbnRpY2F0aW9uU2V0dGluZ3MucmVxdWlyZUh0dHBzIDogZmFsc2UsXG4gICAgICAgICAgICBzY29wZSxcbiAgICAgICAgICAgIHNob3dEZWJ1Z0luZm9ybWF0aW9uOiBmYWxzZSxcbiAgICAgICAgICAgIHJlcXVlc3RBY2Nlc3NUb2tlbjogdHJ1ZSxcbiAgICAgICAgICAgIHVzZVNpbGVudFJlZnJlc2g6IGZhbHNlLFxuICAgICAgICAgICAgY2xlYXJIYXNoQWZ0ZXJMb2dpbjogdHJ1ZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VydmljZUVuZHBvaW50QnlTZXJ2aWNlSW5mbyhzZXJ2aWNlSW5mbzogYW55KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGVuZHBvaW50ID0gJyc7XG4gICAgICAgIGlmIChzZXJ2aWNlSW5mby51c2VMb2NhbCkge1xuICAgICAgICAgICAgZW5kcG9pbnQgPSBzZXJ2aWNlSW5mby5sb2NhbGh0dHBlbmRwb2ludDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGdhdGV3YXkgPSB0aGlzLmVudmlyb25tZW50LmFwcE1ldGFkYXRhLmdhdGV3YXk7XG4gICAgICAgICAgICBlbmRwb2ludCA9IGAke2dhdGV3YXl9LyR7c2VydmljZUluZm8uY29kZX1gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBlbmRwb2ludDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNlcnZpY2VFbmRwb2ludFdpdGhWZXJzaW9uQnlTZXJ2aWNlSW5mbyhzZXJ2aWNlSW5mbzogYW55KTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZW5kcG9pbnQgPSB0aGlzLmdldFNlcnZpY2VFbmRwb2ludEJ5U2VydmljZUluZm8oc2VydmljZUluZm8pO1xuICAgICAgICBsZXQgYXBpVmVyc2lvbiA9IHRoaXMuZW52aXJvbm1lbnQubWFqb3JBcGlWZXJzaW9uO1xuICAgICAgICBpZiAoc2VydmljZUluZm8uYXBpVmVyc2lvbikge1xuICAgICAgICAgICAgYXBpVmVyc2lvbiA9IHNlcnZpY2VJbmZvLmFwaVZlcnNpb247XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYCR7ZW5kcG9pbnR9L3Yke2FwaVZlcnNpb259YDtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRIdHRwU2VydmljZUVuZHBvaW50KHNlcnZpY2VDb2RlOiBzdHJpbmcsIGluY2x1ZGVWZXJzaW9uOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgc2VydmljZUNvZGUgPSBzZXJ2aWNlQ29kZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBjb25zdCBzZXJ2aWNlSW5mbyA9IE9iamVjdC52YWx1ZXModGhpcy5lbnZpcm9ubWVudC5zZXJ2aWNlcykuZmluZChxID0+IHEuY29kZSA9PSBzZXJ2aWNlQ29kZSk7XG4gICAgICAgIGlmICghc2VydmljZUluZm8pIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEtow7RuZyB0w6xtIHRo4bqleSBlbmRwb2ludCBj4bunYSBzZXJ2aWNlICR7c2VydmljZUNvZGV9IHRyb25nIGPhuqV1IGjDrG5oYCk7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH07XG4gICAgICAgIGlmICghaW5jbHVkZVZlcnNpb24pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFNlcnZpY2VFbmRwb2ludEJ5U2VydmljZUluZm8oc2VydmljZUluZm8pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmdldFNlcnZpY2VFbmRwb2ludFdpdGhWZXJzaW9uQnlTZXJ2aWNlSW5mbyhzZXJ2aWNlSW5mbyk7XG4gICAgfVxuXG4gICAgZ2V0SHR0cFNlcnZpY2VFbmRwb2ludChzZXJ2aWNlQ29kZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldEh0dHBTZXJ2aWNlRW5kcG9pbnQoc2VydmljZUNvZGUsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBnZXRIdHRwU2VydmljZUVuZHBvaW50V2l0aFZlcnNpb24oc2VydmljZUNvZGUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0SHR0cFNlcnZpY2VFbmRwb2ludChzZXJ2aWNlQ29kZSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgZ2V0SHR0cFNlcnZpY2VFbmRwb2ludE9sZChzZXJ2aWNlQ29kZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgc2VydmljZUNvZGUgPSBzZXJ2aWNlQ29kZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBjb25zdCBzZXJ2aWNlSW5mbyA9IE9iamVjdC52YWx1ZXModGhpcy5lbnZpcm9ubWVudC5zZXJ2aWNlcykuZmluZChxID0+IHEuY29kZSA9PSBzZXJ2aWNlQ29kZSk7XG4gICAgICAgIGlmICghc2VydmljZUluZm8pIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEtow7RuZyB0w6xtIHRo4bqleSBlbmRwb2ludCBj4bunYSBzZXJ2aWNlICR7c2VydmljZUNvZGV9IHRyb25nIGPhuqV1IGjDrG5oYCk7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH07XG4gICAgICAgIGxldCBlbmRwb2ludCA9ICcnO1xuICAgICAgICBpZiAoc2VydmljZUluZm8udXNlTG9jYWwpIHtcbiAgICAgICAgICAgIGVuZHBvaW50ID0gc2VydmljZUluZm8ubG9jYWxIdHRwRW5kcG9pbnRPbGQ7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBnYXRld2F5ID0gdGhpcy5lbnZpcm9ubWVudC5hcHBNZXRhZGF0YS5nYXRld2F5T2xkO1xuICAgICAgICAgICAgZW5kcG9pbnQgPSBgJHtnYXRld2F5fS8ke3NlcnZpY2VDb2RlfWA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGVuZHBvaW50O1xuICAgIH1cblxuICAgIGdldFVzZXJTZXR0aW5nQ29uZmlnKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC51c2VyU2V0dGluZ0NvbmZpZztcbiAgICB9XG5cbiAgICBnZXRVc2Vyc0hhc1Blcm1pc3Npb25SZXNldFBhc3N3b3JkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC51c2VySGFzUGVybWlzc2lvblJlc2V0UGFzc3dvcmQ7XG4gICAgfVxuXG4gICAgZ2V0SHR0cENsaWVudEVuZHBvaW50KHNlcnZpY2VDb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgaXNVc2VPbGRTZXJ2aWNlKHNlcnZpY2VDb2RlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qgc2VydmljZUluZm8gPSBPYmplY3QudmFsdWVzKHRoaXMuZW52aXJvbm1lbnQuc2VydmljZXMpLmZpbmQocSA9PiBxLmNvZGUgPT0gc2VydmljZUNvZGUpO1xuICAgICAgICBpZiAoIXNlcnZpY2VJbmZvKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBLaMO0bmcgdMOsbSB0aOG6pXkgZW5kcG9pbnQgY+G7p2Egc2VydmljZSAke3NlcnZpY2VDb2RlfSB0cm9uZyBj4bqldSBow6xuaGApO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gc2VydmljZUluZm8udXNlT2xkVmVyc2lvbjtcbiAgICB9XG5cbiAgICBnZXRFbmFibGVIdWIoKSB7XG4gICAgICAgIGxldCBvYmpFbmFibGVIdWJzID0gdGhpcy5lbnZpcm9ubWVudC5zaWduYWxSQ29uZmlnLmVuYWJsZUh1YnM7XG4gICAgICAgIGlmICghb2JqRW5hYmxlSHVicykgb2JqRW5hYmxlSHVicyA9IHt9O1xuICAgICAgICBPYmplY3Qua2V5cyhvYmpFbmFibGVIdWJzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBpZiAoKG9iakVuYWJsZUh1YnNba2V5XSBhcyBhbnkpID09PSAndHJ1ZScgfHwgb2JqRW5hYmxlSHVic1trZXldID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgb2JqRW5hYmxlSHVic1trZXldID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIG9iakVuYWJsZUh1YnNba2V5XSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG9iakVuYWJsZUh1YnM7XG4gICAgfVxuXG4gICAgZ2V0RGVmYXVsdE1hbGVBdmF0YXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmFwcE1ldGFkYXRhLm1haW4uZGVmYXVsdE1hbGVBdmF0YXI7XG4gICAgfVxuXG4gICAgZ2V0RGVmYXVsdEZlbWFsZUF2YXRhcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEubWFpbi5kZWZhdWx0RmVtYWxlQXZhdGFyO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNUcnVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSB0cnVlIHx8IHZhbHVlID09PSAndHJ1ZSc7XG4gICAgfVxuXG4gICAgZ2V0TG9nb3V0T25VbmF1dGhvcml6ZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVHJ1ZSh0aGlzLmVudmlyb25tZW50LmF1dGhlbnRpY2F0aW9uU2V0dGluZ3MubG9nb3V0T25VbmF1dGhvcml6ZWQpO1xuICAgIH1cblxuICAgIGdldExpc3RBcHAoKTogYW55W10ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLmVudmlyb25tZW50LmFwcHMpO1xuICAgIH1cblxuICAgIGdldE9iamVjdEFwcChtb2R1bGU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLmVudmlyb25tZW50LmFwcHMpLmZpbmQocSA9PiBxLmNvZGUgPT0gbW9kdWxlLnRvTG93ZXJDYXNlKCkpO1xuICAgIH1cblxuICAgIGdldE1vZHVsZU5hbWUobW9kdWxlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3Qgb2JqQXBwID0gdGhpcy5nZXRPYmplY3RBcHAobW9kdWxlKTtcbiAgICAgICAgcmV0dXJuIG9iakFwcD8udGl0bGU7XG4gICAgfVxuXG4gICAgZ2V0TG9uZ01vZHVsZU5hbWUobW9kdWxlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3Qgb2JqQXBwID0gdGhpcy5nZXRPYmplY3RBcHAobW9kdWxlKTtcbiAgICAgICAgcmV0dXJuIG9iakFwcD8ubG9uZ1RpdGxlO1xuICAgIH1cblxuICAgIGdldFNob3dXYXJuaW5nTWVzc2FnZUluVG9hc3QoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVHJ1ZSh0aGlzLmVudmlyb25tZW50LnNob3dXYXJuaW5nTWVzc2FnZUluVG9hc3QpO1xuICAgIH1cblxuICAgIGdldFNob3dFcnJvck1lc3NhZ2VJblRvYXN0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1RydWUodGhpcy5lbnZpcm9ubWVudC5zaG93RXJyb3JNZXNzYWdlSW5Ub2FzdCk7XG4gICAgfVxuXG4gICAgZ2V0SXNJZ25vcmVBZG1pbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNUcnVlKHRoaXMuZW52aXJvbm1lbnQuaXNJZ25vcmVBZG1pbik7XG4gICAgfVxuXG4gICAgZ2V0QXBwQ29kZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwQ29kZTtcbiAgICB9XG5cbiAgICBnZXRMaXN0QXBwQ29kZSgpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBPYmplY3QudmFsdWVzKHRoaXMuZW52aXJvbm1lbnQuYXBwcykubWFwKHEgPT4gcS5jb2RlKTtcbiAgICB9XG5cbiAgICBnZXRMaXN0QXBpRG9tYWluKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICAgIE9iamVjdC52YWx1ZXModGhpcy5lbnZpcm9ubWVudC5zZXJ2aWNlcykuZm9yRWFjaChzZXJ2aWNlID0+IHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHRoaXMuZ2V0U2VydmljZUVuZHBvaW50QnlTZXJ2aWNlSW5mbyhzZXJ2aWNlKSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGdldFN0b3JhZ2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LnN0b3JhZ2U7XG4gICAgfVxuXG4gICAgZ2V0RW5hYmxlVG5DbGllbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVHJ1ZSh0aGlzLmVudmlyb25tZW50LmVuYWJsZVRuQ2xpZW50KTtcbiAgICB9XG5cbiAgICBnZXRJc0ZvcmNlTG9nb3V0SWY0MDEoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVHJ1ZSh0aGlzLmVudmlyb25tZW50LmF1dGhlbnRpY2F0aW9uU2V0dGluZ3MuaXNGb3JjZUxvZ291dElmNDAxKTtcbiAgICB9XG5cbiAgICBnZXREaXNhYmxlQXV0aGVudGljYXRpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVHJ1ZSh0aGlzLmVudmlyb25tZW50LmF1dGhlbnRpY2F0aW9uU2V0dGluZ3MuZGlzYWJsZWQpO1xuICAgIH1cblxuICAgIGdldEF1dGhlbnRpY2F0aW9uVHlwZSgpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmF1dGhlbnRpY2F0aW9uU2V0dGluZ3MuYXV0aGVuVHlwZTtcbiAgICB9XG5cbiAgICBnZXRFbmFibGVQb3B1bGF0ZUxvZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNUcnVlKHRoaXMuZW52aXJvbm1lbnQuZW5hYmxlUG9wdWxhdGVMb2cpO1xuICAgIH1cblxuICAgIGdldFNob3dEZWZhdWx0U2V0dGluZygpIHtcbiAgICAgICAgY29uc3QgYXBwID0gdGhpcy5nZXRPYmplY3RBcHAodGhpcy5hcHBDb2RlKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNUcnVlKGFwcD8uc2hvd2RlZmF1bHRzZXR0aW5nKTtcbiAgICB9XG5cbiAgICBnZXRDb25maWdEZWZhdWx0U2V0dGluZygpIHtcbiAgICAgICAgY29uc3QgYXBwID0gdGhpcy5nZXRPYmplY3RBcHAodGhpcy5hcHBDb2RlKTtcbiAgICAgICAgcmV0dXJuIGFwcD8uY29uZmlnZGVmYXVsdHNldHRpbmc/LmNvbHVtbiA/PyBbXTtcbiAgICB9XG5cbiAgICBnZXREaXNhYmxlTm90aWZpY2F0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1RydWUodGhpcy5lbnZpcm9ubWVudC5kaXNhYmxlTm90aWZpY2F0aW9uKTtcbiAgICB9XG5cbiAgICBnZXRIZWxwQ29uZmlnX0V4cGVydE5hbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmhlbHBDb25maWcuZXhwZXJ0TmFtZTtcbiAgICB9XG5cbiAgICBnZXRIZWxwQ29uZmlnX0V4cGVydFBob25lTnVtbWJlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuaGVscENvbmZpZy5leHBlcnRQaG9uZU51bW1iZXI7XG4gICAgfVxuXG4gICAgZ2V0SGVscENvbmZpZ19FeHBlcnRFbWFpbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuaGVscENvbmZpZy5leHBlcnRFbWFpbDtcbiAgICB9XG5cbiAgICBnZXRIZWxwQ29uZmlnX0xvZ29Db21wYW55KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5oZWxwQ29uZmlnLmxvZ29Db21wYW55O1xuICAgIH1cblxuICAgIGdldEhlbHBDb25maWdfRG9jdW1lbnRzKCk6IGFueVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuaGVscENvbmZpZy5kb2N1bWVudHM7XG4gICAgfVxuXG4gICAgZ2V0U3BsYXNoU2NyZWVuKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5zcGxhc2hTY3JlZW47XG4gICAgfVxuXG4gICAgZ2V0VW5kZXJjb25zdHJ1Y3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LnVuZGVyY29uc3RydWN0aW9uO1xuICAgIH1cblxuICAgIGdldFNpZ25hbHJfQ2xpZW50S2V5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5zaWduYWxyLmNsaWVudEtleTtcbiAgICB9XG5cbiAgICBnZXRBcGlHYXRld2F5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5hcHBNZXRhZGF0YS5nYXRld2F5O1xuICAgIH1cblxuICAgIGdldEdhdGV3YXlTdWJwYXRoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5hcHBNZXRhZGF0YS5nYXRld2F5U3VicGF0aDtcbiAgICB9XG5cbiAgICBnZXREb2N1bWVudFNlcnZlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEuZG9jdW1lbnRTZXJ2ZXI7XG4gICAgfVxuXG4gICAgZ2V0VXNpbmdJbnRlcm5hbEZpbGVFbmRwb2ludEZvclZpZXcoKSB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZW52aXJvbm1lbnQuaW50ZXJuYWxGaWxlRW5kcG9pbnQ7XG4gICAgfVxuXG4gICAgZ2V0SW50ZXJuYWxGaWxlRW5kcG9pbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmludGVybmFsRmlsZUVuZHBvaW50O1xuICAgIH1cblxuICAgIGdldEt5U29TaW1fVHNhVXJsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5kZWZhdWx0VmFsdWU/Lmt5U29TaW0/LnRzYVVybDtcbiAgICB9XG5cbiAgICBnZXRCdXR0b25QZXJtaXNzaW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuYnV0dG9uUGVybWlzc2lvbnMgPz8gW107XG4gICAgfVxuXG4gICAgZ2V0RmllbGRzSW5EZWZhdWx0U2V0dGluZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuZmllbGRzSW5EZWZhdWx0U2V0dGluZztcbiAgICB9XG5cbiAgICBnZXRLZXlQcmVzc1Blcm1pc3Npb25VdGlscygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQua2V5UHJlc3NQZXJtaXNzaW9uVXRpbHM7XG4gICAgfVxuXG4gICAgZ2V0Q3VzdG9taXplVWkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmN1c3RvbWl6ZVVpO1xuICAgIH1cblxuICAgIGdldFRpdGxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5hcHBNZXRhZGF0YS5tYWluLnRpdGxlO1xuICAgIH1cblxuICAgIGdldExvZ28oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmFwcE1ldGFkYXRhLm1haW4ubG9nbztcbiAgICB9XG5cbiAgICBnZXRPd25lcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEubWFpbi5vd25lcjtcbiAgICB9XG5cbiAgICBnZXRFbmFibGVCYXNlSHJlZigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuZW5hYmxlQmFzZUhyZWY7XG4gICAgfVxuXG4gICAgZ2V0RGVmYXVsdFJlZGlyZWN0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5jbGllbnREb21haW4/LmRlZmF1bHRSZWRpcmVjdDtcbiAgICB9XG5cbiAgICBnZXRJc1Byb2R1Y3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVHJ1ZSh0aGlzLmVudmlyb25tZW50LnByb2R1Y3Rpb24pO1xuICAgIH1cblxuICAgIGdldExpbmtEb3dubG9hZENsaWVudEFwcCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuc2lnbmFsci5saW5rRG93bmxvYWRDbGllbnRBcHA7XG4gICAgfVxuXG4gICAgZ2V0Q3VzdG9tQ29uZmlnKGtleTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghdGhpcy5lbnZpcm9ubWVudC5jdXN0b21Db25maWcpIHJldHVybiBudWxsO1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5jdXN0b21Db25maWdba2V5XTtcbiAgICB9XG5cbiAgICBnZXRMaXN0RG9uVmlRdWFuTHlOZ2FuaCgpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGdldExpc3REb25WaVF1YW5MeUhvY1BoYW4oKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG59XG4iXX0=
|
|
310
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQvc3JjL2xpYi8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL2Vudmlyb25tZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJN0UsTUFBTSxVQUFVLGdCQUFnQjtJQUM1QixPQUFPLElBQUksY0FBYyxDQUFlLEVBQUUsQ0FBQyxDQUFDO0FBQ2hELENBQUM7QUFJRCxNQUFNLE9BQU8sa0JBQWtCO0lBRzNCLFlBRUksa0JBQXVCLElBQUk7UUFFM0IsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNsQiwyQkFBMkI7WUFDM0IsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ3ZELElBQUksSUFBSSxFQUFFO2dCQUNOLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN2QztpQkFDSTtnQkFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7YUFDaEQ7U0FDSjthQUNJO1lBQ0QsTUFBTSxrQkFBa0IsR0FBRyxlQUFlLEVBQUUsQ0FBQztZQUM3QyxJQUFJLENBQUMsV0FBVyxHQUFHLGtCQUFrQixDQUFDLFdBQVcsQ0FBQztZQUNsRCxJQUFJLENBQUMsT0FBTyxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztZQUMxQyxjQUFjLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7U0FDL0U7SUFDTCxDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksS0FBSyxHQUFHLHNCQUFzQixDQUFDO1FBQ25DLElBQUksSUFB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Z0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aENvbmZpZyB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRTY2hlbWEgfSBmcm9tICcuLi9jbGFzc2VzL2Vudmlyb25tZW50LXNjaGVtYSc7XG5pbXBvcnQgeyBNb2R1bGVDb25maWcgfSBmcm9tICcuLi9jb25maWdzL21vZHVsZS1jb25maWcnO1xuZXhwb3J0IGZ1bmN0aW9uIG1vZHVsZUNvbmZpZ0Z1bmMoKSB7XG4gICAgcmV0dXJuIG5ldyBJbmplY3Rpb25Ub2tlbjxNb2R1bGVDb25maWc+KCcnKTtcbn1cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRW52aXJvbm1lbnRTZXJ2aWNlIHtcbiAgICBlbnZpcm9ubWVudDogRW52aXJvbm1lbnRTY2hlbWE7XG4gICAgcHJpdmF0ZSBhcHBDb2RlOiBzdHJpbmc7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QobW9kdWxlQ29uZmlnRnVuYylcbiAgICAgICAgbW9kdWxlQ29uZmlnVmFsOiBhbnkgPSBudWxsXG4gICAgKSB7XG4gICAgICAgIGlmICghbW9kdWxlQ29uZmlnVmFsKSB7XG4gICAgICAgICAgICAvLyBnZXQgZnJvbSBzZXNzaW9uIHN0b3JhZ2VcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdtb2R1bGVDb25maWdWYWwnKTtcbiAgICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lbnZpcm9ubWVudCA9IEpTT04ucGFyc2UoZGF0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdjYW5ub3QgZmluZCBtb2R1bGVDb25maWdWYWwnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG9iak1vZHVsZUNvbmZpZ1ZhbCA9IG1vZHVsZUNvbmZpZ1ZhbCgpO1xuICAgICAgICAgICAgdGhpcy5lbnZpcm9ubWVudCA9IG9iak1vZHVsZUNvbmZpZ1ZhbC5lbnZpcm9ubWVudDtcbiAgICAgICAgICAgIHRoaXMuYXBwQ29kZSA9IG9iak1vZHVsZUNvbmZpZ1ZhbC5hcHBDb2RlO1xuICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnbW9kdWxlQ29uZmlnVmFsJywgSlNPTi5zdHJpbmdpZnkodGhpcy5lbnZpcm9ubWVudCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0QXV0aENvbmZpZygpOiBBdXRoQ29uZmlnIHtcbiAgICAgICAgbGV0IHNjb3BlID0gJ29wZW5pZCBwcm9maWxlIGVtYWlsJztcbiAgICAgICAgaWYgKHRoaXMuZW52aXJvbm1lbnQuYXV0aGVudGljYXRpb25TZXR0aW5ncy5zY29wZSkge1xuICAgICAgICAgICAgc2NvcGUgPSB0aGlzLmVudmlyb25tZW50LmF1dGhlbnRpY2F0aW9uU2V0dGluZ3Muc2NvcGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIDxBdXRoQ29uZmlnPntcbiAgICAgICAgICAgIGlzc3VlcjogYCR7dGhpcy5lbnZpcm9ubWVudC5hdXRoZW50aWNhdGlvblNldHRpbmdzLmlzc3Vlcn1gLFxuICAgICAgICAgICAgY2xpZW50SWQ6IGAke3RoaXMuZW52aXJvbm1lbnQuYXV0aGVudGljYXRpb25TZXR0aW5ncy5jbGllbnRJZH1gLFxuICAgICAgICAgICAgcmVkaXJlY3RVcmk6IHRoaXMuZW52aXJvbm1lbnQuYXV0aGVudGljYXRpb25TZXR0aW5ncy5jdXN0b21SZWRpcmVjdFVyaSB8fCB3aW5kb3cubG9jYXRpb24ub3JpZ2luLFxuICAgICAgICAgICAgcG9zdExvZ291dFJlZGlyZWN0VXJpOiB3aW5kb3cubG9jYXRpb24ub3JpZ2luLFxuICAgICAgICAgICAgc2lsZW50UmVmcmVzaFJlZGlyZWN0VXJpOiB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgJy9zaWxlbnQtcmVmcmVzaC5odG1sJyxcbiAgICAgICAgICAgIHJlcXVpcmVIdHRwczogdGhpcy5lbnZpcm9ubWVudC5hdXRoZW50aWNhdGlvblNldHRpbmdzLnJlcXVpcmVIdHRwcyA/IHRoaXMuZW52aXJvbm1lbnQuYXV0aGVudGljYXRpb25TZXR0aW5ncy5yZXF1aXJlSHR0cHMgOiBmYWxzZSxcbiAgICAgICAgICAgIHNjb3BlLFxuICAgICAgICAgICAgc2hvd0RlYnVnSW5mb3JtYXRpb246IGZhbHNlLFxuICAgICAgICAgICAgcmVxdWVzdEFjY2Vzc1Rva2VuOiB0cnVlLFxuICAgICAgICAgICAgdXNlU2lsZW50UmVmcmVzaDogZmFsc2UsXG4gICAgICAgICAgICBjbGVhckhhc2hBZnRlckxvZ2luOiB0cnVlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTZXJ2aWNlRW5kcG9pbnRCeVNlcnZpY2VJbmZvKHNlcnZpY2VJbmZvOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBsZXQgZW5kcG9pbnQgPSAnJztcbiAgICAgICAgaWYgKHNlcnZpY2VJbmZvLnVzZWxvY2FsZW5kcG9pbnQpIHtcbiAgICAgICAgICAgIGVuZHBvaW50ID0gc2VydmljZUluZm8ubG9jYWxodHRwZW5kcG9pbnQ7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBnYXRld2F5ID0gdGhpcy5lbnZpcm9ubWVudC5hcHBNZXRhZGF0YS5nYXRld2F5O1xuICAgICAgICAgICAgZW5kcG9pbnQgPSBgJHtnYXRld2F5fS8ke3NlcnZpY2VJbmZvLmNvZGV9YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZW5kcG9pbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTZXJ2aWNlRW5kcG9pbnRXaXRoVmVyc2lvbkJ5U2VydmljZUluZm8oc2VydmljZUluZm86IGFueSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGVuZHBvaW50ID0gdGhpcy5nZXRTZXJ2aWNlRW5kcG9pbnRCeVNlcnZpY2VJbmZvKHNlcnZpY2VJbmZvKTtcbiAgICAgICAgbGV0IGFwaVZlcnNpb24gPSB0aGlzLmVudmlyb25tZW50Lm1ham9yQXBpVmVyc2lvbjtcbiAgICAgICAgaWYgKHNlcnZpY2VJbmZvLmFwaVZlcnNpb24pIHtcbiAgICAgICAgICAgIGFwaVZlcnNpb24gPSBzZXJ2aWNlSW5mby5hcGlWZXJzaW9uO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGAke2VuZHBvaW50fS92JHthcGlWZXJzaW9ufWA7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0SHR0cFNlcnZpY2VFbmRwb2ludChzZXJ2aWNlQ29kZTogc3RyaW5nLCBpbmNsdWRlVmVyc2lvbjogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgICAgIHNlcnZpY2VDb2RlID0gc2VydmljZUNvZGUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgY29uc3Qgc2VydmljZUluZm8gPSBPYmplY3QudmFsdWVzKHRoaXMuZW52aXJvbm1lbnQuc2VydmljZXMpLmZpbmQocSA9PiBxLmNvZGUgPT0gc2VydmljZUNvZGUpO1xuICAgICAgICBpZiAoIXNlcnZpY2VJbmZvKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBLaMO0bmcgdMOsbSB0aOG6pXkgZW5kcG9pbnQgY+G7p2Egc2VydmljZSAke3NlcnZpY2VDb2RlfSB0cm9uZyBj4bqldSBow6xuaGApO1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9O1xuICAgICAgICBpZiAoIWluY2x1ZGVWZXJzaW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTZXJ2aWNlRW5kcG9pbnRCeVNlcnZpY2VJbmZvKHNlcnZpY2VJbmZvKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5nZXRTZXJ2aWNlRW5kcG9pbnRXaXRoVmVyc2lvbkJ5U2VydmljZUluZm8oc2VydmljZUluZm8pO1xuICAgIH1cblxuICAgIGdldEh0dHBTZXJ2aWNlRW5kcG9pbnQoc2VydmljZUNvZGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRIdHRwU2VydmljZUVuZHBvaW50KHNlcnZpY2VDb2RlLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgZ2V0SHR0cFNlcnZpY2VFbmRwb2ludFdpdGhWZXJzaW9uKHNlcnZpY2VDb2RlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldEh0dHBTZXJ2aWNlRW5kcG9pbnQoc2VydmljZUNvZGUsIHRydWUpO1xuICAgIH1cblxuICAgIGdldEh0dHBTZXJ2aWNlRW5kcG9pbnRPbGQoc2VydmljZUNvZGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHNlcnZpY2VDb2RlID0gc2VydmljZUNvZGUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgY29uc3Qgc2VydmljZUluZm8gPSBPYmplY3QudmFsdWVzKHRoaXMuZW52aXJvbm1lbnQuc2VydmljZXMpLmZpbmQocSA9PiBxLmNvZGUgPT0gc2VydmljZUNvZGUpO1xuICAgICAgICBpZiAoIXNlcnZpY2VJbmZvKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBLaMO0bmcgdMOsbSB0aOG6pXkgZW5kcG9pbnQgY+G7p2Egc2VydmljZSAke3NlcnZpY2VDb2RlfSB0cm9uZyBj4bqldSBow6xuaGApO1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9O1xuICAgICAgICBsZXQgZW5kcG9pbnQgPSAnJztcbiAgICAgICAgaWYgKHNlcnZpY2VJbmZvLnVzZUxvY2FsKSB7XG4gICAgICAgICAgICBlbmRwb2ludCA9IHNlcnZpY2VJbmZvLmxvY2FsSHR0cEVuZHBvaW50T2xkO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZ2F0ZXdheSA9IHRoaXMuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEuZ2F0ZXdheU9sZDtcbiAgICAgICAgICAgIGVuZHBvaW50ID0gYCR7Z2F0ZXdheX0vJHtzZXJ2aWNlQ29kZX1gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBlbmRwb2ludDtcbiAgICB9XG5cbiAgICBnZXRVc2VyU2V0dGluZ0NvbmZpZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQudXNlclNldHRpbmdDb25maWc7XG4gICAgfVxuXG4gICAgZ2V0VXNlcnNIYXNQZXJtaXNzaW9uUmVzZXRQYXNzd29yZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQudXNlckhhc1Blcm1pc3Npb25SZXNldFBhc3N3b3JkO1xuICAgIH1cblxuICAgIGdldEh0dHBDbGllbnRFbmRwb2ludChzZXJ2aWNlQ29kZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGlzVXNlT2xkU2VydmljZShzZXJ2aWNlQ29kZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHNlcnZpY2VJbmZvID0gT2JqZWN0LnZhbHVlcyh0aGlzLmVudmlyb25tZW50LnNlcnZpY2VzKS5maW5kKHEgPT4gcS5jb2RlID09IHNlcnZpY2VDb2RlKTtcbiAgICAgICAgaWYgKCFzZXJ2aWNlSW5mbykge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgS2jDtG5nIHTDrG0gdGjhuqV5IGVuZHBvaW50IGPhu6dhIHNlcnZpY2UgJHtzZXJ2aWNlQ29kZX0gdHJvbmcgY+G6pXUgaMOsbmhgKTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHNlcnZpY2VJbmZvLnVzZU9sZFZlcnNpb247XG4gICAgfVxuXG4gICAgZ2V0RW5hYmxlSHViKCkge1xuICAgICAgICBsZXQgb2JqRW5hYmxlSHVicyA9IHRoaXMuZW52aXJvbm1lbnQuc2lnbmFsUkNvbmZpZy5lbmFibGVIdWJzO1xuICAgICAgICBpZiAoIW9iakVuYWJsZUh1YnMpIG9iakVuYWJsZUh1YnMgPSB7fTtcbiAgICAgICAgT2JqZWN0LmtleXMob2JqRW5hYmxlSHVicykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgaWYgKChvYmpFbmFibGVIdWJzW2tleV0gYXMgYW55KSA9PT0gJ3RydWUnIHx8IG9iakVuYWJsZUh1YnNba2V5XSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIG9iakVuYWJsZUh1YnNba2V5XSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBvYmpFbmFibGVIdWJzW2tleV0gPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBvYmpFbmFibGVIdWJzO1xuICAgIH1cblxuICAgIGdldERlZmF1bHRNYWxlQXZhdGFyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5hcHBNZXRhZGF0YS5tYWluLmRlZmF1bHRNYWxlQXZhdGFyO1xuICAgIH1cblxuICAgIGdldERlZmF1bHRGZW1hbGVBdmF0YXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmFwcE1ldGFkYXRhLm1haW4uZGVmYXVsdEZlbWFsZUF2YXRhcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVHJ1ZSh2YWx1ZTogYW55KSB7XG4gICAgICAgIHJldHVybiB2YWx1ZSA9PT0gdHJ1ZSB8fCB2YWx1ZSA9PT0gJ3RydWUnO1xuICAgIH1cblxuICAgIGdldExvZ291dE9uVW5hdXRob3JpemVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1RydWUodGhpcy5lbnZpcm9ubWVudC5hdXRoZW50aWNhdGlvblNldHRpbmdzLmxvZ291dE9uVW5hdXRob3JpemVkKTtcbiAgICB9XG5cbiAgICBnZXRMaXN0QXBwKCk6IGFueVtdIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy5lbnZpcm9ubWVudC5hcHBzKTtcbiAgICB9XG5cbiAgICBnZXRPYmplY3RBcHAobW9kdWxlOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy5lbnZpcm9ubWVudC5hcHBzKS5maW5kKHEgPT4gcS5jb2RlID09IG1vZHVsZS50b0xvd2VyQ2FzZSgpKTtcbiAgICB9XG5cbiAgICBnZXRNb2R1bGVOYW1lKG1vZHVsZTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IG9iakFwcCA9IHRoaXMuZ2V0T2JqZWN0QXBwKG1vZHVsZSk7XG4gICAgICAgIHJldHVybiBvYmpBcHA/LnRpdGxlO1xuICAgIH1cblxuICAgIGdldExvbmdNb2R1bGVOYW1lKG1vZHVsZTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IG9iakFwcCA9IHRoaXMuZ2V0T2JqZWN0QXBwKG1vZHVsZSk7XG4gICAgICAgIHJldHVybiBvYmpBcHA/LmxvbmdUaXRsZTtcbiAgICB9XG5cbiAgICBnZXRTaG93V2FybmluZ01lc3NhZ2VJblRvYXN0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1RydWUodGhpcy5lbnZpcm9ubWVudC5zaG93V2FybmluZ01lc3NhZ2VJblRvYXN0KTtcbiAgICB9XG5cbiAgICBnZXRTaG93RXJyb3JNZXNzYWdlSW5Ub2FzdCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNUcnVlKHRoaXMuZW52aXJvbm1lbnQuc2hvd0Vycm9yTWVzc2FnZUluVG9hc3QpO1xuICAgIH1cblxuICAgIGdldElzSWdub3JlQWRtaW4oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVHJ1ZSh0aGlzLmVudmlyb25tZW50LmlzSWdub3JlQWRtaW4pO1xuICAgIH1cblxuICAgIGdldEFwcENvZGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwcENvZGU7XG4gICAgfVxuXG4gICAgZ2V0TGlzdEFwcENvZGUoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLmVudmlyb25tZW50LmFwcHMpLm1hcChxID0+IHEuY29kZSk7XG4gICAgfVxuXG4gICAgZ2V0TGlzdEFwaURvbWFpbigpOiBzdHJpbmdbXSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICBPYmplY3QudmFsdWVzKHRoaXMuZW52aXJvbm1lbnQuc2VydmljZXMpLmZvckVhY2goc2VydmljZSA9PiB7XG4gICAgICAgICAgICByZXN1bHQucHVzaCh0aGlzLmdldFNlcnZpY2VFbmRwb2ludEJ5U2VydmljZUluZm8oc2VydmljZSkpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBnZXRTdG9yYWdlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5zdG9yYWdlO1xuICAgIH1cblxuICAgIGdldEVuYWJsZVRuQ2xpZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1RydWUodGhpcy5lbnZpcm9ubWVudC5lbmFibGVUbkNsaWVudCk7XG4gICAgfVxuXG4gICAgZ2V0SXNGb3JjZUxvZ291dElmNDAxKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1RydWUodGhpcy5lbnZpcm9ubWVudC5hdXRoZW50aWNhdGlvblNldHRpbmdzLmlzRm9yY2VMb2dvdXRJZjQwMSk7XG4gICAgfVxuXG4gICAgZ2V0RGlzYWJsZUF1dGhlbnRpY2F0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1RydWUodGhpcy5lbnZpcm9ubWVudC5hdXRoZW50aWNhdGlvblNldHRpbmdzLmRpc2FibGVkKTtcbiAgICB9XG5cbiAgICBnZXRBdXRoZW50aWNhdGlvblR5cGUoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5hdXRoZW50aWNhdGlvblNldHRpbmdzLmF1dGhlblR5cGU7XG4gICAgfVxuXG4gICAgZ2V0RW5hYmxlUG9wdWxhdGVMb2coKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVHJ1ZSh0aGlzLmVudmlyb25tZW50LmVuYWJsZVBvcHVsYXRlTG9nKTtcbiAgICB9XG5cbiAgICBnZXRTaG93RGVmYXVsdFNldHRpbmcoKSB7XG4gICAgICAgIGNvbnN0IGFwcCA9IHRoaXMuZ2V0T2JqZWN0QXBwKHRoaXMuYXBwQ29kZSk7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVHJ1ZShhcHA/LnNob3dkZWZhdWx0c2V0dGluZyk7XG4gICAgfVxuXG4gICAgZ2V0Q29uZmlnRGVmYXVsdFNldHRpbmcoKSB7XG4gICAgICAgIGNvbnN0IGFwcCA9IHRoaXMuZ2V0T2JqZWN0QXBwKHRoaXMuYXBwQ29kZSk7XG4gICAgICAgIHJldHVybiBhcHA/LmNvbmZpZ2RlZmF1bHRzZXR0aW5nPy5jb2x1bW4gPz8gW107XG4gICAgfVxuXG4gICAgZ2V0RGlzYWJsZU5vdGlmaWNhdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNUcnVlKHRoaXMuZW52aXJvbm1lbnQuZGlzYWJsZU5vdGlmaWNhdGlvbik7XG4gICAgfVxuXG4gICAgZ2V0SGVscENvbmZpZ19FeHBlcnROYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5oZWxwQ29uZmlnLmV4cGVydE5hbWU7XG4gICAgfVxuXG4gICAgZ2V0SGVscENvbmZpZ19FeHBlcnRQaG9uZU51bW1iZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmhlbHBDb25maWcuZXhwZXJ0UGhvbmVOdW1tYmVyO1xuICAgIH1cblxuICAgIGdldEhlbHBDb25maWdfRXhwZXJ0RW1haWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmhlbHBDb25maWcuZXhwZXJ0RW1haWw7XG4gICAgfVxuXG4gICAgZ2V0SGVscENvbmZpZ19Mb2dvQ29tcGFueSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuaGVscENvbmZpZy5sb2dvQ29tcGFueTtcbiAgICB9XG5cbiAgICBnZXRIZWxwQ29uZmlnX0RvY3VtZW50cygpOiBhbnlbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmhlbHBDb25maWcuZG9jdW1lbnRzO1xuICAgIH1cblxuICAgIGdldFNwbGFzaFNjcmVlbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuc3BsYXNoU2NyZWVuO1xuICAgIH1cblxuICAgIGdldFVuZGVyY29uc3RydWN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC51bmRlcmNvbnN0cnVjdGlvbjtcbiAgICB9XG5cbiAgICBnZXRTaWduYWxyX0NsaWVudEtleSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuc2lnbmFsci5jbGllbnRLZXk7XG4gICAgfVxuXG4gICAgZ2V0QXBpR2F0ZXdheSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEuZ2F0ZXdheTtcbiAgICB9XG5cbiAgICBnZXRHYXRld2F5U3VicGF0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEuZ2F0ZXdheVN1YnBhdGg7XG4gICAgfVxuXG4gICAgZ2V0RG9jdW1lbnRTZXJ2ZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmFwcE1ldGFkYXRhLmRvY3VtZW50U2VydmVyO1xuICAgIH1cblxuICAgIGdldFVzaW5nSW50ZXJuYWxGaWxlRW5kcG9pbnRGb3JWaWV3KCkge1xuICAgICAgICByZXR1cm4gISF0aGlzLmVudmlyb25tZW50LmludGVybmFsRmlsZUVuZHBvaW50O1xuICAgIH1cblxuICAgIGdldEludGVybmFsRmlsZUVuZHBvaW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5pbnRlcm5hbEZpbGVFbmRwb2ludDtcbiAgICB9XG5cbiAgICBnZXRLeVNvU2ltX1RzYVVybCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuZGVmYXVsdFZhbHVlPy5reVNvU2ltPy50c2FVcmw7XG4gICAgfVxuXG4gICAgZ2V0QnV0dG9uUGVybWlzc2lvbnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmJ1dHRvblBlcm1pc3Npb25zID8/IFtdO1xuICAgIH1cblxuICAgIGdldEZpZWxkc0luRGVmYXVsdFNldHRpbmcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmZpZWxkc0luRGVmYXVsdFNldHRpbmc7XG4gICAgfVxuXG4gICAgZ2V0S2V5UHJlc3NQZXJtaXNzaW9uVXRpbHMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmtleVByZXNzUGVybWlzc2lvblV0aWxzO1xuICAgIH1cblxuICAgIGdldEN1c3RvbWl6ZVVpKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5jdXN0b21pemVVaTtcbiAgICB9XG5cbiAgICBnZXRUaXRsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEubWFpbi50aXRsZTtcbiAgICB9XG5cbiAgICBnZXRMb2dvKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5hcHBNZXRhZGF0YS5tYWluLmxvZ287XG4gICAgfVxuXG4gICAgZ2V0T3duZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmFwcE1ldGFkYXRhLm1haW4ub3duZXI7XG4gICAgfVxuXG4gICAgZ2V0RW5hYmxlQmFzZUhyZWYoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmVuYWJsZUJhc2VIcmVmO1xuICAgIH1cblxuICAgIGdldERlZmF1bHRSZWRpcmVjdCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuY2xpZW50RG9tYWluPy5kZWZhdWx0UmVkaXJlY3Q7XG4gICAgfVxuXG4gICAgZ2V0SXNQcm9kdWN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1RydWUodGhpcy5lbnZpcm9ubWVudC5wcm9kdWN0aW9uKTtcbiAgICB9XG5cbiAgICBnZXRMaW5rRG93bmxvYWRDbGllbnRBcHAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LnNpZ25hbHIubGlua0Rvd25sb2FkQ2xpZW50QXBwO1xuICAgIH1cblxuICAgIGdldEN1c3RvbUNvbmZpZyhrZXk6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMuZW52aXJvbm1lbnQuY3VzdG9tQ29uZmlnKSByZXR1cm4gbnVsbDtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuY3VzdG9tQ29uZmlnW2tleV07XG4gICAgfVxuXG4gICAgZ2V0TGlzdERvblZpUXVhbkx5TmdhbmgoKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBnZXRMaXN0RG9uVmlRdWFuTHlIb2NQaGFuKCkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgfVxufVxuIl19
|
package/fesm2015/tnx-shared.js
CHANGED
|
@@ -477,7 +477,7 @@ class EnvironmentService {
|
|
|
477
477
|
}
|
|
478
478
|
getServiceEndpointByServiceInfo(serviceInfo) {
|
|
479
479
|
let endpoint = '';
|
|
480
|
-
if (serviceInfo.
|
|
480
|
+
if (serviceInfo.uselocalendpoint) {
|
|
481
481
|
endpoint = serviceInfo.localhttpendpoint;
|
|
482
482
|
}
|
|
483
483
|
else {
|
|
@@ -45039,7 +45039,7 @@ class SplashComponentV1Component extends ComponentBase {
|
|
|
45039
45039
|
SplashComponentV1Component.decorators = [
|
|
45040
45040
|
{ type: Component, args: [{
|
|
45041
45041
|
selector: 'splash-component-v1',
|
|
45042
|
-
template: "<div *ngIf=\"!loaded\" class=\"wrp-loader\">\n <div class=\"loader\"></div>\n</div>\n<div *ngIf=\"loaded\" class=\"modules-v1\">\n <div class=\"welcome-user\">\n <div class=\"profile-image\">\n <img class=\"custom-avatar\" [src-fallback]=\"defaultAvatar\" [src]=\"getCurrentUserAvatar()\" />\n </div>\n\n <div class=\"wrp-login\">\n <h2>Xin ch\u00E0o!</h2>\n <b>{{currentUser.fullName}}</b>\n <div *ngIf=\"currentUser\" class=\"login\">\n <a (click)=\"goToPersonal()\"><i class=\"far fa-folder-open\"></i>Trang c\u00E1 nh\u00E2n</a>\n <a style=\"background: #fabc01;\" (click)=\"logout()\"><i class=\"far fa-arrow-alt-circle-right\"></i>\u0110\u0103ng\n xu\u1EA5t</a>\n </div>\n <div *ngIf=\"!currentUser\" class=\"login\"><a style=\"background: #fabc01;\" (click)=\"login()\"><i\n class=\"fas fa-sign-out-alt\"></i>\u0110\u0103ng nh\u1EADp</a></div>\n </div>\n\n <div class=\"clock-wrapper\">\n <h1 class=\"clock\">{{currentDate | date:'HH:mm:ss'}}</h1>\n <h4 class=\"data-time\">{{getNgayTrongTuan()}}, ng\u00E0y {{currentDate | date:'dd/MM/yyyy'}}</h4>\n </div>\n </div>\n\n <div class=\"module-icons\">\n <div class=\"img-title\">\n <img class=\"tn-custom-logo\" [src]=\"config.logo\"
|
|
45042
|
+
template: "<div *ngIf=\"!loaded\" class=\"wrp-loader\">\n <div class=\"loader\"></div>\n</div>\n<div *ngIf=\"loaded\" class=\"modules-v1\">\n <div class=\"welcome-user\">\n <div class=\"profile-image\">\n <img class=\"custom-avatar\" [src-fallback]=\"defaultAvatar\" [src]=\"getCurrentUserAvatar()\" />\n </div>\n\n <div class=\"wrp-login\">\n <h2>Xin ch\u00E0o!</h2>\n <b>{{currentUser.fullName}}</b>\n <div *ngIf=\"currentUser\" class=\"login\">\n <a (click)=\"goToPersonal()\"><i class=\"far fa-folder-open\"></i>Trang c\u00E1 nh\u00E2n</a>\n <a style=\"background: #fabc01;\" (click)=\"logout()\"><i class=\"far fa-arrow-alt-circle-right\"></i>\u0110\u0103ng\n xu\u1EA5t</a>\n </div>\n <div *ngIf=\"!currentUser\" class=\"login\"><a style=\"background: #fabc01;\" (click)=\"login()\"><i\n class=\"fas fa-sign-out-alt\"></i>\u0110\u0103ng nh\u1EADp</a></div>\n </div>\n\n <div class=\"clock-wrapper\">\n <h1 class=\"clock\">{{currentDate | date:'HH:mm:ss'}}</h1>\n <h4 class=\"data-time\">{{getNgayTrongTuan()}}, ng\u00E0y {{currentDate | date:'dd/MM/yyyy'}}</h4>\n </div>\n </div>\n\n <div class=\"module-icons\">\n <div class=\"img-title\">\n <img class=\"tn-custom-logo\" [src]=\"config.logo\" [alt]=\"config.owner\">\n <div class=\"title\">\n <h2>{{config.title}}</h2>\n <h1>{{config.owner}}</h1>\n </div>\n </div>\n\n <div class=\"div1111-wrapper\">\n <tn-custom-scrollbar *ngIf=\"!isOnMobile\">\n <ng-container *ngTemplateOutlet=\"appSwitcher\"></ng-container>\n </tn-custom-scrollbar>\n\n <ng-container *ngIf=\"isOnMobile\">\n <ng-container *ngTemplateOutlet=\"appSwitcher\"></ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #appSwitcher>\n <div class=\"div1111\">\n <ng-container *ngFor=\"let item of appSwitcherItems; let ind = index;\">\n <span>\n <a class=\"bg-switcher\" (click)=\"switchApp(item)\">\n <i class=\"{{item.icon}} app-switcher-item-icon\"></i>\n <span>{{ item.title | translate}}</span>\n </a>\n </span>\n </ng-container>\n </div>\n</ng-template>",
|
|
45043
45043
|
providers: [ComponentContextService],
|
|
45044
45044
|
styles: ["body{background-color:#fff;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.wrp-loader{display:inline-block;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:101}.wrp-loader .loader{-webkit-animation:load4 1.3s linear infinite;animation:load4 1.3s linear infinite;border:2px solid #bcdbf5;border-radius:50%;border-top-color:#3192e1;color:#607d8b;display:block;font-size:10px;height:10px;width:10px}.modules-v1{align-items:center;background-image:url(/assets/images/background-splash.png);background-position:50%;background-repeat:no-repeat;background-size:cover;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:100}.modules-v1 div>span{border-radius:5px;box-shadow:1px 2px 9px 1px #dadada;display:inline-block;height:120px;margin:10px;min-width:100px;white-space:normal;width:120px}.modules-v1 div>span>a{border-radius:5px;cursor:pointer;display:inline-block;display:flex;flex-direction:column;font-weight:700;height:100%;justify-content:space-evenly;position:relative}.modules-v1 div>span>a,.modules-v1 div>span>a>span{color:#fff;text-align:center;text-decoration:unset;width:100%}.modules-v1 div>span>a>span{display:inline-block;line-height:1.2}.modules-v1 div>span>a>i{font-size:3.5em;width:100%}.modules-v1 .div1111-wrapper{height:420px;margin:0 auto;max-width:700px;overflow:auto}.modules-v1 .div1111-wrapper .div1111{display:flex;flex-wrap:wrap;white-space:nowrap;width:100%}.modules-v1 .div1111-wrapper .div1111 .bg-switcher{background:#fff;transition:.3s}.modules-v1 .div1111-wrapper .div1111 .bg-switcher .app-switcher-item-icon{color:#52abff;transition:.3s}.modules-v1 .div1111-wrapper .div1111 .bg-switcher span{color:#2f70ac;font-weight:500;text-shadow:none;transition:.3s}.modules-v1 .div1111-wrapper .div1111 .bg-switcher:hover{background:#fabc01;box-shadow:1px 2px 9px 1px rgba(39,23,86,.5215686274509804)}.modules-v1 .div1111-wrapper .div1111 .bg-switcher:hover .app-switcher-item-icon,.modules-v1 .div1111-wrapper .div1111 .bg-switcher:hover span{color:#2f70ac}.modules-v1 .module-icons{-ms-grid-row-align:stretch;align-self:stretch;background-color:rgba(249,244,244,.9215686274509803);color:#666;display:flex;flex-direction:column;justify-content:space-evenly;text-align:center;width:65%}.modules-v1 .module-icons .img-title .tn-custom-logo{width:100px}.modules-v1 .module-icons h2{color:#271756;font-size:25px;margin-bottom:15px;margin-top:15px}.modules-v1 .module-icons h1{color:#2f70ac;font-size:35px;margin-bottom:0;margin-top:0}.modules-v1 .welcome-user{-ms-grid-row-align:stretch;align-self:stretch;background-color:rgba(47,112,172,.9215686274509803);display:flex;flex-direction:column;text-align:center;width:35%}.modules-v1 .welcome-user .wrp-login{align-items:center;color:#fff;display:flex;flex-direction:column;margin:20px auto auto}.modules-v1 .welcome-user .wrp-login h2{font-size:20px;font-weight:500;margin-bottom:5px;margin-top:0}.modules-v1 .welcome-user .wrp-login b{display:block;font-size:25px;text-transform:uppercase}.modules-v1 .welcome-user .wrp-login .login{-ms-grid-columns:(150px)[2];display:-ms-grid;display:grid;grid-gap:10px;grid-template-columns:repeat(2,150px);margin-top:30px}.modules-v1 .welcome-user .wrp-login .login a{background:#fff;border-radius:5px;color:#5d5d5d;cursor:pointer;display:inline-block;padding:6px}.modules-v1 .welcome-user .wrp-login .login a i{margin-right:10px}.modules-v1 .welcome-user .profile-image{margin:auto auto 0}.modules-v1 .welcome-user .profile-image img{-o-object-fit:contain;background:#fff;border-radius:50%;box-shadow:1px 1px 11px 6px #2a659b;height:200px;object-fit:contain;width:200px}.modules-v1 .welcome-user .clock-wrapper{color:#fff;margin-bottom:auto;margin-top:auto;text-align:center}.modules-v1 .welcome-user .clock-wrapper h4{font-size:18px;font-weight:500;margin-top:10px}.modules-v1 .welcome-user .clock-wrapper h1{font-size:40px;margin-bottom:0}.modules-v1 .underconstruction{color:red;font-size:4em;font-weight:700;text-transform:uppercase}@media (max-width:1368px){.modules-v1 .clock{font-size:1.5em;margin:0 20px}.modules-v1 .data-time{font-size:1em;margin:10px 0 20px}}@media (max-width:1100px){.modules-v1 .div1111-wrapper .div1111{-ms-grid-columns:(minmax(120px,1fr))[4];display:-ms-grid;display:grid;grid-template-columns:repeat(4,minmax(120px,1fr))}}@media (max-width:991px){.modules-v1 .welcome-user .wrp-login .login{-ms-grid-columns:1fr;grid-template-columns:1fr}}@media (max-width:768px){.modules-v1{flex-direction:column}.modules-v1 .welcome-user{align-items:center;flex-direction:row;height:270px;padding-bottom:87px;width:100%}.modules-v1 .welcome-user .profile-image{margin-bottom:auto}.modules-v1 .welcome-user .profile-image img{height:150px;width:150px}.modules-v1 .welcome-user .wrp-login{margin-top:auto}.modules-v1 .welcome-user .wrp-login .login{margin-top:20px}.modules-v1 .welcome-user .clock-wrapper{padding-right:15px}.modules-v1 .module-icons{height:calc(100% - 270px);width:100%}.modules-v1 .module-icons .img-title{background-image:url(/assets/images/logo.png);background-position:50%;background-repeat:no-repeat;z-index:9}.modules-v1 .module-icons .img-title img{display:none}.modules-v1 .module-icons .img-title .title{background:hsla(0,0%,100%,.9019607843137255);box-shadow:1px 4px 9px 2px #67a0d4;left:20px;padding:20px 10px;position:absolute;right:20px;top:200px;width:calc(100% - 40px)}.modules-v1 .module-icons .img-title .title h2{font-size:30px}.modules-v1 .module-icons .img-title .title h1{font-size:34px}}@media (max-width:640px){.modules-v1 .welcome-user{display:block;padding-top:20px}.modules-v1 .welcome-user .wrp-login{float:right;padding:0 20px 0 0;width:50%}.modules-v1 .welcome-user .wrp-login h2{font-size:14px;margin-bottom:3px}.modules-v1 .welcome-user .wrp-login b{font-size:14px}.modules-v1 .welcome-user .wrp-login .login{display:flex;flex-direction:column;margin-top:10px;padding:0 15px;text-align:left}.modules-v1 .welcome-user .wrp-login .login a{font-size:14px}.modules-v1 .welcome-user .profile-image{float:left;width:50%}.modules-v1 .welcome-user .profile-image img{display:block;height:130px;margin-left:35px;width:130px}.modules-v1 .welcome-user .clock-wrapper{clear:both;padding-right:0;padding-top:10px}.modules-v1 .welcome-user .clock-wrapper h4{font-size:14px;margin-top:5px}.modules-v1 .welcome-user .clock-wrapper h1{font-size:1.3em}.modules-v1 .module-icons .img-title{background-size:80px 80px}.modules-v1 .module-icons .img-title .title{top:230px}.modules-v1 .module-icons .img-title .title h1{font-size:16px}.modules-v1 .module-icons .img-title .title h2{font-size:16px;margin-top:0}.modules-v1 .module-icons .div1111-wrapper{height:360px;margin-top:0}.modules-v1 .module-icons .div1111-wrapper .div1111 .bg-switcher span{font-size:14px}.modules-v1 .module-icons div>span{height:100px;width:100px}.modules-v1 .module-icons div>span>a>i{font-size:2.5em;top:10px}}@media (max-width:425px){.modules-v1 .module-icons .img-title .title{top:225px}.modules-v1 .module-icons .div1111-wrapper .div1111{-ms-grid-columns:(minmax(120px,1fr))[3];display:-ms-grid;display:grid;grid-template-columns:repeat(3,minmax(120px,1fr))}}@media (max-width:375px){.modules-v1 .module-icons{height:calc(100% - 250px)}.modules-v1 .module-icons .img-title{background-size:60px 60px}.modules-v1 .module-icons .img-title .title{padding:10px;top:220px}.modules-v1 .module-icons .img-title .title h2{margin-bottom:10px}.modules-v1 .module-icons .img-title .title h1,.modules-v1 .module-icons .img-title .title h2{font-size:14px}.modules-v1 .welcome-user{height:250px}}@media (max-width:360px){.modules-v1 .module-icons{height:calc(100% - 240px)}.modules-v1 .module-icons .img-title{background-size:60px 60px}.modules-v1 .module-icons .img-title .title{left:10px;right:10px;top:205px;width:calc(100% - 20px)}.modules-v1 .welcome-user{height:240px}.modules-v1 .welcome-user .clock-wrapper{padding-top:0}}@-webkit-keyframes load4{0%,to{box-shadow:0 -3em 0 .2em,2em -2em 0 0,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 0}12.5%{box-shadow:0 -3em 0 0,2em -2em 0 .2em,3em 0 0 0,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}25%{box-shadow:0 -3em 0 -.5em,2em -2em 0 0,3em 0 0 .2em,2em 2em 0 0,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}37.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 0,2em 2em 0 .2em,0 3em 0 0,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}50%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 0,0 3em 0 .2em,-2em 2em 0 0,-3em 0 0 -1em,-2em -2em 0 -1em}62.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 0,-2em 2em 0 .2em,-3em 0 0 0,-2em -2em 0 -1em}75%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 .2em,-2em -2em 0 0}87.5%{box-shadow:0 -3em 0 0,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 0,-2em -2em 0 .2em}}@keyframes load4{0%,to{box-shadow:0 -3em 0 .2em,2em -2em 0 0,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 0}12.5%{box-shadow:0 -3em 0 0,2em -2em 0 .2em,3em 0 0 0,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}25%{box-shadow:0 -3em 0 -.5em,2em -2em 0 0,3em 0 0 .2em,2em 2em 0 0,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}37.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 0,2em 2em 0 .2em,0 3em 0 0,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}50%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 0,0 3em 0 .2em,-2em 2em 0 0,-3em 0 0 -1em,-2em -2em 0 -1em}62.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 0,-2em 2em 0 .2em,-3em 0 0 0,-2em -2em 0 -1em}75%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 .2em,-2em -2em 0 0}87.5%{box-shadow:0 -3em 0 0,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 0,-2em -2em 0 .2em}}"]
|
|
45045
45045
|
},] }
|