UNPKG

ng-yunzai-mobile

Version:

1. 修改wechat.micro.ts

285 lines 20.1 kB
/** * @fileoverview added by tsickle * Generated from: devices/yiban.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /* * @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"; export class Yiban extends BaseDevice { /** * @param {?} tokenService * @param {?} http * @param {?} user * @param {?} title * @param {?} baseclient */ constructor(tokenService, http, user, title, baseclient) { super(); this.tokenService = tokenService; this.http = http; this.user = user; this.title = title; this.baseclient = baseclient; } /** * @return {?} */ auth() { return new Promise((/** * @param {?} resolve * @param {?} reject * @return {?} */ (resolve, reject) => { // 查看有无参数 /** @type {?} */ const params = window.location.href.split("?")[1]; if (params) { // 拿到参数键直对 /** @type {?} */ const kvs = params.split("&"); /** @type {?} */ const tokenInfo = {}; // 查看有无token信息 kvs.forEach((/** * @param {?} k * @return {?} */ (k) => { if (k.includes("_token")) { tokenInfo["accessToken"] = k.split("=")[1]; tokenInfo["tokenType"] = "bearer"; } })); // 如果有token信息 if (tokenInfo.accessToken) { // 设置token信息 this.tokenService.set(tokenInfo); // 请求user this.http .get(`${this.baseclient.gateway}/auth/user`) .subscribe((/** * @param {?} response * @return {?} */ (response) => { // 设置user this.user.set(response.principal); // 加载结束 preloaderFinished(); resolve(true); })); } else { alert("无法获取到易班用户信息参数"); } } else { alert("无法获取到易班参数"); } })); } /** * @param {?} iwindow * @return {?} */ openWindow(iwindow) { window.open(iwindow.url); } /** * @param {?} ititle * @return {?} */ setTitle(ititle) { this.title.setTitle(ititle.title); } /** * @param {?} navigationBar * @return {?} */ setNavigationBar(navigationBar) { alert("易班暂不支持放置按钮,请在APP中使用此功能!"); } /** * @param {?} ishare * @return {?} */ share(ishare) { alert("易班暂不支持分享,请在APP中使用此功能!"); } /** * @return {?} */ getToken() { return this.tokenService.get(); } /** * @return {?} */ scanCode() { alert("易班暂不支持扫码,请在APP中使用此功能!"); return undefined; } /** * @return {?} */ userLocation() { alert("易班暂不支持定位,请在APP中使用此功能!"); return undefined; } /** * @param {?} bssids * @return {?} */ validateInWifi(bssids) { alert("易班暂不支持WIFI验证,请在APP中使用此功能!"); return undefined; } /** * @return {?} */ getWifiMac() { alert("易班暂不支持获取MAC地址,请在APP中使用此功能!"); return undefined; } /** * @param {?} count * @return {?} */ chooseContacts(count) { alert("易班暂不支持获取联系人,请在APP中使用此功能!"); return undefined; } /** * @param {?} targetUserId * @return {?} */ contactDetails(targetUserId) { alert("易班暂不支持查询联系人详细信息,请在APP中使用此功能!"); return undefined; } /** * @param {?} count * @param {?} sourceType * @return {?} */ uploadImage(count, sourceType) { alert("易班暂不支持图片上传,请在APP中使用此功能!"); return undefined; } /** * @param {?} url * @param {?} openType * @param {?} title * @param {?} id * @param {?} type * @return {?} */ openReadWithTimer(url, openType, title, id, type) { alert("易班暂不支持读物时间统计,请在APP中使用此功能!"); return undefined; } /** * @param {?} limitMinute * @return {?} */ uploadMovie(limitMinute) { alert("易班暂不支持视频上传,请在APP中使用此功能!"); return undefined; } /** * @param {?} url * @param {?} title * @return {?} */ fileBrowser(url, title) { alert("易班暂不支持此功能,请在APP中使用此功能!"); return undefined; } /** * @param {?} ticket * @param {?} callback * @return {?} */ startSearchBeacons(ticket, callback) { throw new Error("Method not implemented."); } /** * @param {?} callback * @return {?} */ stopSearchBeacons(callback) { throw new Error("Method not implemented."); } /** * @param {?} callback * @return {?} */ onSearchBeacons(callback) { throw new Error("Method not implemented."); } } Yiban.decorators = [ { type: Injectable, args: [{ providedIn: "root", },] } ]; /** @nocollapse */ Yiban.ctorParameters = () => [ { 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" }); 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWliYW4uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy15dW56YWktbW9iaWxlLyIsInNvdXJjZXMiOlsiZGV2aWNlcy95aWJhbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFXQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUl0RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7QUFLbEQsTUFBTSxPQUFPLEtBQU0sU0FBUSxVQUFVOzs7Ozs7OztJQUNuQyxZQUNVLFlBQTBCLEVBQzFCLElBQWdCLEVBQ2hCLElBQWlCLEVBQ2pCLEtBQVksRUFDUyxVQUFzQjtRQUVuRCxLQUFLLEVBQUUsQ0FBQztRQU5BLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1MsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUdyRCxDQUFDOzs7O0lBRUQsSUFBSTtRQUNGLE9BQU8sSUFBSSxPQUFPOzs7OztRQUFNLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFOzs7a0JBRXBDLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENB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YW5cclxuICogQEVtYWlsOiBkZXZjdWlAb3V0bG9vay5jb21cclxuICogQERhdGU6IDIwMjEtMDQtMDcgMTM6NTk6MThcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wNi0wOCAxNToxMDowMVxyXG4gKiBATGFzdEVkaXRvcnM6IGN1aWhhb25hblxyXG4gKiBARGVzY3JpcHRpb246IEJhc2ljIGRlc2NyaXB0aW9uXHJcbiAqIEBGaWxlUGF0aDogL2FuZ3VsYXItbW9iaWxlLW5wbS1wYWNrYWdlL3Byb2plY3RzL25nLXl1bnphaS1tb2JpbGUvZGV2aWNlcy95aWJhbi50c1xyXG4gKiBATElDRU5TRTogTk9ORVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IEJhc2VEZXZpY2UgfSBmcm9tIFwiLi9iYXNlLmRldmljZVwiO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBUb2tlblNlcnZpY2UgfSBmcm9tIFwiLi4vdG9rZW4vdG9rZW4uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSBcIi4uL3VzZXIvdXNlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEJhc2VDbGllbnQsIEJBU0VfQ0xJRU5UIH0gZnJvbSBcIi4uL2NsaWVudC9iYXNlLmNsaWVudFwiO1xyXG5pbXBvcnQgeyBwcmVsb2FkZXJGaW5pc2hlZCB9IGZyb20gXCIuLi9hdXRoL3ByZWxvYWRlclwiO1xyXG5pbXBvcnQgeyBJdG9rZW4gfSBmcm9tIFwiLi4vYXV0aC9pdG9rZW5cIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IElTaGFyZSwgSVRpdGxlLCBJV2luZG93LCBOYXZpZ2F0aW9uQmFyLCBVc2VyTG9jYXRpb24gfSBmcm9tIFwiLi9tb2RlbFwiO1xyXG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBZaWJhbiBleHRlbmRzIEJhc2VEZXZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0b2tlblNlcnZpY2U6IFRva2VuU2VydmljZSxcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgdXNlcjogVXNlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRpdGxlOiBUaXRsZSxcclxuICAgIEBJbmplY3QoQkFTRV9DTElFTlQpIHByaXZhdGUgYmFzZWNsaWVudDogQmFzZUNsaWVudFxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIGF1dGgoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxhbnk+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgLy8g5p+l55yL5pyJ5peg5Y+C5pWwXHJcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KFwiP1wiKVsxXTtcclxuICAgICAgaWYgKHBhcmFtcykge1xyXG4gICAgICAgIC8vIOaLv+WIsOWPguaVsOmUruebtOWvuVxyXG4gICAgICAgIGNvbnN0IGt2cyA9IHBhcmFtcy5zcGxpdChcIiZcIik7XHJcbiAgICAgICAgY29uc3QgdG9rZW5JbmZvOiBhbnkgPSB7fTtcclxuICAgICAgICAvLyDmn6XnnIvmnInml6B0b2tlbuS/oeaBr1xyXG4gICAgICAgIGt2cy5mb3JFYWNoKChrKSA9PiB7XHJcbiAgICAgICAgICBpZiAoay5pbmNsdWRlcyhcIl90b2tlblwiKSkge1xyXG4gICAgICAgICAgICB0b2tlbkluZm9bXCJhY2Nlc3NUb2tlblwiXSA9IGsuc3BsaXQoXCI9XCIpWzFdO1xyXG4gICAgICAgICAgICB0b2tlbkluZm9bXCJ0b2tlblR5cGVcIl0gPSBcImJlYXJlclwiO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIC8vIOWmguaenOaciXRva2Vu5L+h5oGvXHJcbiAgICAgICAgaWYgKHRva2VuSW5mby5hY2Nlc3NUb2tlbikge1xyXG4gICAgICAgICAgLy8g6K6+572udG9rZW7kv6Hmga9cclxuICAgICAgICAgIHRoaXMudG9rZW5TZXJ2aWNlLnNldCh0b2tlbkluZm8pO1xyXG4gICAgICAgICAgLy8g6K+35rGCdXNlclxyXG4gICAgICAgICAgdGhpcy5odHRwXHJcbiAgICAgICAgICAgIC5nZXQoYCR7dGhpcy5iYXNlY2xpZW50LmdhdGV3YXl9L2F1dGgvdXNlcmApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAvLyDorr7nva51c2VyXHJcbiAgICAgICAgICAgICAgdGhpcy51c2VyLnNldChyZXNwb25zZS5wcmluY2lwYWwpO1xyXG4gICAgICAgICAgICAgIC8vIOWKoOi9vee7k+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