ng-yunzai-mobile
Version:
1. 适配yunzai_uni_app_x
362 lines • 22.5 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: devices/yiban.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
/*
* @Author: cuihaonan
* @Email: devcui@outlook.com
* @Date: 2021-04-07 13:59:18
* @LastEditTime: 2021-06-08 15:10:01
* @LastEditors: cuihaonan
* @Description: Basic description
* @FilePath: /angular-mobile-npm-package/projects/ng-yunzai-mobile/devices/yiban.ts
* @LICENSE: NONE
*/
import { BaseDevice } from "./base.device";
import { Inject, Injectable } from "@angular/core";
import { TokenService } from "../token/token.service";
import { HttpClient } from "@angular/common/http";
import { UserService } from "../user/user.service";
import { BASE_CLIENT } from "../client/base.client";
import { preloaderFinished } from "../auth/preloader";
import { Title } from "@angular/platform-browser";
import * as i0 from "@angular/core";
import * as i1 from "../token/token.service";
import * as i2 from "@angular/common/http";
import * as i3 from "../user/user.service";
import * as i4 from "@angular/platform-browser";
import * as i5 from "../client/base.client";
var Yiban = /** @class */ (function (_super) {
tslib_1.__extends(Yiban, _super);
function Yiban(tokenService, http, user, title, baseclient) {
var _this = _super.call(this) || this;
_this.tokenService = tokenService;
_this.http = http;
_this.user = user;
_this.title = title;
_this.baseclient = baseclient;
return _this;
}
/**
* @return {?}
*/
Yiban.prototype.auth = /**
* @return {?}
*/
function () {
var _this = this;
return new Promise((/**
* @param {?} resolve
* @param {?} reject
* @return {?}
*/
function (resolve, reject) {
// 查看有无参数
/** @type {?} */
var params = window.location.href.split("?")[1];
if (params) {
// 拿到参数键直对
/** @type {?} */
var kvs = params.split("&");
/** @type {?} */
var tokenInfo_1 = {};
// 查看有无token信息
kvs.forEach((/**
* @param {?} k
* @return {?}
*/
function (k) {
if (k.includes("_token")) {
tokenInfo_1["accessToken"] = k.split("=")[1];
tokenInfo_1["tokenType"] = "bearer";
}
}));
// 如果有token信息
if (tokenInfo_1.accessToken) {
// 设置token信息
_this.tokenService.set(tokenInfo_1);
// 请求user
_this.http
.get(_this.baseclient.gateway + "/auth/user")
.subscribe((/**
* @param {?} response
* @return {?}
*/
function (response) {
// 设置user
_this.user.set(tslib_1.__assign({}, response.principal, { tenantId: response.tenantId }));
// 加载结束
preloaderFinished();
resolve(true);
}));
}
else {
alert("无法获取到易班用户信息参数");
}
}
else {
alert("无法获取到易班参数");
}
}));
};
/**
* @param {?} iwindow
* @return {?}
*/
Yiban.prototype.openWindow = /**
* @param {?} iwindow
* @return {?}
*/
function (iwindow) {
window.open(iwindow.url);
};
/**
* @param {?} ititle
* @return {?}
*/
Yiban.prototype.setTitle = /**
* @param {?} ititle
* @return {?}
*/
function (ititle) {
this.title.setTitle(ititle.title);
};
/**
* @param {?} navigationBar
* @return {?}
*/
Yiban.prototype.setNavigationBar = /**
* @param {?} navigationBar
* @return {?}
*/
function (navigationBar) {
alert("易班暂不支持放置按钮,请在APP中使用此功能!");
};
/**
* @param {?} ishare
* @return {?}
*/
Yiban.prototype.share = /**
* @param {?} ishare
* @return {?}
*/
function (ishare) {
alert("易班暂不支持分享,请在APP中使用此功能!");
};
/**
* @return {?}
*/
Yiban.prototype.getToken = /**
* @return {?}
*/
function () {
return this.tokenService.get();
};
/**
* @return {?}
*/
Yiban.prototype.scanCode = /**
* @return {?}
*/
function () {
alert("易班暂不支持扫码,请在APP中使用此功能!");
return undefined;
};
/**
* @return {?}
*/
Yiban.prototype.userLocation = /**
* @return {?}
*/
function () {
alert("易班暂不支持定位,请在APP中使用此功能!");
return undefined;
};
/**
* @param {?} bssids
* @return {?}
*/
Yiban.prototype.validateInWifi = /**
* @param {?} bssids
* @return {?}
*/
function (bssids) {
alert("易班暂不支持WIFI验证,请在APP中使用此功能!");
return undefined;
};
/**
* @return {?}
*/
Yiban.prototype.getWifiMac = /**
* @return {?}
*/
function () {
alert("易班暂不支持获取MAC地址,请在APP中使用此功能!");
return undefined;
};
/**
* @param {?} count
* @return {?}
*/
Yiban.prototype.chooseContacts = /**
* @param {?} count
* @return {?}
*/
function (count) {
alert("易班暂不支持获取联系人,请在APP中使用此功能!");
return undefined;
};
/**
* @param {?} targetUserId
* @return {?}
*/
Yiban.prototype.contactDetails = /**
* @param {?} targetUserId
* @return {?}
*/
function (targetUserId) {
alert("易班暂不支持查询联系人详细信息,请在APP中使用此功能!");
return undefined;
};
/**
* @param {?} count
* @param {?} sourceType
* @return {?}
*/
Yiban.prototype.uploadImage = /**
* @param {?} count
* @param {?} sourceType
* @return {?}
*/
function (count, sourceType) {
alert("易班暂不支持图片上传,请在APP中使用此功能!");
return undefined;
};
/**
* @param {?} url
* @param {?} openType
* @param {?} title
* @param {?} id
* @param {?} type
* @return {?}
*/
Yiban.prototype.openReadWithTimer = /**
* @param {?} url
* @param {?} openType
* @param {?} title
* @param {?} id
* @param {?} type
* @return {?}
*/
function (url, openType, title, id, type) {
alert("易班暂不支持读物时间统计,请在APP中使用此功能!");
return undefined;
};
/**
* @param {?} limitMinute
* @return {?}
*/
Yiban.prototype.uploadMovie = /**
* @param {?} limitMinute
* @return {?}
*/
function (limitMinute) {
alert("易班暂不支持视频上传,请在APP中使用此功能!");
return undefined;
};
/**
* @param {?} url
* @param {?} title
* @return {?}
*/
Yiban.prototype.fileBrowser = /**
* @param {?} url
* @param {?} title
* @return {?}
*/
function (url, title) {
alert("易班暂不支持此功能,请在APP中使用此功能!");
return undefined;
};
/**
* @param {?} ticket
* @param {?} callback
* @return {?}
*/
Yiban.prototype.startSearchBeacons = /**
* @param {?} ticket
* @param {?} callback
* @return {?}
*/
function (ticket, callback) {
throw new Error("Method not implemented.");
};
/**
* @param {?} callback
* @return {?}
*/
Yiban.prototype.stopSearchBeacons = /**
* @param {?} callback
* @return {?}
*/
function (callback) {
throw new Error("Method not implemented.");
};
/**
* @param {?} callback
* @return {?}
*/
Yiban.prototype.onSearchBeacons = /**
* @param {?} callback
* @return {?}
*/
function (callback) {
throw new Error("Method not implemented.");
};
Yiban.decorators = [
{ type: Injectable, args: [{
providedIn: "root",
},] }
];
/** @nocollapse */
Yiban.ctorParameters = function () { return [
{ type: TokenService },
{ type: HttpClient },
{ type: UserService },
{ type: Title },
{ type: undefined, decorators: [{ type: Inject, args: [BASE_CLIENT,] }] }
]; };
/** @nocollapse */ Yiban.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function Yiban_Factory() { return new Yiban(i0.ɵɵinject(i1.TokenService), i0.ɵɵinject(i2.HttpClient), i0.ɵɵinject(i3.UserService), i0.ɵɵinject(i4.Title), i0.ɵɵinject(i5.BASE_CLIENT)); }, token: Yiban, providedIn: "root" });
return Yiban;
}(BaseDevice));
export { Yiban };
if (false) {
/**
* @type {?}
* @private
*/
Yiban.prototype.tokenService;
/**
* @type {?}
* @private
*/
Yiban.prototype.http;
/**
* @type {?}
* @private
*/
Yiban.prototype.user;
/**
* @type {?}
* @private
*/
Yiban.prototype.title;
/**
* @type {?}
* @private
*/
Yiban.prototype.baseclient;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWliYW4uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy15dW56YWktbW9iaWxlLyIsInNvdXJjZXMiOlsiZGV2aWNlcy95aWJhbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBV0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7O0FBRWxEO0lBRzJCLGlDQUFVO0lBQ25DLGVBQ1UsWUFBMEIsRUFDMUIsSUFBZ0IsRUFDaEIsSUFBaUIsRUFDakIsS0FBWSxFQUNTLFVBQXNCO1FBTHJELFlBT0UsaUJBQU8sU0FDUjtRQVBTLGtCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFVBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsVUFBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixXQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1MsZ0JBQVUsR0FBVixVQUFVLENBQVk7O0lBR3JELENBQUM7Ozs7SUFFRCxvQkFBSTs7O0lBQUo7UUFBQSxpQkFvQ0M7UUFuQ0MsT0FBTyxJQUFJLE9BQU87Ozs7O1FBQU0sVUFBQyxPQUFPLEVBQUUsTUFBTTs7O2dCQUVoQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENB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QUNWLFdBQVc7Z0JBTVgsS0FBSztnREFXVCxNQUFNLFNBQUMsV0FBVzs7O2dCQWhDdkI7Q0FnS0MsQUF6SUQsQ0FHMkIsVUFBVSxHQXNJcEM7U0F0SVksS0FBSzs7Ozs7O0lBRWQsNkJBQWtDOzs7OztJQUNsQyxxQkFBd0I7Ozs7O0lBQ3hCLHFCQUF5Qjs7Ozs7SUFDekIsc0JBQW9COzs7OztJQUNwQiwyQkFBbUQiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBAQXV0aG9yOiBjdWloYW9uYW5cclxuICogQEVtYWlsOiBkZXZjdWlAb3V0bG9vay5jb21cclxuICogQERhdGU6IDIwMjEtMDQtMDcgMTM6NTk6MThcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wNi0wOCAxNToxMDowMVxyXG4gKiBATGFzdEVkaXRvcnM6IGN1aWhhb25hblxyXG4gKiBARGVzY3JpcHRpb246IEJhc2ljIGRlc2NyaXB0aW9uXHJcbiAqIEBGaWxlUGF0aDogL2FuZ3VsYXItbW9iaWxlLW5wbS1wYWNrYWdlL3Byb2plY3RzL25nLXl1bnphaS1tb2JpbGUvZGV2aWNlcy95aWJhbi50c1xyXG4gKiBATElDRU5TRTogTk9ORVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IEJhc2VEZXZpY2UgfSBmcm9tIFwiLi9iYXNlLmRldmljZVwiO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBUb2tlblNlcnZpY2UgfSBmcm9tIFwiLi4vdG9rZW4vdG9rZW4uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSBcIi4uL3VzZXIvdXNlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEJhc2VDbGllbnQsIEJBU0VfQ0xJRU5UIH0gZnJvbSBcIi4uL2NsaWVudC9iYXNlLmNsaWVudFwiO1xyXG5pbXBvcnQgeyBwcmVsb2FkZXJGaW5pc2hlZCB9IGZyb20gXCIuLi9hdXRoL3ByZWxvYWRlclwiO1xyXG5pbXBvcnQgeyBJdG9rZW4gfSBmcm9tIFwiLi4vYXV0aC9pdG9rZW5cIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IElTaGFyZSwgSVRpdGxlLCBJV2luZG93LCBOYXZpZ2F0aW9uQmFyLCBVc2VyTG9jYXRpb24gfSBmcm9tIFwiLi9tb2RlbFwiO1xyXG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBZaWJhbiBleHRlbmRzIEJhc2VEZXZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0b2tlblNlcnZpY2U6IFRva2VuU2VydmljZSxcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgdXNlcjogVXNlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRpdGxlOiBUaXRsZSxcclxuICAgIEBJbmplY3QoQkFTRV9DTElFTlQpIHByaXZhdGUgYmFzZWNsaWVudDogQmFzZUNsaWVudFxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIGF1dGgoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxhbnk+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgLy8g5p+l55yL5pyJ5peg5Y+C5pWwXHJcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KFwiP1wiKVsxXTtcclxuICAgICAgaWYgKHBhcmFtcykge1xyXG4gICAgICAgIC8vIOaLv+WIsOWPguaVsOmUruebtOWvuVxyXG4gICAgICAgIGNvbnN0IGt2cyA9IHBhcmFtcy5zcGxpdChcIiZcIik7XHJcbiAgICAgICAgY29uc3QgdG9rZW5JbmZvOiBhbnkgPSB7fTtcclxuICAgICAgICAvLyDmn6XnnIvmnInml6B0b2tlbuS/oeaBr1xyXG4gICAgICAgIGt2cy5mb3JFYWNoKChrKSA9PiB7XHJcbiAgICAgICAgICBpZiAoay5pbmNsdWRlcyhcIl90b2tlblwiKSkge1xyXG4gICAgICAgICAgICB0b2tlbkluZm9bXCJhY2Nlc3NUb2tlblwiXSA9IGsuc3BsaXQoXCI9XCIpWzFdO1xyXG4gICAgICAgICAgICB0b2tlbkluZm9bXCJ0b2tlblR5cGVcIl0gPSBcImJlYXJlclwiO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIC8vIOWmguaenOaciXRva2Vu5L+h5oGvXHJcbiAgICAgICAgaWYgKHRva2VuSW5mby5hY2Nlc3NUb2tlbikge1xyXG4gICAgICAgICAgLy8g6K6+572udG9rZW7kv6Hmga9cclxuICAgICAgICAgIHRoaXMudG9rZW5TZXJ2aWNlLnNldCh0b2tlbkluZm8pO1xyXG4gICAgICAgICAgLy8g6K+35rGCdXNlclxyXG4gICAgICAgICAgdGhpcy5odHRwXHJcbiAgICAgICAgICAgIC5nZXQoYCR7dGhpcy5iYXNlY2xpZW50LmdhdGV3YXl9L2F1dGgvdXNlcmApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAvLyDorr7nva51c2VyXHJcbiAgICAgICAgICAgICAgdGhpcy51c2VyLnNldCh7IC4uLnJlc3BvbnNlLnByaW5jaXBhbCwgdGVuYW50SWQ6IHJlc3BvbnNlLnRlbmFudElkIH0pO1xyXG4gICAgICAgICAgICAgIC8vIOWKoOi9vee7k+adn1xyXG4gICAgICAgICAgICAgIHByZWxvYWRlckZpbmlzaGVkKCk7XHJcbiAgICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGFsZXJ0KFwi5peg5rOV6I635Y+W5Yiw5piT54+t55So5oi35L+h5oGv5Y+C5pWwXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBhbGVydChcIuaXoOazleiOt+WPluWIsOaYk+ePreWPguaVsFwiKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvcGVuV2luZG93KGl3aW5kb3c6IElXaW5kb3cpOiB2b2lkIHtcclxuICAgIHdpbmRvdy5vcGVuKGl3aW5kb3cudXJsKTtcclxuICB9XHJcblxyXG4gIHNldFRpdGxlKGl0aXRsZTogSVRpdGxlKTogdm9pZCB7XHJcbiAgICB0aGlzLnRpdGxlLnNldFRpdGxlKGl0aXRsZS50aXRsZSk7XHJcbiAgfVxyXG5cclxuICBzZXROYXZpZ2F0aW9uQmFyKG5hdmlnYXRpb25CYXI6IE5hdmlnYXRpb25CYXIpOiB2b2lkIHtcclxuICAgIGFsZXJ0KFwi5piT54+t5pqC5LiN5pSv5oyB5pS+572u5oyJ6ZKuLOivt+WcqEFQUOS4reS9v+eUqOatpOWKn+iDvSFcIik7XHJcbiAgfVxyXG5cclxuICBzaGFyZShpc2hhcmU6IElTaGFyZSk6IHZvaWQge1xyXG4gICAgYWxlcnQoXCLmmJPnj63mmoLkuI3mlK/mjIHliIbkuqss6K+35ZyoQVBQ5Lit5L2/55So5q2k5Yqf6IO9IVwiKTtcclxuICB9XHJcblxyXG4gIGdldFRva2VuKCk6IEl0b2tlbiB7XHJcbiAgICByZXR1cm4gdGhpcy50b2tlblNlcnZpY2UuZ2V0KCk7XHJcbiAgfVxyXG5cclxuICBzY2FuQ29kZSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgYWxlcnQoXCLmmJPnj63mmoLkuI3mlK/mjIHmiavnoIEs6K+35ZyoQVBQ5Lit5L2/55So5q2k5Yqf6IO9IVwiKTtcclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICB1c2VyTG9jYXRpb24oKTogT2JzZXJ2YWJsZTxVc2VyTG9jYXRpb24+IHtcclxuICAgIGFsZXJ0KFwi5piT54+t5pqC5LiN5pSv5oyB5a6a5L2NLOivt+WcqEFQUOS4reS9v+eUqOatpOWKn+iDvSFcIik7XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVJbldpZmkoYnNzaWRzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgYWxlcnQoXCLmmJPnj63mmoLkuI3mlK/mjIFXSUZJ6aqM6K+BLOivt+WcqEFQUOS4reS9v+eUqOatpOWKn+iDvSFcIik7XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0V2lmaU1hYygpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgYWxlcnQoXCLmmJPnj63mmoLkuI3mlK/mjIHojrflj5ZNQUPlnLDlnYAs6K+35ZyoQVBQ5Lit5L2/55So5q2k5Yqf6IO9IVwiKTtcclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBjaG9vc2VDb250YWN0cyhjb3VudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGFsZXJ0KFwi5piT54+t5pqC5LiN5pSv5oyB6I635Y+W6IGU57O75Lq6LOivt+WcqEFQUOS4reS9v+eUqOatpOWKn+iDvSFcIik7XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgY29udGFjdERldGFpbHModGFyZ2V0VXNlcklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgYWxlcnQoXCLmmJPnj63mmoLkuI3mlK/mjIHmn6Xor6LogZTns7vkurror6bnu4bkv6Hmga8s6K+35ZyoQVBQ5Lit5L2/55So5q2k5Yqf6IO9IVwiKTtcclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICB1cGxvYWRJbWFnZShjb3VudDogbnVtYmVyLCBzb3VyY2VUeXBlOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgYWxlcnQoXCLmmJPnj63mmoLkuI3mlK/mjIHlm77niYfkuIrkvKAs6K+35ZyoQVBQ5Lit5L2/55So5q2k5Yqf6IO9IVwiKTtcclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBvcGVuUmVhZFdpdGhUaW1lcihcclxuICAgIHVybDogYW55LFxyXG4gICAgb3BlblR5cGU6IGFueSxcclxuICAgIHRpdGxlOiBhbnksXHJcbiAgICBpZDogYW55LFxyXG4gICAgdHlwZTogYW55XHJcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGFsZXJ0KFwi5piT54+t5pqC5LiN5pSv5oyB6K+754mp5pe26Ze057uf6K6hLOivt+WcqEFQUOS4reS9v+eUqOatpOWKn+iDvSFcIik7XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgdXBsb2FkTW92aWUobGltaXRNaW51dGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBhbGVydChcIuaYk+ePreaaguS4jeaUr+aMgeinhumikeS4iuS8oCzor7flnKhBUFDkuK3kvb/nlKjmraTlip/og70hXCIpO1xyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIGZpbGVCcm93c2VyKHVybDogc3RyaW5nLCB0aXRsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGFsZXJ0KFwi5piT54+t5pqC5LiN5pSv5oyB5q2k5Yqf6IO9LOivt+WcqEFQUOS4reS9v+eUqOatpOWKn+iDvSFcIik7XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgc3RhcnRTZWFyY2hCZWFjb25zKHRpY2tldDogc3RyaW5nLCBjYWxsYmFjazogKGFyZ3Y6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC5cIik7XHJcbiAgfVxyXG4gIHN0b3BTZWFyY2hCZWFjb25zKGNhbGxiYWNrOiAoYXJndjogYW55KSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJNZXRob2Qgbm90IGltcGxlbWVudGVkLlwiKTtcclxuICB9XHJcbiAgb25TZWFyY2hCZWFjb25zKGNhbGxiYWNrOiAoYXJndjogYW55KSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJNZXRob2Qgbm90IGltcGxlbWVudGVkLlwiKTtcclxuICB9XHJcbn1cclxuIl19