Commit fbb4427c by 张树文

删除部分无用的事件

1 parent 66300151
Showing with 70 additions and 1448 deletions
[
{
"__type__": "cc.Prefab",
"_name": "",
"_objFlags": 0,
"_native": "",
"data": {
"__id__": 1
},
"optimizationPolicy": 0,
"asyncLoadAssets": false,
"readonly": false
},
{
"__type__": "cc.Node",
"_name": "ChapterBtn",
"_objFlags": 0,
"_parent": null,
"_children": [
{
"__id__": 2
},
{
"__id__": 5
}
],
"_active": true,
"_components": [
{
"__id__": 8
},
{
"__id__": 9
}
],
"_prefab": {
"__id__": 11
},
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 240,
"height": 48
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0.5
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
0,
0,
0,
0,
0,
1,
1,
1,
0
]
},
"_eulerAngles": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_skewX": 0,
"_skewY": 0,
"_is3DNode": false,
"_groupIndex": 0,
"groupIndex": 0,
"_id": ""
},
{
"__type__": "cc.Node",
"_name": "pointSpr",
"_objFlags": 0,
"_parent": {
"__id__": 1
},
"_children": [],
"_active": false,
"_components": [
{
"__id__": 3
}
],
"_prefab": {
"__id__": 4
},
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 44,
"height": 48
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
-30,
0,
0,
0,
0,
0,
1,
1,
1,
1
]
},
"_eulerAngles": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_skewX": 0,
"_skewY": 0,
"_is3DNode": false,
"_groupIndex": 0,
"groupIndex": 0,
"_id": ""
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 2
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "b483e507-f22a-4115-9243-740071ecc327"
},
"_type": 0,
"_sizeMode": 1,
"_fillType": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": ""
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "0c5e5b6a-e3cd-49c8-b1f6-dd38039c121a"
},
"fileId": "36CEun53xP+J0xF9szllV4",
"sync": false
},
{
"__type__": "cc.Node",
"_name": "label",
"_objFlags": 0,
"_parent": {
"__id__": 1
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 6
}
],
"_prefab": {
"__id__": 7
},
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 240,
"height": 48
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0.5
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
0,
0,
0,
0,
0,
1,
1,
1,
1
]
},
"_eulerAngles": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_skewX": 0,
"_skewY": 0,
"_is3DNode": false,
"_groupIndex": 0,
"groupIndex": 0,
"_id": ""
},
{
"__type__": "cc.Label",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 5
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_useOriginalSize": false,
"_string": "99.一二三四五六七八九十",
"_N$string": "99.一二三四五六七八九十",
"_fontSize": 23,
"_lineHeight": 40,
"_enableWrapText": false,
"_N$file": null,
"_isSystemFontUsed": true,
"_spacingX": 0,
"_batchAsBitmap": false,
"_styleFlags": 0,
"_underlineHeight": 0,
"_N$horizontalAlign": 0,
"_N$verticalAlign": 1,
"_N$fontFamily": "Arial",
"_N$overflow": 1,
"_N$cacheMode": 0,
"_id": ""
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "0c5e5b6a-e3cd-49c8-b1f6-dd38039c121a"
},
"fileId": "7fUybaBjtLArXbVrSBTFHL",
"sync": false
},
{
"__type__": "daa19ZPfvRLLYFk4juWpU/P",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 1
},
"_enabled": true,
"label": {
"__id__": 6
},
"pointSpr": {
"__id__": 2
},
"_id": ""
},
{
"__type__": "cc.Button",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 1
},
"_enabled": true,
"_normalMaterial": null,
"_grayMaterial": null,
"duration": 0.1,
"zoomScale": 1.2,
"clickEvents": [
{
"__id__": 10
}
],
"_N$interactable": true,
"_N$enableAutoGrayEffect": false,
"_N$transition": 3,
"transition": 3,
"_N$normalColor": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_N$pressedColor": {
"__type__": "cc.Color",
"r": 211,
"g": 211,
"b": 211,
"a": 255
},
"pressedColor": {
"__type__": "cc.Color",
"r": 211,
"g": 211,
"b": 211,
"a": 255
},
"_N$hoverColor": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"hoverColor": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_N$disabledColor": {
"__type__": "cc.Color",
"r": 124,
"g": 124,
"b": 124,
"a": 255
},
"_N$normalSprite": null,
"_N$pressedSprite": null,
"pressedSprite": null,
"_N$hoverSprite": null,
"hoverSprite": null,
"_N$disabledSprite": null,
"_N$target": {
"__id__": 1
},
"_id": ""
},
{
"__type__": "cc.ClickEvent",
"target": {
"__id__": 1
},
"component": "",
"_componentId": "daa19ZPfvRLLYFk4juWpU/P",
"handler": "onItemClick",
"customEventData": ""
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "0c5e5b6a-e3cd-49c8-b1f6-dd38039c121a"
},
"fileId": "8bMt1d30hMBbNNlX1zOlrX",
"sync": false
}
]
\ No newline at end of file
{
"ver": "1.2.7",
"uuid": "0c5e5b6a-e3cd-49c8-b1f6-dd38039c121a",
"optimizationPolicy": "AUTO",
"asyncLoadAssets": false,
"readonly": false,
"subMetas": {}
}
\ No newline at end of file
......@@ -14,3 +14,4 @@ export const DummySpriteFrame = undefined as unknown as cc.SpriteFrame;
export const DummyPageView = undefined as unknown as cc.PageView;
export const DummyColor = undefined as unknown as cc.Color;
export const DummyWidget = undefined as unknown as cc.Widget;
export const DummyToggle = undefined as unknown as cc.Toggle;
......@@ -34,62 +34,25 @@ export namespace GameModelManager {
export const MessageSceneChanged = emitter.createEvent<(scenes: MessageSceneModel[]) => void>();
export const MainDatingEventChanged = emitter.createEvent<(scenes: DatingEventSceneModel[]) => void>();
export const ApplicaitonGameChanged = emitter.createEvent<(force: boolean) => void>();//进程发生切换
export const MainTabForceClick = emitter.createEvent<(param: { index: number, pureClick: boolean, propId?: number }) => void>();//主界面tab点击
export const GiftItemForceClick = emitter.createEvent<(param: any) => void>();//商城界面指定item点击
export const SininItemClick = emitter.createEvent<(param: any) => void>();//签到界面指定item点击
export const CheckMainTabGuide = emitter.createEvent<() => void>();//主界面检测tab栏引导
export const CheckDateGuide = emitter.createEvent<() => void>();//约会界面检测引导
export const CheckMsgGuide = emitter.createEvent<() => void>();//消息列表界面检测引导
export const UpdatePlayerData = emitter.createEvent<() => void>();//更新主角数据
export const PlayerOptionSkin = emitter.createEvent<() => void>();//玩家操作了皮肤数据
export const NeedAddCoin = emitter.createEvent<(location?: string) => void>();//需要增加金币或者皮肤币
export const RefreshDiscoverTabRed = emitter.createEvent<() => void>();//刷新发现页红点展示
export const RefreshDateCostTipInfo = emitter.createEvent<(show: boolean, costNum?: number, pos?: cc.Vec3) => void>();//刷新约会界面消耗信息节点数据
export const RefreshDateSceneProgress = emitter.createEvent<() => void>();//刷新约会进度
export const CheckDateSceneProgress = emitter.createEvent<() => void>();//检测约会进度
export const ForceClickSendGiftBtn = emitter.createEvent<() => void>();//强制点击聊天中送礼按钮
export const AutoPopView = emitter.createEvent<(view: AutoPopViewType) => void>();//展示自动弹出界面
export const NewPlayerReceiveBtn = emitter.createEvent<() => void>();//新人七天乐点击领取按钮
export const ShowDatingEventArrowGuide = emitter.createEvent<(isShow: boolean, wordPos?: cc.Vec3) => void>();//约会列表界面展示箭头
export const ShowPlotBlocked = emitter.createEvent<() => void>();//展示剧情阻断弹窗
export const ForceEnterDiscoverSubView = emitter.createEvent<(itemType: DiscoverItemType) => void>();//强制进入发现页面子页面
export const PlotBlockedChanged = emitter.createEvent<() => void>();//剧情阻断改变
export const WorkSpaceShowItemDesc = emitter.createEvent<(isShow: boolean, itemId?: number, wPos?: cc.Vec3) => void>();//工作区界面展示物品描述
export const WorkSpaceSelectedStuff = emitter.createEvent<(spaceId: number, roleId: number) => void>();//工作区选定完员工
export const CheckMainTabWorkSpaceRedDot = emitter.createEvent<(isForce?: boolean, forceShow?: boolean) => void>();//检测主界面tab栏下面工作区的红点
export const ForceSetSpaceState = emitter.createEvent<(spaceId: number, state: WorkSpaceTaskState) => void>();//强制改变指定工作区的状态
export const UpdateMainTabArrowGuide = emitter.createEvent<() => void>();//更新主界面tab栏,商城和办公区箭头引导
export const ForceClickMsgItem = emitter.createEvent<(id: number) => void>();
export const ForceClickDatingItem = emitter.createEvent<(id: number) => void>();
/**报幕数据准备就绪事件 */
export const ForceClickDataReady = emitter.createEvent<() => void>();
/**传输掉落物品数据 */
export const TransmitItemData = emitter.createEvent<(pid: number, spriteFrame: cc.SpriteFrame, cfg: DeepReadonlyObject<IItemTbl>) => void>();
export const UnlockItem = emitter.createEvent<(itemId: number) => void>();
/**卧室返回点击UI事件 */
export const BedroomViewBack = emitter.createEvent<(index: number) => void>();
/**返回到卧室界面 */
export const BackToBedRoom = emitter.createEvent<() => void>();
/**回滚数据到指定剧情 */
export const RollBackToPlot = emitter.createEvent<(pid: number) => void>();
/**回滚剧情数据完成刷新所有状态 */
......@@ -505,13 +468,11 @@ export namespace GameModelManager {
cc.game.on(cc.game.EVENT_HIDE, () => {
// console.log("enter game background");
AudioManager.pauseMusic();
//ApplicaitonGameChanged.emit(false);
});
cc.game.on(cc.game.EVENT_SHOW, () => {
// console.log("enter game force");
AudioManager.resumeMusic();
// ApplicaitonGameChanged.emit(true);
});
}
......
import { DummyLabel, DummyNode } from "../../common/CCDummyObjects";
import { GameModelManager } from "../model/GameModelManager";
const { ccclass, property } = cc._decorator;
@ccclass
export default class ChapterBtn extends cc.Component {
@property(cc.Label)
private label = DummyLabel;
@property(cc.Node)
private pointSpr = DummyNode;
private _pid: number = -1;
setData(chapterId: number, chapterName: number, pid: number) {
this._pid = pid;
this.label.string = chapterId.toString() + "." + GameModelManager.getI18LanguageTxt(chapterName);
}
onItemClick() {
console.log("onItemClick pid = ", this._pid);
GameModelManager.RollBackToPlot.emit(this._pid);
let sprites = this.node.parent.getComponentsInChildren(cc.Sprite);
for (let i = 0; i < sprites.length; i++) {
sprites[i].node.active = false;
}
this.pointSpr.active = true;
cc.tween(this.pointSpr)
.repeatForever(cc.tween()
.to(0.5, { scale: 1.15, x: -25 }, { easing: 'sineInOut' })
.to(0.5, { scale: 1, x: -30 }, { easing: 'sineInOut' }))
.start();
let labels = this.node.parent.getComponentsInChildren(cc.Label);
for (let i = 0; i < labels.length; i++) {
labels[i].node.color = cc.color(255, 255, 255, 255);
}
this.label.node.color = cc.color(255, 238, 149, 255);
}
}
{
"ver": "1.0.8",
"uuid": "daa1964f-7ef4-4b2d-8164-e23b96a54fcf",
"isPlugin": false,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
"subMetas": {}
}
\ No newline at end of file
......@@ -192,7 +192,6 @@ export class ChatListViewPresenter extends Presenter<MessageSceneModel, ChatList
UIManager.popToPresenter(this);
this._view.closeAnimation().then(() => {
this._view.close();
GameModelManager.CheckMainTabGuide.emit();
});
}
......
......@@ -333,7 +333,6 @@ export class DatingEventSubpresenter extends Subpresenter<DatingEventSubview> {
onOpen() {
super.onOpen();
this._disposable.add(GameModelManager.CheckDateGuide.on(this.checkGuideItem));
this._disposable.add(GameModelManager.RefreshDateSceneProgress.on(this.onRefreshDateSceneProgress));
this._disposable.add(GameModelManager.ForceClickDatingItem.on(this.onForceClickItem));
this._disposable.add(GameModelManager.RefreshAllStatus.on(this.onRefreshAllStatus));
this._disposable.add(GameModelManager.CloseDatingSceneView.on(this.onCloseDatingSceneView));
......@@ -416,10 +415,6 @@ export class DatingEventSubpresenter extends Subpresenter<DatingEventSubview> {
this.refreshItems();
}
onRefreshDateSceneProgress = () => {
this.refreshItems();
}
costEnergyCallBack = (type, ret: boolean, param: any) => {
if (ret) {
let oprType = this.isReview ? EventOperationType.memory : EventOperationType.event;
......
......@@ -13,7 +13,6 @@ import CDKeyEventManager from "../../model/CDKeyEventManager";
import { DatingEventSceneModel, DatingEventStatus } from "../../model/DatingEventSceneModel";
import { GameModelManager } from "../../model/GameModelManager";
import GameRoleDataModel from "../../model/GameRoleDataModel";
import ChapterBtn from "../ChapterBtn";
import { RegPresenter } from "../PresenterCCViewFactory";
import { SpecialToastType } from "../SpecialToast";
import VerbView from "../VerbView";
......@@ -283,8 +282,6 @@ export class DatingScenePresenter extends Presenter<DatingEventSceneModel, Datin
console.log("Curr Chapter is extra plot.");
} else {
GameModelManager.dotMainLinePlotEnd();
// GameModelManager.setProgressDateScene(this._model.id);
GameModelManager.CheckDateSceneProgress.emit();
}
}
} else if (this._model.isExtra) {
......@@ -342,18 +339,6 @@ export class DatingScenePresenter extends Presenter<DatingEventSceneModel, Datin
return portrait;
}
CreateOrUpdateChapterBtns() {
let ret: { chapterId: number, chapterName: number, chapterStartPlotId: number }[] = [];
let models = GameModelManager.getMainDatingEventScenesModel();
for (let i = 0; i < models.length; i++) {
ret.push({ chapterId: i + 1, chapterName: models[i].config.name, chapterStartPlotId: models[i].config.start_plot_id });
}
for (let i = ret.length - 1; i >= 0; i--) {
let btn = cc.instantiate(this.view.getChapterBtn());
btn.getComponent(ChapterBtn).setData(ret[i].chapterId, ret[i].chapterName, ret[i].chapterStartPlotId);
}
}
onClickRollBackBtn = (pid: number) => {
CDKeyEventManager.getInstance().shiftCDKeyRemovePlotAD();
let removeAdCardNum: number = CDKeyEventManager.getInstance().checkCDKeyRemovePlotAD();
......
......@@ -78,21 +78,9 @@ export default class DiscoverViewPresenter extends Presenter<undefined, Discover
onOpen() {
super.onOpen(undefined);
this._disposable.add(GameModelManager.PlayerOptionSkin.on(this.onPlayerOptionSkin));
this._disposable.add(GameModelManager.ForceEnterDiscoverSubView.on(this.onForceEnterDiscoverSubView));
this.onShow();
}
onForceEnterDiscoverSubView = (itemType: DiscoverItemType) => {
this.itemClickCallBack(itemType);
}
onPlayerOptionSkin = () => {
this.initViewProps();
this.initItemConfig();
this._view.updateProps(this._viewProps);
}
onShow() {
super.onShow();
this.initViewProps();
......
......@@ -82,7 +82,6 @@ export default class ExchangeCodeViewPresenter extends Presenter<ExchangeCodePar
CDKeyEventManager.getInstance().changeRoleLike(roleId, count);
}
}
GameModelManager.UpdatePlayerData.emit();
}
}
break;
......@@ -128,7 +127,6 @@ export default class ExchangeCodeViewPresenter extends Presenter<ExchangeCodePar
CDKeyEventManager.getInstance().changeRoleLike(roleId, count);
}
}
GameModelManager.UpdatePlayerData.emit();
} else if (ret.code === "104001") {//错误的验证码
let content = GameModelManager.getLanguageTxt(GameTextData.TEXT_CDKEYINVALID_VALUE);
UIManager.showToast(content);
......
......@@ -254,7 +254,6 @@ export class ExtraPlotDatingEventSubViewPresenter extends Subpresenter<ExtraPlot
onOpen() {
super.onOpen();
this._disposable.add(GameModelManager.CheckDateGuide.on(this.checkGuideItem));
this._disposable.add(GameModelManager.RefreshDateSceneProgress.on(this.onRefreshDateSceneProgress));
this._disposable.add(GameModelManager.ForceClickDatingItem.on(this.onForceClickItem));
this._disposable.add(GameModelManager.RefreshExtraPlotByType.on(this.onRefreshExtraPlotByType));
this.selectCurChapter();
......@@ -325,10 +324,6 @@ export class ExtraPlotDatingEventSubViewPresenter extends Subpresenter<ExtraPlot
this.refreshItems();
}
onRefreshDateSceneProgress = () => {
this.refreshItems();
}
onForceClickItem = (id: number) => {
console.log("DatingEventSubpresenter onForceClickItem id = ", id);
let k = id + "";
......
......@@ -143,7 +143,6 @@ export default class MainViewPresenter extends Presenter<undefined, MainView> {
this._disposable.add(GameModelManager.AutoPopView.on(this.onAutoPopView));
this._disposable.add(GameModelManager.UnlockItem.on(this.onUnlockItem));
this._disposable.add(GameModelManager.BedroomViewBack.on(this.onBedroomViewBack));
this._disposable.add(GameModelManager.RefreshAllStatus.on(this.onRefreshAllStatus));
this._disposable.add(GameModelManager.JumpToViewInGame.on(this.onJumpToViewInGame));
......@@ -461,14 +460,6 @@ export default class MainViewPresenter extends Presenter<undefined, MainView> {
}
}
/**
* 卧室返回点击UI事件
* @param index 返回具体tabIndex
*/
onBedroomViewBack = (index: number) => {
this._view.onTabButtonClick(null, `${index}`);
}
onRefreshAllStatus = async () => {
this.checkRedDot(PlotManager.getCurrentPlots());
......
......@@ -49,7 +49,6 @@ export class PhoneCallViewPresenter extends Presenter<undefined, PhoneCallView>
async onOpen() {
super.onOpen(undefined);
this._disposable.add(GameModelManager.ApplicaitonGameChanged.on(this.onGameChangedClickCallback));
let plots = await GameModelManager.rollbackPhoneCallIfNeeded();
this.analysisPlots(plots);
}
......
......@@ -189,7 +189,6 @@ export class PhoneCallViewImpl extends CCPureView<PhoneCallViewProps> implements
this._isPlayMusic = false;
}
delete (this as any)._props;
GameModelManager.CheckMainTabGuide.emit();
})));
}
......
......@@ -56,8 +56,6 @@ export class DatingSceneViewImpl extends CCView implements DatingSceneView {
@property(Typewriter)
private typewriter: Typewriter = undefined as unknown as Typewriter;
@property(cc.Prefab)
private chapterBtn = DummyPrefab;
@property(cc.Node)
private skipButtonNode = DummyNode;
@property(cc.Node)
......@@ -439,11 +437,6 @@ export class DatingSceneViewImpl extends CCView implements DatingSceneView {
this.closeView();
}
getChapterBtn = (): cc.Prefab => {
return this.chapterBtn;
}
onRefreshAllStatus() {
this.closeAction();
}
......
import { DummyNode, DummyPrefab, DummyRichText } from "../../../../../common/CCDummyObjects";
import { DummyLabel, DummyNode, DummyPrefab, DummyRichText, DummyToggle } from "../../../../../common/CCDummyObjects";
import { CCPureView } from "../../../../../common/classbase/CCViewBase";
import { RegView } from "../../../PresenterCCViewFactory";
import { NewNoticeViewType, NewNoticeViewProps, NewNoticeView } from "../../type/notice/NewNoticeView";
......@@ -21,9 +21,9 @@ export class NewNoticeViewImpl extends CCPureView<NewNoticeViewProps> implements
@property({ type: cc.Prefab, displayName: "Activities notice item prefab" })
activitiesItemPrefab: cc.Prefab = DummyPrefab;
@property({ type: cc.Toggle, displayName: "Tips toggle" })
tipsToggle: cc.Toggle;
tipsToggle: cc.Toggle = DummyToggle;
@property({ type: cc.Label, displayName: "CloseTips label" })
closeTipsLabel: cc.Label;
closeTipsLabel: cc.Label = DummyLabel;
getButtonSpriteFrames(): cc.SpriteFrame[] {
return this.buttonSpriteFrames;
......
......@@ -15,8 +15,6 @@ export interface DatingSceneView extends View {
showBackBtn: (show: boolean) => void;
setRunCloseAction: (run: boolean) => void;
getChapterBtn: () => cc.Prefab;
/**关闭ui */
closeView: () => void;
onReviewButtonClickCallback: () => void;
......
......@@ -163,7 +163,6 @@ let PhoneCallViewImpl = /** @class */ (() => {
this._isPlayMusic = false;
}
delete this._props;
GameModelManager_1.GameModelManager.CheckMainTabGuide.emit();
})));
}
onPropsLoad(props) {
......
{"version":3,"sources":["assets/script/game/ui/view/impl/PhoneCallViewImpl.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { CCPureView, CCView } from \"../../../../common/classbase/CCViewBase\";\nimport { PhoneCallViewType, PhoneCallViewProps, PhoneCallView, PhoneCallItemProps, PhoneCallListAutoNextPlot } from \"../type/PhoneCallView\";\nimport { RegView } from \"../../PresenterCCViewFactory\";\nimport { DummyScrollView, DummyLayout, DummyNode, DummyLabel, DummySprite } from \"../../../../common/CCDummyObjects\";\nimport { SentenceType, richNodesToCocosString, ActionManager } from \"../../../../avg/AVG\";\nimport { ResUtils } from \"simba-cc-resutils\";\nimport { AudioManager } from \"simba-cc-audio-manager\";\nimport { GameTextData } from \"../../../../common/gameplay/gamedata/GameTextData\";\nimport { GameModelManager } from \"../../../model/GameModelManager\";\nimport Typewriter from \"../../../../common/components/Typewriter\";\n\nconst { ccclass, property } = cc._decorator;\n\n\n@ccclass\n@RegView(PhoneCallViewType, \"prefab/ui/PhoneCallView\")\nexport class PhoneCallViewImpl extends CCPureView<PhoneCallViewProps> implements PhoneCallView {\n //#region editor bindings\n @property(cc.ScrollView)\n private scrollView = DummyScrollView;\n @property(cc.Layout)\n private contentLayout = DummyLayout;\n @property(cc.Node)\n private callingNode = DummyNode;\n @property(cc.Node)\n private messageNode = DummyNode;\n @property(cc.Label)\n private nameLabel1 = DummyLabel;\n @property(cc.Label)\n private nameLabel2 = DummyLabel;\n @property(cc.Sprite)\n private headIcon1 = DummySprite;\n @property(cc.Sprite)\n private headIcon2 = DummySprite;\n\n @property(cc.Node)\n private rejectTipNode = DummyNode;\n @property(cc.Node)\n private nextPlotNode = DummyNode;\n\n @property(cc.Label)\n private statusLabel = DummyLabel;\n\n @property(Typewriter)\n private typewriter: Typewriter = undefined as unknown as Typewriter ;\n\n\n private _isPlayMusic: boolean = false;\n\n private _excuting: boolean = false;\n\n onRejectCall() {\n this.node.children[1].active = true;\n this.rejectTipNode.runAction(cc.sequence(cc.fadeIn(0.3), cc.delayTime(0.3), cc.callFunc(() => {\n this.rejectTipNode.opacity = 0;\n this.node.children[0].opacity = 0;\n this.stopPhoneMusic();\n this._isPlayMusic = false;\n this.scheduleOnce(async () => {\n this.node.children[0].opacity = 255;\n this.node.children[1].active = false;\n await this.playPhoneMusic();\n this._isPlayMusic = true;\n }, 0.8);\n })));\n }\n\n playPhoneMusic = async () => {\n const PhoneBgmCallSound = \"/audio/bgm/iPhoneXSCallSound\";\n await AudioManager.playMusic(PhoneBgmCallSound);\n }\n\n stopPhoneMusic = () => {\n AudioManager.stopMusic();\n }\n\n onAcceptCall() {\n this.callingNode.active = false;\n this.messageNode.active = true;\n this.stopPhoneMusic();\n this._isPlayMusic = false;\n GameModelManager.dotMainLinePlotStart();\n if (PhoneCallListAutoNextPlot) {\n this.scheduleOnce(() => {\n this._props.onCompletePlot();\n }, 0.6);\n }\n }\n\n onNextPlotBtnClick() {\n if(this.typewriter.getShowingString() == \"\"){\n if (!PhoneCallListAutoNextPlot) {\n if (!this._excuting) {\n this._excuting = true;\n this._props.onCompletePlot(this._selectIndex);\n this._selectIndex = undefined;\n this.scheduleOnce(() => {\n this._excuting = false;\n }, 0.3);\n }\n }\n }else {\n this.typewriter.stopTyperShowString();\n }\n \n }\n //#endregion\n\n private _newCall = true;\n private _selectIndex?: number;\n\n applicationChange(force: boolean) {\n\n }\n\n onLoad() {\n this.bindProp(\"name\", this.nameLabel1, \"string\");\n this.bindProp(\"name\", this.nameLabel2, \"string\");\n this.bindProp(\"icon\", async (v) => {\n if (v) {\n let sf = await ResUtils.loadRes(v, cc.SpriteFrame, 2);\n // if (v === this._props.icon) { // 理论上这里没必要\n this.headIcon1.spriteFrame = sf;\n this.headIcon2.spriteFrame = sf;\n // }\n }\n });\n\n\n\n // this.bindProp(\"select\", (value) => {\n // if (value >= 0) {\n // let item = this._props.items[this._props.items.length - 1];\n // item.select = value;\n // this.processItem(item);\n // }\n // });\n\n }\n\n select(value: number) {\n if (value >= 0) {\n let item = this._props.items[this._props.items.length - 1];\n item.select = value;\n this.processItem(item);\n }\n }\n\n scrollToTop(): void {\n this.scrollView.scrollToTop();\n }\n\n scrollToBottom(animate = true): void {\n if (this.contentLayout.node.height > this.scrollView.node.height) {\n this.scrollView.scrollToBottom(animate ? 0.3 : undefined);\n }\n }\n\n async open(parent: CCView) {\n super.open(parent);\n\n this.node.children[0].opacity = 0;\n this.node.children[1].active = true;\n this.callingNode.active = true;\n this.messageNode.active = false;\n this.stopPhoneMusic();\n this._isPlayMusic = false;\n await this.playPhoneMusic();\n this._isPlayMusic = true;\n this.node.children[0].runAction(cc.sequence(cc.delayTime(0.2), cc.fadeIn(0.1), cc.callFunc(() => {\n this.node.children[0].opacity = 255;\n this.node.children[1].active = false;\n })));\n this.updateCallingStatusLabel(GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_CALLING_VALUE));\n }\n\n close(clean?: boolean) {\n this.nextPlotNode.active = false;\n this.updateCallingStatusLabel(GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_CALLENDED_VALUE));\n this.node.stopAllActions();\n this.node.runAction(cc.sequence(cc.delayTime(1.2), cc.callFunc(() => {\n super.close(clean);\n // 清除内容,防止下次打开的时候先显示上次的内容\n this.contentLayout.node.removeAllChildren();\n this.headIcon1.spriteFrame = undefined as any;\n this.nameLabel1.string = \"\";\n if (this.node.active && this._isPlayMusic) {\n this.stopPhoneMusic();\n this._isPlayMusic = false;\n }\n delete (this as any)._props;\n GameModelManager.CheckMainTabGuide.emit();\n })));\n }\n\n onPropsLoad(props: PhoneCallViewProps) {\n super.onPropsLoad(props);\n for (let item of this._props.items) { // 应该只有一条\n this.processItem(item);\n }\n }\n\n onPropChange(propName: keyof PhoneCallViewProps) {\n super.onPropChange(propName);\n if (propName === \"items\") {\n for (let i = this.contentLayout.node.children.length; i < this._props.items.length; i++) {\n this.processItem(this._props.items[i]);\n }\n }\n }\n\n async processItem(item: PhoneCallItemProps) {\n let content = item.sentence.content!;\n if (item.isSelf && content.type === SentenceType.SELECT && item.select === undefined) { // show selector\n this._props.onSetContent(content);\n this.nextPlotNode.active = false;\n } else {\n this.nextPlotNode.active = true;\n if (content.type === SentenceType.SELECT && item.select === undefined) {\n console.error(\"Something went wrong. \", item.sentence);\n return;\n }\n let node = new cc.Node;\n let richLabel = node.addComponent(cc.RichText);\n richLabel.fontSize = 32;\n richLabel.maxWidth = 585;\n if (item.isSelf) {\n node.anchorX = 1;\n node.x = 300;\n node.color = cc.color(44, 50, 98);\n richLabel.horizontalAlign = cc.macro.TextAlignment.RIGHT;\n } else {\n node.anchorX = 0;\n node.x = -300;\n richLabel.horizontalAlign = cc.macro.TextAlignment.LEFT;\n }\n let text = \"\";\n if (content.type === SentenceType.SELECT) {\n let option = content.value[item.select!];\n if (option.content) {\n if (option.content.type === SentenceType.TEXT) {\n // richLabel.string = richNodesToCocosString(option.content.value);\n text = richNodesToCocosString(option.content.value);\n\n } else {\n // richLabel.string = `SentenceType(${option.content.type}) not supported in phone call.`;\n text = `SentenceType(${option.content.type}) not supported in phone call.`;\n\n }\n } else {\n // richLabel.string = option.summary;\n text = option.summary;\n }\n } else if (content.type === SentenceType.TEXT) {\n // richLabel.string = richNodesToCocosString(content.value);\n text = richNodesToCocosString(content.value);\n } else {\n // richLabel.string = `SentenceType(${content.type}) not supported in phone call.`;\n text = `SentenceType(${content.type}) not supported in phone call.`;\n }\n if (item.isSelf) {\n richLabel.string = text;\n } else {\n this.typewriter.showRichTextTyper(richLabel, text, () => {\n this.contentLayout.updateLayout();\n this.scrollToBottom();\n }, () => {\n this.contentLayout.updateLayout();\n this.scrollToBottom();\n });\n }\n node.parent = this.contentLayout.node;\n\n }\n if (item.sentence && item.sentence.actions) {\n await ActionManager.executeActions(item.sentence.actions);\n }\n\n if (PhoneCallListAutoNextPlot && this.messageNode.active && !this._props.isSentenceSelectVisible()) {\n this.scheduleOnce(() => {\n this._props.onCompletePlot(item.select);\n }, 1);\n } else {\n this._selectIndex = item.select;\n }\n this.contentLayout.updateLayout();\n this.scrollToBottom();\n }\n\n updateCallingStatusLabel(statusStr: string) {\n this.statusLabel.string = statusStr;\n }\n}"]}
\ No newline at end of file
{"version":3,"sources":["assets/script/game/ui/view/impl/PhoneCallViewImpl.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { CCPureView, CCView } from \"../../../../common/classbase/CCViewBase\";\nimport { PhoneCallViewType, PhoneCallViewProps, PhoneCallView, PhoneCallItemProps, PhoneCallListAutoNextPlot } from \"../type/PhoneCallView\";\nimport { RegView } from \"../../PresenterCCViewFactory\";\nimport { DummyScrollView, DummyLayout, DummyNode, DummyLabel, DummySprite } from \"../../../../common/CCDummyObjects\";\nimport { SentenceType, richNodesToCocosString, ActionManager } from \"../../../../avg/AVG\";\nimport { ResUtils } from \"simba-cc-resutils\";\nimport { AudioManager } from \"simba-cc-audio-manager\";\nimport { GameTextData } from \"../../../../common/gameplay/gamedata/GameTextData\";\nimport { GameModelManager } from \"../../../model/GameModelManager\";\nimport Typewriter from \"../../../../common/components/Typewriter\";\n\nconst { ccclass, property } = cc._decorator;\n\n\n@ccclass\n@RegView(PhoneCallViewType, \"prefab/ui/PhoneCallView\")\nexport class PhoneCallViewImpl extends CCPureView<PhoneCallViewProps> implements PhoneCallView {\n //#region editor bindings\n @property(cc.ScrollView)\n private scrollView = DummyScrollView;\n @property(cc.Layout)\n private contentLayout = DummyLayout;\n @property(cc.Node)\n private callingNode = DummyNode;\n @property(cc.Node)\n private messageNode = DummyNode;\n @property(cc.Label)\n private nameLabel1 = DummyLabel;\n @property(cc.Label)\n private nameLabel2 = DummyLabel;\n @property(cc.Sprite)\n private headIcon1 = DummySprite;\n @property(cc.Sprite)\n private headIcon2 = DummySprite;\n\n @property(cc.Node)\n private rejectTipNode = DummyNode;\n @property(cc.Node)\n private nextPlotNode = DummyNode;\n\n @property(cc.Label)\n private statusLabel = DummyLabel;\n\n @property(Typewriter)\n private typewriter: Typewriter = undefined as unknown as Typewriter ;\n\n\n private _isPlayMusic: boolean = false;\n\n private _excuting: boolean = false;\n\n onRejectCall() {\n this.node.children[1].active = true;\n this.rejectTipNode.runAction(cc.sequence(cc.fadeIn(0.3), cc.delayTime(0.3), cc.callFunc(() => {\n this.rejectTipNode.opacity = 0;\n this.node.children[0].opacity = 0;\n this.stopPhoneMusic();\n this._isPlayMusic = false;\n this.scheduleOnce(async () => {\n this.node.children[0].opacity = 255;\n this.node.children[1].active = false;\n await this.playPhoneMusic();\n this._isPlayMusic = true;\n }, 0.8);\n })));\n }\n\n playPhoneMusic = async () => {\n const PhoneBgmCallSound = \"/audio/bgm/iPhoneXSCallSound\";\n await AudioManager.playMusic(PhoneBgmCallSound);\n }\n\n stopPhoneMusic = () => {\n AudioManager.stopMusic();\n }\n\n onAcceptCall() {\n this.callingNode.active = false;\n this.messageNode.active = true;\n this.stopPhoneMusic();\n this._isPlayMusic = false;\n GameModelManager.dotMainLinePlotStart();\n if (PhoneCallListAutoNextPlot) {\n this.scheduleOnce(() => {\n this._props.onCompletePlot();\n }, 0.6);\n }\n }\n\n onNextPlotBtnClick() {\n if(this.typewriter.getShowingString() == \"\"){\n if (!PhoneCallListAutoNextPlot) {\n if (!this._excuting) {\n this._excuting = true;\n this._props.onCompletePlot(this._selectIndex);\n this._selectIndex = undefined;\n this.scheduleOnce(() => {\n this._excuting = false;\n }, 0.3);\n }\n }\n }else {\n this.typewriter.stopTyperShowString();\n }\n \n }\n //#endregion\n\n private _newCall = true;\n private _selectIndex?: number;\n\n applicationChange(force: boolean) {\n\n }\n\n onLoad() {\n this.bindProp(\"name\", this.nameLabel1, \"string\");\n this.bindProp(\"name\", this.nameLabel2, \"string\");\n this.bindProp(\"icon\", async (v) => {\n if (v) {\n let sf = await ResUtils.loadRes(v, cc.SpriteFrame, 2);\n // if (v === this._props.icon) { // 理论上这里没必要\n this.headIcon1.spriteFrame = sf;\n this.headIcon2.spriteFrame = sf;\n // }\n }\n });\n\n\n\n // this.bindProp(\"select\", (value) => {\n // if (value >= 0) {\n // let item = this._props.items[this._props.items.length - 1];\n // item.select = value;\n // this.processItem(item);\n // }\n // });\n\n }\n\n select(value: number) {\n if (value >= 0) {\n let item = this._props.items[this._props.items.length - 1];\n item.select = value;\n this.processItem(item);\n }\n }\n\n scrollToTop(): void {\n this.scrollView.scrollToTop();\n }\n\n scrollToBottom(animate = true): void {\n if (this.contentLayout.node.height > this.scrollView.node.height) {\n this.scrollView.scrollToBottom(animate ? 0.3 : undefined);\n }\n }\n\n async open(parent: CCView) {\n super.open(parent);\n\n this.node.children[0].opacity = 0;\n this.node.children[1].active = true;\n this.callingNode.active = true;\n this.messageNode.active = false;\n this.stopPhoneMusic();\n this._isPlayMusic = false;\n await this.playPhoneMusic();\n this._isPlayMusic = true;\n this.node.children[0].runAction(cc.sequence(cc.delayTime(0.2), cc.fadeIn(0.1), cc.callFunc(() => {\n this.node.children[0].opacity = 255;\n this.node.children[1].active = false;\n })));\n this.updateCallingStatusLabel(GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_CALLING_VALUE));\n }\n\n close(clean?: boolean) {\n this.nextPlotNode.active = false;\n this.updateCallingStatusLabel(GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_CALLENDED_VALUE));\n this.node.stopAllActions();\n this.node.runAction(cc.sequence(cc.delayTime(1.2), cc.callFunc(() => {\n super.close(clean);\n // 清除内容,防止下次打开的时候先显示上次的内容\n this.contentLayout.node.removeAllChildren();\n this.headIcon1.spriteFrame = undefined as any;\n this.nameLabel1.string = \"\";\n if (this.node.active && this._isPlayMusic) {\n this.stopPhoneMusic();\n this._isPlayMusic = false;\n }\n delete (this as any)._props;\n })));\n }\n\n onPropsLoad(props: PhoneCallViewProps) {\n super.onPropsLoad(props);\n for (let item of this._props.items) { // 应该只有一条\n this.processItem(item);\n }\n }\n\n onPropChange(propName: keyof PhoneCallViewProps) {\n super.onPropChange(propName);\n if (propName === \"items\") {\n for (let i = this.contentLayout.node.children.length; i < this._props.items.length; i++) {\n this.processItem(this._props.items[i]);\n }\n }\n }\n\n async processItem(item: PhoneCallItemProps) {\n let content = item.sentence.content!;\n if (item.isSelf && content.type === SentenceType.SELECT && item.select === undefined) { // show selector\n this._props.onSetContent(content);\n this.nextPlotNode.active = false;\n } else {\n this.nextPlotNode.active = true;\n if (content.type === SentenceType.SELECT && item.select === undefined) {\n console.error(\"Something went wrong. \", item.sentence);\n return;\n }\n let node = new cc.Node;\n let richLabel = node.addComponent(cc.RichText);\n richLabel.fontSize = 32;\n richLabel.maxWidth = 585;\n if (item.isSelf) {\n node.anchorX = 1;\n node.x = 300;\n node.color = cc.color(44, 50, 98);\n richLabel.horizontalAlign = cc.macro.TextAlignment.RIGHT;\n } else {\n node.anchorX = 0;\n node.x = -300;\n richLabel.horizontalAlign = cc.macro.TextAlignment.LEFT;\n }\n let text = \"\";\n if (content.type === SentenceType.SELECT) {\n let option = content.value[item.select!];\n if (option.content) {\n if (option.content.type === SentenceType.TEXT) {\n // richLabel.string = richNodesToCocosString(option.content.value);\n text = richNodesToCocosString(option.content.value);\n\n } else {\n // richLabel.string = `SentenceType(${option.content.type}) not supported in phone call.`;\n text = `SentenceType(${option.content.type}) not supported in phone call.`;\n\n }\n } else {\n // richLabel.string = option.summary;\n text = option.summary;\n }\n } else if (content.type === SentenceType.TEXT) {\n // richLabel.string = richNodesToCocosString(content.value);\n text = richNodesToCocosString(content.value);\n } else {\n // richLabel.string = `SentenceType(${content.type}) not supported in phone call.`;\n text = `SentenceType(${content.type}) not supported in phone call.`;\n }\n if (item.isSelf) {\n richLabel.string = text;\n } else {\n this.typewriter.showRichTextTyper(richLabel, text, () => {\n this.contentLayout.updateLayout();\n this.scrollToBottom();\n }, () => {\n this.contentLayout.updateLayout();\n this.scrollToBottom();\n });\n }\n node.parent = this.contentLayout.node;\n\n }\n if (item.sentence && item.sentence.actions) {\n await ActionManager.executeActions(item.sentence.actions);\n }\n\n if (PhoneCallListAutoNextPlot && this.messageNode.active && !this._props.isSentenceSelectVisible()) {\n this.scheduleOnce(() => {\n this._props.onCompletePlot(item.select);\n }, 1);\n } else {\n this._selectIndex = item.select;\n }\n this.contentLayout.updateLayout();\n this.scrollToBottom();\n }\n\n updateCallingStatusLabel(statusStr: string) {\n this.statusLabel.string = statusStr;\n }\n}"]}
\ No newline at end of file
[
{
"__type__": "cc.Prefab",
"_name": "ChapterBtn",
"_objFlags": 0,
"_native": "",
"data": {
"__id__": 1
},
"optimizationPolicy": 0,
"asyncLoadAssets": false,
"readonly": false
},
{
"__type__": "cc.Node",
"_name": "ChapterBtn",
"_objFlags": 0,
"_parent": null,
"_children": [
{
"__id__": 2
},
{
"__id__": 5
}
],
"_active": true,
"_components": [
{
"__id__": 8
},
{
"__id__": 9
}
],
"_prefab": {
"__id__": 11
},
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 240,
"height": 48
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0.5
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
0,
0,
0,
0,
0,
1,
1,
1,
0
]
},
"_eulerAngles": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_skewX": 0,
"_skewY": 0,
"_is3DNode": false,
"_groupIndex": 0,
"groupIndex": 0,
"_id": ""
},
{
"__type__": "cc.Node",
"_name": "pointSpr",
"_objFlags": 0,
"_parent": {
"__id__": 1
},
"_children": [],
"_active": false,
"_components": [
{
"__id__": 3
}
],
"_prefab": {
"__id__": 4
},
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 44,
"height": 48
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
-30,
0,
0,
0,
0,
0,
1,
1,
1,
1
]
},
"_eulerAngles": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_skewX": 0,
"_skewY": 0,
"_is3DNode": false,
"_groupIndex": 0,
"groupIndex": 0,
"_id": ""
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 2
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_spriteFrame": {
"__uuid__": "b483e507-f22a-4115-9243-740071ecc327"
},
"_type": 0,
"_sizeMode": 1,
"_fillType": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_atlas": null,
"_id": ""
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "0c5e5b6a-e3cd-49c8-b1f6-dd38039c121a"
},
"fileId": "36CEun53xP+J0xF9szllV4",
"sync": false
},
{
"__type__": "cc.Node",
"_name": "label",
"_objFlags": 0,
"_parent": {
"__id__": 1
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 6
}
],
"_prefab": {
"__id__": 7
},
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 240,
"height": 48
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0.5
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
0,
0,
0,
0,
0,
1,
1,
1,
1
]
},
"_eulerAngles": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_skewX": 0,
"_skewY": 0,
"_is3DNode": false,
"_groupIndex": 0,
"groupIndex": 0,
"_id": ""
},
{
"__type__": "cc.Label",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 5
},
"_enabled": true,
"_materials": [
{
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
}
],
"_srcBlendFactor": 770,
"_dstBlendFactor": 771,
"_useOriginalSize": false,
"_string": "99.一二三四五六七八九十",
"_N$string": "99.一二三四五六七八九十",
"_fontSize": 23,
"_lineHeight": 40,
"_enableWrapText": false,
"_N$file": null,
"_isSystemFontUsed": true,
"_spacingX": 0,
"_batchAsBitmap": false,
"_styleFlags": 0,
"_underlineHeight": 0,
"_N$horizontalAlign": 0,
"_N$verticalAlign": 1,
"_N$fontFamily": "Arial",
"_N$overflow": 1,
"_N$cacheMode": 0,
"_id": ""
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "0c5e5b6a-e3cd-49c8-b1f6-dd38039c121a"
},
"fileId": "7fUybaBjtLArXbVrSBTFHL",
"sync": false
},
{
"__type__": "daa19ZPfvRLLYFk4juWpU/P",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 1
},
"_enabled": true,
"label": {
"__id__": 6
},
"pointSpr": {
"__id__": 2
},
"_id": ""
},
{
"__type__": "cc.Button",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 1
},
"_enabled": true,
"_normalMaterial": null,
"_grayMaterial": null,
"duration": 0.1,
"zoomScale": 1.2,
"clickEvents": [
{
"__id__": 10
}
],
"_N$interactable": true,
"_N$enableAutoGrayEffect": false,
"_N$transition": 3,
"transition": 3,
"_N$normalColor": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_N$pressedColor": {
"__type__": "cc.Color",
"r": 211,
"g": 211,
"b": 211,
"a": 255
},
"pressedColor": {
"__type__": "cc.Color",
"r": 211,
"g": 211,
"b": 211,
"a": 255
},
"_N$hoverColor": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"hoverColor": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_N$disabledColor": {
"__type__": "cc.Color",
"r": 124,
"g": 124,
"b": 124,
"a": 255
},
"_N$normalSprite": null,
"_N$pressedSprite": null,
"pressedSprite": null,
"_N$hoverSprite": null,
"hoverSprite": null,
"_N$disabledSprite": null,
"_N$target": {
"__id__": 1
},
"_id": ""
},
{
"__type__": "cc.ClickEvent",
"target": {
"__id__": 1
},
"component": "",
"_componentId": "daa19ZPfvRLLYFk4juWpU/P",
"handler": "onItemClick",
"customEventData": ""
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__uuid__": "0c5e5b6a-e3cd-49c8-b1f6-dd38039c121a"
},
"fileId": "8bMt1d30hMBbNNlX1zOlrX",
"sync": false
}
]
\ No newline at end of file
......@@ -37,43 +37,18 @@ var GameModelManager;
let emitter = new simba_eventkit_1.Emitter;
GameModelManager.MessageSceneChanged = emitter.createEvent();
GameModelManager.MainDatingEventChanged = emitter.createEvent();
GameModelManager.ApplicaitonGameChanged = emitter.createEvent(); //进程发生切换
GameModelManager.MainTabForceClick = emitter.createEvent(); //主界面tab点击
GameModelManager.GiftItemForceClick = emitter.createEvent(); //商城界面指定item点击
GameModelManager.SininItemClick = emitter.createEvent(); //签到界面指定item点击
GameModelManager.CheckMainTabGuide = emitter.createEvent(); //主界面检测tab栏引导
GameModelManager.CheckDateGuide = emitter.createEvent(); //约会界面检测引导
GameModelManager.CheckMsgGuide = emitter.createEvent(); //消息列表界面检测引导
GameModelManager.UpdatePlayerData = emitter.createEvent(); //更新主角数据
GameModelManager.PlayerOptionSkin = emitter.createEvent(); //玩家操作了皮肤数据
GameModelManager.NeedAddCoin = emitter.createEvent(); //需要增加金币或者皮肤币
GameModelManager.RefreshDiscoverTabRed = emitter.createEvent(); //刷新发现页红点展示
GameModelManager.RefreshDateCostTipInfo = emitter.createEvent(); //刷新约会界面消耗信息节点数据
GameModelManager.RefreshDateSceneProgress = emitter.createEvent(); //刷新约会进度
GameModelManager.CheckDateSceneProgress = emitter.createEvent(); //检测约会进度
GameModelManager.ForceClickSendGiftBtn = emitter.createEvent(); //强制点击聊天中送礼按钮
GameModelManager.AutoPopView = emitter.createEvent(); //展示自动弹出界面
GameModelManager.NewPlayerReceiveBtn = emitter.createEvent(); //新人七天乐点击领取按钮
GameModelManager.ShowDatingEventArrowGuide = emitter.createEvent(); //约会列表界面展示箭头
GameModelManager.ShowPlotBlocked = emitter.createEvent(); //展示剧情阻断弹窗
GameModelManager.ForceEnterDiscoverSubView = emitter.createEvent(); //强制进入发现页面子页面
GameModelManager.PlotBlockedChanged = emitter.createEvent(); //剧情阻断改变
GameModelManager.WorkSpaceShowItemDesc = emitter.createEvent(); //工作区界面展示物品描述
GameModelManager.WorkSpaceSelectedStuff = emitter.createEvent(); //工作区选定完员工
GameModelManager.CheckMainTabWorkSpaceRedDot = emitter.createEvent(); //检测主界面tab栏下面工作区的红点
GameModelManager.ForceSetSpaceState = emitter.createEvent(); //强制改变指定工作区的状态
GameModelManager.UpdateMainTabArrowGuide = emitter.createEvent(); //更新主界面tab栏,商城和办公区箭头引导
GameModelManager.ForceClickMsgItem = emitter.createEvent();
GameModelManager.ForceClickDatingItem = emitter.createEvent();
/**报幕数据准备就绪事件 */
GameModelManager.ForceClickDataReady = emitter.createEvent();
/**传输掉落物品数据 */
GameModelManager.TransmitItemData = emitter.createEvent();
GameModelManager.UnlockItem = emitter.createEvent();
/**卧室返回点击UI事件 */
GameModelManager.BedroomViewBack = emitter.createEvent();
/**返回到卧室界面 */
GameModelManager.BackToBedRoom = emitter.createEvent();
/**回滚数据到指定剧情 */
GameModelManager.RollBackToPlot = emitter.createEvent();
/**回滚剧情数据完成刷新所有状态 */
......@@ -473,12 +448,10 @@ var GameModelManager;
cc.game.on(cc.game.EVENT_HIDE, () => {
// console.log("enter game background");
simba_cc_audio_manager_1.AudioManager.pauseMusic();
//ApplicaitonGameChanged.emit(false);
});
cc.game.on(cc.game.EVENT_SHOW, () => {
// console.log("enter game force");
simba_cc_audio_manager_1.AudioManager.resumeMusic();
// ApplicaitonGameChanged.emit(true);
});
}
if (initRet.length) {
......
{"version":3,"sources":["assets/script/game/ui/view/type/DatingSceneView.ts"],"names":[],"mappings":";;;;;;;AAwBa,QAAA,mBAAmB,GAAG,iBAAiB,CAAC","file":"","sourceRoot":"/","sourcesContent":["import { View } from \"../../../../common/classbase/ViewBase\";\n\nexport interface DatingSceneView extends View {\n /**\n * 完成当前剧情回调函数\n */\n completePlotCallback: () => Promise<void>;\n setContent(isSelf: boolean, text: string, nameSpr: string, name?: string, portraitImg?: string, otherPortraitImg?: string, showRouge?: boolean): Promise<void>;\n setBackground(path: string): Promise<void>;\n setBackgroundEffect(path: string): Promise<void>;\n setIsRunningAction: (isRunning: boolean) => void;\n /**引导返回 */\n guideBack(): void;\n /**是否显示返回按钮*/\n showBackBtn: (show: boolean) => void;\n setRunCloseAction: (run: boolean) => void;\n\n getChapterBtn: () => cc.Prefab;\n\n /**关闭ui */\n closeView: () => void;\n onReviewButtonClickCallback: () => void;\n}\n\nexport const DatingSceneViewType = \"DatingSceneView\";"]}
\ No newline at end of file
{"version":3,"sources":["assets/script/game/ui/view/type/DatingSceneView.ts"],"names":[],"mappings":";;;;;;;AAsBa,QAAA,mBAAmB,GAAG,iBAAiB,CAAC","file":"","sourceRoot":"/","sourcesContent":["import { View } from \"../../../../common/classbase/ViewBase\";\n\nexport interface DatingSceneView extends View {\n /**\n * 完成当前剧情回调函数\n */\n completePlotCallback: () => Promise<void>;\n setContent(isSelf: boolean, text: string, nameSpr: string, name?: string, portraitImg?: string, otherPortraitImg?: string, showRouge?: boolean): Promise<void>;\n setBackground(path: string): Promise<void>;\n setBackgroundEffect(path: string): Promise<void>;\n setIsRunningAction: (isRunning: boolean) => void;\n /**引导返回 */\n guideBack(): void;\n /**是否显示返回按钮*/\n showBackBtn: (show: boolean) => void;\n setRunCloseAction: (run: boolean) => void;\n\n /**关闭ui */\n closeView: () => void;\n onReviewButtonClickCallback: () => void;\n}\n\nexport const DatingSceneViewType = \"DatingSceneView\";"]}
\ No newline at end of file
......@@ -55,14 +55,6 @@ let DiscoverViewPresenter = /** @class */ (() => {
await simba_sdk_1.SDK.setClipboardData(this._viewProps.manId);
UIManager_1.UIManager.showToast("用户ID:" + this._viewProps.manId);
};
this.onForceEnterDiscoverSubView = (itemType) => {
this.itemClickCallBack(itemType);
};
this.onPlayerOptionSkin = () => {
this.initViewProps();
this.initItemConfig();
this._view.updateProps(this._viewProps);
};
}
static isShowRedDot() {
return false;
......@@ -88,8 +80,6 @@ let DiscoverViewPresenter = /** @class */ (() => {
}
onOpen() {
super.onOpen(undefined);
this._disposable.add(GameModelManager_1.GameModelManager.PlayerOptionSkin.on(this.onPlayerOptionSkin));
this._disposable.add(GameModelManager_1.GameModelManager.ForceEnterDiscoverSubView.on(this.onForceEnterDiscoverSubView));
this.onShow();
}
onShow() {
......
{"version":3,"sources":["assets/script/game/ui/presenter/DiscoverViewPresenter.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { SDK } from \"simba-sdk\";\nimport { GameRecord } from \"../../../avg/AVG\";\nimport { Presenter } from \"../../../common/classbase/PresenterBase\";\nimport { UIManager } from \"../../../common/gameplay/managers/UIManager\";\nimport { GameModelManager } from \"../../model/GameModelManager\";\nimport { RegPresenter } from \"../PresenterCCViewFactory\";\nimport { DiscoverView, DiscoverViewProps, DiscoverViewType } from \"../view/type/DiscoverView\";\nimport { DiscoverSettingViewPresenter } from \"./discover/DiscoverSettingViewPresenter\";\nimport { GameTextData } from \"../../../common/gameplay/gamedata/GameTextData\";\nimport { DiscoverItemType } from \"../../Enums\";\nimport QRCodeViewPresenter from \"./QRCodeViewPresenter\";\nimport GameDotMgr from \"../../GameDotMgr\";\nimport ProductionTeamViewPresenter from \"./discover/ProductionTeamViewPresenter\";\n\n@RegPresenter(DiscoverViewType)\nexport default class DiscoverViewPresenter extends Presenter<undefined, DiscoverView> {\n static uuid = \"DiscoverViewPresenter\";\n\n private _viewProps: DiscoverViewProps;\n\n static isShowRedDot() {\n return false;\n }\n\n constructor() {\n super();\n }\n\n initViewProps() {\n this._viewProps = {\n manName: \"\",\n manId: \"\",\n manIcon: \"\",\n onCopyInfo: this.onCopyInfo,\n onItemClick: this.itemClickCallBack\n };\n }\n\n itemClickCallBack = (itemType: DiscoverItemType) => {\n switch (itemType) {\n case DiscoverItemType.Settings:\n this.hideGameClubBtn();\n UIManager.pushPresenter(DiscoverSettingViewPresenter, undefined);\n break;\n case DiscoverItemType.Forum:\n break;\n case DiscoverItemType.CustomerService:\n this.hideGameClubBtn();\n //点击二维码打点\n GameDotMgr.getInstance().dotClickUI(\"CustomerService\");\n UIManager.pushPresenter(QRCodeViewPresenter, undefined);\n break;\n case DiscoverItemType.ProductionTeam:\n this.hideGameClubBtn();\n //点击二维码打点\n UIManager.pushPresenter(ProductionTeamViewPresenter, undefined);\n break;\n default:\n UIManager.showToast(GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_DEVELOPING_VALUE));\n break;\n }\n }\n\n onCopyInfo = async () => {\n await SDK.setClipboardData(this._viewProps.manId);\n UIManager.showToast(\"用户ID:\" + this._viewProps.manId);\n }\n\n initItemConfig() {\n this._viewProps.manName = GameRecord.globalVariables.playerName;\n if (SDK.getLoginInfo()?.playerId) {\n this._viewProps.manId = SDK.getLoginInfo()?.playerId as string;\n }\n let player = GameModelManager.getPlayerData();\n this._viewProps.manName = player.getConfig().name;\n this._viewProps.manIcon = player.getHeadIcon();\n }\n\n onOpen() {\n super.onOpen(undefined);\n this._disposable.add(GameModelManager.PlayerOptionSkin.on(this.onPlayerOptionSkin));\n this._disposable.add(GameModelManager.ForceEnterDiscoverSubView.on(this.onForceEnterDiscoverSubView));\n this.onShow();\n }\n\n onForceEnterDiscoverSubView = (itemType: DiscoverItemType) => {\n this.itemClickCallBack(itemType);\n }\n\n onPlayerOptionSkin = () => {\n this.initViewProps();\n this.initItemConfig();\n this._view.updateProps(this._viewProps);\n }\n\n onShow() {\n super.onShow();\n this.initViewProps();\n this.initItemConfig();\n this.view.setProps(this._viewProps);\n this.view.createGameClubBtn();\n this.showGameClubBtn();\n }\n\n onEnterBackground() {\n super.onEnterBackground();\n this.hideGameClubBtn();\n }\n\n onEnterForeground() {\n super.onEnterForeground();\n this.showGameClubBtn();\n }\n\n onHide() {\n super.onHide();\n SDK.destroyGameClubButton();\n }\n\n showGameClubBtn() {\n SDK.showGameClubButton();\n }\n\n hideGameClubBtn() {\n SDK.hideGameClubButton();\n }\n}\n"]}
\ No newline at end of file
{"version":3,"sources":["assets/script/game/ui/presenter/DiscoverViewPresenter.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { SDK } from \"simba-sdk\";\nimport { GameRecord } from \"../../../avg/AVG\";\nimport { Presenter } from \"../../../common/classbase/PresenterBase\";\nimport { UIManager } from \"../../../common/gameplay/managers/UIManager\";\nimport { GameModelManager } from \"../../model/GameModelManager\";\nimport { RegPresenter } from \"../PresenterCCViewFactory\";\nimport { DiscoverView, DiscoverViewProps, DiscoverViewType } from \"../view/type/DiscoverView\";\nimport { DiscoverSettingViewPresenter } from \"./discover/DiscoverSettingViewPresenter\";\nimport { GameTextData } from \"../../../common/gameplay/gamedata/GameTextData\";\nimport { DiscoverItemType } from \"../../Enums\";\nimport QRCodeViewPresenter from \"./QRCodeViewPresenter\";\nimport GameDotMgr from \"../../GameDotMgr\";\nimport ProductionTeamViewPresenter from \"./discover/ProductionTeamViewPresenter\";\n\n@RegPresenter(DiscoverViewType)\nexport default class DiscoverViewPresenter extends Presenter<undefined, DiscoverView> {\n static uuid = \"DiscoverViewPresenter\";\n\n private _viewProps: DiscoverViewProps;\n\n static isShowRedDot() {\n return false;\n }\n\n constructor() {\n super();\n }\n\n initViewProps() {\n this._viewProps = {\n manName: \"\",\n manId: \"\",\n manIcon: \"\",\n onCopyInfo: this.onCopyInfo,\n onItemClick: this.itemClickCallBack\n };\n }\n\n itemClickCallBack = (itemType: DiscoverItemType) => {\n switch (itemType) {\n case DiscoverItemType.Settings:\n this.hideGameClubBtn();\n UIManager.pushPresenter(DiscoverSettingViewPresenter, undefined);\n break;\n case DiscoverItemType.Forum:\n break;\n case DiscoverItemType.CustomerService:\n this.hideGameClubBtn();\n //点击二维码打点\n GameDotMgr.getInstance().dotClickUI(\"CustomerService\");\n UIManager.pushPresenter(QRCodeViewPresenter, undefined);\n break;\n case DiscoverItemType.ProductionTeam:\n this.hideGameClubBtn();\n //点击二维码打点\n UIManager.pushPresenter(ProductionTeamViewPresenter, undefined);\n break;\n default:\n UIManager.showToast(GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_DEVELOPING_VALUE));\n break;\n }\n }\n\n onCopyInfo = async () => {\n await SDK.setClipboardData(this._viewProps.manId);\n UIManager.showToast(\"用户ID:\" + this._viewProps.manId);\n }\n\n initItemConfig() {\n this._viewProps.manName = GameRecord.globalVariables.playerName;\n if (SDK.getLoginInfo()?.playerId) {\n this._viewProps.manId = SDK.getLoginInfo()?.playerId as string;\n }\n let player = GameModelManager.getPlayerData();\n this._viewProps.manName = player.getConfig().name;\n this._viewProps.manIcon = player.getHeadIcon();\n }\n\n onOpen() {\n super.onOpen(undefined);\n this.onShow();\n }\n\n onShow() {\n super.onShow();\n this.initViewProps();\n this.initItemConfig();\n this.view.setProps(this._viewProps);\n this.view.createGameClubBtn();\n this.showGameClubBtn();\n }\n\n onEnterBackground() {\n super.onEnterBackground();\n this.hideGameClubBtn();\n }\n\n onEnterForeground() {\n super.onEnterForeground();\n this.showGameClubBtn();\n }\n\n onHide() {\n super.onHide();\n SDK.destroyGameClubButton();\n }\n\n showGameClubBtn() {\n SDK.showGameClubButton();\n }\n\n hideGameClubBtn() {\n SDK.hideGameClubButton();\n }\n}\n"]}
\ No newline at end of file
......@@ -25,7 +25,6 @@ const Enums_1 = require("../../Enums");
const CDKeyEventManager_1 = require("../../model/CDKeyEventManager");
const DatingEventSceneModel_1 = require("../../model/DatingEventSceneModel");
const GameModelManager_1 = require("../../model/GameModelManager");
const ChapterBtn_1 = require("../ChapterBtn");
const PresenterCCViewFactory_1 = require("../PresenterCCViewFactory");
const VerbView_1 = require("../VerbView");
const DatingSceneView_1 = require("../view/type/DatingSceneView");
......@@ -425,8 +424,6 @@ let DatingScenePresenter = /** @class */ (() => {
}
else {
GameModelManager_1.GameModelManager.dotMainLinePlotEnd();
// GameModelManager.setProgressDateScene(this._model.id);
GameModelManager_1.GameModelManager.CheckDateSceneProgress.emit();
}
}
}
......@@ -455,17 +452,6 @@ let DatingScenePresenter = /** @class */ (() => {
}
return portrait;
}
CreateOrUpdateChapterBtns() {
let ret = [];
let models = GameModelManager_1.GameModelManager.getMainDatingEventScenesModel();
for (let i = 0; i < models.length; i++) {
ret.push({ chapterId: i + 1, chapterName: models[i].config.name, chapterStartPlotId: models[i].config.start_plot_id });
}
for (let i = ret.length - 1; i >= 0; i--) {
let btn = cc.instantiate(this.view.getChapterBtn());
btn.getComponent(ChapterBtn_1.default).setData(ret[i].chapterId, ret[i].chapterName, ret[i].chapterStartPlotId);
}
}
getRetainVarKeyArr() {
let keyArr = [];
let branches = GameModelManager_1.GameModelManager.getAllStartedBranches();
......
{"version":3,"sources":["assets/script/game/ui/presenter/DatingScenePresenter.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { AudioManager } from \"simba-cc-audio-manager\";\nimport { ConfigManager } from \"simba-config-manager\";\nimport { DeepReadonly, delay } from \"simba-utils\";\nimport { Action, ActionManager, ActionType, GameRecord, Plot, PlotManager, richNodesToCocosString, SentenceType, SpecialPlotId } from \"../../../avg/AVG\";\nimport { DateType, FaceType } from \"../../../avg/EditorEnums\";\nimport { EditorEvents } from \"../../../avg/EditorEvents\";\nimport { Presenter } from \"../../../common/classbase/PresenterBase\";\nimport { GameConstData } from \"../../../common/gameplay/gamedata/GameConstData\";\nimport { UIManager } from \"../../../common/gameplay/managers/UIManager\";\nimport { dateSceneConfig } from \"../../../config/DateSceneConfig\";\nimport { PlotSceneType } from \"../../Enums\";\nimport CDKeyEventManager from \"../../model/CDKeyEventManager\";\nimport { DatingEventSceneModel, DatingEventStatus } from \"../../model/DatingEventSceneModel\";\nimport { GameModelManager } from \"../../model/GameModelManager\";\nimport GameRoleDataModel from \"../../model/GameRoleDataModel\";\nimport ChapterBtn from \"../ChapterBtn\";\nimport { RegPresenter } from \"../PresenterCCViewFactory\";\nimport { SpecialToastType } from \"../SpecialToast\";\nimport VerbView from \"../VerbView\";\nimport { AlertDialogViewProps } from \"../view/type/AlertDialogView\";\nimport { DatingSceneView, DatingSceneViewType } from \"../view/type/DatingSceneView\";\nimport { SentenceSelectorViewProps } from \"../view/type/SentenceSelectorView\";\nimport AlertDialogViewPresenter from \"./AlertDialogViewPresenter\";\nimport ReviewPlotViewPresenter, { ReviewPlotViewParam } from \"./ReviewPlotViewPresenter\";\nimport SentenceSelectorViewPresenter from \"./SentenceSelectorViewPresenter\";\n\ntype DatingPlot = DeepReadonly<Plot & { face: FaceType, portrait?: number, portraitFace?: FaceType }>\n@RegPresenter(DatingSceneViewType)\nexport class DatingScenePresenter extends Presenter<DatingEventSceneModel, DatingSceneView> {\n static uuid = \"DatingScenePresenter\";\n private _currPlot?: DatingPlot;\n private _executingPlot = false;\n private _completingPlot = false;\n private _showScrollView = false;\n\n /**是否时回忆 */\n private _isReview = false;\n private _model: DatingEventSceneModel;\n // private _actionFilter?: (action: DeepReadonly<Action>) => boolean;\n private _plotBranch = 0;\n /**出现选择时记录当前选择的id*/\n private _currSelect?: number = undefined;\n /**本次约会剧情是否结束 */\n private _finished = false;\n //dating scene which id is 1, need to deal by specially;\n private _specialDealSceneId: number = 1;\n\n private _isDotTutorial: boolean = false;\n private _showBackBtn: boolean = true;\n private _reviewPlot: string = \"\";\n\n onOpen(param: DatingEventSceneModel) {\n super.onOpen(param);\n this._finished = false;\n this._isDotTutorial = false;\n this._reviewPlot = \"\";\n this.view.completePlotCallback = this.completePlot;\n this.view.onReviewButtonClickCallback = this.onReviewButtonClickCallback;\n this._model = param;\n if (this._model.status === DatingEventStatus.New) {\n this._model.status = DatingEventStatus.InProgress;\n }\n let isSpecialScene: boolean = this._model.id === this._specialDealSceneId;\n // deal special :hide backBtn\n this._showBackBtn = !(isSpecialScene && this._model.status === DatingEventStatus.InProgress);\n this.view.showBackBtn(this._showBackBtn);\n // this.view.setRunCloseAction((isSpecialScene && this._model.status !== DatingEventStatus.Completed));\n if (this._model.isExtra) {\n GameModelManager.setIsMainPlotSceneType(false);\n } else {\n GameModelManager.setIsMainPlotSceneType(true);\n }\n delay(0.1).then(async () => {\n if (param.status === DatingEventStatus.Completed) {\n this._isReview = true;\n // this._actionFilter = (action) => {\n // return action.type !== ActionType.ModifyVariable;\n // }\n this._model.background = \"\";\n this._currPlot = this._model.firstPlot as DatingPlot;\n\n } else {\n this._isReview = false;\n if (this._model.isExtra) {\n GameModelManager.setBranchInProgress(this._model.id);\n }\n let plots = PlotManager.getCurrentPlots();\n this._plotBranch = plots.findIndex(v => v.plotSceneType === PlotSceneType.DatingEvent && v.plotSceneTypeId === param.id);\n this._isDotTutorial = GameModelManager.checkIsDotTutorial() && this._plotBranch === 0;\n this._currPlot = plots[this._plotBranch] as DatingPlot;\n if (this._currPlot.id === this._model.firstPlot.id) {\n GameRecord.recordVariables.bgm = \"\"; // 新约会,不继承之前剧情的背景音乐存档\n this._model.background = \"\";\n }\n this._currSelect = PlotManager.getPlotSelection(this._currPlot.id);\n // if(!this._currSelect) this._currSelect = 0;\n if (GameRecord.recordVariables.bgm) {\n AudioManager.playMusic(GameRecord.recordVariables.bgm);\n }\n\n //dot main plot start\n if (0 === this._plotBranch && this._currPlot && this._currPlot.id === this._model.firstPlot.id) {\n GameModelManager.dotMainLinePlotStart();\n }\n }\n if (this._model.background) {\n await this.view.setBackground(\"textures/background/dating_event/\" + this._model.background);\n }\n this.execPlot();\n });\n\n this._disposable.add(EditorEvents.SET_DATING_BG.on((bgPath) => {\n this._model.background = bgPath;\n if (bgPath) bgPath = \"textures/background/dating_event/\" + bgPath;\n return this.view.setBackground(bgPath);\n }));\n this._disposable.add(EditorEvents.SET_DATING_BG_EFFECT.on((bgPath) => {\n this._model.background = bgPath;\n if (bgPath) bgPath = \"textures/background/dating_event/\" + bgPath;\n return this.view.setBackgroundEffect(bgPath);\n }));\n this._disposable.add(GameModelManager.RollBackToPlot.on(this.onClickRollBackBtn));\n this._showScrollView = false;\n this._disposable.add(GameModelManager.DeadEvent.on(this.onDeadEvent));\n this._disposable.add(GameModelManager.SpecialToast.on(this.onSpecialToast));\n }\n\n onClose() {\n super.onClose();\n this._currPlot = undefined;\n AudioManager.stopMusic();\n // UIManager.popToPresenter(this);\n if (!this._model.isExtra) {\n GameModelManager.CloseDatingSceneView.emit(this._model.id);\n }\n }\n\n async execPlot() {\n if (this._currPlot) {\n if (this._currPlot.sentences && this._currPlot.plotSceneType === PlotSceneType.DatingEvent && this._currPlot.plotSceneTypeId === this._model.id) {\n this._executingPlot = true;\n const sentence = this._currPlot.sentences[0];\n const content = sentence.content;\n const roleData = GameModelManager.getRoleData(sentence.roleId)!;\n let otherPortrait: string | undefined = undefined;\n let isShowRouge: boolean = this.checkIsShowRouge(this._currPlot.id);\n if (this._currPlot.portrait !== undefined) {\n let otherRole = GameModelManager.getRoleData(this._currPlot.portrait);\n if (otherRole) {\n // otherPortrait = otherRole.getPortrait(this._currPlot.portraitFace);\n otherPortrait = this.getPortraitByRole(otherRole, this._currPlot.portraitFace);\n }\n }\n if (content) { // TODO 图片设置\n if (content.type === SentenceType.TEXT) {\n this.view.showBackBtn(this._showBackBtn);\n await this.view.setContent(sentence.roleId === GameConstData.GAME_CONST_PLAYER_ROLE_VALUE,\n richNodesToCocosString(content.value),\n sentence.roleId === 1 ? \"\" : roleData.getNameIcon(),\n sentence.roleId === 1 ? undefined : roleData.getConfig().name,\n // sentence.roleId === 1 ? otherPortrait : roleData.getPortrait(this._currPlot.face,),\n sentence.roleId === 1 ? otherPortrait : this.getPortraitByRole(roleData, this._currPlot.face),\n otherPortrait, isShowRouge);\n let plotName = \"<color=#EFDA91>\" + (sentence.roleId === 1 ? \"旁白\" : roleData.getConfig().name) + \":</c>\\n\";\n let plotContent = richNodesToCocosString(content.value) + \"\\n\";\n if (this._isReview) {\n this._reviewPlot = this._reviewPlot + plotName;\n this._reviewPlot = this._reviewPlot + plotContent;\n }\n } else if (content.type === SentenceType.SELECT) {\n this.view.showBackBtn(false);\n let setSelection = async () => {\n let value = content.value[this._currSelect!];\n let str = value.summary;\n this._reviewPlot = this._reviewPlot + \"<color=#D36777>\" + \"选项\" + \":</c>\\n\";\n if (value.content && value.content.type === SentenceType.EMPTY) { // 空类型,不做展示\n await this.completePlot();\n if (this._isReview) {\n this._reviewPlot = this._reviewPlot + str + \"\\n\";\n }\n return;\n } else if (value.content && value.content.type === SentenceType.TEXT) {\n str = richNodesToCocosString(value.content.value);\n if (this._isReview) {\n this._reviewPlot = this._reviewPlot + str + \"\\n\";\n this._reviewPlot = this._reviewPlot + \"<color=#EFDA91>\" + \"梵优\" + \":</c>\\n\";\n this._reviewPlot = this._reviewPlot + str + \"\\n\";\n }\n } else {\n if (this._isReview) {\n this._reviewPlot = this._reviewPlot + str + \"\\n\";\n this._reviewPlot = this._reviewPlot + \"<color=#EFDA91>\" + \"梵优\" + \":</c>\\n\";\n this._reviewPlot = this._reviewPlot + str + \"\\n\";\n }\n }\n // await this.view.setContent(true, str, roleData.getConfig().name, roleData.getPortrait(this._currPlot!.face), otherPortrait, isShowRouge);\n await this.view.setContent(true, str, roleData.getNameIcon(), roleData.getConfig().name, this.getPortraitByRole(roleData, this._currPlot!.face), otherPortrait, isShowRouge);\n }\n if (this._currSelect === undefined || this._currSelect === null) {\n let props: SentenceSelectorViewProps =\n {\n sentence: content,\n backgroundpath: \"\",\n clickcausehide: false,\n isFromDate: true,\n y: -250,\n dateSceneId: this._model.id,\n plotId: this._currPlot.id,\n onSelectIndexCallback: (index: number) => { this._currSelect = index; setSelection(); }\n };\n UIManager.pushPresenter(SentenceSelectorViewPresenter, props);\n // await this.view.setContent(true, \"\", roleData.getConfig().name, roleData.getPortrait(this._currPlot!.face), otherPortrait, isShowRouge);\n await this.view.setContent(true, \"\", roleData.getNameIcon(), roleData.getConfig().name, this.getPortraitByRole(roleData, this._currPlot!.face), otherPortrait, isShowRouge);\n \n } else {\n await setSelection();\n }\n } else {\n console.error(\"不支持的约会剧情\", content);\n }\n } else { // 没有句子,只设置其立绘、背景等\n // await this.view.setContent(false, \"\", \"\", roleData.getPortrait(this._currPlot!.face), otherPortrait, isShowRouge);\n await this.view.setContent(false, \"\", \"\", \"\", this.getPortraitByRole(roleData, this._currPlot!.face), otherPortrait, isShowRouge);\n }\n if (this._currPlot.sentences[0].actions.actions.length) {\n await ActionManager.executeActions(this._currPlot.sentences[0].actions, this.filterFunc, !this._isReview);\n }\n this._executingPlot = false;\n } else {\n // 本次约会剧情结束\n this._model.status = DatingEventStatus.Completed;\n this._finished = true;\n this.view.setIsRunningAction(false);\n this.view.showBackBtn(this._showBackBtn);\n let Plot = PlotManager.getCurrentPlots()[0];\n let isToBeContinued = Plot.id == SpecialPlotId.ToBeContinued;\n let isEnd = Plot.id == SpecialPlotId.End;\n if ((this._isReview || isToBeContinued || isEnd) && !this._model.isExtra) {\n let nextKey = this.getNextDatingEventKey();\n let nextEventModel = GameModelManager.getMainDatingEventSceneModel(nextKey);\n if (nextEventModel) {\n if (nextEventModel.status == DatingEventStatus.Completed) {\n this.view.closeView();\n let comp = cc.director.getScene().getChildByName(\"Canvas\").getChildByName(\"VerbRoot\").getChildByName(\"VerbView\").getComponent(VerbView);\n // let cfgs = ConfigManager.getAllConfig(dateSceneConfig);\n // let ids: string[] = [];\n // for (const id in cfgs) {\n // if (cfgs[id].DateType == DateType.Date_Normal) {\n // ids.push(id);\n // }\n // }\n // let index = ids.indexOf(nextKey.toString());\n let plotIds: number[] = [];\n let models = GameModelManager.getMainDatingEventScenesModel();\n for (let i = 0; i < models.length; i++) {\n plotIds.push(models[i].id);\n }\n let index = plotIds.indexOf(nextEventModel.id);\n let title = \"第\" + (index + 1) + \"章:\";\n let cfg = ConfigManager.getConfig(dateSceneConfig, Number(nextKey));\n let desc = cfg && cfg.name ? GameModelManager.getConfigLanguageTxt(cfg.name) : \"\";\n comp.toDating(() => {\n AudioManager.playEffect('verb');\n GameModelManager.ForceClickDataReady.emit();\n GameModelManager.ForceClickDatingItem.emit(Number(nextKey));\n }, { title: title, desc: desc })\n } else {\n this.view.guideBack();\n if (this._model.isExtra) {\n GameModelManager.setBranchComplete(this._model.id);\n }\n }\n } else {\n if (this._model.isExtra) {\n GameModelManager.setBranchComplete(this._model.id);\n }\n this.view.guideBack();\n console.log(\"The nextEventModel is undefined.\");\n }\n } else if (this._model.isExtra) {\n this.view.guideBack();\n GameModelManager.setBranchComplete(this._model.id);\n console.log(\"Curr Chapter is extra plot.\");\n } else {\n GameModelManager.dotMainLinePlotEnd();\n // GameModelManager.setProgressDateScene(this._model.id);\n GameModelManager.CheckDateSceneProgress.emit();\n }\n }\n } else if (this._model.isExtra) {\n this.view.guideBack();\n GameModelManager.setBranchComplete(this._model.id);\n console.log(\"Curr Chapter is extra plot.\");\n }\n }\n\n /**完成当前剧情回调 */\n completePlot = async () => {\n if (this._executingPlot || this._completingPlot || !this._currPlot || this._finished) return;\n let content = this._currPlot.sentences[0].content;\n if (content && content.type === SentenceType.SELECT && this._currSelect === undefined) return;\n this._completingPlot = true;\n // GameModelManager.pushDateSceneKeyPlot(this._model.id, this._currPlot.id);\n if (this._model.isExtra) {\n GameModelManager.setIsMainPlotSceneType(false);\n } else {\n GameModelManager.setIsMainPlotSceneType(true);\n }\n if (this._isReview) {\n let nextPlot = await PlotManager.getNextPlot(this._currPlot, this._currSelect);\n if (nextPlot) {\n this._currPlot = nextPlot as DatingPlot;\n }\n } else {\n this._model.status = DatingEventStatus.InProgress;\n let nextPlots = await PlotManager.completePlot(this._currPlot, this._currSelect);\n this._currPlot = nextPlots[this._plotBranch] as DatingPlot;\n }\n this._currSelect = undefined;\n this._completingPlot = false;\n this.execPlot();\n }\n\n checkIsShowRouge(plotId: number): boolean {\n let pStart: number = 1202;\n let pEnd: number = 1229;\n let ret: boolean = plotId >= pStart && plotId <= pEnd;\n // console.log(\"剧情id = \" + plotId + \" 是否展示口红: = \", ret);\n return ret;\n }\n\n getPortraitByRole(role: GameRoleDataModel, face = FaceType.Normal, skin?: number): string {\n let portrait: string = \"\";\n let curSkin = role.getCurSkin();\n if (skin === undefined && curSkin > 0) {\n skin = curSkin;\n }\n portrait = \"textures/portrait/\" + role.getConfig().id + \"/\" + (skin !== undefined ? skin + \"/\" : \"\") + face;\n if (this._model.id === 1) {\n portrait = \"textures/portrait/\" + role.getConfig().id + \"/\" + face;\n }\n return portrait;\n }\n\n CreateOrUpdateChapterBtns() {\n let ret: { chapterId: number, chapterName: number, chapterStartPlotId: number }[] = [];\n let models = GameModelManager.getMainDatingEventScenesModel();\n for (let i = 0; i < models.length; i++) {\n ret.push({ chapterId: i + 1, chapterName: models[i].config.name, chapterStartPlotId: models[i].config.start_plot_id });\n }\n for (let i = ret.length - 1; i >= 0; i--) {\n let btn = cc.instantiate(this.view.getChapterBtn());\n btn.getComponent(ChapterBtn).setData(ret[i].chapterId, ret[i].chapterName, ret[i].chapterStartPlotId);\n }\n }\n\n onClickRollBackBtn = (pid: number) => {\n CDKeyEventManager.getInstance().shiftCDKeyRemovePlotAD();\n let removeAdCardNum: number = CDKeyEventManager.getInstance().checkCDKeyRemovePlotAD();\n let temp: AlertDialogViewProps =\n {\n dataptr: {},\n titlecontent: \"此功能不可逆\",\n content: \"使用传送门会清掉此章节到已解锁最新章节之间的剧情存档和剧情内产生的数值,<color=red>且不可逆</color>,确定使用传送门吗?\",\n ishasad: !(removeAdCardNum > 0),\n istwobtn: true,\n adconfig: \"inject_fruit\",\n hasBanner: false,\n callback: async (type, ret) => {\n if (ret) {\n let retainVar = this.getRetainVarKeyArr();\n await PlotManager.rollbackToPlot(pid, false, retainVar);\n this.rollBackDateAdArray(pid);\n GameRecord.saveRecord();\n this._showScrollView = !this._showScrollView;\n this.view.closeView();\n await GameModelManager.init((value: number) => {\n });\n GameModelManager.setIsChangePlotSceneType(true);\n UIManager.showSceneToast(\"数据刷新完成\");\n let isSpecialScene: boolean = this._model.id === this._specialDealSceneId;\n this._showBackBtn = !(isSpecialScene && this._model.status === DatingEventStatus.InProgress);\n this.view.showBackBtn(this._showBackBtn);\n GameModelManager.RefreshAllStatus.emit();\n }\n }\n };\n UIManager.pushPresenter(AlertDialogViewPresenter, temp);\n }\n\n getRetainVarKeyArr(): string[] {\n let keyArr: string[] = [];\n let branches = GameModelManager.getAllStartedBranches();\n let branchMap = this.getBranchFirstPlotIdMap();\n for (let i = 0; i < branches.length; i++) {\n let startPlotId = branches[i].startPlot;\n let extraId = branchMap[startPlotId + \"\"];\n if (extraId) {\n let recordKey = \"de\" + extraId;\n let f = recordKey + \".f\";\n let s = recordKey + \".s\";\n let b = recordKey + \".bg\";\n if (GameRecord.recordVariables[f]) {\n keyArr.push(f);\n }\n if (GameRecord.recordVariables[s]) {\n keyArr.push(s);\n }\n if (GameRecord.recordVariables[b]) {\n keyArr.push(b);\n }\n }\n }\n return keyArr;\n }\n\n getBranchFirstPlotIdMap(): { [key: string]: number } {\n let map: { [key: string]: number } = {};\n let tbl = ConfigManager.getAllConfig(dateSceneConfig);\n if (tbl) {\n for (let id in tbl) {\n let c = tbl[id];\n if (c && c.DateType == DateType.Date_Sp) {\n map[c.start_plot_id + \"\"] = c.id;\n }\n }\n }\n return map;\n }\n\n onDeadEvent = (pid: number) => {\n if (this._model.status == DatingEventStatus.Completed) {\n let temp: AlertDialogViewProps = {\n dataptr: {},\n titlecontent: \"提示\",\n content: \"触发了死亡结局,但因为是在回忆模式,所以章节不会被重置\",\n ishasad: false,\n istwobtn: false,\n adconfig: \"\",\n hasBanner: false,\n callback: async (type, ret) => {\n if (ret) {\n this.view.closeView();\n }\n }\n };\n UIManager.pushPresenter(AlertDialogViewPresenter, temp);\n } else {\n let temp: AlertDialogViewProps = {\n dataptr: {},\n titlecontent: \"提示\",\n content: \"触发了死亡结局,本章节将<color=red>重置</color>!!\",\n ishasad: false,\n istwobtn: false,\n adconfig: \"\",\n hasBanner: false,\n callback: async (type, ret) => {\n if (ret) {\n let retainVar = this.getRetainVarKeyArr();\n await PlotManager.rollbackToPlot(pid, false, retainVar);\n this.rollBackDateAdArray(pid);\n GameRecord.saveRecord();\n this._showScrollView = !this._showScrollView;\n this.view.closeView();\n await GameModelManager.init((value: number) => {\n });\n GameModelManager.setIsChangePlotSceneType(true);\n UIManager.showSceneToast(\"数据刷新完成\");\n let isSpecialScene: boolean = this._model.id === this._specialDealSceneId;\n this._showBackBtn = !(isSpecialScene && this._model.status === DatingEventStatus.InProgress);\n this.view.showBackBtn(this._showBackBtn);\n GameModelManager.RefreshAllStatus.emit();\n }\n }\n };\n UIManager.pushPresenter(AlertDialogViewPresenter, temp);\n }\n }\n\n private filterFunc = (action: DeepReadonly<Action>): boolean => {\n let isExcute: boolean = true;\n if (action.type === ActionType.ModifyVariable) {\n isExcute = !GameModelManager.checkPlotTipAddGraceAlready(this._currPlot?.id as number);\n if (isExcute) {\n GameModelManager.pushTipAddGracePlot(this._currPlot?.id as number);\n }\n\n }\n return isExcute;\n }\n\n rollBackDateAdArray(pid: number) {\n let models = GameModelManager.getMainDatingEventScenesModel();\n let chapterId = -1;\n for (let i = 0; i < models.length; i++) {\n if (pid == models[i].config.start_plot_id) {\n chapterId = models[i].config.id;\n }\n }\n if (chapterId == -1) {\n console.error(\"Cannot found the chapterId.\");\n }\n let record = GameRecord.globalVariables[\"date_ad_arr\"] as string;\n let a: number[] = [];\n if (record) {\n a = JSON.parse(record);\n a.sort((a, b) => {\n if (a < b) {\n return -1;\n } else if (a > b) {\n return 1;\n }\n return 0;\n });\n for (let i = 0; i < a.length; i++) {\n if (a[i] >= chapterId) {\n a.splice(i, a.length - (i - 1));\n GameRecord.globalVariables[\"date_ad_arr\"] = JSON.stringify(a);\n return;\n }\n }\n }\n }\n\n getNextDatingEventKey(): number {\n let nextKey: number = 0;\n let currEventId = this._model.id;\n let plotIds: number[] = [];\n let models = GameModelManager.getMainDatingEventScenesModel();\n for (let i = 0; i < models.length; i++) {\n plotIds.push(models[i].id);\n }\n for (let i = 0; i < plotIds.length; i++) {\n if (plotIds[i] == currEventId) {\n nextKey = plotIds[i + 1];\n }\n }\n console.log(\"getNextDatingEventModel\", nextKey);\n return nextKey;\n }\n\n onReviewButtonClickCallback = async () => {\n let temp: ReviewPlotViewParam = {\n isReview: this._isReview,\n plotString: this._reviewPlot,\n startPlotId: this._model.config.start_plot_id,\n currentPlotId: this._currPlot!.id,\n };\n UIManager.pushPresenter(ReviewPlotViewPresenter, temp);\n }\n\n onSpecialToast = (type: SpecialToastType) => {\n UIManager.showSpecialToast(type);\n }\n}"]}
\ No newline at end of file
{"version":3,"sources":["assets/script/game/ui/presenter/DatingScenePresenter.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { AudioManager } from \"simba-cc-audio-manager\";\nimport { ConfigManager } from \"simba-config-manager\";\nimport { DeepReadonly, delay } from \"simba-utils\";\nimport { Action, ActionManager, ActionType, GameRecord, Plot, PlotManager, richNodesToCocosString, SentenceType, SpecialPlotId } from \"../../../avg/AVG\";\nimport { DateType, FaceType } from \"../../../avg/EditorEnums\";\nimport { EditorEvents } from \"../../../avg/EditorEvents\";\nimport { Presenter } from \"../../../common/classbase/PresenterBase\";\nimport { GameConstData } from \"../../../common/gameplay/gamedata/GameConstData\";\nimport { UIManager } from \"../../../common/gameplay/managers/UIManager\";\nimport { dateSceneConfig } from \"../../../config/DateSceneConfig\";\nimport { PlotSceneType } from \"../../Enums\";\nimport CDKeyEventManager from \"../../model/CDKeyEventManager\";\nimport { DatingEventSceneModel, DatingEventStatus } from \"../../model/DatingEventSceneModel\";\nimport { GameModelManager } from \"../../model/GameModelManager\";\nimport GameRoleDataModel from \"../../model/GameRoleDataModel\";\nimport { RegPresenter } from \"../PresenterCCViewFactory\";\nimport { SpecialToastType } from \"../SpecialToast\";\nimport VerbView from \"../VerbView\";\nimport { AlertDialogViewProps } from \"../view/type/AlertDialogView\";\nimport { DatingSceneView, DatingSceneViewType } from \"../view/type/DatingSceneView\";\nimport { SentenceSelectorViewProps } from \"../view/type/SentenceSelectorView\";\nimport AlertDialogViewPresenter from \"./AlertDialogViewPresenter\";\nimport ReviewPlotViewPresenter, { ReviewPlotViewParam } from \"./ReviewPlotViewPresenter\";\nimport SentenceSelectorViewPresenter from \"./SentenceSelectorViewPresenter\";\n\ntype DatingPlot = DeepReadonly<Plot & { face: FaceType, portrait?: number, portraitFace?: FaceType }>\n@RegPresenter(DatingSceneViewType)\nexport class DatingScenePresenter extends Presenter<DatingEventSceneModel, DatingSceneView> {\n static uuid = \"DatingScenePresenter\";\n private _currPlot?: DatingPlot;\n private _executingPlot = false;\n private _completingPlot = false;\n private _showScrollView = false;\n\n /**是否时回忆 */\n private _isReview = false;\n private _model: DatingEventSceneModel;\n // private _actionFilter?: (action: DeepReadonly<Action>) => boolean;\n private _plotBranch = 0;\n /**出现选择时记录当前选择的id*/\n private _currSelect?: number = undefined;\n /**本次约会剧情是否结束 */\n private _finished = false;\n //dating scene which id is 1, need to deal by specially;\n private _specialDealSceneId: number = 1;\n\n private _isDotTutorial: boolean = false;\n private _showBackBtn: boolean = true;\n private _reviewPlot: string = \"\";\n\n onOpen(param: DatingEventSceneModel) {\n super.onOpen(param);\n this._finished = false;\n this._isDotTutorial = false;\n this._reviewPlot = \"\";\n this.view.completePlotCallback = this.completePlot;\n this.view.onReviewButtonClickCallback = this.onReviewButtonClickCallback;\n this._model = param;\n if (this._model.status === DatingEventStatus.New) {\n this._model.status = DatingEventStatus.InProgress;\n }\n let isSpecialScene: boolean = this._model.id === this._specialDealSceneId;\n // deal special :hide backBtn\n this._showBackBtn = !(isSpecialScene && this._model.status === DatingEventStatus.InProgress);\n this.view.showBackBtn(this._showBackBtn);\n // this.view.setRunCloseAction((isSpecialScene && this._model.status !== DatingEventStatus.Completed));\n if (this._model.isExtra) {\n GameModelManager.setIsMainPlotSceneType(false);\n } else {\n GameModelManager.setIsMainPlotSceneType(true);\n }\n delay(0.1).then(async () => {\n if (param.status === DatingEventStatus.Completed) {\n this._isReview = true;\n // this._actionFilter = (action) => {\n // return action.type !== ActionType.ModifyVariable;\n // }\n this._model.background = \"\";\n this._currPlot = this._model.firstPlot as DatingPlot;\n\n } else {\n this._isReview = false;\n if (this._model.isExtra) {\n GameModelManager.setBranchInProgress(this._model.id);\n }\n let plots = PlotManager.getCurrentPlots();\n this._plotBranch = plots.findIndex(v => v.plotSceneType === PlotSceneType.DatingEvent && v.plotSceneTypeId === param.id);\n this._isDotTutorial = GameModelManager.checkIsDotTutorial() && this._plotBranch === 0;\n this._currPlot = plots[this._plotBranch] as DatingPlot;\n if (this._currPlot.id === this._model.firstPlot.id) {\n GameRecord.recordVariables.bgm = \"\"; // 新约会,不继承之前剧情的背景音乐存档\n this._model.background = \"\";\n }\n this._currSelect = PlotManager.getPlotSelection(this._currPlot.id);\n // if(!this._currSelect) this._currSelect = 0;\n if (GameRecord.recordVariables.bgm) {\n AudioManager.playMusic(GameRecord.recordVariables.bgm);\n }\n\n //dot main plot start\n if (0 === this._plotBranch && this._currPlot && this._currPlot.id === this._model.firstPlot.id) {\n GameModelManager.dotMainLinePlotStart();\n }\n }\n if (this._model.background) {\n await this.view.setBackground(\"textures/background/dating_event/\" + this._model.background);\n }\n this.execPlot();\n });\n\n this._disposable.add(EditorEvents.SET_DATING_BG.on((bgPath) => {\n this._model.background = bgPath;\n if (bgPath) bgPath = \"textures/background/dating_event/\" + bgPath;\n return this.view.setBackground(bgPath);\n }));\n this._disposable.add(EditorEvents.SET_DATING_BG_EFFECT.on((bgPath) => {\n this._model.background = bgPath;\n if (bgPath) bgPath = \"textures/background/dating_event/\" + bgPath;\n return this.view.setBackgroundEffect(bgPath);\n }));\n this._disposable.add(GameModelManager.RollBackToPlot.on(this.onClickRollBackBtn));\n this._showScrollView = false;\n this._disposable.add(GameModelManager.DeadEvent.on(this.onDeadEvent));\n this._disposable.add(GameModelManager.SpecialToast.on(this.onSpecialToast));\n }\n\n onClose() {\n super.onClose();\n this._currPlot = undefined;\n AudioManager.stopMusic();\n // UIManager.popToPresenter(this);\n if (!this._model.isExtra) {\n GameModelManager.CloseDatingSceneView.emit(this._model.id);\n }\n }\n\n async execPlot() {\n if (this._currPlot) {\n if (this._currPlot.sentences && this._currPlot.plotSceneType === PlotSceneType.DatingEvent && this._currPlot.plotSceneTypeId === this._model.id) {\n this._executingPlot = true;\n const sentence = this._currPlot.sentences[0];\n const content = sentence.content;\n const roleData = GameModelManager.getRoleData(sentence.roleId)!;\n let otherPortrait: string | undefined = undefined;\n let isShowRouge: boolean = this.checkIsShowRouge(this._currPlot.id);\n if (this._currPlot.portrait !== undefined) {\n let otherRole = GameModelManager.getRoleData(this._currPlot.portrait);\n if (otherRole) {\n // otherPortrait = otherRole.getPortrait(this._currPlot.portraitFace);\n otherPortrait = this.getPortraitByRole(otherRole, this._currPlot.portraitFace);\n }\n }\n if (content) { // TODO 图片设置\n if (content.type === SentenceType.TEXT) {\n this.view.showBackBtn(this._showBackBtn);\n await this.view.setContent(sentence.roleId === GameConstData.GAME_CONST_PLAYER_ROLE_VALUE,\n richNodesToCocosString(content.value),\n sentence.roleId === 1 ? \"\" : roleData.getNameIcon(),\n sentence.roleId === 1 ? undefined : roleData.getConfig().name,\n // sentence.roleId === 1 ? otherPortrait : roleData.getPortrait(this._currPlot.face,),\n sentence.roleId === 1 ? otherPortrait : this.getPortraitByRole(roleData, this._currPlot.face),\n otherPortrait, isShowRouge);\n let plotName = \"<color=#EFDA91>\" + (sentence.roleId === 1 ? \"旁白\" : roleData.getConfig().name) + \":</c>\\n\";\n let plotContent = richNodesToCocosString(content.value) + \"\\n\";\n if (this._isReview) {\n this._reviewPlot = this._reviewPlot + plotName;\n this._reviewPlot = this._reviewPlot + plotContent;\n }\n } else if (content.type === SentenceType.SELECT) {\n this.view.showBackBtn(false);\n let setSelection = async () => {\n let value = content.value[this._currSelect!];\n let str = value.summary;\n this._reviewPlot = this._reviewPlot + \"<color=#D36777>\" + \"选项\" + \":</c>\\n\";\n if (value.content && value.content.type === SentenceType.EMPTY) { // 空类型,不做展示\n await this.completePlot();\n if (this._isReview) {\n this._reviewPlot = this._reviewPlot + str + \"\\n\";\n }\n return;\n } else if (value.content && value.content.type === SentenceType.TEXT) {\n str = richNodesToCocosString(value.content.value);\n if (this._isReview) {\n this._reviewPlot = this._reviewPlot + str + \"\\n\";\n this._reviewPlot = this._reviewPlot + \"<color=#EFDA91>\" + \"梵优\" + \":</c>\\n\";\n this._reviewPlot = this._reviewPlot + str + \"\\n\";\n }\n } else {\n if (this._isReview) {\n this._reviewPlot = this._reviewPlot + str + \"\\n\";\n this._reviewPlot = this._reviewPlot + \"<color=#EFDA91>\" + \"梵优\" + \":</c>\\n\";\n this._reviewPlot = this._reviewPlot + str + \"\\n\";\n }\n }\n // await this.view.setContent(true, str, roleData.getConfig().name, roleData.getPortrait(this._currPlot!.face), otherPortrait, isShowRouge);\n await this.view.setContent(true, str, roleData.getNameIcon(), roleData.getConfig().name, this.getPortraitByRole(roleData, this._currPlot!.face), otherPortrait, isShowRouge);\n }\n if (this._currSelect === undefined || this._currSelect === null) {\n let props: SentenceSelectorViewProps =\n {\n sentence: content,\n backgroundpath: \"\",\n clickcausehide: false,\n isFromDate: true,\n y: -250,\n dateSceneId: this._model.id,\n plotId: this._currPlot.id,\n onSelectIndexCallback: (index: number) => { this._currSelect = index; setSelection(); }\n };\n UIManager.pushPresenter(SentenceSelectorViewPresenter, props);\n // await this.view.setContent(true, \"\", roleData.getConfig().name, roleData.getPortrait(this._currPlot!.face), otherPortrait, isShowRouge);\n await this.view.setContent(true, \"\", roleData.getNameIcon(), roleData.getConfig().name, this.getPortraitByRole(roleData, this._currPlot!.face), otherPortrait, isShowRouge);\n \n } else {\n await setSelection();\n }\n } else {\n console.error(\"不支持的约会剧情\", content);\n }\n } else { // 没有句子,只设置其立绘、背景等\n // await this.view.setContent(false, \"\", \"\", roleData.getPortrait(this._currPlot!.face), otherPortrait, isShowRouge);\n await this.view.setContent(false, \"\", \"\", \"\", this.getPortraitByRole(roleData, this._currPlot!.face), otherPortrait, isShowRouge);\n }\n if (this._currPlot.sentences[0].actions.actions.length) {\n await ActionManager.executeActions(this._currPlot.sentences[0].actions, this.filterFunc, !this._isReview);\n }\n this._executingPlot = false;\n } else {\n // 本次约会剧情结束\n this._model.status = DatingEventStatus.Completed;\n this._finished = true;\n this.view.setIsRunningAction(false);\n this.view.showBackBtn(this._showBackBtn);\n let Plot = PlotManager.getCurrentPlots()[0];\n let isToBeContinued = Plot.id == SpecialPlotId.ToBeContinued;\n let isEnd = Plot.id == SpecialPlotId.End;\n if ((this._isReview || isToBeContinued || isEnd) && !this._model.isExtra) {\n let nextKey = this.getNextDatingEventKey();\n let nextEventModel = GameModelManager.getMainDatingEventSceneModel(nextKey);\n if (nextEventModel) {\n if (nextEventModel.status == DatingEventStatus.Completed) {\n this.view.closeView();\n let comp = cc.director.getScene().getChildByName(\"Canvas\").getChildByName(\"VerbRoot\").getChildByName(\"VerbView\").getComponent(VerbView);\n // let cfgs = ConfigManager.getAllConfig(dateSceneConfig);\n // let ids: string[] = [];\n // for (const id in cfgs) {\n // if (cfgs[id].DateType == DateType.Date_Normal) {\n // ids.push(id);\n // }\n // }\n // let index = ids.indexOf(nextKey.toString());\n let plotIds: number[] = [];\n let models = GameModelManager.getMainDatingEventScenesModel();\n for (let i = 0; i < models.length; i++) {\n plotIds.push(models[i].id);\n }\n let index = plotIds.indexOf(nextEventModel.id);\n let title = \"第\" + (index + 1) + \"章:\";\n let cfg = ConfigManager.getConfig(dateSceneConfig, Number(nextKey));\n let desc = cfg && cfg.name ? GameModelManager.getConfigLanguageTxt(cfg.name) : \"\";\n comp.toDating(() => {\n AudioManager.playEffect('verb');\n GameModelManager.ForceClickDataReady.emit();\n GameModelManager.ForceClickDatingItem.emit(Number(nextKey));\n }, { title: title, desc: desc })\n } else {\n this.view.guideBack();\n if (this._model.isExtra) {\n GameModelManager.setBranchComplete(this._model.id);\n }\n }\n } else {\n if (this._model.isExtra) {\n GameModelManager.setBranchComplete(this._model.id);\n }\n this.view.guideBack();\n console.log(\"The nextEventModel is undefined.\");\n }\n } else if (this._model.isExtra) {\n this.view.guideBack();\n GameModelManager.setBranchComplete(this._model.id);\n console.log(\"Curr Chapter is extra plot.\");\n } else {\n GameModelManager.dotMainLinePlotEnd();\n }\n }\n } else if (this._model.isExtra) {\n this.view.guideBack();\n GameModelManager.setBranchComplete(this._model.id);\n console.log(\"Curr Chapter is extra plot.\");\n }\n }\n\n /**完成当前剧情回调 */\n completePlot = async () => {\n if (this._executingPlot || this._completingPlot || !this._currPlot || this._finished) return;\n let content = this._currPlot.sentences[0].content;\n if (content && content.type === SentenceType.SELECT && this._currSelect === undefined) return;\n this._completingPlot = true;\n // GameModelManager.pushDateSceneKeyPlot(this._model.id, this._currPlot.id);\n if (this._model.isExtra) {\n GameModelManager.setIsMainPlotSceneType(false);\n } else {\n GameModelManager.setIsMainPlotSceneType(true);\n }\n if (this._isReview) {\n let nextPlot = await PlotManager.getNextPlot(this._currPlot, this._currSelect);\n if (nextPlot) {\n this._currPlot = nextPlot as DatingPlot;\n }\n } else {\n this._model.status = DatingEventStatus.InProgress;\n let nextPlots = await PlotManager.completePlot(this._currPlot, this._currSelect);\n this._currPlot = nextPlots[this._plotBranch] as DatingPlot;\n }\n this._currSelect = undefined;\n this._completingPlot = false;\n this.execPlot();\n }\n\n checkIsShowRouge(plotId: number): boolean {\n let pStart: number = 1202;\n let pEnd: number = 1229;\n let ret: boolean = plotId >= pStart && plotId <= pEnd;\n // console.log(\"剧情id = \" + plotId + \" 是否展示口红: = \", ret);\n return ret;\n }\n\n getPortraitByRole(role: GameRoleDataModel, face = FaceType.Normal, skin?: number): string {\n let portrait: string = \"\";\n let curSkin = role.getCurSkin();\n if (skin === undefined && curSkin > 0) {\n skin = curSkin;\n }\n portrait = \"textures/portrait/\" + role.getConfig().id + \"/\" + (skin !== undefined ? skin + \"/\" : \"\") + face;\n if (this._model.id === 1) {\n portrait = \"textures/portrait/\" + role.getConfig().id + \"/\" + face;\n }\n return portrait;\n }\n\n onClickRollBackBtn = (pid: number) => {\n CDKeyEventManager.getInstance().shiftCDKeyRemovePlotAD();\n let removeAdCardNum: number = CDKeyEventManager.getInstance().checkCDKeyRemovePlotAD();\n let temp: AlertDialogViewProps =\n {\n dataptr: {},\n titlecontent: \"此功能不可逆\",\n content: \"使用传送门会清掉此章节到已解锁最新章节之间的剧情存档和剧情内产生的数值,<color=red>且不可逆</color>,确定使用传送门吗?\",\n ishasad: !(removeAdCardNum > 0),\n istwobtn: true,\n adconfig: \"inject_fruit\",\n hasBanner: false,\n callback: async (type, ret) => {\n if (ret) {\n let retainVar = this.getRetainVarKeyArr();\n await PlotManager.rollbackToPlot(pid, false, retainVar);\n this.rollBackDateAdArray(pid);\n GameRecord.saveRecord();\n this._showScrollView = !this._showScrollView;\n this.view.closeView();\n await GameModelManager.init((value: number) => {\n });\n GameModelManager.setIsChangePlotSceneType(true);\n UIManager.showSceneToast(\"数据刷新完成\");\n let isSpecialScene: boolean = this._model.id === this._specialDealSceneId;\n this._showBackBtn = !(isSpecialScene && this._model.status === DatingEventStatus.InProgress);\n this.view.showBackBtn(this._showBackBtn);\n GameModelManager.RefreshAllStatus.emit();\n }\n }\n };\n UIManager.pushPresenter(AlertDialogViewPresenter, temp);\n }\n\n getRetainVarKeyArr(): string[] {\n let keyArr: string[] = [];\n let branches = GameModelManager.getAllStartedBranches();\n let branchMap = this.getBranchFirstPlotIdMap();\n for (let i = 0; i < branches.length; i++) {\n let startPlotId = branches[i].startPlot;\n let extraId = branchMap[startPlotId + \"\"];\n if (extraId) {\n let recordKey = \"de\" + extraId;\n let f = recordKey + \".f\";\n let s = recordKey + \".s\";\n let b = recordKey + \".bg\";\n if (GameRecord.recordVariables[f]) {\n keyArr.push(f);\n }\n if (GameRecord.recordVariables[s]) {\n keyArr.push(s);\n }\n if (GameRecord.recordVariables[b]) {\n keyArr.push(b);\n }\n }\n }\n return keyArr;\n }\n\n getBranchFirstPlotIdMap(): { [key: string]: number } {\n let map: { [key: string]: number } = {};\n let tbl = ConfigManager.getAllConfig(dateSceneConfig);\n if (tbl) {\n for (let id in tbl) {\n let c = tbl[id];\n if (c && c.DateType == DateType.Date_Sp) {\n map[c.start_plot_id + \"\"] = c.id;\n }\n }\n }\n return map;\n }\n\n onDeadEvent = (pid: number) => {\n if (this._model.status == DatingEventStatus.Completed) {\n let temp: AlertDialogViewProps = {\n dataptr: {},\n titlecontent: \"提示\",\n content: \"触发了死亡结局,但因为是在回忆模式,所以章节不会被重置\",\n ishasad: false,\n istwobtn: false,\n adconfig: \"\",\n hasBanner: false,\n callback: async (type, ret) => {\n if (ret) {\n this.view.closeView();\n }\n }\n };\n UIManager.pushPresenter(AlertDialogViewPresenter, temp);\n } else {\n let temp: AlertDialogViewProps = {\n dataptr: {},\n titlecontent: \"提示\",\n content: \"触发了死亡结局,本章节将<color=red>重置</color>!!\",\n ishasad: false,\n istwobtn: false,\n adconfig: \"\",\n hasBanner: false,\n callback: async (type, ret) => {\n if (ret) {\n let retainVar = this.getRetainVarKeyArr();\n await PlotManager.rollbackToPlot(pid, false, retainVar);\n this.rollBackDateAdArray(pid);\n GameRecord.saveRecord();\n this._showScrollView = !this._showScrollView;\n this.view.closeView();\n await GameModelManager.init((value: number) => {\n });\n GameModelManager.setIsChangePlotSceneType(true);\n UIManager.showSceneToast(\"数据刷新完成\");\n let isSpecialScene: boolean = this._model.id === this._specialDealSceneId;\n this._showBackBtn = !(isSpecialScene && this._model.status === DatingEventStatus.InProgress);\n this.view.showBackBtn(this._showBackBtn);\n GameModelManager.RefreshAllStatus.emit();\n }\n }\n };\n UIManager.pushPresenter(AlertDialogViewPresenter, temp);\n }\n }\n\n private filterFunc = (action: DeepReadonly<Action>): boolean => {\n let isExcute: boolean = true;\n if (action.type === ActionType.ModifyVariable) {\n isExcute = !GameModelManager.checkPlotTipAddGraceAlready(this._currPlot?.id as number);\n if (isExcute) {\n GameModelManager.pushTipAddGracePlot(this._currPlot?.id as number);\n }\n\n }\n return isExcute;\n }\n\n rollBackDateAdArray(pid: number) {\n let models = GameModelManager.getMainDatingEventScenesModel();\n let chapterId = -1;\n for (let i = 0; i < models.length; i++) {\n if (pid == models[i].config.start_plot_id) {\n chapterId = models[i].config.id;\n }\n }\n if (chapterId == -1) {\n console.error(\"Cannot found the chapterId.\");\n }\n let record = GameRecord.globalVariables[\"date_ad_arr\"] as string;\n let a: number[] = [];\n if (record) {\n a = JSON.parse(record);\n a.sort((a, b) => {\n if (a < b) {\n return -1;\n } else if (a > b) {\n return 1;\n }\n return 0;\n });\n for (let i = 0; i < a.length; i++) {\n if (a[i] >= chapterId) {\n a.splice(i, a.length - (i - 1));\n GameRecord.globalVariables[\"date_ad_arr\"] = JSON.stringify(a);\n return;\n }\n }\n }\n }\n\n getNextDatingEventKey(): number {\n let nextKey: number = 0;\n let currEventId = this._model.id;\n let plotIds: number[] = [];\n let models = GameModelManager.getMainDatingEventScenesModel();\n for (let i = 0; i < models.length; i++) {\n plotIds.push(models[i].id);\n }\n for (let i = 0; i < plotIds.length; i++) {\n if (plotIds[i] == currEventId) {\n nextKey = plotIds[i + 1];\n }\n }\n console.log(\"getNextDatingEventModel\", nextKey);\n return nextKey;\n }\n\n onReviewButtonClickCallback = async () => {\n let temp: ReviewPlotViewParam = {\n isReview: this._isReview,\n plotString: this._reviewPlot,\n startPlotId: this._model.config.start_plot_id,\n currentPlotId: this._currPlot!.id,\n };\n UIManager.pushPresenter(ReviewPlotViewPresenter, temp);\n }\n\n onSpecialToast = (type: SpecialToastType) => {\n UIManager.showSpecialToast(type);\n }\n}"]}
\ No newline at end of file
......@@ -109,9 +109,6 @@ let ExtraPlotDatingEventSubViewPresenter = /** @class */ (() => {
this._curChapterIndex = tempIndex >= 1 && tempIndex <= this._maxChapterIndex ? tempIndex : this._curChapterIndex;
this.refreshItems();
};
this.onRefreshDateSceneProgress = () => {
this.refreshItems();
};
this.onForceClickItem = (id) => {
console.log("DatingEventSubpresenter onForceClickItem id = ", id);
let k = id + "";
......@@ -296,7 +293,6 @@ let ExtraPlotDatingEventSubViewPresenter = /** @class */ (() => {
onOpen() {
super.onOpen();
this._disposable.add(GameModelManager_1.GameModelManager.CheckDateGuide.on(this.checkGuideItem));
this._disposable.add(GameModelManager_1.GameModelManager.RefreshDateSceneProgress.on(this.onRefreshDateSceneProgress));
this._disposable.add(GameModelManager_1.GameModelManager.ForceClickDatingItem.on(this.onForceClickItem));
this._disposable.add(GameModelManager_1.GameModelManager.RefreshExtraPlotByType.on(this.onRefreshExtraPlotByType));
this.selectCurChapter();
......
{"version":3,"sources":["assets/script/game/ui/presenter/ExtraPlotDatingEventSubViewPresenter.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { ConfigManager } from \"simba-config-manager\";\nimport { GameRecord, getPlot } from \"../../../avg/AVG\";\nimport { DateType } from \"../../../avg/EditorEnums\";\nimport { Presenter, Subpresenter } from \"../../../common/classbase/PresenterBase\";\nimport { GameTextData } from \"../../../common/gameplay/gamedata/GameTextData\";\nimport { UIManager } from \"../../../common/gameplay/managers/UIManager\";\nimport { StringUtils } from \"../../../common/utils/StringUtils\";\nimport { dateSceneConfig } from \"../../../config/DateSceneConfig\";\nimport { CommonLocation, DatePrefabDirectType, DirectionType, EventLocation, EventOperationType, GuideLocation, GuideOperationType, GuideState, StepType } from \"../../Enums\";\nimport GameDotMgr from \"../../GameDotMgr\";\nimport CDKeyEventManager from \"../../model/CDKeyEventManager\";\nimport { DatingEventSceneModel, DatingEventStatus } from \"../../model/DatingEventSceneModel\";\nimport { ExtraStoryModelManager } from \"../../model/ExtraStoryModelManager\";\nimport { GameModelManager } from \"../../model/GameModelManager\";\nimport { RegPresenter, RegSubpresenter } from \"../PresenterCCViewFactory\";\nimport { AlertDialogViewProps } from \"../view/type/AlertDialogView\";\nimport { ExtraPlotDatingEventItemProps, ExtraPlotDatingEventSubView, ExtraPlotDatingEventSubViewType } from \"../view/type/ExtraPlotDatingEventSubView\";\nimport AlertDialogViewPresenter from \"./AlertDialogViewPresenter\";\nimport { DatingScenePresenter } from \"./DatingScenePresenter\";\nimport GuideViewPresenter, { GuideViewParamModel } from \"./GuideViewPresenter\";\n\n@RegSubpresenter(ExtraPlotDatingEventSubViewType)\nexport class ExtraPlotDatingEventSubViewPresenter extends Subpresenter<ExtraPlotDatingEventSubView> {\n private _modelMap: { [key: string]: DatingEventSceneModel } = {};\n private _dailySceneNum: number = -1;\n private _curChapterIndex: number = 1;\n private _maxChapterIndex: number = 1;\n private _maxChapterIsChange: boolean = false;\n isReview: boolean;\n\n private sceneModelToViewModel(item: DatingEventSceneModel, index: number): ExtraPlotDatingEventItemProps {\n this._modelMap[item.id.toString()] = item;\n let direct = DatePrefabDirectType.Left;\n if (this._curChapterIndex % 2 === 1) {\n direct = (index + 1) % 2 === 1 ? DatePrefabDirectType.Left : DatePrefabDirectType.Right;\n } else {\n direct = (index + 1) % 2 === 0 ? DatePrefabDirectType.Left : DatePrefabDirectType.Right;\n }\n return {\n key: item.id + \"\",\n title: GameModelManager.getConfigLanguageTxt(item.config.name),\n status: item.status,\n coverImage: \"textures/dating_event/cover/\" + item.config.background,\n itype: direct\n }\n }\n\n // async refreshItems() {\n // let items: ExtraDateItemViewProps[] = [];\n // let cfgIdArr: number[] = this.getCfgIdArr();\n // let role = GameModelManager.getRoleData(this._viewProps.roleId);\n // for (let i = 0; i < cfgIdArr.length; i++) {\n // let cfg = ConfigManager.getConfig(extraSceneConfig, cfgIdArr[i]);\n // if (role && role.getRelationValue() >= cfg.relationCondition) {\n // await ExtraStoryModelManager.startBranches([cfg.start_plot_id]);\n // }\n // let sceneModel = new DatingEventSceneModel(cfg.id, false);\n // await sceneModel.initFromRecords();\n // if (sceneModel.status === DatingEventStatus.Locked && role!.getRelationValue() >= cfg.relationCondition) {\n // sceneModel.status = DatingEventStatus.New;\n // }\n // let p = this.sceneModelToViewModel(sceneModel);\n // p.showLine = i !== cfgIdArr.length - 1;\n // items.push(p);\n // }\n // this._viewProps.items = items;\n // }\n\n async refreshItems() {\n let items: ExtraPlotDatingEventItemProps[] = [];\n let srcModels: DatingEventSceneModel[] = [];\n let cfg = ConfigManager.getAllConfig(dateSceneConfig);\n for (const id in cfg) {\n if (cfg[id].DateType == DateType.Date_Sp && cfg[id].chapter_index == this._curChapterIndex) {\n await ExtraStoryModelManager.startBranches([cfg[id].start_plot_id]);\n let plot = await getPlot(cfg[id].start_plot_id);\n let model = new DatingEventSceneModel(Number(id));\n // model.status = ExtraStoryModelManager.getBranchStatus(model.id, model.config.start_plot_id);\n await model.initFromRecords();\n if (model.status === DatingEventStatus.Locked) {\n model.status = DatingEventStatus.New;\n }\n // model.firstPlot = plot;\n model.isExtra = true;\n srcModels.push(model);\n }\n }\n for (let i = srcModels.length - 1; i >= 0; i--) {\n items.push(this.sceneModelToViewModel(srcModels[i], i));\n }\n if (this._dailySceneNum == -1) {\n let maxItemsNum: number = 0;\n let cfg = ConfigManager.getAllConfig(dateSceneConfig);\n for (let id in cfg) {\n let c = cfg[id];\n if (c) {\n maxItemsNum++;\n }\n }\n this._dailySceneNum = maxItemsNum;\n }\n let showContinue = false;\n if (srcModels.length !== 0) {\n let c = 0;\n let cfgs = ConfigManager.getAllConfig(dateSceneConfig);\n for (let id in cfgs) {\n let cfg = cfgs[id];\n if (cfg) {\n c++;\n }\n }\n let last = srcModels[srcModels.length - 1];\n showContinue = last.id === c;\n }\n this.view.setProps({\n items,\n onItemClick: this.onItemAdModeClick,\n showContinue: showContinue,\n chapterName: this.getChapterName(this._curChapterIndex),\n showLeft: this._curChapterIndex !== 1,\n showRight: this._curChapterIndex !== this._maxChapterIndex,\n showChapterClear: this.checkChapterClear(items, this._curChapterIndex),\n onOptionChapter: this.onOptionChapter,\n chapterIndex: this._curChapterIndex\n });\n }\n\n checkChapterClear(items: ExtraPlotDatingEventItemProps[], chapterIndex: number): boolean {\n let showClear: boolean = true;\n let cfg = ConfigManager.getAllConfig(dateSceneConfig);\n let cnt = 0;\n for (let id in cfg) {\n let c = cfg[id]\n if (c && c.chapter_index === chapterIndex) {\n cnt++;\n }\n }\n if (cnt !== items.length) {\n return false;\n }\n return showClear;\n }\n\n getChapterName(chapterIndex: number): string {\n chapterIndex -= 1;\n let nameArr: string[] =\n [\n \"一\", \"二\", \"三\", \"四\", \"五\", \"六\", \"七\", \"八\", \"九\", \"十\",\n \"十一\", \"十二\", \"十三\", \"十四\", \"十五\", \"十六\", \"十七\", \"十八\", \"十九\", \"二十\"\n ];\n let name = StringUtils.format(GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_CHAPTER_NAME), nameArr[chapterIndex]);\n return name\n }\n\n onItemAdModeClick = (key: string) => {\n GameModelManager.setGuideEventItemRecord(key, GuideState.Complete);\n let m = this._modelMap[key];\n let hasRecord = this.checkIsSceneHasAdRecord(m.id);\n CDKeyEventManager.getInstance().shiftCDKeyRemovePlotAD();\n let removeAdCardNum: number = CDKeyEventManager.getInstance().checkCDKeyRemovePlotAD();\n if (m.status !== DatingEventStatus.Completed) {\n GameDotMgr.getInstance().dotClickUI(\"click_date_card\" + m.config.id);\n }\n let showAdAlert: boolean = !(removeAdCardNum > 0) && !hasRecord && m.config.ads === 1 && m.status == DatingEventStatus.New;\n if (showAdAlert) {\n let temp: AlertDialogViewProps =\n {\n dataptr: { key },\n titlecontent: GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_WAIT_VALUE),\n content: GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_SHOW_AD_UNLOCK_DATE_VALUE),\n ishasad: true,\n istwobtn: true,\n adconfig: \"inject_fruit\",\n location: CommonLocation.Event,\n callback: this.showAdCallBack,\n hasBanner: false,\n isthreebtn: true\n };\n console.log(\"Push AlertDialogViewPros data end\");\n UIManager.pushPresenter(AlertDialogViewPresenter, temp);\n console.log(\"pushPresenter=========\");\n } else {\n this.enterDatingScene(key);\n }\n }\n\n showAdCallBack = (type, ret: boolean, param: any) => {\n if (ret) {\n if (true) {\n let key = param[\"key\"] as string;\n let m = this._modelMap[key];\n this.pushSceneAdToRecord(m.id);\n setTimeout(() => {\n this.enterDatingScene(key);\n }, 300);\n }\n }\n }\n\n checkIsSceneHasAdRecord(id: number): boolean {\n let ret: boolean = false;\n let record = GameRecord.globalVariables[\"date_ad_arr\"] as string;\n if (record) {\n let a: number[] = JSON.parse(record);\n let i = a.findIndex((v) => v === id);\n ret = i !== -1;\n }\n return ret;\n }\n\n pushSceneAdToRecord(id: number) {\n let record = GameRecord.globalVariables[\"date_ad_arr\"] as string;\n let a: number[] = [];\n let isExsit: boolean = false;\n if (record) {\n a = JSON.parse(record);\n let i = a.findIndex((v) => v === id);\n if (i >= 0) {\n isExsit = true;\n }\n }\n if (!isExsit) {\n a.push(id);\n a.reverse();\n GameRecord.globalVariables[\"date_ad_arr\"] = JSON.stringify(a);\n GameRecord.autoSave();\n }\n }\n\n enterDatingScene(key: string) {\n ExtraStoryModelManager.enterExtraStoryByStartPlotId(this._modelMap[key].config.start_plot_id);\n GameModelManager.ShowDatingEventArrowGuide.emit(false);\n UIManager.pushPresenter(DatingScenePresenter, this._modelMap[key], true);\n }\n\n onOwnerShow() {\n if (!this.view.isHidden) {\n this.selectCurChapter();\n this.refreshMaxChapterIndex();\n // this.refreshItems();\n }\n }\n\n onOwnerEnterForeground() {\n if (!this.view.isHidden) {\n this.refreshMaxChapterIndex();\n this.refreshItems();\n }\n if (this._maxChapterIsChange) {\n this.selectCurChapter();\n }\n }\n\n onOpen() {\n super.onOpen();\n this._disposable.add(GameModelManager.CheckDateGuide.on(this.checkGuideItem));\n this._disposable.add(GameModelManager.RefreshDateSceneProgress.on(this.onRefreshDateSceneProgress));\n this._disposable.add(GameModelManager.ForceClickDatingItem.on(this.onForceClickItem));\n this._disposable.add(GameModelManager.RefreshExtraPlotByType.on(this.onRefreshExtraPlotByType));\n this.selectCurChapter();\n if (!this.view.isHidden) {\n this.refreshMaxChapterIndex();\n this.onShow();\n }\n }\n\n onShow() {\n this.refreshMaxChapterIndex();\n // this.refreshItems();\n this.checkGuideItem();\n }\n\n onHide() {\n\n }\n\n selectCurChapter() {\n let models = GameModelManager.getMainDatingEventScenesModel();\n if (models && models.length) {\n let last = models[models.length - 1];\n this._curChapterIndex = last.config.chapter_index;\n if (this._curChapterIndex !== 1) {\n GameModelManager.setNotNeedEnterCurDateChapter();\n }\n }\n }\n\n checkGuideItem = () => {\n let k = GameModelManager.getEventItemGuideKey();\n if (k && \"\" !== k) {\n let node = this.view.getItemNode(k);\n if (node) {\n let wp = node.convertToWorldSpaceAR(cc.v2(0, 0));\n let m: GuideViewParamModel = {\n x: wp.x,\n y: wp.y,\n w: node.width,\n h: node.height,\n d: DirectionType.DOWM,\n call: () => {\n this.onItemAdModeClick(k);\n // this.onItemEnergyCostClick(k);\n GameModelManager.setGuideEventItemRecord(k, GuideState.Complete);\n }\n }\n UIManager.pushPresenter(GuideViewPresenter, m);\n }\n }\n }\n\n refreshMaxChapterIndex() {\n let maxChapterIndex = this._maxChapterIndex;\n let arr = GameModelManager.getMainDatingEventScenesModel();\n if (arr && arr.length) {\n let dId = arr[arr.length - 1].id;\n let cfg = ConfigManager.getConfig(dateSceneConfig, dId);\n this._maxChapterIndex = cfg.chapter_index;\n }\n this._maxChapterIsChange = maxChapterIndex == this._maxChapterIndex ? false : true;\n }\n\n onOptionChapter = (stepType: StepType) => {\n let tempIndex = stepType === StepType.Add ? this._curChapterIndex + 1 : this._curChapterIndex - 1;\n this._curChapterIndex = tempIndex >= 1 && tempIndex <= this._maxChapterIndex ? tempIndex : this._curChapterIndex;\n this.refreshItems();\n }\n\n onRefreshDateSceneProgress = () => {\n this.refreshItems();\n }\n\n onForceClickItem = (id: number) => {\n console.log(\"DatingEventSubpresenter onForceClickItem id = \", id);\n let k = id + \"\";\n if (!this._modelMap || !this._modelMap[k]) {\n return;\n }\n this.onItemAdModeClick(k);\n }\n\n onRefreshExtraPlotByType = (id: number) => {\n this._curChapterIndex = id;\n this.refreshItems();\n }\n}"]}
\ No newline at end of file
{"version":3,"sources":["assets/script/game/ui/presenter/ExtraPlotDatingEventSubViewPresenter.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { ConfigManager } from \"simba-config-manager\";\nimport { GameRecord, getPlot } from \"../../../avg/AVG\";\nimport { DateType } from \"../../../avg/EditorEnums\";\nimport { Presenter, Subpresenter } from \"../../../common/classbase/PresenterBase\";\nimport { GameTextData } from \"../../../common/gameplay/gamedata/GameTextData\";\nimport { UIManager } from \"../../../common/gameplay/managers/UIManager\";\nimport { StringUtils } from \"../../../common/utils/StringUtils\";\nimport { dateSceneConfig } from \"../../../config/DateSceneConfig\";\nimport { CommonLocation, DatePrefabDirectType, DirectionType, EventLocation, EventOperationType, GuideLocation, GuideOperationType, GuideState, StepType } from \"../../Enums\";\nimport GameDotMgr from \"../../GameDotMgr\";\nimport CDKeyEventManager from \"../../model/CDKeyEventManager\";\nimport { DatingEventSceneModel, DatingEventStatus } from \"../../model/DatingEventSceneModel\";\nimport { ExtraStoryModelManager } from \"../../model/ExtraStoryModelManager\";\nimport { GameModelManager } from \"../../model/GameModelManager\";\nimport { RegPresenter, RegSubpresenter } from \"../PresenterCCViewFactory\";\nimport { AlertDialogViewProps } from \"../view/type/AlertDialogView\";\nimport { ExtraPlotDatingEventItemProps, ExtraPlotDatingEventSubView, ExtraPlotDatingEventSubViewType } from \"../view/type/ExtraPlotDatingEventSubView\";\nimport AlertDialogViewPresenter from \"./AlertDialogViewPresenter\";\nimport { DatingScenePresenter } from \"./DatingScenePresenter\";\nimport GuideViewPresenter, { GuideViewParamModel } from \"./GuideViewPresenter\";\n\n@RegSubpresenter(ExtraPlotDatingEventSubViewType)\nexport class ExtraPlotDatingEventSubViewPresenter extends Subpresenter<ExtraPlotDatingEventSubView> {\n private _modelMap: { [key: string]: DatingEventSceneModel } = {};\n private _dailySceneNum: number = -1;\n private _curChapterIndex: number = 1;\n private _maxChapterIndex: number = 1;\n private _maxChapterIsChange: boolean = false;\n isReview: boolean;\n\n private sceneModelToViewModel(item: DatingEventSceneModel, index: number): ExtraPlotDatingEventItemProps {\n this._modelMap[item.id.toString()] = item;\n let direct = DatePrefabDirectType.Left;\n if (this._curChapterIndex % 2 === 1) {\n direct = (index + 1) % 2 === 1 ? DatePrefabDirectType.Left : DatePrefabDirectType.Right;\n } else {\n direct = (index + 1) % 2 === 0 ? DatePrefabDirectType.Left : DatePrefabDirectType.Right;\n }\n return {\n key: item.id + \"\",\n title: GameModelManager.getConfigLanguageTxt(item.config.name),\n status: item.status,\n coverImage: \"textures/dating_event/cover/\" + item.config.background,\n itype: direct\n }\n }\n\n // async refreshItems() {\n // let items: ExtraDateItemViewProps[] = [];\n // let cfgIdArr: number[] = this.getCfgIdArr();\n // let role = GameModelManager.getRoleData(this._viewProps.roleId);\n // for (let i = 0; i < cfgIdArr.length; i++) {\n // let cfg = ConfigManager.getConfig(extraSceneConfig, cfgIdArr[i]);\n // if (role && role.getRelationValue() >= cfg.relationCondition) {\n // await ExtraStoryModelManager.startBranches([cfg.start_plot_id]);\n // }\n // let sceneModel = new DatingEventSceneModel(cfg.id, false);\n // await sceneModel.initFromRecords();\n // if (sceneModel.status === DatingEventStatus.Locked && role!.getRelationValue() >= cfg.relationCondition) {\n // sceneModel.status = DatingEventStatus.New;\n // }\n // let p = this.sceneModelToViewModel(sceneModel);\n // p.showLine = i !== cfgIdArr.length - 1;\n // items.push(p);\n // }\n // this._viewProps.items = items;\n // }\n\n async refreshItems() {\n let items: ExtraPlotDatingEventItemProps[] = [];\n let srcModels: DatingEventSceneModel[] = [];\n let cfg = ConfigManager.getAllConfig(dateSceneConfig);\n for (const id in cfg) {\n if (cfg[id].DateType == DateType.Date_Sp && cfg[id].chapter_index == this._curChapterIndex) {\n await ExtraStoryModelManager.startBranches([cfg[id].start_plot_id]);\n let plot = await getPlot(cfg[id].start_plot_id);\n let model = new DatingEventSceneModel(Number(id));\n // model.status = ExtraStoryModelManager.getBranchStatus(model.id, model.config.start_plot_id);\n await model.initFromRecords();\n if (model.status === DatingEventStatus.Locked) {\n model.status = DatingEventStatus.New;\n }\n // model.firstPlot = plot;\n model.isExtra = true;\n srcModels.push(model);\n }\n }\n for (let i = srcModels.length - 1; i >= 0; i--) {\n items.push(this.sceneModelToViewModel(srcModels[i], i));\n }\n if (this._dailySceneNum == -1) {\n let maxItemsNum: number = 0;\n let cfg = ConfigManager.getAllConfig(dateSceneConfig);\n for (let id in cfg) {\n let c = cfg[id];\n if (c) {\n maxItemsNum++;\n }\n }\n this._dailySceneNum = maxItemsNum;\n }\n let showContinue = false;\n if (srcModels.length !== 0) {\n let c = 0;\n let cfgs = ConfigManager.getAllConfig(dateSceneConfig);\n for (let id in cfgs) {\n let cfg = cfgs[id];\n if (cfg) {\n c++;\n }\n }\n let last = srcModels[srcModels.length - 1];\n showContinue = last.id === c;\n }\n this.view.setProps({\n items,\n onItemClick: this.onItemAdModeClick,\n showContinue: showContinue,\n chapterName: this.getChapterName(this._curChapterIndex),\n showLeft: this._curChapterIndex !== 1,\n showRight: this._curChapterIndex !== this._maxChapterIndex,\n showChapterClear: this.checkChapterClear(items, this._curChapterIndex),\n onOptionChapter: this.onOptionChapter,\n chapterIndex: this._curChapterIndex\n });\n }\n\n checkChapterClear(items: ExtraPlotDatingEventItemProps[], chapterIndex: number): boolean {\n let showClear: boolean = true;\n let cfg = ConfigManager.getAllConfig(dateSceneConfig);\n let cnt = 0;\n for (let id in cfg) {\n let c = cfg[id]\n if (c && c.chapter_index === chapterIndex) {\n cnt++;\n }\n }\n if (cnt !== items.length) {\n return false;\n }\n return showClear;\n }\n\n getChapterName(chapterIndex: number): string {\n chapterIndex -= 1;\n let nameArr: string[] =\n [\n \"一\", \"二\", \"三\", \"四\", \"五\", \"六\", \"七\", \"八\", \"九\", \"十\",\n \"十一\", \"十二\", \"十三\", \"十四\", \"十五\", \"十六\", \"十七\", \"十八\", \"十九\", \"二十\"\n ];\n let name = StringUtils.format(GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_CHAPTER_NAME), nameArr[chapterIndex]);\n return name\n }\n\n onItemAdModeClick = (key: string) => {\n GameModelManager.setGuideEventItemRecord(key, GuideState.Complete);\n let m = this._modelMap[key];\n let hasRecord = this.checkIsSceneHasAdRecord(m.id);\n CDKeyEventManager.getInstance().shiftCDKeyRemovePlotAD();\n let removeAdCardNum: number = CDKeyEventManager.getInstance().checkCDKeyRemovePlotAD();\n if (m.status !== DatingEventStatus.Completed) {\n GameDotMgr.getInstance().dotClickUI(\"click_date_card\" + m.config.id);\n }\n let showAdAlert: boolean = !(removeAdCardNum > 0) && !hasRecord && m.config.ads === 1 && m.status == DatingEventStatus.New;\n if (showAdAlert) {\n let temp: AlertDialogViewProps =\n {\n dataptr: { key },\n titlecontent: GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_WAIT_VALUE),\n content: GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_SHOW_AD_UNLOCK_DATE_VALUE),\n ishasad: true,\n istwobtn: true,\n adconfig: \"inject_fruit\",\n location: CommonLocation.Event,\n callback: this.showAdCallBack,\n hasBanner: false,\n isthreebtn: true\n };\n console.log(\"Push AlertDialogViewPros data end\");\n UIManager.pushPresenter(AlertDialogViewPresenter, temp);\n console.log(\"pushPresenter=========\");\n } else {\n this.enterDatingScene(key);\n }\n }\n\n showAdCallBack = (type, ret: boolean, param: any) => {\n if (ret) {\n if (true) {\n let key = param[\"key\"] as string;\n let m = this._modelMap[key];\n this.pushSceneAdToRecord(m.id);\n setTimeout(() => {\n this.enterDatingScene(key);\n }, 300);\n }\n }\n }\n\n checkIsSceneHasAdRecord(id: number): boolean {\n let ret: boolean = false;\n let record = GameRecord.globalVariables[\"date_ad_arr\"] as string;\n if (record) {\n let a: number[] = JSON.parse(record);\n let i = a.findIndex((v) => v === id);\n ret = i !== -1;\n }\n return ret;\n }\n\n pushSceneAdToRecord(id: number) {\n let record = GameRecord.globalVariables[\"date_ad_arr\"] as string;\n let a: number[] = [];\n let isExsit: boolean = false;\n if (record) {\n a = JSON.parse(record);\n let i = a.findIndex((v) => v === id);\n if (i >= 0) {\n isExsit = true;\n }\n }\n if (!isExsit) {\n a.push(id);\n a.reverse();\n GameRecord.globalVariables[\"date_ad_arr\"] = JSON.stringify(a);\n GameRecord.autoSave();\n }\n }\n\n enterDatingScene(key: string) {\n ExtraStoryModelManager.enterExtraStoryByStartPlotId(this._modelMap[key].config.start_plot_id);\n GameModelManager.ShowDatingEventArrowGuide.emit(false);\n UIManager.pushPresenter(DatingScenePresenter, this._modelMap[key], true);\n }\n\n onOwnerShow() {\n if (!this.view.isHidden) {\n this.selectCurChapter();\n this.refreshMaxChapterIndex();\n // this.refreshItems();\n }\n }\n\n onOwnerEnterForeground() {\n if (!this.view.isHidden) {\n this.refreshMaxChapterIndex();\n this.refreshItems();\n }\n if (this._maxChapterIsChange) {\n this.selectCurChapter();\n }\n }\n\n onOpen() {\n super.onOpen();\n this._disposable.add(GameModelManager.CheckDateGuide.on(this.checkGuideItem));\n this._disposable.add(GameModelManager.ForceClickDatingItem.on(this.onForceClickItem));\n this._disposable.add(GameModelManager.RefreshExtraPlotByType.on(this.onRefreshExtraPlotByType));\n this.selectCurChapter();\n if (!this.view.isHidden) {\n this.refreshMaxChapterIndex();\n this.onShow();\n }\n }\n\n onShow() {\n this.refreshMaxChapterIndex();\n // this.refreshItems();\n this.checkGuideItem();\n }\n\n onHide() {\n\n }\n\n selectCurChapter() {\n let models = GameModelManager.getMainDatingEventScenesModel();\n if (models && models.length) {\n let last = models[models.length - 1];\n this._curChapterIndex = last.config.chapter_index;\n if (this._curChapterIndex !== 1) {\n GameModelManager.setNotNeedEnterCurDateChapter();\n }\n }\n }\n\n checkGuideItem = () => {\n let k = GameModelManager.getEventItemGuideKey();\n if (k && \"\" !== k) {\n let node = this.view.getItemNode(k);\n if (node) {\n let wp = node.convertToWorldSpaceAR(cc.v2(0, 0));\n let m: GuideViewParamModel = {\n x: wp.x,\n y: wp.y,\n w: node.width,\n h: node.height,\n d: DirectionType.DOWM,\n call: () => {\n this.onItemAdModeClick(k);\n // this.onItemEnergyCostClick(k);\n GameModelManager.setGuideEventItemRecord(k, GuideState.Complete);\n }\n }\n UIManager.pushPresenter(GuideViewPresenter, m);\n }\n }\n }\n\n refreshMaxChapterIndex() {\n let maxChapterIndex = this._maxChapterIndex;\n let arr = GameModelManager.getMainDatingEventScenesModel();\n if (arr && arr.length) {\n let dId = arr[arr.length - 1].id;\n let cfg = ConfigManager.getConfig(dateSceneConfig, dId);\n this._maxChapterIndex = cfg.chapter_index;\n }\n this._maxChapterIsChange = maxChapterIndex == this._maxChapterIndex ? false : true;\n }\n\n onOptionChapter = (stepType: StepType) => {\n let tempIndex = stepType === StepType.Add ? this._curChapterIndex + 1 : this._curChapterIndex - 1;\n this._curChapterIndex = tempIndex >= 1 && tempIndex <= this._maxChapterIndex ? tempIndex : this._curChapterIndex;\n this.refreshItems();\n }\n\n onForceClickItem = (id: number) => {\n console.log(\"DatingEventSubpresenter onForceClickItem id = \", id);\n let k = id + \"\";\n if (!this._modelMap || !this._modelMap[k]) {\n return;\n }\n this.onItemAdModeClick(k);\n }\n\n onRefreshExtraPlotByType = (id: number) => {\n this._curChapterIndex = id;\n this.refreshItems();\n }\n}"]}
\ No newline at end of file
......@@ -185,9 +185,6 @@ let DatingEventSubpresenter = /** @class */ (() => {
this._curChapterIndex = tempIndex >= 1 && tempIndex <= this._maxChapterIndex ? tempIndex : this._curChapterIndex;
this.refreshItems();
};
this.onRefreshDateSceneProgress = () => {
this.refreshItems();
};
this.costEnergyCallBack = (type, ret, param) => {
if (ret) {
let oprType = this.isReview ? Enums_1.EventOperationType.memory : Enums_1.EventOperationType.event;
......@@ -473,7 +470,6 @@ let DatingEventSubpresenter = /** @class */ (() => {
onOpen() {
super.onOpen();
this._disposable.add(GameModelManager_1.GameModelManager.CheckDateGuide.on(this.checkGuideItem));
this._disposable.add(GameModelManager_1.GameModelManager.RefreshDateSceneProgress.on(this.onRefreshDateSceneProgress));
this._disposable.add(GameModelManager_1.GameModelManager.ForceClickDatingItem.on(this.onForceClickItem));
this._disposable.add(GameModelManager_1.GameModelManager.RefreshAllStatus.on(this.onRefreshAllStatus));
this._disposable.add(GameModelManager_1.GameModelManager.CloseDatingSceneView.on(this.onCloseDatingSceneView));
......
{"version":3,"sources":["assets/script/game/ui/presenter/DatingEventViewPresenter.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { ResUtils } from \"simba-cc-resutils\";\nimport { ConfigManager } from \"simba-config-manager\";\nimport { GameRecord, PlotManager, ReadonlyPlots } from \"../../../avg/AVG\";\nimport { DateType } from \"../../../avg/EditorEnums\";\nimport { Presenter, Subpresenter } from \"../../../common/classbase/PresenterBase\";\nimport { GameTextData } from \"../../../common/gameplay/gamedata/GameTextData\";\nimport { UIManager } from \"../../../common/gameplay/managers/UIManager\";\nimport { StringUtils } from \"../../../common/utils/StringUtils\";\nimport { dateSceneConfig } from \"../../../config/DateSceneConfig\";\nimport { GameConfig } from \"../../../GameConfig\";\nimport { CommonLocation, DatePrefabDirectType, DirectionType, EventLocation, EventOperationType, GuideLocation, GuideOperationType, GuideState, StepType } from \"../../Enums\";\nimport GameDotMgr from \"../../GameDotMgr\";\nimport CDKeyEventManager from \"../../model/CDKeyEventManager\";\nimport { DatingEventSceneModel, DatingEventStatus } from \"../../model/DatingEventSceneModel\";\nimport { ExtraStoryModelManager } from \"../../model/ExtraStoryModelManager\";\nimport { GameModelManager } from \"../../model/GameModelManager\";\nimport { RegPresenter, RegSubpresenter } from \"../PresenterCCViewFactory\";\nimport SectionBtn from \"../SectionBtn\";\nimport { AlertDialogViewProps } from \"../view/type/AlertDialogView\";\nimport { DatingEventItemProps, DatingEventSubview, DatingEventSubviewType } from \"../view/type/DatingEventSubview\";\nimport { DatingEventView, DatingEventViewProps, DatingEventViewType } from \"../view/type/DatingEventView\";\nimport { ExtraPlotViewProps } from \"../view/type/ExtraPlotView\";\nimport AlertDialogViewPresenter from \"./AlertDialogViewPresenter\";\nimport { DatingScenePresenter } from \"./DatingScenePresenter\";\nimport ExtraPlotViewPresenter from \"./ExtraPlotViewPresenter\";\nimport GuideViewPresenter, { GuideViewParamModel } from \"./GuideViewPresenter\";\n\n@RegPresenter(DatingEventViewType)\nexport default class DatingEventViewPresenter extends Presenter<undefined, DatingEventView> {\n static uuid = \"DatingEventViewPresenter\";\n\n private _viewProps: DatingEventViewProps;\n constructor() {\n super();\n this._viewProps = {\n }\n }\n\n onOpen() {\n super.onOpen(undefined);\n this._disposable.add(GameModelManager.ShowDatingEventArrowGuide.on(this.onShowDatingEventArrowGuide));\n this.onShow();\n }\n\n onEnterForeground() {\n super.onEnterForeground();\n }\n\n onShow() {\n super.onShow();\n this.view.setProps(this._viewProps);\n if (GameConfig.debug) {\n this.view.showRoleLikeLabel();\n this.view.showMaskLabel();\n }\n }\n\n onClose() {\n super.onClose();\n }\n\n onShowDatingEventArrowGuide = (isShow: boolean, wordPos?: cc.Vec3) => {\n this.view.showArrowGuide(isShow, wordPos);\n }\n}\n\n@RegSubpresenter(DatingEventSubviewType)\nexport class DatingEventSubpresenter extends Subpresenter<DatingEventSubview> {\n // private _items: DatingEventItemProps[];\n private _lineStyle: 0 | 1 = 0;\n private _modelMap: { [key: string]: DatingEventSceneModel } = {};\n private _dailySceneNum: number = -1;\n private _curChapterIndex: number = 1;\n private _maxChapterIndex: number = 1;\n private _maxChapterIsChange: boolean = false;\n private _isStartBranches: boolean = false;\n private _clickKey: string = \"\";\n isReview: boolean;\n\n private sceneModelToViewModel(item: DatingEventSceneModel, index: number): DatingEventItemProps {\n this._modelMap[item.id.toString()] = item;\n // let cfg = ConfigManager.getConfig(dateSceneConfig, item.id);\n // let progress = GameModelManager.getDateSceneKeyPlotsProgress(item.id);\n let direct = DatePrefabDirectType.Left;\n if (this._curChapterIndex % 2 === 1) {\n direct = (index + 1) % 2 === 1 ? DatePrefabDirectType.Left : DatePrefabDirectType.Right;\n } else {\n direct = (index + 1) % 2 === 0 ? DatePrefabDirectType.Left : DatePrefabDirectType.Right;\n }\n return {\n key: item.id + \"\",\n title: GameModelManager.getConfigLanguageTxt(item.config.name),\n // date: item.config.date,\n // time: item.config.time,\n status: item.status,\n coverImage: \"textures/dating_event/cover/\" + item.config.background,\n // lineStyle: this._lineStyle,\n // progress: progress,\n // showItemClear: item.status === DatingEventStatus.Completed && progress === 100,\n // showProgress: item.status === DatingEventStatus.Completed,\n // firstCostNum: cfg.first_energy_cost,\n // reviewCostNum: cfg.memory_energy_cost,\n itype: direct\n }\n }\n\n refreshItems() {\n let items: DatingEventItemProps[] = [];\n let srcModels = GameModelManager.getMainDatingEventScenesModelByChapterindex(this._curChapterIndex);\n // let srcModels = GameModelManager.getMainDatingEventScenesModel();\n for (let i = srcModels.length - 1; i >= 0; i--) {\n items.push(this.sceneModelToViewModel(srcModels[i], i));\n }\n // if (items.length) {\n // items[0].lineStyle = \"none\";\n // }\n //count dailySceneNum from table\n if (this._dailySceneNum == -1) {\n let maxItemsNum: number = 0;\n let cfg = ConfigManager.getAllConfig(dateSceneConfig);\n for (let id in cfg) {\n let c = cfg[id];\n if (c) {\n maxItemsNum++;\n }\n }\n this._dailySceneNum = maxItemsNum;\n }\n let showContinue = false;\n if (srcModels.length !== 0) {\n let c = 0;\n let cfgs = ConfigManager.getAllConfig(dateSceneConfig);\n for (let id in cfgs) {\n let cfg = cfgs[id];\n if (cfg) {\n c++;\n }\n }\n let last = srcModels[srcModels.length - 1];\n showContinue = last.id === c;\n }\n this.view.setProps({\n items,\n onItemClick: this.onItemAdModeClick,\n // onItemClick: this.onItemEnergyCostClick,\n showContinue: showContinue,\n chapterName: this.getChapterName(this._curChapterIndex),\n showLeft: this._curChapterIndex !== 1,\n showRight: this._curChapterIndex !== this._maxChapterIndex,\n showChapterClear: this.checkChapterClear(items, this._curChapterIndex),\n onOptionChapter: this.onOptionChapter,\n chapterIndex: this._curChapterIndex,\n onScrollBegin: this.onScrollBegin,\n onScrollEnd: this.onScrollEnd,\n onLeftButtonClickCallback: this.onLeftButtonClickCallback,\n onRightButtonClickCallback: this.onRightButtonClickCallback,\n onNameButtonClickCallback: this.onNameButtonClickCallback,\n onExtraPlotButtonClickCallback: this.onExtraPlotButtonClickCallback,\n onCloseSectionViewCallBack: this.onCloseSectionViewCallBack\n });\n }\n\n onScrollBegin = () => {\n GameModelManager.ShowDatingEventArrowGuide.emit(false);\n }\n\n onScrollEnd = () => {\n this.refreshArrowGuide();\n }\n\n checkChapterClear(items: DatingEventItemProps[], chapterIndex: number): boolean {\n let showClear: boolean = true;\n let cfg = ConfigManager.getAllConfig(dateSceneConfig);\n let cnt = 0;\n for (let id in cfg) {\n let c = cfg[id]\n if (c && c.chapter_index === chapterIndex) {\n cnt++;\n }\n }\n if (cnt !== items.length) {\n return false;\n }\n // for (let i = 0; i < items.length; i++) {\n // if (items[i].showItemClear === false) {\n // showClear = false;\n // break;\n // }\n // }\n return showClear;\n }\n\n getChapterName(chapterIndex: number): string {\n chapterIndex -= 1;\n let nameArr: string[] =\n [\n \"一\", \"二\", \"三\", \"四\", \"五\", \"六\", \"七\", \"八\", \"九\", \"十\",\n \"十一\", \"十二\", \"十三\", \"十四\", \"十五\", \"十六\", \"十七\", \"十八\", \"十九\", \"二十\"\n ];\n let name = StringUtils.format(GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_CHAPTER_NAME), nameArr[chapterIndex]);\n return name\n }\n\n onItemAdModeClick = (key: string) => {\n GameModelManager.setGuideEventItemRecord(key, GuideState.Complete);\n let m = this._modelMap[key];\n let hasRecord = this.checkIsSceneHasAdRecord(m.id);\n CDKeyEventManager.getInstance().shiftCDKeyRemovePlotAD();\n let removeAdCardNum: number = CDKeyEventManager.getInstance().checkCDKeyRemovePlotAD();\n if (m.status !== DatingEventStatus.Completed) {\n GameDotMgr.getInstance().dotClickUI(\"click_date_card\" + m.config.id);\n }\n let showAdAlert: boolean = !(removeAdCardNum > 0) && !hasRecord && m.config.ads === 1 && m.status == DatingEventStatus.New;\n if (showAdAlert) {\n let temp: AlertDialogViewProps =\n {\n dataptr: { key },\n titlecontent: GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_WAIT_VALUE),\n content: GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_SHOW_AD_UNLOCK_DATE_VALUE),\n ishasad: true,\n istwobtn: true,\n adconfig: \"inject_fruit\",\n location: CommonLocation.Event,\n callback: this.showAdCallBack,\n hasBanner: false,\n isthreebtn: true\n };\n console.log(\"Push AlertDialogViewPros data end\");\n UIManager.pushPresenter(AlertDialogViewPresenter, temp);\n console.log(\"pushPresenter=========\");\n } else {\n this.enterDatingScene(key);\n }\n }\n\n showAdCallBack = (type, ret: boolean, param: any) => {\n if (ret) {\n //if (type === \"video\" || channel == \"dummy\") {\n if (true) {\n let key = param[\"key\"] as string;\n let m = this._modelMap[key];\n this.pushSceneAdToRecord(m.id);\n setTimeout(() => {\n this.enterDatingScene(key);\n }, 300);\n } else {\n UIManager.popPresenter();\n setTimeout(() => {\n let temp: AlertDialogViewProps =\n {\n dataptr: {},\n titlecontent: \"提示\",\n content: \"今天广告君太累了,休息啦~~可以点击去除广告,或者明天再来哦(*•̀ᴗ•́*)و ̑̑\",\n ishasad: false,\n istwobtn: true,\n adconfig: \"\",\n callback: () => {\n\n },\n hasBanner: false,\n isadlimit: true\n };\n UIManager.pushPresenter(AlertDialogViewPresenter, temp);\n }, 500);\n }\n } else {\n if (type === \"video\") {\n UIManager.showToast(\"解锁失败,请完整观看视频,不可点击跳过\");\n }\n }\n }\n\n checkIsSceneHasAdRecord(id: number): boolean {\n let ret: boolean = false;\n let record = GameRecord.globalVariables[\"date_ad_arr\"] as string;\n if (record) {\n let a: number[] = JSON.parse(record);\n let i = a.findIndex((v) => v === id);\n ret = i !== -1;\n }\n return ret;\n }\n\n pushSceneAdToRecord(id: number) {\n let record = GameRecord.globalVariables[\"date_ad_arr\"] as string;\n let a: number[] = [];\n let isExsit: boolean = false;\n if (record) {\n a = JSON.parse(record);\n let i = a.findIndex((v) => v === id);\n if (i >= 0) {\n isExsit = true;\n }\n }\n if (!isExsit) {\n a.push(id);\n a.reverse();\n GameRecord.globalVariables[\"date_ad_arr\"] = JSON.stringify(a);\n GameRecord.autoSave();\n }\n }\n\n enterDatingScene(key: string) {\n GameModelManager.ShowDatingEventArrowGuide.emit(false);\n UIManager.pushPresenter(DatingScenePresenter, this._modelMap[key], true);\n }\n\n onOwnerShow() {\n if (!this.view.isHidden) {\n this.selectCurChapter();\n this.refreshMaxChapterIndex();\n this.refreshItems();\n this.refreshArrowGuide();\n this.changeButtonState();\n this.checkLastChapterIsOver();\n this.onCloseSectionViewCallBack();\n }\n }\n\n onOwnerEnterForeground() {\n if (!this.view.isHidden) {\n this.refreshMaxChapterIndex();\n this.refreshItems();\n this.refreshArrowGuide();\n this.changeButtonState();\n this.checkLastChapterIsOver();\n }\n if (this._maxChapterIsChange) {\n this.selectCurChapter();\n }\n }\n\n onOpen() {\n super.onOpen();\n this._disposable.add(GameModelManager.CheckDateGuide.on(this.checkGuideItem));\n this._disposable.add(GameModelManager.RefreshDateSceneProgress.on(this.onRefreshDateSceneProgress));\n this._disposable.add(GameModelManager.ForceClickDatingItem.on(this.onForceClickItem));\n this._disposable.add(GameModelManager.RefreshAllStatus.on(this.onRefreshAllStatus));\n this._disposable.add(GameModelManager.CloseDatingSceneView.on(this.onCloseDatingSceneView));\n this._disposable.add(GameModelManager.CloseExtraSceneView.on(this.onCloseExtraSceneView));\n this._disposable.add(GameModelManager.OpenExtraPlotView.on(this.onExtraPlotButtonClickCallback));\n // let isNeedEnterCurChapter = GameModelManager.checkIsNeedEnterCurDateChapter();\n // if (isNeedEnterCurChapter) {\n // this.selectCurChapter();\n // }\n this.selectCurChapter();\n if (!this.view.isHidden) {\n this.refreshMaxChapterIndex();\n this.onShow();\n }\n }\n\n async onShow() {\n this.refreshMaxChapterIndex();\n this.refreshItems();\n this.checkGuideItem();\n this.refreshArrowGuide();\n this.changeButtonState();\n this.checkLastChapterIsOver();\n await this.updateExtraPlotButtonRedDot();\n }\n\n onHide() {\n\n }\n\n selectCurChapter() {\n let models = GameModelManager.getMainDatingEventScenesModel();\n if (models && models.length) {\n let last = models[models.length - 1];\n this._curChapterIndex = last.config.chapter_index;\n if (this._curChapterIndex !== 1) {\n GameModelManager.setNotNeedEnterCurDateChapter();\n }\n }\n }\n\n checkGuideItem = () => {\n let k = GameModelManager.getEventItemGuideKey();\n if (k && \"\" !== k) {\n let node = this.view.getItemNode(k);\n if (node) {\n let wp = node.convertToWorldSpaceAR(cc.v2(0, 0));\n let m: GuideViewParamModel = {\n x: wp.x,\n y: wp.y,\n w: node.width,\n h: node.height,\n d: DirectionType.DOWM,\n call: () => {\n this.onItemAdModeClick(k);\n // this.onItemEnergyCostClick(k);\n GameModelManager.setGuideEventItemRecord(k, GuideState.Complete);\n }\n }\n UIManager.pushPresenter(GuideViewPresenter, m);\n }\n }\n this.refreshArrowGuide();\n }\n\n refreshMaxChapterIndex() {\n let maxChapterIndex = this._maxChapterIndex;\n let arr = GameModelManager.getMainDatingEventScenesModel();\n if (arr && arr.length) {\n let dId = arr[arr.length - 1].id;\n let cfg = ConfigManager.getConfig(dateSceneConfig, dId);\n this._maxChapterIndex = cfg.chapter_index;\n }\n this._maxChapterIsChange = maxChapterIndex == this._maxChapterIndex ? false : true;\n }\n\n onOptionChapter = (stepType: StepType) => {\n let tempIndex = stepType === StepType.Add ? this._curChapterIndex + 1 : this._curChapterIndex - 1;\n this._curChapterIndex = tempIndex >= 1 && tempIndex <= this._maxChapterIndex ? tempIndex : this._curChapterIndex;\n this.refreshItems();\n }\n\n onRefreshDateSceneProgress = () => {\n this.refreshItems();\n }\n\n costEnergyCallBack = (type, ret: boolean, param: any) => {\n if (ret) {\n let oprType = this.isReview ? EventOperationType.memory : EventOperationType.event;\n let location = EventLocation.ClickEnergyCost;\n let role = GameModelManager.getPlayerData();\n let key = param[\"key\"] as string;\n let m = this._modelMap[key];\n this.pushSceneAdToRecord(m.id);\n setTimeout(() => {\n this.enterDatingScene(key);\n }, 300);\n }\n }\n\n\n refreshArrowGuide() {\n let srcModels = GameModelManager.getMainDatingEventScenesModelByChapterindex(this._curChapterIndex);\n if (!srcModels || srcModels.length === 0) {\n return;\n }\n let model = srcModels[srcModels.length - 1];\n if (model.status !== DatingEventStatus.Completed) {\n let key = model.id + \"\";\n let node = this.view.getItemNode(key);\n if (node) {\n let wp = node.convertToWorldSpaceAR(cc.v2(0, 0));\n //世界坐标y是否在屏幕区域内\n if (wp.y > 120 && wp.y < cc.winSize.height - 200) {\n GameModelManager.ShowDatingEventArrowGuide.emit(true, cc.v3(wp.x, wp.y, 0));\n } else {\n GameModelManager.ShowDatingEventArrowGuide.emit(false);\n }\n }\n } else {\n GameModelManager.ShowDatingEventArrowGuide.emit(false);\n }\n }\n\n onForceClickItem = (id: number) => {\n console.log(\"DatingEventSubpresenter onForceClickItem id = \", id);\n let k = id + \"\";\n if (!this._modelMap || !this._modelMap[k]) {\n return;\n }\n this._clickKey = k;\n if (!this._isStartBranches) {\n this.onItemAdModeClick(k);\n } else {\n //@ts-ignore\n this.view.schedule(this.checkCanEnterDatingScene, 0.1);\n }\n }\n\n checkCanEnterDatingScene = () => {\n if (!this._isStartBranches) {\n this.onItemAdModeClick(this._clickKey);\n //@ts-ignore\n this.view.unschedule(this.checkCanEnterDatingScene);\n }\n }\n\n onRefreshAllStatus = () => {\n this.selectCurChapter();\n this.onShow();\n }\n\n onCloseDatingSceneView = (eventId: number) => {\n // this.view.setCurrEventId(eventId);\n let cfg = ConfigManager.getAllConfig(dateSceneConfig);\n for (const id in cfg) {\n if (cfg[id].id == eventId) {\n this._curChapterIndex = cfg[id].chapter_index;\n }\n }\n this.refreshItems();\n this.checkGuideItem();\n this.refreshArrowGuide();\n this.changeButtonState();\n this.checkLastChapterIsOver();\n }\n\n onCloseExtraSceneView = async () => {\n await this.updateExtraPlotButtonRedDot();\n }\n\n changeButtonState() {\n let nameSprite = this.view.getNameButton().node.getComponent(cc.Sprite);\n nameSprite.scheduleOnce(async () => {\n let spritePath = \"textures/main_view/dating/chapterIcon/chapter\";\n nameSprite.spriteFrame = await ResUtils.loadRes(spritePath + this._curChapterIndex, cc.SpriteFrame);\n if (this._curChapterIndex == this._maxChapterIndex) {\n this.view.getRightButton().node.opacity = 0;\n } else {\n this.view.getRightButton().node.opacity = 255;\n }\n if (this._curChapterIndex == 1) {\n this.view.getLeftButton().node.opacity = 0;\n } else {\n this.view.getLeftButton().node.opacity = 255;\n }\n });\n }\n\n checkLastChapterIsOver() {\n let isOver = false;\n let arr = GameModelManager.getMainDatingEventScenesModel();\n if (arr && arr.length) {\n let lastChapter = arr[arr.length - 1];\n isOver = lastChapter.status == DatingEventStatus.Completed ? true : false;\n }\n if (!isOver && this._curChapterIndex !== this._maxChapterIndex) {\n this.view.getRightButton().node.getChildByName(\"RedDotSprite\").active = true;\n this.startButtonAction(this.view.getRightButton().node);\n } else {\n this.view.getRightButton().node.getChildByName(\"RedDotSprite\").active = false;\n this.stopButtonAction(this.view.getRightButton().node);\n }\n }\n\n startButtonAction(node: cc.Node) {\n let fadeInAct = cc.fadeTo(1, 255);\n let fadeOutAct = cc.fadeTo(1, 100);\n let scaleInAct = cc.scaleTo(1, 1.2);\n let scaleOutAct = cc.scaleTo(1, 1);\n node.stopAllActions();\n node.runAction(cc.repeatForever(cc.sequence(fadeInAct, fadeOutAct)));\n node.runAction(cc.repeatForever(cc.sequence(scaleInAct, scaleOutAct)));\n }\n\n stopButtonAction(node: cc.Node) {\n node.stopAllActions();\n node.scale = 1;\n node.opacity = 255;\n }\n\n getAllChapterInfo(): { chapterIndex: number, chapterName: string }[] {\n let chapterIndex: number[] = [];\n let chapterName: string[] = [];\n let cfg = ConfigManager.getAllConfig(dateSceneConfig);\n for (const id in cfg) {\n if (chapterIndex.indexOf(cfg[id].chapter_index) == -1 && cfg[id].chapter_index <= this._maxChapterIndex) {\n chapterIndex.push(cfg[id].chapter_index);\n chapterName.push(cfg[id].chapter_name);\n }\n }\n let chapterInfo: { chapterIndex: number, chapterName: string }[] = [];\n for (let i = 0; i < chapterIndex.length; i++) {\n if (chapterName[i]) {\n chapterInfo.push({\n chapterIndex: chapterIndex[i],\n chapterName: chapterName[i]\n });\n }\n }\n return chapterInfo;\n }\n\n async updateExtraPlotButtonRedDot() {\n //return;\n this._isStartBranches = true;\n this.view.getExtraPlotButton().getChildByName(\"RedDotSprite\").active = false;\n let cfg = ConfigManager.getAllConfig(dateSceneConfig);\n let startPlotIds: number[] = [];\n let cfgIds:number[] = [];\n for (const id in cfg) {\n if (cfg[id].DateType == DateType.Date_Sp) {\n startPlotIds.push(cfg[id].start_plot_id);\n cfgIds.push(Number(id));\n }\n }\n await ExtraStoryModelManager.startBranches(startPlotIds,(index:number,startPlotId:number)=>{\n let branchStatus = ExtraStoryModelManager.getBranchStatus(cfgIds[index], startPlotId);\n if (branchStatus == DatingEventStatus.New || branchStatus == DatingEventStatus.InProgress) {\n this.view.getExtraPlotButton().getChildByName(\"RedDotSprite\").active = true;\n }\n });\n await ExtraStoryModelManager.exitExtraStory();\n GameModelManager.setIsMainPlotSceneType(false);\n this._isStartBranches = false;\n }\n\n onLeftButtonClickCallback = () => {\n GameModelManager.setIsMainPlotSceneType(false);\n if (this._curChapterIndex == 1) {\n this.view.getLeftButton().node.opacity = 0;\n } else {\n this._curChapterIndex--;\n this.view.getLeftButton().node.opacity = 255;\n this.onShow();\n }\n }\n\n onRightButtonClickCallback = () => {\n GameModelManager.setIsMainPlotSceneType(false);\n if (this._curChapterIndex == this._maxChapterIndex) {\n this.view.getRightButton().node.opacity = 0;\n } else {\n this._curChapterIndex++;\n this.view.getRightButton().node.opacity = 255;\n this.onShow();\n }\n }\n\n onNameButtonClickCallback = () => {\n let allChapterInfo = this.getAllChapterInfo();\n // console.log(\"allChapterInfo\", allChapterInfo);\n this.view.getScrollViewRoot().active = true;\n let scrollView = this.view.getScrollViewRoot().getChildByName(\"ScrollView\");\n scrollView.scaleY = 0;\n cc.tween(scrollView)\n .to(0.2, { scaleY: 1 })\n .call(() => {\n this.view.getScrollViewContent().removeAllChildren();\n for (let i = 0; i < allChapterInfo.length; ++i) {\n let btn = cc.instantiate(this.view.getSectionBtn());\n let isCurrChapter = allChapterInfo[i].chapterIndex == this._curChapterIndex;\n btn.getComponent(SectionBtn).setData(allChapterInfo[i].chapterIndex, allChapterInfo[i].chapterName, isCurrChapter, () => {\n this._curChapterIndex = allChapterInfo[i].chapterIndex;\n this.onShow();\n this.onCloseSectionViewCallBack();\n });\n btn.parent = this.view.getScrollViewContent();\n }\n })\n .start();\n }\n\n onCloseSectionViewCallBack = () => {\n this.view.getScrollViewContent().removeAllChildren();\n let scrollView = this.view.getScrollViewRoot().getChildByName(\"ScrollView\");\n cc.tween(scrollView)\n .to(0.2, { scaleY: 0 })\n .call(() => {\n this.view.getScrollViewRoot().active = false;\n })\n .start();\n }\n\n onExtraPlotButtonClickCallback = () => {\n UIManager.pushPresenter(ExtraPlotViewPresenter, undefined);\n }\n}"]}
\ No newline at end of file
{"version":3,"sources":["assets/script/game/ui/presenter/DatingEventViewPresenter.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { ResUtils } from \"simba-cc-resutils\";\nimport { ConfigManager } from \"simba-config-manager\";\nimport { GameRecord, PlotManager, ReadonlyPlots } from \"../../../avg/AVG\";\nimport { DateType } from \"../../../avg/EditorEnums\";\nimport { Presenter, Subpresenter } from \"../../../common/classbase/PresenterBase\";\nimport { GameTextData } from \"../../../common/gameplay/gamedata/GameTextData\";\nimport { UIManager } from \"../../../common/gameplay/managers/UIManager\";\nimport { StringUtils } from \"../../../common/utils/StringUtils\";\nimport { dateSceneConfig } from \"../../../config/DateSceneConfig\";\nimport { GameConfig } from \"../../../GameConfig\";\nimport { CommonLocation, DatePrefabDirectType, DirectionType, EventLocation, EventOperationType, GuideLocation, GuideOperationType, GuideState, StepType } from \"../../Enums\";\nimport GameDotMgr from \"../../GameDotMgr\";\nimport CDKeyEventManager from \"../../model/CDKeyEventManager\";\nimport { DatingEventSceneModel, DatingEventStatus } from \"../../model/DatingEventSceneModel\";\nimport { ExtraStoryModelManager } from \"../../model/ExtraStoryModelManager\";\nimport { GameModelManager } from \"../../model/GameModelManager\";\nimport { RegPresenter, RegSubpresenter } from \"../PresenterCCViewFactory\";\nimport SectionBtn from \"../SectionBtn\";\nimport { AlertDialogViewProps } from \"../view/type/AlertDialogView\";\nimport { DatingEventItemProps, DatingEventSubview, DatingEventSubviewType } from \"../view/type/DatingEventSubview\";\nimport { DatingEventView, DatingEventViewProps, DatingEventViewType } from \"../view/type/DatingEventView\";\nimport { ExtraPlotViewProps } from \"../view/type/ExtraPlotView\";\nimport AlertDialogViewPresenter from \"./AlertDialogViewPresenter\";\nimport { DatingScenePresenter } from \"./DatingScenePresenter\";\nimport ExtraPlotViewPresenter from \"./ExtraPlotViewPresenter\";\nimport GuideViewPresenter, { GuideViewParamModel } from \"./GuideViewPresenter\";\n\n@RegPresenter(DatingEventViewType)\nexport default class DatingEventViewPresenter extends Presenter<undefined, DatingEventView> {\n static uuid = \"DatingEventViewPresenter\";\n\n private _viewProps: DatingEventViewProps;\n constructor() {\n super();\n this._viewProps = {\n }\n }\n\n onOpen() {\n super.onOpen(undefined);\n this._disposable.add(GameModelManager.ShowDatingEventArrowGuide.on(this.onShowDatingEventArrowGuide));\n this.onShow();\n }\n\n onEnterForeground() {\n super.onEnterForeground();\n }\n\n onShow() {\n super.onShow();\n this.view.setProps(this._viewProps);\n if (GameConfig.debug) {\n this.view.showRoleLikeLabel();\n this.view.showMaskLabel();\n }\n }\n\n onClose() {\n super.onClose();\n }\n\n onShowDatingEventArrowGuide = (isShow: boolean, wordPos?: cc.Vec3) => {\n this.view.showArrowGuide(isShow, wordPos);\n }\n}\n\n@RegSubpresenter(DatingEventSubviewType)\nexport class DatingEventSubpresenter extends Subpresenter<DatingEventSubview> {\n // private _items: DatingEventItemProps[];\n private _lineStyle: 0 | 1 = 0;\n private _modelMap: { [key: string]: DatingEventSceneModel } = {};\n private _dailySceneNum: number = -1;\n private _curChapterIndex: number = 1;\n private _maxChapterIndex: number = 1;\n private _maxChapterIsChange: boolean = false;\n private _isStartBranches: boolean = false;\n private _clickKey: string = \"\";\n isReview: boolean;\n\n private sceneModelToViewModel(item: DatingEventSceneModel, index: number): DatingEventItemProps {\n this._modelMap[item.id.toString()] = item;\n // let cfg = ConfigManager.getConfig(dateSceneConfig, item.id);\n // let progress = GameModelManager.getDateSceneKeyPlotsProgress(item.id);\n let direct = DatePrefabDirectType.Left;\n if (this._curChapterIndex % 2 === 1) {\n direct = (index + 1) % 2 === 1 ? DatePrefabDirectType.Left : DatePrefabDirectType.Right;\n } else {\n direct = (index + 1) % 2 === 0 ? DatePrefabDirectType.Left : DatePrefabDirectType.Right;\n }\n return {\n key: item.id + \"\",\n title: GameModelManager.getConfigLanguageTxt(item.config.name),\n // date: item.config.date,\n // time: item.config.time,\n status: item.status,\n coverImage: \"textures/dating_event/cover/\" + item.config.background,\n // lineStyle: this._lineStyle,\n // progress: progress,\n // showItemClear: item.status === DatingEventStatus.Completed && progress === 100,\n // showProgress: item.status === DatingEventStatus.Completed,\n // firstCostNum: cfg.first_energy_cost,\n // reviewCostNum: cfg.memory_energy_cost,\n itype: direct\n }\n }\n\n refreshItems() {\n let items: DatingEventItemProps[] = [];\n let srcModels = GameModelManager.getMainDatingEventScenesModelByChapterindex(this._curChapterIndex);\n // let srcModels = GameModelManager.getMainDatingEventScenesModel();\n for (let i = srcModels.length - 1; i >= 0; i--) {\n items.push(this.sceneModelToViewModel(srcModels[i], i));\n }\n // if (items.length) {\n // items[0].lineStyle = \"none\";\n // }\n //count dailySceneNum from table\n if (this._dailySceneNum == -1) {\n let maxItemsNum: number = 0;\n let cfg = ConfigManager.getAllConfig(dateSceneConfig);\n for (let id in cfg) {\n let c = cfg[id];\n if (c) {\n maxItemsNum++;\n }\n }\n this._dailySceneNum = maxItemsNum;\n }\n let showContinue = false;\n if (srcModels.length !== 0) {\n let c = 0;\n let cfgs = ConfigManager.getAllConfig(dateSceneConfig);\n for (let id in cfgs) {\n let cfg = cfgs[id];\n if (cfg) {\n c++;\n }\n }\n let last = srcModels[srcModels.length - 1];\n showContinue = last.id === c;\n }\n this.view.setProps({\n items,\n onItemClick: this.onItemAdModeClick,\n // onItemClick: this.onItemEnergyCostClick,\n showContinue: showContinue,\n chapterName: this.getChapterName(this._curChapterIndex),\n showLeft: this._curChapterIndex !== 1,\n showRight: this._curChapterIndex !== this._maxChapterIndex,\n showChapterClear: this.checkChapterClear(items, this._curChapterIndex),\n onOptionChapter: this.onOptionChapter,\n chapterIndex: this._curChapterIndex,\n onScrollBegin: this.onScrollBegin,\n onScrollEnd: this.onScrollEnd,\n onLeftButtonClickCallback: this.onLeftButtonClickCallback,\n onRightButtonClickCallback: this.onRightButtonClickCallback,\n onNameButtonClickCallback: this.onNameButtonClickCallback,\n onExtraPlotButtonClickCallback: this.onExtraPlotButtonClickCallback,\n onCloseSectionViewCallBack: this.onCloseSectionViewCallBack\n });\n }\n\n onScrollBegin = () => {\n GameModelManager.ShowDatingEventArrowGuide.emit(false);\n }\n\n onScrollEnd = () => {\n this.refreshArrowGuide();\n }\n\n checkChapterClear(items: DatingEventItemProps[], chapterIndex: number): boolean {\n let showClear: boolean = true;\n let cfg = ConfigManager.getAllConfig(dateSceneConfig);\n let cnt = 0;\n for (let id in cfg) {\n let c = cfg[id]\n if (c && c.chapter_index === chapterIndex) {\n cnt++;\n }\n }\n if (cnt !== items.length) {\n return false;\n }\n // for (let i = 0; i < items.length; i++) {\n // if (items[i].showItemClear === false) {\n // showClear = false;\n // break;\n // }\n // }\n return showClear;\n }\n\n getChapterName(chapterIndex: number): string {\n chapterIndex -= 1;\n let nameArr: string[] =\n [\n \"一\", \"二\", \"三\", \"四\", \"五\", \"六\", \"七\", \"八\", \"九\", \"十\",\n \"十一\", \"十二\", \"十三\", \"十四\", \"十五\", \"十六\", \"十七\", \"十八\", \"十九\", \"二十\"\n ];\n let name = StringUtils.format(GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_CHAPTER_NAME), nameArr[chapterIndex]);\n return name\n }\n\n onItemAdModeClick = (key: string) => {\n GameModelManager.setGuideEventItemRecord(key, GuideState.Complete);\n let m = this._modelMap[key];\n let hasRecord = this.checkIsSceneHasAdRecord(m.id);\n CDKeyEventManager.getInstance().shiftCDKeyRemovePlotAD();\n let removeAdCardNum: number = CDKeyEventManager.getInstance().checkCDKeyRemovePlotAD();\n if (m.status !== DatingEventStatus.Completed) {\n GameDotMgr.getInstance().dotClickUI(\"click_date_card\" + m.config.id);\n }\n let showAdAlert: boolean = !(removeAdCardNum > 0) && !hasRecord && m.config.ads === 1 && m.status == DatingEventStatus.New;\n if (showAdAlert) {\n let temp: AlertDialogViewProps =\n {\n dataptr: { key },\n titlecontent: GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_WAIT_VALUE),\n content: GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_SHOW_AD_UNLOCK_DATE_VALUE),\n ishasad: true,\n istwobtn: true,\n adconfig: \"inject_fruit\",\n location: CommonLocation.Event,\n callback: this.showAdCallBack,\n hasBanner: false,\n isthreebtn: true\n };\n console.log(\"Push AlertDialogViewPros data end\");\n UIManager.pushPresenter(AlertDialogViewPresenter, temp);\n console.log(\"pushPresenter=========\");\n } else {\n this.enterDatingScene(key);\n }\n }\n\n showAdCallBack = (type, ret: boolean, param: any) => {\n if (ret) {\n //if (type === \"video\" || channel == \"dummy\") {\n if (true) {\n let key = param[\"key\"] as string;\n let m = this._modelMap[key];\n this.pushSceneAdToRecord(m.id);\n setTimeout(() => {\n this.enterDatingScene(key);\n }, 300);\n } else {\n UIManager.popPresenter();\n setTimeout(() => {\n let temp: AlertDialogViewProps =\n {\n dataptr: {},\n titlecontent: \"提示\",\n content: \"今天广告君太累了,休息啦~~可以点击去除广告,或者明天再来哦(*•̀ᴗ•́*)و ̑̑\",\n ishasad: false,\n istwobtn: true,\n adconfig: \"\",\n callback: () => {\n\n },\n hasBanner: false,\n isadlimit: true\n };\n UIManager.pushPresenter(AlertDialogViewPresenter, temp);\n }, 500);\n }\n } else {\n if (type === \"video\") {\n UIManager.showToast(\"解锁失败,请完整观看视频,不可点击跳过\");\n }\n }\n }\n\n checkIsSceneHasAdRecord(id: number): boolean {\n let ret: boolean = false;\n let record = GameRecord.globalVariables[\"date_ad_arr\"] as string;\n if (record) {\n let a: number[] = JSON.parse(record);\n let i = a.findIndex((v) => v === id);\n ret = i !== -1;\n }\n return ret;\n }\n\n pushSceneAdToRecord(id: number) {\n let record = GameRecord.globalVariables[\"date_ad_arr\"] as string;\n let a: number[] = [];\n let isExsit: boolean = false;\n if (record) {\n a = JSON.parse(record);\n let i = a.findIndex((v) => v === id);\n if (i >= 0) {\n isExsit = true;\n }\n }\n if (!isExsit) {\n a.push(id);\n a.reverse();\n GameRecord.globalVariables[\"date_ad_arr\"] = JSON.stringify(a);\n GameRecord.autoSave();\n }\n }\n\n enterDatingScene(key: string) {\n GameModelManager.ShowDatingEventArrowGuide.emit(false);\n UIManager.pushPresenter(DatingScenePresenter, this._modelMap[key], true);\n }\n\n onOwnerShow() {\n if (!this.view.isHidden) {\n this.selectCurChapter();\n this.refreshMaxChapterIndex();\n this.refreshItems();\n this.refreshArrowGuide();\n this.changeButtonState();\n this.checkLastChapterIsOver();\n this.onCloseSectionViewCallBack();\n }\n }\n\n onOwnerEnterForeground() {\n if (!this.view.isHidden) {\n this.refreshMaxChapterIndex();\n this.refreshItems();\n this.refreshArrowGuide();\n this.changeButtonState();\n this.checkLastChapterIsOver();\n }\n if (this._maxChapterIsChange) {\n this.selectCurChapter();\n }\n }\n\n onOpen() {\n super.onOpen();\n this._disposable.add(GameModelManager.CheckDateGuide.on(this.checkGuideItem));\n this._disposable.add(GameModelManager.ForceClickDatingItem.on(this.onForceClickItem));\n this._disposable.add(GameModelManager.RefreshAllStatus.on(this.onRefreshAllStatus));\n this._disposable.add(GameModelManager.CloseDatingSceneView.on(this.onCloseDatingSceneView));\n this._disposable.add(GameModelManager.CloseExtraSceneView.on(this.onCloseExtraSceneView));\n this._disposable.add(GameModelManager.OpenExtraPlotView.on(this.onExtraPlotButtonClickCallback));\n // let isNeedEnterCurChapter = GameModelManager.checkIsNeedEnterCurDateChapter();\n // if (isNeedEnterCurChapter) {\n // this.selectCurChapter();\n // }\n this.selectCurChapter();\n if (!this.view.isHidden) {\n this.refreshMaxChapterIndex();\n this.onShow();\n }\n }\n\n async onShow() {\n this.refreshMaxChapterIndex();\n this.refreshItems();\n this.checkGuideItem();\n this.refreshArrowGuide();\n this.changeButtonState();\n this.checkLastChapterIsOver();\n await this.updateExtraPlotButtonRedDot();\n }\n\n onHide() {\n\n }\n\n selectCurChapter() {\n let models = GameModelManager.getMainDatingEventScenesModel();\n if (models && models.length) {\n let last = models[models.length - 1];\n this._curChapterIndex = last.config.chapter_index;\n if (this._curChapterIndex !== 1) {\n GameModelManager.setNotNeedEnterCurDateChapter();\n }\n }\n }\n\n checkGuideItem = () => {\n let k = GameModelManager.getEventItemGuideKey();\n if (k && \"\" !== k) {\n let node = this.view.getItemNode(k);\n if (node) {\n let wp = node.convertToWorldSpaceAR(cc.v2(0, 0));\n let m: GuideViewParamModel = {\n x: wp.x,\n y: wp.y,\n w: node.width,\n h: node.height,\n d: DirectionType.DOWM,\n call: () => {\n this.onItemAdModeClick(k);\n // this.onItemEnergyCostClick(k);\n GameModelManager.setGuideEventItemRecord(k, GuideState.Complete);\n }\n }\n UIManager.pushPresenter(GuideViewPresenter, m);\n }\n }\n this.refreshArrowGuide();\n }\n\n refreshMaxChapterIndex() {\n let maxChapterIndex = this._maxChapterIndex;\n let arr = GameModelManager.getMainDatingEventScenesModel();\n if (arr && arr.length) {\n let dId = arr[arr.length - 1].id;\n let cfg = ConfigManager.getConfig(dateSceneConfig, dId);\n this._maxChapterIndex = cfg.chapter_index;\n }\n this._maxChapterIsChange = maxChapterIndex == this._maxChapterIndex ? false : true;\n }\n\n onOptionChapter = (stepType: StepType) => {\n let tempIndex = stepType === StepType.Add ? this._curChapterIndex + 1 : this._curChapterIndex - 1;\n this._curChapterIndex = tempIndex >= 1 && tempIndex <= this._maxChapterIndex ? tempIndex : this._curChapterIndex;\n this.refreshItems();\n }\n\n costEnergyCallBack = (type, ret: boolean, param: any) => {\n if (ret) {\n let oprType = this.isReview ? EventOperationType.memory : EventOperationType.event;\n let location = EventLocation.ClickEnergyCost;\n let role = GameModelManager.getPlayerData();\n let key = param[\"key\"] as string;\n let m = this._modelMap[key];\n this.pushSceneAdToRecord(m.id);\n setTimeout(() => {\n this.enterDatingScene(key);\n }, 300);\n }\n }\n\n\n refreshArrowGuide() {\n let srcModels = GameModelManager.getMainDatingEventScenesModelByChapterindex(this._curChapterIndex);\n if (!srcModels || srcModels.length === 0) {\n return;\n }\n let model = srcModels[srcModels.length - 1];\n if (model.status !== DatingEventStatus.Completed) {\n let key = model.id + \"\";\n let node = this.view.getItemNode(key);\n if (node) {\n let wp = node.convertToWorldSpaceAR(cc.v2(0, 0));\n //世界坐标y是否在屏幕区域内\n if (wp.y > 120 && wp.y < cc.winSize.height - 200) {\n GameModelManager.ShowDatingEventArrowGuide.emit(true, cc.v3(wp.x, wp.y, 0));\n } else {\n GameModelManager.ShowDatingEventArrowGuide.emit(false);\n }\n }\n } else {\n GameModelManager.ShowDatingEventArrowGuide.emit(false);\n }\n }\n\n onForceClickItem = (id: number) => {\n console.log(\"DatingEventSubpresenter onForceClickItem id = \", id);\n let k = id + \"\";\n if (!this._modelMap || !this._modelMap[k]) {\n return;\n }\n this._clickKey = k;\n if (!this._isStartBranches) {\n this.onItemAdModeClick(k);\n } else {\n //@ts-ignore\n this.view.schedule(this.checkCanEnterDatingScene, 0.1);\n }\n }\n\n checkCanEnterDatingScene = () => {\n if (!this._isStartBranches) {\n this.onItemAdModeClick(this._clickKey);\n //@ts-ignore\n this.view.unschedule(this.checkCanEnterDatingScene);\n }\n }\n\n onRefreshAllStatus = () => {\n this.selectCurChapter();\n this.onShow();\n }\n\n onCloseDatingSceneView = (eventId: number) => {\n // this.view.setCurrEventId(eventId);\n let cfg = ConfigManager.getAllConfig(dateSceneConfig);\n for (const id in cfg) {\n if (cfg[id].id == eventId) {\n this._curChapterIndex = cfg[id].chapter_index;\n }\n }\n this.refreshItems();\n this.checkGuideItem();\n this.refreshArrowGuide();\n this.changeButtonState();\n this.checkLastChapterIsOver();\n }\n\n onCloseExtraSceneView = async () => {\n await this.updateExtraPlotButtonRedDot();\n }\n\n changeButtonState() {\n let nameSprite = this.view.getNameButton().node.getComponent(cc.Sprite);\n nameSprite.scheduleOnce(async () => {\n let spritePath = \"textures/main_view/dating/chapterIcon/chapter\";\n nameSprite.spriteFrame = await ResUtils.loadRes(spritePath + this._curChapterIndex, cc.SpriteFrame);\n if (this._curChapterIndex == this._maxChapterIndex) {\n this.view.getRightButton().node.opacity = 0;\n } else {\n this.view.getRightButton().node.opacity = 255;\n }\n if (this._curChapterIndex == 1) {\n this.view.getLeftButton().node.opacity = 0;\n } else {\n this.view.getLeftButton().node.opacity = 255;\n }\n });\n }\n\n checkLastChapterIsOver() {\n let isOver = false;\n let arr = GameModelManager.getMainDatingEventScenesModel();\n if (arr && arr.length) {\n let lastChapter = arr[arr.length - 1];\n isOver = lastChapter.status == DatingEventStatus.Completed ? true : false;\n }\n if (!isOver && this._curChapterIndex !== this._maxChapterIndex) {\n this.view.getRightButton().node.getChildByName(\"RedDotSprite\").active = true;\n this.startButtonAction(this.view.getRightButton().node);\n } else {\n this.view.getRightButton().node.getChildByName(\"RedDotSprite\").active = false;\n this.stopButtonAction(this.view.getRightButton().node);\n }\n }\n\n startButtonAction(node: cc.Node) {\n let fadeInAct = cc.fadeTo(1, 255);\n let fadeOutAct = cc.fadeTo(1, 100);\n let scaleInAct = cc.scaleTo(1, 1.2);\n let scaleOutAct = cc.scaleTo(1, 1);\n node.stopAllActions();\n node.runAction(cc.repeatForever(cc.sequence(fadeInAct, fadeOutAct)));\n node.runAction(cc.repeatForever(cc.sequence(scaleInAct, scaleOutAct)));\n }\n\n stopButtonAction(node: cc.Node) {\n node.stopAllActions();\n node.scale = 1;\n node.opacity = 255;\n }\n\n getAllChapterInfo(): { chapterIndex: number, chapterName: string }[] {\n let chapterIndex: number[] = [];\n let chapterName: string[] = [];\n let cfg = ConfigManager.getAllConfig(dateSceneConfig);\n for (const id in cfg) {\n if (chapterIndex.indexOf(cfg[id].chapter_index) == -1 && cfg[id].chapter_index <= this._maxChapterIndex) {\n chapterIndex.push(cfg[id].chapter_index);\n chapterName.push(cfg[id].chapter_name);\n }\n }\n let chapterInfo: { chapterIndex: number, chapterName: string }[] = [];\n for (let i = 0; i < chapterIndex.length; i++) {\n if (chapterName[i]) {\n chapterInfo.push({\n chapterIndex: chapterIndex[i],\n chapterName: chapterName[i]\n });\n }\n }\n return chapterInfo;\n }\n\n async updateExtraPlotButtonRedDot() {\n //return;\n this._isStartBranches = true;\n this.view.getExtraPlotButton().getChildByName(\"RedDotSprite\").active = false;\n let cfg = ConfigManager.getAllConfig(dateSceneConfig);\n let startPlotIds: number[] = [];\n let cfgIds:number[] = [];\n for (const id in cfg) {\n if (cfg[id].DateType == DateType.Date_Sp) {\n startPlotIds.push(cfg[id].start_plot_id);\n cfgIds.push(Number(id));\n }\n }\n await ExtraStoryModelManager.startBranches(startPlotIds,(index:number,startPlotId:number)=>{\n let branchStatus = ExtraStoryModelManager.getBranchStatus(cfgIds[index], startPlotId);\n if (branchStatus == DatingEventStatus.New || branchStatus == DatingEventStatus.InProgress) {\n this.view.getExtraPlotButton().getChildByName(\"RedDotSprite\").active = true;\n }\n });\n await ExtraStoryModelManager.exitExtraStory();\n GameModelManager.setIsMainPlotSceneType(false);\n this._isStartBranches = false;\n }\n\n onLeftButtonClickCallback = () => {\n GameModelManager.setIsMainPlotSceneType(false);\n if (this._curChapterIndex == 1) {\n this.view.getLeftButton().node.opacity = 0;\n } else {\n this._curChapterIndex--;\n this.view.getLeftButton().node.opacity = 255;\n this.onShow();\n }\n }\n\n onRightButtonClickCallback = () => {\n GameModelManager.setIsMainPlotSceneType(false);\n if (this._curChapterIndex == this._maxChapterIndex) {\n this.view.getRightButton().node.opacity = 0;\n } else {\n this._curChapterIndex++;\n this.view.getRightButton().node.opacity = 255;\n this.onShow();\n }\n }\n\n onNameButtonClickCallback = () => {\n let allChapterInfo = this.getAllChapterInfo();\n // console.log(\"allChapterInfo\", allChapterInfo);\n this.view.getScrollViewRoot().active = true;\n let scrollView = this.view.getScrollViewRoot().getChildByName(\"ScrollView\");\n scrollView.scaleY = 0;\n cc.tween(scrollView)\n .to(0.2, { scaleY: 1 })\n .call(() => {\n this.view.getScrollViewContent().removeAllChildren();\n for (let i = 0; i < allChapterInfo.length; ++i) {\n let btn = cc.instantiate(this.view.getSectionBtn());\n let isCurrChapter = allChapterInfo[i].chapterIndex == this._curChapterIndex;\n btn.getComponent(SectionBtn).setData(allChapterInfo[i].chapterIndex, allChapterInfo[i].chapterName, isCurrChapter, () => {\n this._curChapterIndex = allChapterInfo[i].chapterIndex;\n this.onShow();\n this.onCloseSectionViewCallBack();\n });\n btn.parent = this.view.getScrollViewContent();\n }\n })\n .start();\n }\n\n onCloseSectionViewCallBack = () => {\n this.view.getScrollViewContent().removeAllChildren();\n let scrollView = this.view.getScrollViewRoot().getChildByName(\"ScrollView\");\n cc.tween(scrollView)\n .to(0.2, { scaleY: 0 })\n .call(() => {\n this.view.getScrollViewRoot().active = false;\n })\n .start();\n }\n\n onExtraPlotButtonClickCallback = () => {\n UIManager.pushPresenter(ExtraPlotViewPresenter, undefined);\n }\n}"]}
\ No newline at end of file
......@@ -296,13 +296,6 @@ let MainViewPresenter = /** @class */ (() => {
UnlockItemModelManager_1.UnlockItemModelManager.saveItemIdToGameRecord(itemId);
}
};
/**
* 卧室返回点击UI事件
* @param index 返回具体tabIndex
*/
this.onBedroomViewBack = (index) => {
this._view.onTabButtonClick(null, `${index}`);
};
this.onRefreshAllStatus = async () => {
this.checkRedDot(AVG_1.PlotManager.getCurrentPlots());
GameConfig_1.GameConfig.showToBeContinue = false;
......@@ -366,7 +359,6 @@ let MainViewPresenter = /** @class */ (() => {
this._disposable.add(GameModelManager_1.GameModelManager.ShowPlotBlocked.on(this.onShowPlotBlocked));
this._disposable.add(GameModelManager_1.GameModelManager.AutoPopView.on(this.onAutoPopView));
this._disposable.add(GameModelManager_1.GameModelManager.UnlockItem.on(this.onUnlockItem));
this._disposable.add(GameModelManager_1.GameModelManager.BedroomViewBack.on(this.onBedroomViewBack));
this._disposable.add(GameModelManager_1.GameModelManager.RefreshAllStatus.on(this.onRefreshAllStatus));
this._disposable.add(GameModelManager_1.GameModelManager.JumpToViewInGame.on(this.onJumpToViewInGame));
this.checkRedDot(AVG_1.PlotManager.getCurrentPlots());
......
{"version":3,"sources":["assets/script/game/ui/presenter/MainViewPresenter.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { ConfigManager } from \"simba-config-manager\";\nimport { GameRecord, PlotManager, ReadonlyPlots, SpecialPlotId } from \"../../../avg/AVG\";\nimport { createPresenter, Presenter } from \"../../../common/classbase/PresenterBase\";\nimport { View } from \"../../../common/classbase/ViewBase\";\nimport { GameTextData } from \"../../../common/gameplay/gamedata/GameTextData\";\nimport { UIManager } from \"../../../common/gameplay/managers/UIManager\";\nimport { dateSceneConfig } from \"../../../config/DateSceneConfig\";\nimport { AutoPopViewType, GuideLocation, GuideOperationType, GuideState, MainTabs, PlotSceneType } from \"../../Enums\";\nimport GameDotMgr from \"../../GameDotMgr\";\nimport { DatingEventStatus } from \"../../model/DatingEventSceneModel\";\nimport { GameModelManager } from \"../../model/GameModelManager\";\nimport { RegPresenter } from \"../PresenterCCViewFactory\";\nimport VerbView from \"../VerbView\";\nimport { showToBeContinue } from \"../view/impl/AlertToBeContinueImpl\";\nimport { MainView, MainViewProps, MainViewType } from \"../view/type/MainView\";\nimport DatingEventViewPresenter from \"./DatingEventViewPresenter\";\nimport { DatingScenePresenter } from \"./DatingScenePresenter\";\nimport DebugViewPresenter from \"./DebugViewPresenter\";\nimport DiscoverViewPresenter from \"./DiscoverViewPresenter\";\nimport GuideViewPresenter from \"./GuideViewPresenter\";\nimport MessageViewPresenter from \"./MessageViewPresenter\";\nimport NoticeViewPresenter from \"./NoticeViewPresenter\";\nimport PlotStopViewPresenter from \"./PlotStopViewPresenter\";\nimport { AudioManager } from \"simba-cc-audio-manager\";\nimport { DeepReadonlyObject } from \"simba-utils\";\nimport { ResUtils } from \"simba-cc-resutils\";\nimport { GameConstData } from \"../../../common/gameplay/gamedata/GameConstData\";\nimport { UnlockItemModelManager } from \"../../model/UnlockItemModelManager\";\nimport { IItemTbl, itemTbl } from \"../../../config/ItemTbl\";\nimport { channel, GameConfig } from \"../../../GameConfig\";\nimport { HttpClient } from \"simba-httpclient\";\nimport { DateType, PageIndex } from \"../../../avg/EditorEnums\";\nimport NewNoticeViewPresenter from \"./notice/NewNoticeViewPresenter\";\nimport { SourceView } from \"../view/type/notice/NewNoticeView\";\nimport ExtraPlotViewPresenter from \"./ExtraPlotViewPresenter\";\nimport { SDK } from \"simba-sdk\";\n\nconst TabPresenterFactory: ({ new(): Presenter } & { uuid: string })[] = [\n MessageViewPresenter,\n DatingEventViewPresenter,\n DiscoverViewPresenter\n];\n/**主线剧情的下标 */\nconst MAIN_PLOT_INDEX: number = 0;\n@RegPresenter(MainViewType)\nexport default class MainViewPresenter extends Presenter<undefined, MainView> {\n static uuid = \"MainViewPresenter\";\n private _subPresenters: Presenter<any, View>[] = [];\n private _currentTab = 0;\n private _viewProps: MainViewProps;\n private _loadingTab = false;\n private readonly _tabToggleDelayTime = 618;\n private _tabClickAble: boolean = false;\n\n private _itemId: number = -1;\n private _hasItem: boolean = false;\n public static tabIndex: number = -1;\n\n constructor() {\n super();\n this._viewProps = {\n selectedTab: 0,\n messageRedDot: false,\n datingEventRedDot: false,\n discoverRedDot: false,\n onTabClick: this.onTabClick,\n onDebugClick: this.onDebugClickCallback,\n };\n }\n\n onDebugClickCallback = () => {\n UIManager.pushPresenter(DebugViewPresenter, undefined);\n }\n\n onGoToShopClickCallback = () => {\n GameDotMgr.getInstance().dotClickUI(\"shop_btn_MainView\");\n if (channel == \"wechat\") {\n // GameCenter.getInstance().openSubProgram(GameConfig.youZanShopAppId);\n let link = GameModelManager.getYouZanShopUrlByType(8);\n if (link) {\n SDK.openProgramV2(GameConfig.youZanShopAppId, link);\n }\n } else if (channel == \"android\") {\n let link = GameModelManager.getTaoBaoShopUrlByType(8);\n if (link) {\n GameModelManager.jumpToTaobaoShop(link);\n }\n } else {\n UIManager.showToast(\"该功能在当前平台不可使用\");\n }\n }\n\n onCommonProblemClickCallback = async () => {\n try {\n let resStr = await new HttpClient(GameConfig.commonProblemConfigUrl).get() as string;\n let res = JSON.parse(resStr);\n if (res) {\n UIManager.pushPresenter(NoticeViewPresenter, {\n title: res.title,\n content: res.content\n });\n }\n } catch (error) {\n console.error(error);\n }\n }\n\n checkRedDot = (plots: ReadonlyPlots) => {\n this._viewProps.messageRedDot = plots[MAIN_PLOT_INDEX].plotSceneType === PlotSceneType.Message || plots[MAIN_PLOT_INDEX].plotSceneType === PlotSceneType.PhoneCall;\n this._viewProps.datingEventRedDot = false;\n this._viewProps.datingEventRedDot = plots && (plots[0].plotSceneType === PlotSceneType.DatingEvent && (plots[0].id !== SpecialPlotId.ToBeContinued && plots[0].id !== SpecialPlotId.End));\n this.view.setProps(this._viewProps);\n if (plots[MAIN_PLOT_INDEX] && plots[MAIN_PLOT_INDEX].plotSceneType === PlotSceneType.BlockPlot) {\n GameModelManager.dealBlockedPlot();\n } else {\n let change = GameModelManager.isChangePlotSceneType();\n if (change) {\n let p = plots[MAIN_PLOT_INDEX];\n let isSpecial = p.id === SpecialPlotId.End || p.id === SpecialPlotId.ToBeContinued;\n if (!isSpecial) {\n this.onMainPlotChanged(p.plotSceneType, p.plotSceneTypeId);\n GameModelManager.setIsChangePlotSceneType(false);\n }\n }\n }\n }\n\n onRefreshDiscoveryRedDot = () => {\n this._viewProps.discoverRedDot = !GameModelManager.checkResumeFullEnergyMarked();\n this.view.setProps(this._viewProps);\n }\n\n async start() { // 开始游戏\n this._subPresenters[0] = await createPresenter(TabPresenterFactory[0]);\n MainViewPresenter.tabIndex = 0;\n let viewContainer = this._view.getTabContentContainer();\n this._subPresenters[0].open(viewContainer, undefined);\n this.dealTabGuide(MainTabs.messageTab);\n this._viewProps.selectedTab = MainTabs.messageTab;\n\n this._disposable.add(GameModelManager.RefreshDiscoverTabRed.on(this.onRefreshDiscoveryRedDot));\n this._disposable.add(GameModelManager.ShowPlotBlocked.on(this.onShowPlotBlocked));\n this._disposable.add(GameModelManager.AutoPopView.on(this.onAutoPopView));\n this._disposable.add(GameModelManager.UnlockItem.on(this.onUnlockItem));\n\n this._disposable.add(GameModelManager.BedroomViewBack.on(this.onBedroomViewBack));\n this._disposable.add(GameModelManager.RefreshAllStatus.on(this.onRefreshAllStatus));\n this._disposable.add(GameModelManager.JumpToViewInGame.on(this.onJumpToViewInGame));\n\n\n this.checkRedDot(PlotManager.getCurrentPlots());\n PlotManager.PlotStartEvent.on(this.checkRedDot);\n let needEnterSpecialDatingScene = this.checkIsNeedToEnterSpecialDatingScene();\n // check tab guide\n // this.checkTabGuide();\n if (needEnterSpecialDatingScene) {\n GameConfig.isVerb = true;\n this.enterSpecialEventScene();\n this._currentTab = MainTabs.datingEventTab;\n this._viewProps.selectedTab = MainTabs.datingEventTab;\n }\n this._tabClickAble = true;\n //进入主界面更新红点状态\n setTimeout(() => {\n //关闭等待界面\n this.view.showWaitingView(false);\n //开始弹起自动窗口\n if (PlotManager.getCurrentPlots()[MAIN_PLOT_INDEX].id === SpecialPlotId.ToBeContinued) {\n GameModelManager.registerAutoPopView(AutoPopViewType.ToBeContinued);\n }\n let autoShowNotice = GameModelManager.getAutoShowNotice();\n if (autoShowNotice) {\n GameModelManager.registerAutoPopView(AutoPopViewType.Notice);\n }\n let unlockItems = UnlockItemModelManager.unlockItems;\n if (unlockItems.indexOf(4) == -1) {\n GameModelManager.registerAutoPopView(AutoPopViewType.NoteBook);\n }\n if (!needEnterSpecialDatingScene) {\n GameModelManager.checkAutoPopView();\n }\n }, 2000);\n }\n\n /**\n * 检查新手教程是否完成,当前新手教程完成的判定是完成第一章\n * @returns \n */\n checkNoviceTutorialOver(): boolean {\n let models = GameModelManager.getMainDatingEventScenesModel();\n for (let i = 0; i < models.length; i++) {\n if (models[i].status == 4) {\n return true;\n }\n }\n return false;\n }\n\n async enterSpecialEventScene() {\n let arr = GameModelManager.getMainDatingEventScenesModel();\n UIManager.pushPresenter(DatingScenePresenter, arr[0], true);\n }\n\n checkIsNeedToEnterSpecialDatingScene() {\n let arr = GameModelManager.getMainDatingEventScenesModel();\n let need = arr && arr.length === 1 && arr[0].status !== DatingEventStatus.Completed;\n return need;\n }\n\n onMainTabForceClick = (param: { index: number, pureClick: boolean, propId?: number }) => {\n UIManager.popToPresenter(this);\n let index = param.index;\n this.onTabClick(index);\n }\n\n onClose() {\n super.onClose();\n UIManager.popToPresenter(this);\n }\n\n onOpen() {\n super.onOpen(undefined);\n // this.perloadPrefab();\n // this.discoverInit();\n }\n\n discoverInit() {\n GameRecord.onGlobalVariableChange(\"red_pot_\" + DiscoverViewPresenter.uuid, () => {\n this._viewProps.discoverRedDot = GameModelManager.checkRedPot(DiscoverViewPresenter.uuid);\n this.view.setProps(this._viewProps);\n });\n this._viewProps.discoverRedDot = GameModelManager.checkRedPot(DiscoverViewPresenter.uuid);\n this.view.setProps(this._viewProps);\n }\n\n perloadPrefab() {\n let PFList = [\"prefab/ui/DatingEventView\"];\n cc.resources.preload(PFList);\n }\n\n onEnterBackground() {\n super.onEnterBackground();\n if (this._subPresenters[this._currentTab])\n this._subPresenters[this._currentTab].onEnterBackground();\n }\n\n /**presenter进入前景 */\n async onEnterForeground() {\n super.onEnterForeground();\n if (this._subPresenters[this._currentTab]) {\n this._subPresenters[this._currentTab].onEnterForeground();\n this._subPresenters[this._currentTab].onEnterForeground();\n }\n if (PlotManager.getCurrentPlots()[MAIN_PLOT_INDEX].id === SpecialPlotId.ToBeContinued) {\n GameModelManager.registerAutoPopView(AutoPopViewType.ToBeContinued);\n }\n if (!GameConfig.isVerb) {\n GameModelManager.checkAutoPopView();\n }\n }\n\n onShow() {\n super.onShow();\n // this.checkTabGuide();\n }\n\n onTabClick = async (index: number, callback?: Function, isDot?: Boolean) => {\n if (!this._tabClickAble) {\n return;\n }\n this.dealTabGuide(index);\n let uuid = TabPresenterFactory[index].uuid;\n if (!GameModelManager.checkFuncUnloced(uuid)) {\n UIManager.showToast(GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_MAIN_FUNCTION_NOT_OPEN));\n return;\n }\n if (this._loadingTab) return;\n if (this._currentTab !== index) {\n if (this._subPresenters[this._currentTab])\n this._subPresenters[this._currentTab].view.hide();\n this._currentTab = index;\n this._viewProps.selectedTab = index;\n this._view.setProps(this._viewProps);\n if (index !== 2) {\n MainViewPresenter.tabIndex = index;\n }\n if (!this._subPresenters[this._currentTab]) {\n this._loadingTab = true;\n await createPresenter(TabPresenterFactory[this._currentTab]).then((presenter) => {\n this._subPresenters[this._currentTab] = presenter;\n presenter.open(this.view.getTabContentContainer(), undefined);\n setTimeout(() => {//延时等待618毫秒,View 中UI刷新\n this._loadingTab = false;\n }, this._tabToggleDelayTime);\n if (callback) {\n callback();\n }\n });\n } else {\n if (this._subPresenters[this._currentTab]) {\n this._subPresenters[this._currentTab].view.show();\n }\n if (callback) {\n callback();\n }\n }\n } else {\n if (callback) {\n callback();\n }\n }\n }\n\n dealTabGuide(index: number) {\n let r = GameRecord.globalVariables[\"guide_main_tab\" + index] as number;\n r = r === undefined ? GuideState.close : r;\n if (r === GuideState.Open) {\n GameModelManager.setGuideMainTabRecord(index, GuideState.Complete);\n }\n }\n\n checkTabGuide = () => {\n let check: boolean = false;\n if (!check) {\n return;\n }\n let index = GameModelManager.getMainTabGuideIndex();\n if (index !== -1) {\n //attention\n let redDotArr = [this._viewProps.messageRedDot, this._viewProps.datingEventRedDot, this._viewProps.discoverRedDot];\n if (!redDotArr[index] || this._currentTab === index) {\n return;\n }\n UIManager.popToPresenter(this);\n let m = this.view.getGuideTabParam(index);\n if (m) {\n let location: GuideLocation = index === MainTabs.datingEventTab ? GuideLocation.TabDate : GuideLocation.TabMsg;\n m.call = () => {\n this.onTabClick(index);\n this.view.hideClickAniByIndex(index);\n }\n UIManager.pushPresenter(GuideViewPresenter, m);\n }\n }\n }\n\n switchTab(tabIndex: number) {\n if (this._currentTab != tabIndex) {\n let prevIndex = this._currentTab;\n this._currentTab = tabIndex;\n this._viewProps.selectedTab = this._currentTab;\n\n this._view.setProps(this._viewProps);\n }\n }\n\n onAutoPopView = async (viewType: AutoPopViewType) => {\n switch (viewType) {\n case AutoPopViewType.ToBeContinued:\n {\n await showToBeContinue();\n }\n break;\n case AutoPopViewType.Notice:\n {\n UIManager.pushPresenter(NewNoticeViewPresenter, SourceView.MessageView);\n }\n break;\n case AutoPopViewType.PlotStop:\n {\n UIManager.pushPresenter(PlotStopViewPresenter, undefined);\n }\n break;\n }\n\n }\n\n onShowPlotBlocked = () => {\n GameModelManager.registerAutoPopView(AutoPopViewType.PlotStop);\n }\n\n onMainPlotChanged = async (pType: PlotSceneType, pId: number) => {\n if (!GameModelManager.isMainPlotSceneType() || ConfigManager.getConfig(dateSceneConfig, pId).DateType == DateType.Date_Sp) {\n return;\n }\n UIManager.popToPresenter(this);\n let comp = cc.director.getScene().getChildByName(\"Canvas\").getChildByName(\"VerbRoot\").getChildByName(\"VerbView\").getComponent(VerbView);\n if (this._hasItem && -1 !== this._itemId) {\n //加载图和组织物品掉落数据\n let showItemCfg: DeepReadonlyObject<IItemTbl> | undefined = undefined;\n let itemSpriteFrame: cc.SpriteFrame | undefined = undefined;\n showItemCfg = this.getShowItemCfg(this._itemId);\n if (showItemCfg) {\n let path: string = GameConstData.GAME_CONST_ITEM_BIG_SPR_DIR + showItemCfg.icon;\n itemSpriteFrame = await ResUtils.loadRes(path, cc.SpriteFrame);\n comp.setItemDropData(itemSpriteFrame, showItemCfg);\n this._itemId = -1;\n this._hasItem = false;\n }\n }\n switch (pType) {\n case PlotSceneType.Message:\n {\n this.onTabClick(MainTabs.messageTab, () => {\n this._subPresenters[this._currentTab].onShow();\n comp.toChat({ title: \"\", desc: \"来电了!!\" });\n setTimeout(() => {\n GameModelManager.ForceClickDataReady.emit();\n GameModelManager.ForceClickMsgItem.emit(pId);\n }, 500);\n });\n }\n break;\n case PlotSceneType.DatingEvent:\n {\n let cfgs = ConfigManager.getAllConfig(dateSceneConfig);\n let ids: string[] = [];\n for (const id in cfgs) {\n if (cfgs[id].DateType == DateType.Date_Normal) {\n ids.push(id);\n }\n }\n let plotIds: number[] = [];\n let models = GameModelManager.getMainDatingEventScenesModel();\n for (let i = 0; i < models.length; i++) {\n plotIds.push(models[i].id);\n }\n let index = plotIds.indexOf(pId);\n let title = \"第\" + (plotIds.length) + \"章:\";\n let cfg = ConfigManager.getConfig(dateSceneConfig, pId);\n let desc = cfg && cfg.name ? GameModelManager.getConfigLanguageTxt(cfg.name) : \"\";\n comp.toDating(() => {\n AudioManager.playEffect('verb');\n this.onTabClick(MainTabs.datingEventTab, () => {\n GameModelManager.ForceClickDataReady.emit();\n GameModelManager.ForceClickDatingItem.emit(pId);\n })\n this.view.hideClickAniByIndex(MainTabs.datingEventTab);\n }, { title: title, desc: desc })\n }\n break;\n }\n }\n\n getShowItemCfg(itemId: number): DeepReadonlyObject<IItemTbl> | undefined {\n let cfg: DeepReadonlyObject<IItemTbl> | undefined = undefined;\n if (itemId) {\n cfg = ConfigManager.getConfig(itemTbl, itemId);\n }\n return cfg;\n }\n\n onUnlockItem = (itemId: number) => {\n let unlockItems = UnlockItemModelManager.unlockItems;\n let isNew = unlockItems.indexOf(itemId) == -1;\n if (isNew) {\n this._itemId = itemId;\n this._hasItem = true;\n //写存档+组织数据并派发\n UnlockItemModelManager.saveItemIdToGameRecord(itemId);\n }\n }\n\n /**\n * 卧室返回点击UI事件\n * @param index 返回具体tabIndex\n */\n onBedroomViewBack = (index: number) => {\n this._view.onTabButtonClick(null, `${index}`);\n }\n\n onRefreshAllStatus = async () => {\n this.checkRedDot(PlotManager.getCurrentPlots());\n\n GameConfig.showToBeContinue = false;\n let needEnterSpecialDatingScene = this.checkIsNeedToEnterSpecialDatingScene();\n // check tab guide\n // this.checkTabGuide();\n if (needEnterSpecialDatingScene) {\n GameConfig.isVerb = true;\n this.enterSpecialEventScene();\n this._currentTab = MainTabs.datingEventTab;\n this._viewProps.selectedTab = MainTabs.datingEventTab;\n } else {\n GameModelManager.checkAutoPopView();\n }\n this._tabClickAble = true\n }\n\n /**\n * 卧室返回点击UI事件\n * @param index 返回具体tabIndex\n */\n onJumpToViewInGame = (index: PageIndex) => {\n let tab = MainTabs.messageTab;\n switch (index) {\n case PageIndex.MessageView:\n tab = MainTabs.messageTab\n this._view.onTabButtonClick(null, `${tab}`);\n break;\n case PageIndex.DateEventView:\n tab = MainTabs.datingEventTab\n this._view.onTabButtonClick(null, `${tab}`);\n break;\n case PageIndex.ExtraPlotView:\n tab = MainTabs.datingEventTab\n this._view.onTabButtonClick(null, `${tab}`);\n UIManager.pushPresenter(ExtraPlotViewPresenter, undefined);\n break;\n default:\n console.error(\"The pageIndex is invalid.\");\n UIManager.showToast(\"无效的页面跳转\");\n break;\n }\n }\n}"]}
\ No newline at end of file
{"version":3,"sources":["assets/script/game/ui/presenter/MainViewPresenter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAAqD;AACrD,0CAAyF;AACzF,2EAAqF;AAErF,iFAA8E;AAC9E,2EAAwE;AACxE,qEAAkE;AAClE,uCAAsH;AACtH,iDAA0C;AAC1C,6EAAsE;AACtE,mEAAgE;AAChE,sEAAyD;AACzD,0CAAmC;AACnC,8EAAsE;AACtE,oDAA8E;AAC9E,yEAAkE;AAClE,iEAA8D;AAC9D,6DAAsD;AACtD,mEAA4D;AAC5D,6DAAsD;AACtD,iEAA0D;AAC1D,+DAAwD;AACxD,mEAA4D;AAC5D,mEAAsD;AAEtD,yDAA6C;AAC7C,mFAAgF;AAChF,+EAA4E;AAC5E,qDAA4D;AAC5D,oDAA0D;AAC1D,uDAA8C;AAC9C,0DAA+D;AAC/D,4EAAqE;AACrE,qEAA+D;AAC/D,qEAA8D;AAC9D,yCAAgC;AAEhC,MAAM,mBAAmB,GAAgD;IACrE,8BAAoB;IACpB,kCAAwB;IACxB,+BAAqB;CACxB,CAAC;AACF,aAAa;AACb,MAAM,eAAe,GAAW,CAAC,CAAC;AAElC;;IAAA,IAAqB,iBAAiB,yBAAtC,MAAqB,iBAAkB,SAAQ,yBAA8B;QAazE;YACI,KAAK,EAAE,CAAC;YAZJ,mBAAc,GAA2B,EAAE,CAAC;YAC5C,gBAAW,GAAG,CAAC,CAAC;YAEhB,gBAAW,GAAG,KAAK,CAAC;YACX,wBAAmB,GAAG,GAAG,CAAC;YACnC,kBAAa,GAAY,KAAK,CAAC;YAE/B,YAAO,GAAW,CAAC,CAAC,CAAC;YACrB,aAAQ,GAAY,KAAK,CAAC;YAelC,yBAAoB,GAAG,GAAG,EAAE;gBACxB,qBAAS,CAAC,aAAa,CAAC,4BAAkB,EAAE,SAAS,CAAC,CAAC;YAC3D,CAAC,CAAA;YAED,4BAAuB,GAAG,GAAG,EAAE;gBAC3B,oBAAU,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;gBACzD,IAAI,oBAAO,IAAI,QAAQ,EAAE;oBACrB,uEAAuE;oBACvE,IAAI,IAAI,GAAG,mCAAgB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;oBACtD,IAAI,IAAI,EAAE;wBACN,eAAG,CAAC,aAAa,CAAC,uBAAU,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;qBACvD;iBACJ;qBAAM,IAAI,oBAAO,IAAI,SAAS,EAAE;oBAC7B,IAAI,IAAI,GAAG,mCAAgB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;oBACtD,IAAI,IAAI,EAAE;wBACN,mCAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;qBAC3C;iBACJ;qBAAM;oBACH,qBAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;iBACvC;YACL,CAAC,CAAA;YAED,iCAA4B,GAAG,KAAK,IAAI,EAAE;gBACtC,IAAI;oBACA,IAAI,MAAM,GAAG,MAAM,IAAI,6BAAU,CAAC,uBAAU,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAAY,CAAC;oBACrF,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC7B,IAAI,GAAG,EAAE;wBACL,qBAAS,CAAC,aAAa,CAAC,6BAAmB,EAAE;4BACzC,KAAK,EAAE,GAAG,CAAC,KAAK;4BAChB,OAAO,EAAE,GAAG,CAAC,OAAO;yBACvB,CAAC,CAAC;qBACN;iBACJ;gBAAC,OAAO,KAAK,EAAE;oBACZ,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACxB;YACL,CAAC,CAAA;YAED,gBAAW,GAAG,CAAC,KAAoB,EAAE,EAAE;gBACnC,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,aAAa,KAAK,qBAAa,CAAC,OAAO,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,aAAa,KAAK,qBAAa,CAAC,SAAS,CAAC;gBACnK,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC1C,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,qBAAa,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,mBAAa,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,mBAAa,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1L,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACpC,IAAI,KAAK,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,aAAa,KAAK,qBAAa,CAAC,SAAS,EAAE;oBAC5F,mCAAgB,CAAC,eAAe,EAAE,CAAC;iBACtC;qBAAM;oBACH,IAAI,MAAM,GAAG,mCAAgB,CAAC,qBAAqB,EAAE,CAAC;oBACtD,IAAI,MAAM,EAAE;wBACR,IAAI,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;wBAC/B,IAAI,SAAS,GAAG,CAAC,CAAC,EAAE,KAAK,mBAAa,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,mBAAa,CAAC,aAAa,CAAC;wBACnF,IAAI,CAAC,SAAS,EAAE;4BACZ,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC;4BAC3D,mCAAgB,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;yBACpD;qBACJ;iBACJ;YACL,CAAC,CAAA;YAED,6BAAwB,GAAG,GAAG,EAAE;gBAC5B,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,CAAC,mCAAgB,CAAC,2BAA2B,EAAE,CAAC;gBACjF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxC,CAAC,CAAA;YA8ED,wBAAmB,GAAG,CAAC,KAA6D,EAAE,EAAE;gBACpF,qBAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBACxB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,CAAA;YAqDD,eAAU,GAAG,KAAK,EAAE,KAAa,EAAE,QAAmB,EAAE,KAAe,EAAE,EAAE;gBACvE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;oBACrB,OAAO;iBACV;gBACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACzB,IAAI,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;gBAC3C,IAAI,CAAC,mCAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;oBAC1C,qBAAS,CAAC,SAAS,CAAC,mCAAgB,CAAC,cAAc,CAAC,2BAAY,CAAC,gCAAgC,CAAC,CAAC,CAAC;oBACpG,OAAO;iBACV;gBACD,IAAI,IAAI,CAAC,WAAW;oBAAE,OAAO;gBAC7B,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE;oBAC5B,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;wBACrC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACtD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;oBACzB,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC;oBACpC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACrC,IAAI,KAAK,KAAK,CAAC,EAAE;wBACb,mBAAiB,CAAC,QAAQ,GAAG,KAAK,CAAC;qBACtC;oBACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;wBACxC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;wBACxB,MAAM,+BAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;4BAC5E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;4BAClD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,SAAS,CAAC,CAAC;4BAC9D,UAAU,CAAC,GAAG,EAAE;gCACZ,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;4BAC7B,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;4BAC7B,IAAI,QAAQ,EAAE;gCACV,QAAQ,EAAE,CAAC;6BACd;wBACL,CAAC,CAAC,CAAC;qBACN;yBAAM;wBACH,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;4BACvC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;yBACrD;wBACD,IAAI,QAAQ,EAAE;4BACV,QAAQ,EAAE,CAAC;yBACd;qBACJ;iBACJ;qBAAM;oBACH,IAAI,QAAQ,EAAE;wBACV,QAAQ,EAAE,CAAC;qBACd;iBACJ;YACL,CAAC,CAAA;YAUD,kBAAa,GAAG,GAAG,EAAE;gBACjB,IAAI,KAAK,GAAY,KAAK,CAAC;gBAC3B,IAAI,CAAC,KAAK,EAAE;oBACR,OAAO;iBACV;gBACD,IAAI,KAAK,GAAG,mCAAgB,CAAC,oBAAoB,EAAE,CAAC;gBACpD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;oBACd,WAAW;oBACX,IAAI,SAAS,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;oBACnH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE;wBACjD,OAAO;qBACV;oBACD,qBAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;oBAC/B,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBAC1C,IAAI,CAAC,EAAE;wBACH,IAAI,QAAQ,GAAkB,KAAK,KAAK,gBAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,qBAAa,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAa,CAAC,MAAM,CAAC;wBAC/G,CAAC,CAAC,IAAI,GAAG,GAAG,EAAE;4BACV,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;4BACvB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;wBACzC,CAAC,CAAA;wBACD,qBAAS,CAAC,aAAa,CAAC,4BAAkB,EAAE,CAAC,CAAC,CAAC;qBAClD;iBACJ;YACL,CAAC,CAAA;YAYD,kBAAa,GAAG,KAAK,EAAE,QAAyB,EAAE,EAAE;gBAChD,QAAQ,QAAQ,EAAE;oBACd,KAAK,uBAAe,CAAC,aAAa;wBAC9B;4BACI,MAAM,wCAAgB,EAAE,CAAC;yBAC5B;wBACD,MAAM;oBACV,KAAK,uBAAe,CAAC,MAAM;wBACvB;4BACI,qBAAS,CAAC,aAAa,CAAC,gCAAsB,EAAE,0BAAU,CAAC,WAAW,CAAC,CAAC;yBAC3E;wBACD,MAAM;oBACV,KAAK,uBAAe,CAAC,QAAQ;wBACzB;4BACI,qBAAS,CAAC,aAAa,CAAC,+BAAqB,EAAE,SAAS,CAAC,CAAC;yBAC7D;wBACD,MAAM;iBACb;YAEL,CAAC,CAAA;YAED,sBAAiB,GAAG,GAAG,EAAE;gBACrB,mCAAgB,CAAC,mBAAmB,CAAC,uBAAe,CAAC,QAAQ,CAAC,CAAC;YACnE,CAAC,CAAA;YAED,sBAAiB,GAAG,KAAK,EAAE,KAAoB,EAAE,GAAW,EAAE,EAAE;gBAC5D,IAAI,CAAC,mCAAgB,CAAC,mBAAmB,EAAE,IAAI,oCAAa,CAAC,SAAS,CAAC,iCAAe,EAAE,GAAG,CAAC,CAAC,QAAQ,IAAI,sBAAQ,CAAC,OAAO,EAAE;oBACvH,OAAO;iBACV;gBACD,qBAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,kBAAQ,CAAC,CAAC;gBACxI,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE;oBACtC,cAAc;oBACd,IAAI,WAAW,GAA6C,SAAS,CAAC;oBACtE,IAAI,eAAe,GAA+B,SAAS,CAAC;oBAC5D,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAChD,IAAI,WAAW,EAAE;wBACb,IAAI,IAAI,GAAW,6BAAa,CAAC,2BAA2B,GAAG,WAAW,CAAC,IAAI,CAAC;wBAChF,eAAe,GAAG,MAAM,4BAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;wBAC/D,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;wBACnD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;wBAClB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;qBACzB;iBACJ;gBACD,QAAQ,KAAK,EAAE;oBACX,KAAK,qBAAa,CAAC,OAAO;wBACtB;4BACI,IAAI,CAAC,UAAU,CAAC,gBAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;gCACtC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;gCAC/C,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gCAC1C,UAAU,CAAC,GAAG,EAAE;oCACZ,mCAAgB,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;oCAC5C,mCAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gCACjD,CAAC,EAAE,GAAG,CAAC,CAAC;4BACZ,CAAC,CAAC,CAAC;yBACN;wBACD,MAAM;oBACV,KAAK,qBAAa,CAAC,WAAW;wBAC1B;4BACI,IAAI,IAAI,GAAG,oCAAa,CAAC,YAAY,CAAC,iCAAe,CAAC,CAAC;4BACvD,IAAI,GAAG,GAAa,EAAE,CAAC;4BACvB,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE;gCACnB,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,IAAI,sBAAQ,CAAC,WAAW,EAAE;oCAC3C,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iCAChB;6BACJ;4BACD,IAAI,OAAO,GAAa,EAAE,CAAC;4BAC3B,IAAI,MAAM,GAAG,mCAAgB,CAAC,6BAA6B,EAAE,CAAC;4BAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACpC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;6BAC9B;4BACD,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;4BACjC,IAAI,KAAK,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;4BAC1C,IAAI,GAAG,GAAG,oCAAa,CAAC,SAAS,CAAC,iCAAe,EAAE,GAAG,CAAC,CAAC;4BACxD,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,mCAAgB,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BAClF,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;gCACf,qCAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gCAChC,IAAI,CAAC,UAAU,CAAC,gBAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;oCAC1C,mCAAgB,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;oCAC5C,mCAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gCACpD,CAAC,CAAC,CAAA;gCACF,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAQ,CAAC,cAAc,CAAC,CAAC;4BAC3D,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;yBACnC;wBACD,MAAM;iBACb;YACL,CAAC,CAAA;YAUD,iBAAY,GAAG,CAAC,MAAc,EAAE,EAAE;gBAC9B,IAAI,WAAW,GAAG,+CAAsB,CAAC,WAAW,CAAC;gBACrD,IAAI,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9C,IAAI,KAAK,EAAE;oBACP,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;oBACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACrB,aAAa;oBACb,+CAAsB,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;iBACzD;YACL,CAAC,CAAA;YAED,uBAAkB,GAAG,KAAK,IAAI,EAAE;gBAC5B,IAAI,CAAC,WAAW,CAAC,iBAAW,CAAC,eAAe,EAAE,CAAC,CAAC;gBAEhD,uBAAU,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBACpC,IAAI,2BAA2B,GAAG,IAAI,CAAC,oCAAoC,EAAE,CAAC;gBAC9E,kBAAkB;gBAClB,wBAAwB;gBACxB,IAAI,2BAA2B,EAAE;oBAC7B,uBAAU,CAAC,MAAM,GAAG,IAAI,CAAC;oBACzB,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAC9B,IAAI,CAAC,WAAW,GAAG,gBAAQ,CAAC,cAAc,CAAC;oBAC3C,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,gBAAQ,CAAC,cAAc,CAAC;iBACzD;qBAAM;oBACH,mCAAgB,CAAC,gBAAgB,EAAE,CAAC;iBACvC;gBACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;YAC7B,CAAC,CAAA;YAED;;;eAGG;YACH,uBAAkB,GAAG,CAAC,KAAgB,EAAE,EAAE;gBACtC,IAAI,GAAG,GAAG,gBAAQ,CAAC,UAAU,CAAC;gBAC9B,QAAQ,KAAK,EAAE;oBACX,KAAK,uBAAS,CAAC,WAAW;wBACtB,GAAG,GAAG,gBAAQ,CAAC,UAAU,CAAA;wBACzB,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;wBAC5C,MAAM;oBACV,KAAK,uBAAS,CAAC,aAAa;wBACxB,GAAG,GAAG,gBAAQ,CAAC,cAAc,CAAA;wBAC7B,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;wBAC5C,MAAM;oBACV,KAAK,uBAAS,CAAC,aAAa;wBACxB,GAAG,GAAG,gBAAQ,CAAC,cAAc,CAAA;wBAC7B,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;wBAC5C,qBAAS,CAAC,aAAa,CAAC,gCAAsB,EAAE,SAAS,CAAC,CAAC;wBAC3D,MAAM;oBACV;wBACI,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;wBAC3C,qBAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;wBAC/B,MAAM;iBACb;YACL,CAAC,CAAA;YA7bG,IAAI,CAAC,UAAU,GAAG;gBACd,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;gBACpB,iBAAiB,EAAE,KAAK;gBACxB,cAAc,EAAE,KAAK;gBACrB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,YAAY,EAAE,IAAI,CAAC,oBAAoB;aAC1C,CAAC;QACN,CAAC;QAgED,KAAK,CAAC,KAAK;YACP,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,+BAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,mBAAiB,CAAC,QAAQ,GAAG,CAAC,CAAC;YAC/B,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC;YACxD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;YACtD,IAAI,CAAC,YAAY,CAAC,gBAAQ,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,gBAAQ,CAAC,UAAU,CAAC;YAElD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,mCAAgB,CAAC,qBAAqB,CAAC,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAC/F,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,mCAAgB,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAClF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,mCAAgB,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,mCAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YAExE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,mCAAgB,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACpF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,mCAAgB,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAGpF,IAAI,CAAC,WAAW,CAAC,iBAAW,CAAC,eAAe,EAAE,CAAC,CAAC;YAChD,iBAAW,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChD,IAAI,2BAA2B,GAAG,IAAI,CAAC,oCAAoC,EAAE,CAAC;YAC9E,kBAAkB;YAClB,wBAAwB;YACxB,IAAI,2BAA2B,EAAE;gBAC7B,uBAAU,CAAC,MAAM,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC9B,IAAI,CAAC,WAAW,GAAG,gBAAQ,CAAC,cAAc,CAAC;gBAC3C,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,gBAAQ,CAAC,cAAc,CAAC;aACzD;YACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,aAAa;YACb,UAAU,CAAC,GAAG,EAAE;gBACZ,QAAQ;gBACR,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACjC,UAAU;gBACV,IAAI,iBAAW,CAAC,eAAe,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,mBAAa,CAAC,aAAa,EAAE;oBACnF,mCAAgB,CAAC,mBAAmB,CAAC,uBAAe,CAAC,aAAa,CAAC,CAAC;iBACvE;gBACD,IAAI,cAAc,GAAG,mCAAgB,CAAC,iBAAiB,EAAE,CAAC;gBAC1D,IAAI,cAAc,EAAE;oBAChB,mCAAgB,CAAC,mBAAmB,CAAC,uBAAe,CAAC,MAAM,CAAC,CAAC;iBAChE;gBACD,IAAI,WAAW,GAAG,+CAAsB,CAAC,WAAW,CAAC;gBACrD,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;oBAC9B,mCAAgB,CAAC,mBAAmB,CAAC,uBAAe,CAAC,QAAQ,CAAC,CAAC;iBAClE;gBACD,IAAI,CAAC,2BAA2B,EAAE;oBAC9B,mCAAgB,CAAC,gBAAgB,EAAE,CAAC;iBACvC;YACL,CAAC,EAAE,IAAI,CAAC,CAAC;QACb,CAAC;QAED;;;WAGG;QACH,uBAAuB;YACnB,IAAI,MAAM,GAAG,mCAAgB,CAAC,6BAA6B,EAAE,CAAC;YAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;oBACvB,OAAO,IAAI,CAAC;iBACf;aACJ;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,KAAK,CAAC,sBAAsB;YACxB,IAAI,GAAG,GAAG,mCAAgB,CAAC,6BAA6B,EAAE,CAAC;YAC3D,qBAAS,CAAC,aAAa,CAAC,2CAAoB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAChE,CAAC;QAED,oCAAoC;YAChC,IAAI,GAAG,GAAG,mCAAgB,CAAC,6BAA6B,EAAE,CAAC;YAC3D,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,yCAAiB,CAAC,SAAS,CAAC;YACpF,OAAO,IAAI,CAAC;QAChB,CAAC;QAQD,OAAO;YACH,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,qBAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QAED,MAAM;YACF,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACxB,wBAAwB;YACxB,uBAAuB;QAC3B,CAAC;QAED,YAAY;YACR,gBAAU,CAAC,sBAAsB,CAAC,UAAU,GAAG,+BAAqB,CAAC,IAAI,EAAE,GAAG,EAAE;gBAC5E,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,mCAAgB,CAAC,WAAW,CAAC,+BAAqB,CAAC,IAAI,CAAC,CAAC;gBAC1F,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,mCAAgB,CAAC,WAAW,CAAC,+BAAqB,CAAC,IAAI,CAAC,CAAC;YAC1F,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;QAED,aAAa;YACT,IAAI,MAAM,GAAG,CAAC,2BAA2B,CAAC,CAAC;YAC3C,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QAED,iBAAiB;YACb,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;gBACrC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAClE,CAAC;QAED,mBAAmB;QACnB,KAAK,CAAC,iBAAiB;YACnB,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBACvC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,iBAAiB,EAAE,CAAC;gBAC1D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,iBAAiB,EAAE,CAAC;aAC7D;YACD,IAAI,iBAAW,CAAC,eAAe,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,mBAAa,CAAC,aAAa,EAAE;gBACnF,mCAAgB,CAAC,mBAAmB,CAAC,uBAAe,CAAC,aAAa,CAAC,CAAC;aACvE;YACD,IAAI,CAAC,uBAAU,CAAC,MAAM,EAAE;gBACpB,mCAAgB,CAAC,gBAAgB,EAAE,CAAC;aACvC;QACL,CAAC;QAED,MAAM;YACF,KAAK,CAAC,MAAM,EAAE,CAAC;YACf,wBAAwB;QAC5B,CAAC;QAiDD,YAAY,CAAC,KAAa;YACtB,IAAI,CAAC,GAAG,gBAAU,CAAC,eAAe,CAAC,gBAAgB,GAAG,KAAK,CAAW,CAAC;YACvE,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK,kBAAU,CAAC,IAAI,EAAE;gBACvB,mCAAgB,CAAC,qBAAqB,CAAC,KAAK,EAAE,kBAAU,CAAC,QAAQ,CAAC,CAAC;aACtE;QACL,CAAC;QA2BD,SAAS,CAAC,QAAgB;YACtB,IAAI,IAAI,CAAC,WAAW,IAAI,QAAQ,EAAE;gBAC9B,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;gBACjC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;gBAC5B,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;gBAE/C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACxC;QACL,CAAC;QA0FD,cAAc,CAAC,MAAc;YACzB,IAAI,GAAG,GAA6C,SAAS,CAAC;YAC9D,IAAI,MAAM,EAAE;gBACR,GAAG,GAAG,oCAAa,CAAC,SAAS,CAAC,iBAAO,EAAE,MAAM,CAAC,CAAC;aAClD;YACD,OAAO,GAAG,CAAC;QACf,CAAC;KAyDJ,CAAA;IA5cU,sBAAI,GAAG,mBAAmB,CAAC;IAUpB,0BAAQ,GAAW,CAAC,CAAC,CAAC;IAXnB,iBAAiB;QADrC,qCAAY,CAAC,uBAAY,CAAC;OACN,iBAAiB,CA6crC;IAAD,wBAAC;KAAA;kBA7coB,iBAAiB","file":"","sourceRoot":"/","sourcesContent":["import { ConfigManager } from \"simba-config-manager\";\nimport { GameRecord, PlotManager, ReadonlyPlots, SpecialPlotId } from \"../../../avg/AVG\";\nimport { createPresenter, Presenter } from \"../../../common/classbase/PresenterBase\";\nimport { View } from \"../../../common/classbase/ViewBase\";\nimport { GameTextData } from \"../../../common/gameplay/gamedata/GameTextData\";\nimport { UIManager } from \"../../../common/gameplay/managers/UIManager\";\nimport { dateSceneConfig } from \"../../../config/DateSceneConfig\";\nimport { AutoPopViewType, GuideLocation, GuideOperationType, GuideState, MainTabs, PlotSceneType } from \"../../Enums\";\nimport GameDotMgr from \"../../GameDotMgr\";\nimport { DatingEventStatus } from \"../../model/DatingEventSceneModel\";\nimport { GameModelManager } from \"../../model/GameModelManager\";\nimport { RegPresenter } from \"../PresenterCCViewFactory\";\nimport VerbView from \"../VerbView\";\nimport { showToBeContinue } from \"../view/impl/AlertToBeContinueImpl\";\nimport { MainView, MainViewProps, MainViewType } from \"../view/type/MainView\";\nimport DatingEventViewPresenter from \"./DatingEventViewPresenter\";\nimport { DatingScenePresenter } from \"./DatingScenePresenter\";\nimport DebugViewPresenter from \"./DebugViewPresenter\";\nimport DiscoverViewPresenter from \"./DiscoverViewPresenter\";\nimport GuideViewPresenter from \"./GuideViewPresenter\";\nimport MessageViewPresenter from \"./MessageViewPresenter\";\nimport NoticeViewPresenter from \"./NoticeViewPresenter\";\nimport PlotStopViewPresenter from \"./PlotStopViewPresenter\";\nimport { AudioManager } from \"simba-cc-audio-manager\";\nimport { DeepReadonlyObject } from \"simba-utils\";\nimport { ResUtils } from \"simba-cc-resutils\";\nimport { GameConstData } from \"../../../common/gameplay/gamedata/GameConstData\";\nimport { UnlockItemModelManager } from \"../../model/UnlockItemModelManager\";\nimport { IItemTbl, itemTbl } from \"../../../config/ItemTbl\";\nimport { channel, GameConfig } from \"../../../GameConfig\";\nimport { HttpClient } from \"simba-httpclient\";\nimport { DateType, PageIndex } from \"../../../avg/EditorEnums\";\nimport NewNoticeViewPresenter from \"./notice/NewNoticeViewPresenter\";\nimport { SourceView } from \"../view/type/notice/NewNoticeView\";\nimport ExtraPlotViewPresenter from \"./ExtraPlotViewPresenter\";\nimport { SDK } from \"simba-sdk\";\n\nconst TabPresenterFactory: ({ new(): Presenter } & { uuid: string })[] = [\n MessageViewPresenter,\n DatingEventViewPresenter,\n DiscoverViewPresenter\n];\n/**主线剧情的下标 */\nconst MAIN_PLOT_INDEX: number = 0;\n@RegPresenter(MainViewType)\nexport default class MainViewPresenter extends Presenter<undefined, MainView> {\n static uuid = \"MainViewPresenter\";\n private _subPresenters: Presenter<any, View>[] = [];\n private _currentTab = 0;\n private _viewProps: MainViewProps;\n private _loadingTab = false;\n private readonly _tabToggleDelayTime = 618;\n private _tabClickAble: boolean = false;\n\n private _itemId: number = -1;\n private _hasItem: boolean = false;\n public static tabIndex: number = -1;\n\n constructor() {\n super();\n this._viewProps = {\n selectedTab: 0,\n messageRedDot: false,\n datingEventRedDot: false,\n discoverRedDot: false,\n onTabClick: this.onTabClick,\n onDebugClick: this.onDebugClickCallback,\n };\n }\n\n onDebugClickCallback = () => {\n UIManager.pushPresenter(DebugViewPresenter, undefined);\n }\n\n onGoToShopClickCallback = () => {\n GameDotMgr.getInstance().dotClickUI(\"shop_btn_MainView\");\n if (channel == \"wechat\") {\n // GameCenter.getInstance().openSubProgram(GameConfig.youZanShopAppId);\n let link = GameModelManager.getYouZanShopUrlByType(8);\n if (link) {\n SDK.openProgramV2(GameConfig.youZanShopAppId, link);\n }\n } else if (channel == \"android\") {\n let link = GameModelManager.getTaoBaoShopUrlByType(8);\n if (link) {\n GameModelManager.jumpToTaobaoShop(link);\n }\n } else {\n UIManager.showToast(\"该功能在当前平台不可使用\");\n }\n }\n\n onCommonProblemClickCallback = async () => {\n try {\n let resStr = await new HttpClient(GameConfig.commonProblemConfigUrl).get() as string;\n let res = JSON.parse(resStr);\n if (res) {\n UIManager.pushPresenter(NoticeViewPresenter, {\n title: res.title,\n content: res.content\n });\n }\n } catch (error) {\n console.error(error);\n }\n }\n\n checkRedDot = (plots: ReadonlyPlots) => {\n this._viewProps.messageRedDot = plots[MAIN_PLOT_INDEX].plotSceneType === PlotSceneType.Message || plots[MAIN_PLOT_INDEX].plotSceneType === PlotSceneType.PhoneCall;\n this._viewProps.datingEventRedDot = false;\n this._viewProps.datingEventRedDot = plots && (plots[0].plotSceneType === PlotSceneType.DatingEvent && (plots[0].id !== SpecialPlotId.ToBeContinued && plots[0].id !== SpecialPlotId.End));\n this.view.setProps(this._viewProps);\n if (plots[MAIN_PLOT_INDEX] && plots[MAIN_PLOT_INDEX].plotSceneType === PlotSceneType.BlockPlot) {\n GameModelManager.dealBlockedPlot();\n } else {\n let change = GameModelManager.isChangePlotSceneType();\n if (change) {\n let p = plots[MAIN_PLOT_INDEX];\n let isSpecial = p.id === SpecialPlotId.End || p.id === SpecialPlotId.ToBeContinued;\n if (!isSpecial) {\n this.onMainPlotChanged(p.plotSceneType, p.plotSceneTypeId);\n GameModelManager.setIsChangePlotSceneType(false);\n }\n }\n }\n }\n\n onRefreshDiscoveryRedDot = () => {\n this._viewProps.discoverRedDot = !GameModelManager.checkResumeFullEnergyMarked();\n this.view.setProps(this._viewProps);\n }\n\n async start() { // 开始游戏\n this._subPresenters[0] = await createPresenter(TabPresenterFactory[0]);\n MainViewPresenter.tabIndex = 0;\n let viewContainer = this._view.getTabContentContainer();\n this._subPresenters[0].open(viewContainer, undefined);\n this.dealTabGuide(MainTabs.messageTab);\n this._viewProps.selectedTab = MainTabs.messageTab;\n\n this._disposable.add(GameModelManager.RefreshDiscoverTabRed.on(this.onRefreshDiscoveryRedDot));\n this._disposable.add(GameModelManager.ShowPlotBlocked.on(this.onShowPlotBlocked));\n this._disposable.add(GameModelManager.AutoPopView.on(this.onAutoPopView));\n this._disposable.add(GameModelManager.UnlockItem.on(this.onUnlockItem));\n\n this._disposable.add(GameModelManager.RefreshAllStatus.on(this.onRefreshAllStatus));\n this._disposable.add(GameModelManager.JumpToViewInGame.on(this.onJumpToViewInGame));\n\n\n this.checkRedDot(PlotManager.getCurrentPlots());\n PlotManager.PlotStartEvent.on(this.checkRedDot);\n let needEnterSpecialDatingScene = this.checkIsNeedToEnterSpecialDatingScene();\n // check tab guide\n // this.checkTabGuide();\n if (needEnterSpecialDatingScene) {\n GameConfig.isVerb = true;\n this.enterSpecialEventScene();\n this._currentTab = MainTabs.datingEventTab;\n this._viewProps.selectedTab = MainTabs.datingEventTab;\n }\n this._tabClickAble = true;\n //进入主界面更新红点状态\n setTimeout(() => {\n //关闭等待界面\n this.view.showWaitingView(false);\n //开始弹起自动窗口\n if (PlotManager.getCurrentPlots()[MAIN_PLOT_INDEX].id === SpecialPlotId.ToBeContinued) {\n GameModelManager.registerAutoPopView(AutoPopViewType.ToBeContinued);\n }\n let autoShowNotice = GameModelManager.getAutoShowNotice();\n if (autoShowNotice) {\n GameModelManager.registerAutoPopView(AutoPopViewType.Notice);\n }\n let unlockItems = UnlockItemModelManager.unlockItems;\n if (unlockItems.indexOf(4) == -1) {\n GameModelManager.registerAutoPopView(AutoPopViewType.NoteBook);\n }\n if (!needEnterSpecialDatingScene) {\n GameModelManager.checkAutoPopView();\n }\n }, 2000);\n }\n\n /**\n * 检查新手教程是否完成,当前新手教程完成的判定是完成第一章\n * @returns \n */\n checkNoviceTutorialOver(): boolean {\n let models = GameModelManager.getMainDatingEventScenesModel();\n for (let i = 0; i < models.length; i++) {\n if (models[i].status == 4) {\n return true;\n }\n }\n return false;\n }\n\n async enterSpecialEventScene() {\n let arr = GameModelManager.getMainDatingEventScenesModel();\n UIManager.pushPresenter(DatingScenePresenter, arr[0], true);\n }\n\n checkIsNeedToEnterSpecialDatingScene() {\n let arr = GameModelManager.getMainDatingEventScenesModel();\n let need = arr && arr.length === 1 && arr[0].status !== DatingEventStatus.Completed;\n return need;\n }\n\n onMainTabForceClick = (param: { index: number, pureClick: boolean, propId?: number }) => {\n UIManager.popToPresenter(this);\n let index = param.index;\n this.onTabClick(index);\n }\n\n onClose() {\n super.onClose();\n UIManager.popToPresenter(this);\n }\n\n onOpen() {\n super.onOpen(undefined);\n // this.perloadPrefab();\n // this.discoverInit();\n }\n\n discoverInit() {\n GameRecord.onGlobalVariableChange(\"red_pot_\" + DiscoverViewPresenter.uuid, () => {\n this._viewProps.discoverRedDot = GameModelManager.checkRedPot(DiscoverViewPresenter.uuid);\n this.view.setProps(this._viewProps);\n });\n this._viewProps.discoverRedDot = GameModelManager.checkRedPot(DiscoverViewPresenter.uuid);\n this.view.setProps(this._viewProps);\n }\n\n perloadPrefab() {\n let PFList = [\"prefab/ui/DatingEventView\"];\n cc.resources.preload(PFList);\n }\n\n onEnterBackground() {\n super.onEnterBackground();\n if (this._subPresenters[this._currentTab])\n this._subPresenters[this._currentTab].onEnterBackground();\n }\n\n /**presenter进入前景 */\n async onEnterForeground() {\n super.onEnterForeground();\n if (this._subPresenters[this._currentTab]) {\n this._subPresenters[this._currentTab].onEnterForeground();\n this._subPresenters[this._currentTab].onEnterForeground();\n }\n if (PlotManager.getCurrentPlots()[MAIN_PLOT_INDEX].id === SpecialPlotId.ToBeContinued) {\n GameModelManager.registerAutoPopView(AutoPopViewType.ToBeContinued);\n }\n if (!GameConfig.isVerb) {\n GameModelManager.checkAutoPopView();\n }\n }\n\n onShow() {\n super.onShow();\n // this.checkTabGuide();\n }\n\n onTabClick = async (index: number, callback?: Function, isDot?: Boolean) => {\n if (!this._tabClickAble) {\n return;\n }\n this.dealTabGuide(index);\n let uuid = TabPresenterFactory[index].uuid;\n if (!GameModelManager.checkFuncUnloced(uuid)) {\n UIManager.showToast(GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_MAIN_FUNCTION_NOT_OPEN));\n return;\n }\n if (this._loadingTab) return;\n if (this._currentTab !== index) {\n if (this._subPresenters[this._currentTab])\n this._subPresenters[this._currentTab].view.hide();\n this._currentTab = index;\n this._viewProps.selectedTab = index;\n this._view.setProps(this._viewProps);\n if (index !== 2) {\n MainViewPresenter.tabIndex = index;\n }\n if (!this._subPresenters[this._currentTab]) {\n this._loadingTab = true;\n await createPresenter(TabPresenterFactory[this._currentTab]).then((presenter) => {\n this._subPresenters[this._currentTab] = presenter;\n presenter.open(this.view.getTabContentContainer(), undefined);\n setTimeout(() => {//延时等待618毫秒,View 中UI刷新\n this._loadingTab = false;\n }, this._tabToggleDelayTime);\n if (callback) {\n callback();\n }\n });\n } else {\n if (this._subPresenters[this._currentTab]) {\n this._subPresenters[this._currentTab].view.show();\n }\n if (callback) {\n callback();\n }\n }\n } else {\n if (callback) {\n callback();\n }\n }\n }\n\n dealTabGuide(index: number) {\n let r = GameRecord.globalVariables[\"guide_main_tab\" + index] as number;\n r = r === undefined ? GuideState.close : r;\n if (r === GuideState.Open) {\n GameModelManager.setGuideMainTabRecord(index, GuideState.Complete);\n }\n }\n\n checkTabGuide = () => {\n let check: boolean = false;\n if (!check) {\n return;\n }\n let index = GameModelManager.getMainTabGuideIndex();\n if (index !== -1) {\n //attention\n let redDotArr = [this._viewProps.messageRedDot, this._viewProps.datingEventRedDot, this._viewProps.discoverRedDot];\n if (!redDotArr[index] || this._currentTab === index) {\n return;\n }\n UIManager.popToPresenter(this);\n let m = this.view.getGuideTabParam(index);\n if (m) {\n let location: GuideLocation = index === MainTabs.datingEventTab ? GuideLocation.TabDate : GuideLocation.TabMsg;\n m.call = () => {\n this.onTabClick(index);\n this.view.hideClickAniByIndex(index);\n }\n UIManager.pushPresenter(GuideViewPresenter, m);\n }\n }\n }\n\n switchTab(tabIndex: number) {\n if (this._currentTab != tabIndex) {\n let prevIndex = this._currentTab;\n this._currentTab = tabIndex;\n this._viewProps.selectedTab = this._currentTab;\n\n this._view.setProps(this._viewProps);\n }\n }\n\n onAutoPopView = async (viewType: AutoPopViewType) => {\n switch (viewType) {\n case AutoPopViewType.ToBeContinued:\n {\n await showToBeContinue();\n }\n break;\n case AutoPopViewType.Notice:\n {\n UIManager.pushPresenter(NewNoticeViewPresenter, SourceView.MessageView);\n }\n break;\n case AutoPopViewType.PlotStop:\n {\n UIManager.pushPresenter(PlotStopViewPresenter, undefined);\n }\n break;\n }\n\n }\n\n onShowPlotBlocked = () => {\n GameModelManager.registerAutoPopView(AutoPopViewType.PlotStop);\n }\n\n onMainPlotChanged = async (pType: PlotSceneType, pId: number) => {\n if (!GameModelManager.isMainPlotSceneType() || ConfigManager.getConfig(dateSceneConfig, pId).DateType == DateType.Date_Sp) {\n return;\n }\n UIManager.popToPresenter(this);\n let comp = cc.director.getScene().getChildByName(\"Canvas\").getChildByName(\"VerbRoot\").getChildByName(\"VerbView\").getComponent(VerbView);\n if (this._hasItem && -1 !== this._itemId) {\n //加载图和组织物品掉落数据\n let showItemCfg: DeepReadonlyObject<IItemTbl> | undefined = undefined;\n let itemSpriteFrame: cc.SpriteFrame | undefined = undefined;\n showItemCfg = this.getShowItemCfg(this._itemId);\n if (showItemCfg) {\n let path: string = GameConstData.GAME_CONST_ITEM_BIG_SPR_DIR + showItemCfg.icon;\n itemSpriteFrame = await ResUtils.loadRes(path, cc.SpriteFrame);\n comp.setItemDropData(itemSpriteFrame, showItemCfg);\n this._itemId = -1;\n this._hasItem = false;\n }\n }\n switch (pType) {\n case PlotSceneType.Message:\n {\n this.onTabClick(MainTabs.messageTab, () => {\n this._subPresenters[this._currentTab].onShow();\n comp.toChat({ title: \"\", desc: \"来电了!!\" });\n setTimeout(() => {\n GameModelManager.ForceClickDataReady.emit();\n GameModelManager.ForceClickMsgItem.emit(pId);\n }, 500);\n });\n }\n break;\n case PlotSceneType.DatingEvent:\n {\n let cfgs = ConfigManager.getAllConfig(dateSceneConfig);\n let ids: string[] = [];\n for (const id in cfgs) {\n if (cfgs[id].DateType == DateType.Date_Normal) {\n ids.push(id);\n }\n }\n let plotIds: number[] = [];\n let models = GameModelManager.getMainDatingEventScenesModel();\n for (let i = 0; i < models.length; i++) {\n plotIds.push(models[i].id);\n }\n let index = plotIds.indexOf(pId);\n let title = \"第\" + (plotIds.length) + \"章:\";\n let cfg = ConfigManager.getConfig(dateSceneConfig, pId);\n let desc = cfg && cfg.name ? GameModelManager.getConfigLanguageTxt(cfg.name) : \"\";\n comp.toDating(() => {\n AudioManager.playEffect('verb');\n this.onTabClick(MainTabs.datingEventTab, () => {\n GameModelManager.ForceClickDataReady.emit();\n GameModelManager.ForceClickDatingItem.emit(pId);\n })\n this.view.hideClickAniByIndex(MainTabs.datingEventTab);\n }, { title: title, desc: desc })\n }\n break;\n }\n }\n\n getShowItemCfg(itemId: number): DeepReadonlyObject<IItemTbl> | undefined {\n let cfg: DeepReadonlyObject<IItemTbl> | undefined = undefined;\n if (itemId) {\n cfg = ConfigManager.getConfig(itemTbl, itemId);\n }\n return cfg;\n }\n\n onUnlockItem = (itemId: number) => {\n let unlockItems = UnlockItemModelManager.unlockItems;\n let isNew = unlockItems.indexOf(itemId) == -1;\n if (isNew) {\n this._itemId = itemId;\n this._hasItem = true;\n //写存档+组织数据并派发\n UnlockItemModelManager.saveItemIdToGameRecord(itemId);\n }\n }\n\n onRefreshAllStatus = async () => {\n this.checkRedDot(PlotManager.getCurrentPlots());\n\n GameConfig.showToBeContinue = false;\n let needEnterSpecialDatingScene = this.checkIsNeedToEnterSpecialDatingScene();\n // check tab guide\n // this.checkTabGuide();\n if (needEnterSpecialDatingScene) {\n GameConfig.isVerb = true;\n this.enterSpecialEventScene();\n this._currentTab = MainTabs.datingEventTab;\n this._viewProps.selectedTab = MainTabs.datingEventTab;\n } else {\n GameModelManager.checkAutoPopView();\n }\n this._tabClickAble = true\n }\n\n /**\n * 卧室返回点击UI事件\n * @param index 返回具体tabIndex\n */\n onJumpToViewInGame = (index: PageIndex) => {\n let tab = MainTabs.messageTab;\n switch (index) {\n case PageIndex.MessageView:\n tab = MainTabs.messageTab\n this._view.onTabButtonClick(null, `${tab}`);\n break;\n case PageIndex.DateEventView:\n tab = MainTabs.datingEventTab\n this._view.onTabButtonClick(null, `${tab}`);\n break;\n case PageIndex.ExtraPlotView:\n tab = MainTabs.datingEventTab\n this._view.onTabButtonClick(null, `${tab}`);\n UIManager.pushPresenter(ExtraPlotViewPresenter, undefined);\n break;\n default:\n console.error(\"The pageIndex is invalid.\");\n UIManager.showToast(\"无效的页面跳转\");\n break;\n }\n }\n}"]}
\ No newline at end of file
......@@ -26,6 +26,8 @@ let NewNoticeViewImpl = /** @class */ (() => {
this.contentRichText = CCDummyObjects_1.DummyRichText;
this.activitiesContentNode = CCDummyObjects_1.DummyNode;
this.activitiesItemPrefab = CCDummyObjects_1.DummyPrefab;
this.tipsToggle = CCDummyObjects_1.DummyToggle;
this.closeTipsLabel = CCDummyObjects_1.DummyLabel;
}
getButtonSpriteFrames() {
return this.buttonSpriteFrames;
......
{"version":3,"sources":["assets/script/game/ui/view/impl/notice/NewNoticeViewImpl.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,yEAA6F;AAC7F,2EAAwE;AACxE,4EAA0D;AAC1D,mEAAuG;AAEvG,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC;AAG5C;IAAA,IAAa,iBAAiB,GAA9B,MAAa,iBAAkB,SAAQ,uBAA8B;QAArE;;YAGI,uBAAkB,GAAqB,EAAE,CAAC;YAE1C,kBAAa,GAAgB,EAAE,CAAC;YAEhC,gBAAW,GAAc,EAAE,CAAC;YAE5B,oBAAe,GAAgB,8BAAa,CAAC;YAE7C,0BAAqB,GAAY,0BAAS,CAAC;YAE3C,yBAAoB,GAAc,4BAAW,CAAC;QA8ClD,CAAC;QAxCG,qBAAqB;YACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC;QACnC,CAAC;QAED,gBAAgB;YACZ,OAAO,IAAI,CAAC,aAAa,CAAC;QAC9B,CAAC;QAED,cAAc;YACV,OAAO,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;QAED,kBAAkB;YACd,OAAO,IAAI,CAAC,eAAe,CAAC;QAChC,CAAC;QAED,wBAAwB;YACpB,OAAO,IAAI,CAAC,qBAAqB,CAAC;QACtC,CAAC;QAED,uBAAuB;YACnB,OAAO,IAAI,CAAC,oBAAoB,CAAC;QACrC,CAAC;QAED,aAAa;YACT,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;QAED,iBAAiB;YACb,OAAO,IAAI,CAAC,cAAc,CAAC;QAC/B,CAAC;QAED,mBAAmB,CAAC,KAAK,EAAE,eAAe;YACtC,IAAI,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC;QAED,kBAAkB;YACd,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC;QAC5C,CAAC;KACJ,CAAA;IAxDG;QADC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;iEACtC;IAE1C;QADC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;4DAC/B;IAEhC;QADC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;0DAC/B;IAE5B;QADC,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;8DACpB;IAE7C;QADC,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;oEACzB;IAE3C;QADC,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;mEAC9B;IAE9C;QADC,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;yDACpC;IAEtB;QADC,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;6DACpC;IAjBhB,iBAAiB;QAF7B,OAAO;QACP,gCAAO,CAAC,iCAAiB,EAAE,gCAAgC,CAAC;OAChD,iBAAiB,CA2D7B;IAAD,wBAAC;KAAA;AA3DY,8CAAiB","file":"","sourceRoot":"/","sourcesContent":["import { DummyNode, DummyPrefab, DummyRichText } from \"../../../../../common/CCDummyObjects\";\r\nimport { CCPureView } from \"../../../../../common/classbase/CCViewBase\";\r\nimport { RegView } from \"../../../PresenterCCViewFactory\";\r\nimport { NewNoticeViewType, NewNoticeViewProps, NewNoticeView } from \"../../type/notice/NewNoticeView\";\r\n\r\nconst { ccclass, property } = cc._decorator;\r\n@ccclass\r\n@RegView(NewNoticeViewType, \"prefab/ui/notice/NewNoticeView\")\r\nexport class NewNoticeViewImpl extends CCPureView<NewNoticeViewProps> implements NewNoticeView {\r\n\r\n @property({ type: [cc.SpriteFrame], displayName: \"Notice button spriteFrames\" })\r\n buttonSpriteFrames: cc.SpriteFrame[] = [];\r\n @property({ type: [cc.Button], displayName: \"Notice buttons\" })\r\n noticeButtons: cc.Button[] = [];\r\n @property({ type: [cc.Node], displayName: \"Notice nodes\" })\r\n noticeNodes: cc.Node[] = [];\r\n @property({ type: cc.RichText, displayName: \"Content richtext\" })\r\n contentRichText: cc.RichText = DummyRichText;\r\n @property({ type: cc.Node, displayName: \"Activities content node\" })\r\n activitiesContentNode: cc.Node = DummyNode;\r\n @property({ type: cc.Prefab, displayName: \"Activities notice item prefab\" })\r\n activitiesItemPrefab: cc.Prefab = DummyPrefab;\r\n @property({ type: cc.Toggle, displayName: \"Tips toggle\" })\r\n tipsToggle: cc.Toggle;\r\n @property({ type: cc.Label, displayName: \"CloseTips label\" })\r\n closeTipsLabel: cc.Label;\r\n\r\n getButtonSpriteFrames(): cc.SpriteFrame[] {\r\n return this.buttonSpriteFrames;\r\n }\r\n\r\n getNoticeButtons(): cc.Button[] {\r\n return this.noticeButtons;\r\n }\r\n\r\n getNoticeNodes(): cc.Node[] {\r\n return this.noticeNodes;\r\n }\r\n\r\n getContentRichText(): cc.RichText {\r\n return this.contentRichText;\r\n }\r\n\r\n getActivitiesContentNode(): cc.Node {\r\n return this.activitiesContentNode;\r\n }\r\n\r\n getActivitiesItemPrefab(): cc.Prefab {\r\n return this.activitiesItemPrefab;\r\n }\r\n\r\n getTipsToggle(): cc.Toggle {\r\n return this.tipsToggle;\r\n }\r\n\r\n getCloseTipsLabel(): cc.Label {\r\n return this.closeTipsLabel;\r\n }\r\n\r\n onNoticeButtonClick(event, customEventData) {\r\n let index = Number(customEventData);\r\n this._props.onNoticeButtonClickCallback(index);\r\n }\r\n\r\n onCloseButtonClick() {\r\n this._props.onCloseButtonClickCalback();\r\n }\r\n}"]}
\ No newline at end of file
{"version":3,"sources":["assets/script/game/ui/view/impl/notice/NewNoticeViewImpl.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,yEAAsH;AACtH,2EAAwE;AACxE,4EAA0D;AAC1D,mEAAuG;AAEvG,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC;AAG5C;IAAA,IAAa,iBAAiB,GAA9B,MAAa,iBAAkB,SAAQ,uBAA8B;QAArE;;YAGI,uBAAkB,GAAqB,EAAE,CAAC;YAE1C,kBAAa,GAAgB,EAAE,CAAC;YAEhC,gBAAW,GAAc,EAAE,CAAC;YAE5B,oBAAe,GAAgB,8BAAa,CAAC;YAE7C,0BAAqB,GAAY,0BAAS,CAAC;YAE3C,yBAAoB,GAAc,4BAAW,CAAC;YAE9C,eAAU,GAAc,4BAAW,CAAC;YAEpC,mBAAc,GAAa,2BAAU,CAAC;QA0C1C,CAAC;QAxCG,qBAAqB;YACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC;QACnC,CAAC;QAED,gBAAgB;YACZ,OAAO,IAAI,CAAC,aAAa,CAAC;QAC9B,CAAC;QAED,cAAc;YACV,OAAO,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;QAED,kBAAkB;YACd,OAAO,IAAI,CAAC,eAAe,CAAC;QAChC,CAAC;QAED,wBAAwB;YACpB,OAAO,IAAI,CAAC,qBAAqB,CAAC;QACtC,CAAC;QAED,uBAAuB;YACnB,OAAO,IAAI,CAAC,oBAAoB,CAAC;QACrC,CAAC;QAED,aAAa;YACT,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;QAED,iBAAiB;YACb,OAAO,IAAI,CAAC,cAAc,CAAC;QAC/B,CAAC;QAED,mBAAmB,CAAC,KAAK,EAAE,eAAe;YACtC,IAAI,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC;QAED,kBAAkB;YACd,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC;QAC5C,CAAC;KACJ,CAAA;IAxDG;QADC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;iEACtC;IAE1C;QADC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;4DAC/B;IAEhC;QADC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;0DAC/B;IAE5B;QADC,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;8DACpB;IAE7C;QADC,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;oEACzB;IAE3C;QADC,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;mEAC9B;IAE9C;QADC,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;yDACtB;IAEpC;QADC,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;6DACvB;IAjB7B,iBAAiB;QAF7B,OAAO;QACP,gCAAO,CAAC,iCAAiB,EAAE,gCAAgC,CAAC;OAChD,iBAAiB,CA2D7B;IAAD,wBAAC;KAAA;AA3DY,8CAAiB","file":"","sourceRoot":"/","sourcesContent":["import { DummyLabel, DummyNode, DummyPrefab, DummyRichText, DummyToggle } from \"../../../../../common/CCDummyObjects\";\r\nimport { CCPureView } from \"../../../../../common/classbase/CCViewBase\";\r\nimport { RegView } from \"../../../PresenterCCViewFactory\";\r\nimport { NewNoticeViewType, NewNoticeViewProps, NewNoticeView } from \"../../type/notice/NewNoticeView\";\r\n\r\nconst { ccclass, property } = cc._decorator;\r\n@ccclass\r\n@RegView(NewNoticeViewType, \"prefab/ui/notice/NewNoticeView\")\r\nexport class NewNoticeViewImpl extends CCPureView<NewNoticeViewProps> implements NewNoticeView {\r\n\r\n @property({ type: [cc.SpriteFrame], displayName: \"Notice button spriteFrames\" })\r\n buttonSpriteFrames: cc.SpriteFrame[] = [];\r\n @property({ type: [cc.Button], displayName: \"Notice buttons\" })\r\n noticeButtons: cc.Button[] = [];\r\n @property({ type: [cc.Node], displayName: \"Notice nodes\" })\r\n noticeNodes: cc.Node[] = [];\r\n @property({ type: cc.RichText, displayName: \"Content richtext\" })\r\n contentRichText: cc.RichText = DummyRichText;\r\n @property({ type: cc.Node, displayName: \"Activities content node\" })\r\n activitiesContentNode: cc.Node = DummyNode;\r\n @property({ type: cc.Prefab, displayName: \"Activities notice item prefab\" })\r\n activitiesItemPrefab: cc.Prefab = DummyPrefab;\r\n @property({ type: cc.Toggle, displayName: \"Tips toggle\" })\r\n tipsToggle: cc.Toggle = DummyToggle;\r\n @property({ type: cc.Label, displayName: \"CloseTips label\" })\r\n closeTipsLabel: cc.Label = DummyLabel;\r\n\r\n getButtonSpriteFrames(): cc.SpriteFrame[] {\r\n return this.buttonSpriteFrames;\r\n }\r\n\r\n getNoticeButtons(): cc.Button[] {\r\n return this.noticeButtons;\r\n }\r\n\r\n getNoticeNodes(): cc.Node[] {\r\n return this.noticeNodes;\r\n }\r\n\r\n getContentRichText(): cc.RichText {\r\n return this.contentRichText;\r\n }\r\n\r\n getActivitiesContentNode(): cc.Node {\r\n return this.activitiesContentNode;\r\n }\r\n\r\n getActivitiesItemPrefab(): cc.Prefab {\r\n return this.activitiesItemPrefab;\r\n }\r\n\r\n getTipsToggle(): cc.Toggle {\r\n return this.tipsToggle;\r\n }\r\n\r\n getCloseTipsLabel(): cc.Label {\r\n return this.closeTipsLabel;\r\n }\r\n\r\n onNoticeButtonClick(event, customEventData) {\r\n let index = Number(customEventData);\r\n this._props.onNoticeButtonClickCallback(index);\r\n }\r\n\r\n onCloseButtonClick() {\r\n this._props.onCloseButtonClickCalback();\r\n }\r\n}"]}
\ No newline at end of file
......@@ -70,7 +70,6 @@ let ExchangeCodeViewPresenter = /** @class */ (() => {
CDKeyEventManager_1.default.getInstance().changeRoleLike(roleId, count);
}
}
GameModelManager_1.GameModelManager.UpdatePlayerData.emit();
}
}
break;
......@@ -122,7 +121,6 @@ let ExchangeCodeViewPresenter = /** @class */ (() => {
CDKeyEventManager_1.default.getInstance().changeRoleLike(roleId, count);
}
}
GameModelManager_1.GameModelManager.UpdatePlayerData.emit();
}
else if (ret.code === "104001") { //错误的验证码
let content = GameModelManager_1.GameModelManager.getLanguageTxt(GameTextData_1.GameTextData.TEXT_CDKEYINVALID_VALUE);
......
{"version":3,"sources":["assets/script/game/ui/presenter/ExchangeCodeViewPresenter.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { RegPresenter } from \"../PresenterCCViewFactory\";\r\nimport { ExchangeCodeViewType, ExchangeCodeView, ExchangeCodeViewProps } from \"../view/type/ExChangeCodeView\";\r\nimport { Presenter } from \"../../../common/classbase/PresenterBase\";\r\nimport { HttpRequests } from \"../../network/HttpRequests\";\r\nimport { GameModelManager } from \"../../model/GameModelManager\";\r\nimport { GameConstData } from \"../../../common/gameplay/gamedata/GameConstData\";\r\nimport { UIManager } from \"../../../common/gameplay/managers/UIManager\";\r\nimport { GameTextData } from \"../../../common/gameplay/gamedata/GameTextData\";\r\nimport GameDotMgr from \"../../GameDotMgr\";\r\nimport { SDK } from \"simba-sdk\";\r\nimport UnlockSpecialPlotEventManager from \"../../model/UnlockSpecialPlotEventManager\";\r\nimport CDKeyEventManager from \"../../model/CDKeyEventManager\";\r\nimport { exchangeCode } from \"simba-sdk-exchangecode\";\r\nimport { ExchangeErrorCode } from \"simba-sdk-exchangecode/dist/ExchangeCodeClassBase\";\r\nimport { GameConfig } from \"../../../GameConfig\";\r\n\r\ninterface ExchangeCodeParam {\r\n titletxt: string;\r\n contenttxt: string;\r\n}\r\n@RegPresenter(ExchangeCodeViewType)\r\nexport default class ExchangeCodeViewPresenter extends Presenter<ExchangeCodeParam, ExchangeCodeView>\r\n{\r\n static uuid = \"ExchangeCodeViewPresenter\";\r\n\r\n private _viewProps: ExchangeCodeViewProps;\r\n\r\n constructor() {\r\n super();\r\n this._viewProps = {\r\n onActionClick: this.onActionClickCallback\r\n };\r\n }\r\n\r\n onOpen(param: ExchangeCodeParam) {\r\n super.onOpen(param);\r\n this._view.setProps(this._viewProps);\r\n this.view.setContentTxt(param.titletxt, param.contenttxt);\r\n this.view.showBanner(false);\r\n }\r\n\r\n onClose() {\r\n super.onClose();\r\n this.view.setContentTxt(\"\", \"\");\r\n }\r\n\r\n onActionClickCallback = async (ret: boolean, cdkey: string) => {\r\n if (!cdkey || \"\" === cdkey.trim()) {\r\n return;\r\n }\r\n GameDotMgr.getInstance().dotClickUI(\"exchange_code\");\r\n let sdkExchangeCode = true;\r\n let toastStr = \"\";\r\n if (sdkExchangeCode) {\r\n let ret = await exchangeCode(cdkey);\r\n if (GameConfig.debug) console.log(\"SDKExchangeCode ret: \", ret);\r\n switch (ret.errorCode) {\r\n case ExchangeErrorCode.Invalid:\r\n {\r\n toastStr = \"兑换码无效\";\r\n if (GameConfig.debug) console.log(\"SDKExchangeCode Invalid, toastStr: \", toastStr);\r\n UIManager.showToast(toastStr);\r\n }\r\n break;\r\n case ExchangeErrorCode.OK:\r\n {\r\n if (ret.props && 0 !== ret.props.length) {\r\n let player = GameModelManager.getPlayerData();\r\n for (let i = 0; i < ret.props.length; i++) {\r\n let p = ret.props[i];\r\n // player.addProps(parseInt(p.id + ''), parseInt(p.num + ''));\r\n let id = Number.parseInt(p.id + '');\r\n let count = Number.parseInt(p.num + '');\r\n if (id >= GameConstData.GAME_ITEM_AND_SPECIAL_PLOT_ID && id < 1000) {\r\n let itemId = Math.floor(id / GameConstData.GAME_ITEM_AND_SPECIAL_PLOT_ID);\r\n let specialPlotId = id - GameConstData.GAME_ITEM_AND_SPECIAL_PLOT_ID * itemId;\r\n UnlockSpecialPlotEventManager.getInstance().cdKeyUnlockSpecialPlot(specialPlotId, itemId);\r\n } else if (id === GameConstData.UNLOCK_PLOT_WITHOUT_AD) {\r\n CDKeyEventManager.getInstance().cdKeyRemovePlotAD();\r\n } else if (id >= GameConstData.CHANGE_ROLE_LIKE && id < 3000) {\r\n let roleId = id - GameConstData.CHANGE_ROLE_LIKE;\r\n CDKeyEventManager.getInstance().changeRoleLike(roleId, count);\r\n }\r\n }\r\n GameModelManager.UpdatePlayerData.emit();\r\n }\r\n }\r\n break;\r\n case ExchangeErrorCode.TimeOut:\r\n {\r\n toastStr = \"兑换码已过期!\";\r\n if (GameConfig.debug) console.log(\"SDKExchangeCode TimeOut, toastStr: \", toastStr);\r\n UIManager.showToast(toastStr);\r\n }\r\n break;\r\n case ExchangeErrorCode.Used:\r\n {\r\n toastStr = \"兑换码已经兑换过了\";\r\n if (GameConfig.debug) console.log(\"SDKExchangeCode Used, toastStr: \", toastStr);\r\n UIManager.showToast(toastStr);\r\n }\r\n break;\r\n case ExchangeErrorCode.ScoreWeak:\r\n {\r\n toastStr = \"积分不足\";\r\n if (GameConfig.debug) console.log(\"SDKExchangeCode Used, toastStr: \", toastStr);\r\n UIManager.showToast(toastStr);\r\n }\r\n break;\r\n }\r\n } else {\r\n if (ret) {\r\n let ret = await HttpRequests.exchangeCDKEY(cdkey) as any;\r\n console.log(\"current ret is\" + JSON.stringify(ret));\r\n if (ret.code === \"0\") {\r\n for (let i = 0; i < ret.obj.props.length; i++) {\r\n let data = ret.obj.props[i];\r\n let id = Number.parseInt(data.prop_id);\r\n let count = Number.parseInt(data.count);\r\n if (id >= GameConstData.GAME_ITEM_AND_SPECIAL_PLOT_ID && id < 1000) {\r\n let itemId = Math.floor(id / GameConstData.GAME_ITEM_AND_SPECIAL_PLOT_ID);\r\n let specialPlotId = id - GameConstData.GAME_ITEM_AND_SPECIAL_PLOT_ID * itemId;\r\n UnlockSpecialPlotEventManager.getInstance().cdKeyUnlockSpecialPlot(specialPlotId, itemId);\r\n } else if (id === GameConstData.UNLOCK_PLOT_WITHOUT_AD) {\r\n CDKeyEventManager.getInstance().cdKeyRemovePlotAD();\r\n } else if (id >= GameConstData.CHANGE_ROLE_LIKE && id < 3000) {\r\n let roleId = id - GameConstData.CHANGE_ROLE_LIKE;\r\n CDKeyEventManager.getInstance().changeRoleLike(roleId, count);\r\n }\r\n }\r\n GameModelManager.UpdatePlayerData.emit();\r\n } else if (ret.code === \"104001\") {//错误的验证码\r\n let content = GameModelManager.getLanguageTxt(GameTextData.TEXT_CDKEYINVALID_VALUE);\r\n UIManager.showToast(content);\r\n } else if (ret.code === \"104002\") {//已经领过了\r\n let content = GameModelManager.getLanguageTxt(GameTextData.TEXT_CDKEYHADEXCHANGED_VALUE);\r\n UIManager.showToast(content);\r\n } else {//其他\r\n let content = GameModelManager.getLanguageTxt(GameTextData.TEXT_CDKEYINVALID_VALUE);\r\n UIManager.showToast(content);\r\n }\r\n }\r\n }\r\n }\r\n}"]}
\ No newline at end of file
{"version":3,"sources":["assets/script/game/ui/presenter/ExchangeCodeViewPresenter.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { RegPresenter } from \"../PresenterCCViewFactory\";\r\nimport { ExchangeCodeViewType, ExchangeCodeView, ExchangeCodeViewProps } from \"../view/type/ExChangeCodeView\";\r\nimport { Presenter } from \"../../../common/classbase/PresenterBase\";\r\nimport { HttpRequests } from \"../../network/HttpRequests\";\r\nimport { GameModelManager } from \"../../model/GameModelManager\";\r\nimport { GameConstData } from \"../../../common/gameplay/gamedata/GameConstData\";\r\nimport { UIManager } from \"../../../common/gameplay/managers/UIManager\";\r\nimport { GameTextData } from \"../../../common/gameplay/gamedata/GameTextData\";\r\nimport GameDotMgr from \"../../GameDotMgr\";\r\nimport { SDK } from \"simba-sdk\";\r\nimport UnlockSpecialPlotEventManager from \"../../model/UnlockSpecialPlotEventManager\";\r\nimport CDKeyEventManager from \"../../model/CDKeyEventManager\";\r\nimport { exchangeCode } from \"simba-sdk-exchangecode\";\r\nimport { ExchangeErrorCode } from \"simba-sdk-exchangecode/dist/ExchangeCodeClassBase\";\r\nimport { GameConfig } from \"../../../GameConfig\";\r\n\r\ninterface ExchangeCodeParam {\r\n titletxt: string;\r\n contenttxt: string;\r\n}\r\n@RegPresenter(ExchangeCodeViewType)\r\nexport default class ExchangeCodeViewPresenter extends Presenter<ExchangeCodeParam, ExchangeCodeView>\r\n{\r\n static uuid = \"ExchangeCodeViewPresenter\";\r\n\r\n private _viewProps: ExchangeCodeViewProps;\r\n\r\n constructor() {\r\n super();\r\n this._viewProps = {\r\n onActionClick: this.onActionClickCallback\r\n };\r\n }\r\n\r\n onOpen(param: ExchangeCodeParam) {\r\n super.onOpen(param);\r\n this._view.setProps(this._viewProps);\r\n this.view.setContentTxt(param.titletxt, param.contenttxt);\r\n this.view.showBanner(false);\r\n }\r\n\r\n onClose() {\r\n super.onClose();\r\n this.view.setContentTxt(\"\", \"\");\r\n }\r\n\r\n onActionClickCallback = async (ret: boolean, cdkey: string) => {\r\n if (!cdkey || \"\" === cdkey.trim()) {\r\n return;\r\n }\r\n GameDotMgr.getInstance().dotClickUI(\"exchange_code\");\r\n let sdkExchangeCode = true;\r\n let toastStr = \"\";\r\n if (sdkExchangeCode) {\r\n let ret = await exchangeCode(cdkey);\r\n if (GameConfig.debug) console.log(\"SDKExchangeCode ret: \", ret);\r\n switch (ret.errorCode) {\r\n case ExchangeErrorCode.Invalid:\r\n {\r\n toastStr = \"兑换码无效\";\r\n if (GameConfig.debug) console.log(\"SDKExchangeCode Invalid, toastStr: \", toastStr);\r\n UIManager.showToast(toastStr);\r\n }\r\n break;\r\n case ExchangeErrorCode.OK:\r\n {\r\n if (ret.props && 0 !== ret.props.length) {\r\n let player = GameModelManager.getPlayerData();\r\n for (let i = 0; i < ret.props.length; i++) {\r\n let p = ret.props[i];\r\n // player.addProps(parseInt(p.id + ''), parseInt(p.num + ''));\r\n let id = Number.parseInt(p.id + '');\r\n let count = Number.parseInt(p.num + '');\r\n if (id >= GameConstData.GAME_ITEM_AND_SPECIAL_PLOT_ID && id < 1000) {\r\n let itemId = Math.floor(id / GameConstData.GAME_ITEM_AND_SPECIAL_PLOT_ID);\r\n let specialPlotId = id - GameConstData.GAME_ITEM_AND_SPECIAL_PLOT_ID * itemId;\r\n UnlockSpecialPlotEventManager.getInstance().cdKeyUnlockSpecialPlot(specialPlotId, itemId);\r\n } else if (id === GameConstData.UNLOCK_PLOT_WITHOUT_AD) {\r\n CDKeyEventManager.getInstance().cdKeyRemovePlotAD();\r\n } else if (id >= GameConstData.CHANGE_ROLE_LIKE && id < 3000) {\r\n let roleId = id - GameConstData.CHANGE_ROLE_LIKE;\r\n CDKeyEventManager.getInstance().changeRoleLike(roleId, count);\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n case ExchangeErrorCode.TimeOut:\r\n {\r\n toastStr = \"兑换码已过期!\";\r\n if (GameConfig.debug) console.log(\"SDKExchangeCode TimeOut, toastStr: \", toastStr);\r\n UIManager.showToast(toastStr);\r\n }\r\n break;\r\n case ExchangeErrorCode.Used:\r\n {\r\n toastStr = \"兑换码已经兑换过了\";\r\n if (GameConfig.debug) console.log(\"SDKExchangeCode Used, toastStr: \", toastStr);\r\n UIManager.showToast(toastStr);\r\n }\r\n break;\r\n case ExchangeErrorCode.ScoreWeak:\r\n {\r\n toastStr = \"积分不足\";\r\n if (GameConfig.debug) console.log(\"SDKExchangeCode Used, toastStr: \", toastStr);\r\n UIManager.showToast(toastStr);\r\n }\r\n break;\r\n }\r\n } else {\r\n if (ret) {\r\n let ret = await HttpRequests.exchangeCDKEY(cdkey) as any;\r\n console.log(\"current ret is\" + JSON.stringify(ret));\r\n if (ret.code === \"0\") {\r\n for (let i = 0; i < ret.obj.props.length; i++) {\r\n let data = ret.obj.props[i];\r\n let id = Number.parseInt(data.prop_id);\r\n let count = Number.parseInt(data.count);\r\n if (id >= GameConstData.GAME_ITEM_AND_SPECIAL_PLOT_ID && id < 1000) {\r\n let itemId = Math.floor(id / GameConstData.GAME_ITEM_AND_SPECIAL_PLOT_ID);\r\n let specialPlotId = id - GameConstData.GAME_ITEM_AND_SPECIAL_PLOT_ID * itemId;\r\n UnlockSpecialPlotEventManager.getInstance().cdKeyUnlockSpecialPlot(specialPlotId, itemId);\r\n } else if (id === GameConstData.UNLOCK_PLOT_WITHOUT_AD) {\r\n CDKeyEventManager.getInstance().cdKeyRemovePlotAD();\r\n } else if (id >= GameConstData.CHANGE_ROLE_LIKE && id < 3000) {\r\n let roleId = id - GameConstData.CHANGE_ROLE_LIKE;\r\n CDKeyEventManager.getInstance().changeRoleLike(roleId, count);\r\n }\r\n }\r\n } else if (ret.code === \"104001\") {//错误的验证码\r\n let content = GameModelManager.getLanguageTxt(GameTextData.TEXT_CDKEYINVALID_VALUE);\r\n UIManager.showToast(content);\r\n } else if (ret.code === \"104002\") {//已经领过了\r\n let content = GameModelManager.getLanguageTxt(GameTextData.TEXT_CDKEYHADEXCHANGED_VALUE);\r\n UIManager.showToast(content);\r\n } else {//其他\r\n let content = GameModelManager.getLanguageTxt(GameTextData.TEXT_CDKEYINVALID_VALUE);\r\n UIManager.showToast(content);\r\n }\r\n }\r\n }\r\n }\r\n}"]}
\ No newline at end of file
......@@ -69,7 +69,6 @@ let ChatListViewPresenter = /** @class */ (() => {
UIManager_1.UIManager.popToPresenter(this);
this._view.closeAnimation().then(() => {
this._view.close();
GameModelManager_1.GameModelManager.CheckMainTabGuide.emit();
});
};
this.selectChapter = () => {
......
{"version":3,"sources":["assets/script/game/ui/presenter/ChatListViewPresenter.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { AudioManager } from \"simba-cc-audio-manager\";\nimport { ConfigManager } from \"simba-config-manager\";\nimport { CompositeDisposable } from \"simba-eventkit\";\nimport { DeepReadonly, delay } from \"simba-utils\";\nimport { ActionManager, GameRecord, getPlot, PlotManager, ReadonlyPlot, ReadonlyPlots, SentenceSelectContent, SentenceType } from \"../../../avg/AVG\";\nimport { RoleType } from \"../../../avg/EditorEnums\";\nimport { Presenter } from \"../../../common/classbase/PresenterBase\";\nimport { GameTextData } from \"../../../common/gameplay/gamedata/GameTextData\";\nimport { UIManager } from \"../../../common/gameplay/managers/UIManager\";\nimport { StringUtils } from \"../../../common/utils/StringUtils\";\nimport { relationLevelConfig } from \"../../../config/RelationLevelConfig\";\nimport { role } from \"../../../config/Role\";\nimport { GuideLocation, GuideOperationType, GuideState, PlotSceneType, TutorialState, TutorialType } from \"../../Enums\";\nimport { GameModelManager } from \"../../model/GameModelManager\";\nimport { MessageSceneModel } from \"../../model/MessageSceneModel\";\nimport { RegPresenter } from \"../PresenterCCViewFactory\";\nimport { ChatListAutoNextPlot, ChatListItemProps, ChatListView, ChatListViewProps, ChatListViewType } from \"../view/type/ChatListView\";\nimport { SentenceSelectorViewProps } from \"../view/type/SentenceSelectorView\";\nimport GuideViewPresenter from \"./GuideViewPresenter\";\nimport SentenceSelectorViewPresenter from \"./SentenceSelectorViewPresenter\";\n\nconst MAX_HISTORY = 50;\n@RegPresenter(ChatListViewType)\nexport class ChatListViewPresenter extends Presenter<MessageSceneModel, ChatListView> {\n static uuid = \"ChatListViewPresenter\";\n private _chatList: ChatListItemProps[];\n private _sceneModel: MessageSceneModel;\n get sceneModel() { return this._sceneModel; }\n private _historyMessages: { [id: number]: ChatListItemProps[] } = {};\n private _currPlot?: ReadonlyPlot;\n private _currPlotShowed = false;\n private _itemKey = 0;\n private _plotExecuting = false;\n private _excutedPlots: { [key: number]: boolean } = {};\n private _selectIndex?: number;\n private _plotChangeLike?: number;\n\n private _viewProps: ChatListViewProps;\n\n private _gLevelMax: number = -1;\n\n private _cachePId: number = NaN;\n\n constructor() {\n super();\n PlotManager.PlotsRollbackEvent.on(() => {\n this._excutedPlots = {};\n this.onResumeChatListView();\n })\n }\n\n getRoleId() {\n if (this.sceneModel.config.roles.length == 1)\n return this.sceneModel.config.roles[0];\n return 1;\n }\n\n onSelectIndexCallback = (index: number) => {\n this.selectSentence(index);\n }\n\n onSetContent = (content: DeepReadonly<SentenceSelectContent>) => {\n if (content != undefined) {\n let props: SentenceSelectorViewProps =\n {\n sentence: content,\n backgroundpath: \"textures/message/selector_bg\",\n clickcausehide: false,\n onSelectIndexCallback: this.onSelectIndexCallback\n };\n UIManager.pushPresenter(SentenceSelectorViewPresenter, props);\n }\n }\n\n isSentenceSelectVisible = (): boolean => {\n let preset = UIManager.getTopPresenter();\n if (preset instanceof SentenceSelectorViewPresenter) {\n let selectorPresenter = preset as SentenceSelectorViewPresenter;\n return !selectorPresenter.view.isHidden;\n }\n return false;\n }\n\n async onOpen(scene: MessageSceneModel) {\n super.onOpen(scene);\n this._sceneModel = scene;\n this._disposable.add(PlotManager.PlotStartEvent.on(this.handlePlotsStart));\n this._currPlot = PlotManager.getCurrentPlots().find(v => v.plotSceneType === PlotSceneType.Message && v.plotSceneTypeId === scene.id);\n\n if (this._historyMessages[scene.id]) {\n this._chatList = this._historyMessages[scene.id];\n } else {\n this._chatList = [];\n }\n\n let canSendGift = false;\n let isMajor = false;\n if (scene.config.roles.length === 1) {\n let roleConfig = ConfigManager.getConfig(role, scene.config.roles[0]);\n if (roleConfig.RoleType === RoleType.Role_Major) {\n isMajor = true;\n }\n }\n canSendGift = isMajor;\n if (this._chatList && this._chatList.length) {\n this.organizeViewProps(scene, isMajor);\n this._view.setProps(this._viewProps);\n }\n else {\n this._viewProps = {\n msgSceneId: scene.id, title: GameModelManager.getConfigLanguageTxt(scene.config.title),\n items: [], historyMsgCount: 0,\n onCloseBtnClick: this.closeAction,\n onSelectChapter: this.selectChapter,\n onCompletePlot: this.completePlot,\n onSelectSentence: this.selectSentence,\n onSetContent: this.onSetContent,\n isSentenceSelectVisible: this.isSentenceSelectVisible,\n onNameTitleClick: this.onNameTitleClick,\n backRedDot: !this._currPlot\n };\n this._view.setProps(this._viewProps);\n await this.loadChatList();\n this.organizeViewProps(scene, isMajor);\n this._view.setProps(this._viewProps);\n }\n\n if (this._currPlot) {\n if (GameModelManager.isChangePlotSceneType()) {\n GameModelManager.dotMainLinePlotStart();\n }\n this._currPlotShowed = false;\n let item = this.convertPlotToViewModel(this._currPlot);\n await this.showCurrPlot();\n if (this._plotChangeLike) {\n item = { ...this._chatList.pop()! };\n if (item.type === \"plot\") {\n item.addLike = this._plotChangeLike;\n }\n this._chatList.push(item);\n this.view.updateProps({ items: this._chatList });\n }\n if (item) {\n if (this._cachePId !== this._currPlot.id && !this._excutedPlots[this._currPlot.id] && !this._plotExecuting && !this._currPlotShowed) {\n this._chatList.push(item);\n this._cachePId = this._currPlot.id;\n this.view.updateProps({ items: this._chatList });\n }\n }\n\n }\n }\n\n organizeViewProps(scene: MessageSceneModel, isMajor: boolean) {\n let canSendGift = false;\n if (scene.config.roles.length === 1) {\n let roleConfig = ConfigManager.getConfig(role, scene.config.roles[0]);\n if (roleConfig.RoleType === RoleType.Role_Major) {\n isMajor = true;\n }\n }\n canSendGift = isMajor;\n if (this._chatList!.length !== 0) {\n if (this._chatList[this._chatList.length - 1].type === \"end\") { // 上一次的结束改为历史\n let item = this._chatList.pop();\n this._chatList.push({ key: item!.key, type: \"history\" });\n for (let i = this._chatList.length - 2; i >= 0; i--) { // 删除之前的历史分割,只保留最后一个\n let item = this._chatList[i];\n if (item.type === \"history\") {\n this._chatList.splice(i, 1);\n break;\n }\n }\n }\n }\n this._viewProps = {\n msgSceneId: scene.id, title: GameModelManager.getConfigLanguageTxt(scene.config.title),\n items: this._chatList, historyMsgCount: this._chatList.length,\n onCloseBtnClick: this.closeAction,\n onSelectChapter: this.selectChapter,\n onCompletePlot: this.completePlot,\n onSelectSentence: this.selectSentence,\n onSetContent: this.onSetContent,\n isSentenceSelectVisible: this.isSentenceSelectVisible,\n onNameTitleClick: this.onNameTitleClick,\n backRedDot: !this._currPlot\n };\n }\n\n closeAction = () => {\n if (this._plotExecuting) return;\n UIManager.popToPresenter(this);\n this._view.closeAnimation().then(() => {\n this._view.close();\n GameModelManager.CheckMainTabGuide.emit();\n });\n }\n\n selectChapter = () => {\n\n }\n\n selectSentence = (index: number) => {\n if (!this._currPlot) throw new Error(\"ChatList: ePlot error! No currnt plot!\");\n this.completePlot(index, ChatListAutoNextPlot);\n }\n\n showCurrPlot = async () => {\n if (this._currPlot && !this._excutedPlots[this._currPlot.id] && !this._plotExecuting && !this._currPlotShowed) {\n let item = this.convertPlotToViewModel(this._currPlot);\n if (item && this._currPlot.sentences[0].roleId !== 1 && item.type !== \"customplot\") { // 除了旁白,扣体力\n if (!this._currPlot) return;\n }\n this._excutedPlots[this._currPlot.id] = true;\n this._plotExecuting = true;\n let disposable = new CompositeDisposable;\n this._plotChangeLike = undefined;\n GameRecord.onRecordVariableChange(\"like\" + this._currPlot!.sentences[0].roleId, (scope, varName, preValue, value) => {\n this._plotChangeLike = (value as number) - (preValue as number);\n });\n await ActionManager.executeActions(this._currPlot!.sentences[0].actions); // TODO 处理加好感\n disposable.dispose();\n this._plotExecuting = false;\n if (item) {\n if (this._chatList.length > MAX_HISTORY) {\n this._chatList.shift();\n }\n let exist = false;\n for (let i = 0; i < this._chatList.length; i++) {\n if (this._chatList[i][\"id\"] === item[\"id\"]) {\n exist = true;\n break;\n }\n }\n if (!exist) {\n this._chatList.push(item);\n }\n\n if ((item.type === \"plot\" || item.type === \"customplot\") && this._plotChangeLike && this._plotChangeLike !== NaN) {\n item.addLike = this._plotChangeLike;\n }\n this._view.updateProps({ items: this._chatList });\n }\n this._currPlotShowed = true;\n let effectName = \"se_npc_send\";\n if (this._currPlot && this._currPlot.sentences[0].roleId === GameModelManager.getPlayerData().getConfig().id) {\n effectName = \"se_player_send\";\n }\n AudioManager.playEffect(effectName);\n } else if (this._currPlot && this._excutedPlots[this._currPlot.id]) {\n this._currPlotShowed = true;\n }\n }\n\n completePlot = async (index?: number, proceedNext = true) => {\n if (!this._currPlot) return;\n if (!this._currPlotShowed) { this.showCurrPlot(); return; }\n GameModelManager.setIsMainPlotSceneType(true);\n if (index !== undefined) { // 刷新界面剧情选择\n let lastItem = this._chatList.pop()!;\n if (lastItem.type === \"plot\") {\n this._chatList.push({ ...lastItem, select: index });\n } else {\n throw new Error(\"ChatList: Plot error!\");\n }\n this._view.updateProps({ items: this._chatList });\n }\n // await this.execCurrPlot(); // 改为开始的时候执行\n if (proceedNext) {\n this.sceneModel.lastPlot = this._currPlot;\n if (this._selectIndex !== undefined) {\n index = this._selectIndex;\n this._selectIndex = undefined;\n }\n if (ChatListAutoNextPlot) await delay(0.5);\n await this.nextPlot(index);\n } else {\n this._selectIndex = index;\n }\n }\n\n private nextPlot = async (index?: number) => {\n if (this.isClosed()) return;\n if (this._currPlot) {\n await PlotManager.completePlot(this._currPlot!, index, this._plotChangeLike ? { addlike: this._plotChangeLike } : undefined);\n } else {\n console.error(\"ChatList: Plot error! No current plot!\");\n }\n }\n\n private async loadChatList() {\n if (this._historyMessages[this._sceneModel.id] && this._historyMessages[this._sceneModel.id]) {\n this._view.updateProps({ items: this._chatList });\n return;\n }\n this._historyMessages[this._sceneModel.id] = [];\n\n let historyPlots: ChatListItemProps[] = [];\n let records = GameRecord.getCurrentRecordItems();\n let pushHistory = false;\n let hasHistory = false;\n let lastPlotId: number = Number.MAX_SAFE_INTEGER;\n for (let i = records.length - 1; i >= 0; i--) {\n let item = records[i];\n for (let j = 0; j < item.p.length; j++) {\n let plotId = item.p[j];\n if (plotId === lastPlotId) break;\n let plot = (await getPlot(plotId))! as ReadonlyPlot;\n if (!plot) continue;\n if (plot.plotSceneType === PlotSceneType.Message && plot.plotSceneTypeId === this._sceneModel.id) {\n lastPlotId = plotId;\n if (i === records.length - 1) continue;\n if (pushHistory && !hasHistory) {\n historyPlots.unshift({ key: (this._itemKey++).toString(), type: \"history\" });\n hasHistory = true;\n }\n let select: number | undefined = undefined;\n if (item.s) select = item.s[j];\n let customData: object | undefined = undefined;\n if (item.c) customData = item.c[j];\n let vm = this.convertPlotToViewModel(plot, select, customData);\n if (vm) historyPlots.unshift(vm);\n } else { // TODO process branch plots if needed.\n if (!pushHistory && !hasHistory) {\n pushHistory = true;\n }\n }\n if (plot.id === this._sceneModel.firstPlot.id) {\n break;\n }\n }\n if (historyPlots.length > MAX_HISTORY) {\n break;\n }\n }\n this._chatList = historyPlots;\n // this._view.updateProps({ items: historyPlots, historyMsgCount: this._chatList.length });\n this._historyMessages[this._sceneModel.id] = this._chatList;\n }\n\n private convertPlotToViewModel = (plot: ReadonlyPlot, select?: number, customData?: object): ChatListItemProps | undefined => {\n let role = GameModelManager.getRoleData(plot.sentences[0].roleId)!;\n let content = plot.sentences[0].content;\n if (plot.id >= 0) {\n if (!content) return undefined;\n let nameSpr = role.getNameIcon();\n if (role.getConfig().id === 3) {\n nameSpr = \"/textures/name_icon/laoda\";\n }\n return { id: plot.id, key: (this._itemKey++).toString(), type: \"plot\", nameSpr: nameSpr, name: role.getConfig().RoleType === RoleType.Role_Blank ? \"\" : role.getConfig().name, icon: role.getHeadIcon(), isSelf: role.getConfig().RoleType === RoleType.Role_Player, content, select, addLike: customData ? customData[\"addlike\"] : undefined };\n } else { // custom plot\n let giftId = plot.customData?.giftId;\n if (giftId) {// 送礼\n } else {\n if (content && content.type !== SentenceType.SELECT && content.type !== SentenceType.EMPTY) {\n let addLike = plot.customData?.addLike;\n return { id: plot.id, key: (this._itemKey++).toString(), type: \"customplot\", name: role.getConfig().name, icon: role.getHeadIcon(), isSelf: false, content, addLike }\n } else {\n throw new Error(\"This cannot happen!\");\n }\n }\n }\n }\n\n private handlePlotsStart = async (plots: ReadonlyPlots) => {\n let plot = plots.find(v => v.plotSceneType === PlotSceneType.Message && v.plotSceneTypeId === this._sceneModel.id);\n if (plot) {\n if (this._currPlot && plot === this._currPlot) return; // 有分支剧情的情况\n this._currPlot = plot;\n this._currPlotShowed = false;\n await this.showCurrPlot();\n } else if (this._currPlot && this._currPlot.id >= 0) {//剧情结束\n this._currPlot = undefined;\n this._chatList.push({ key: (this._itemKey++).toString(), type: \"end\" });\n if (this._chatList.length > MAX_HISTORY) {\n this._chatList.shift();\n }\n this._view.updateProps({ items: this._chatList, backRedDot: true });\n // this.checkGuideBack();\n GameModelManager.dotMainLinePlotEnd();\n }\n }\n\n checkGuideBack = () => {\n let r = GameRecord.globalVariables[\"guide_chat_back\"] as number;\n r = r ? r : GuideState.Open;\n if (r !== GuideState.Open) {\n return;\n }\n let m = this._view.getGuideBackParam();\n if (m) {\n let location = GuideLocation.ChatBack;\n m.call = () => {\n GameRecord.globalVariables[\"guide_chat_back\"] = GuideState.Complete;\n GameRecord.saveRecord();\n this.closeAction();\n }\n UIManager.pushPresenter(GuideViewPresenter, m);\n }\n }\n\n private isClosed() {\n return !this._disposable;\n }\n\n onNameTitleClick = () => {\n if (!this._sceneModel) {\n return;\n }\n let rids = this._sceneModel.config.roles;\n if (!rids.length || rids!.length !== 1) {\n return;\n }\n let r = GameModelManager.getRoleData(rids[0]);\n if (!r || r!.getConfig().RoleType !== RoleType.Role_Major) {\n return;\n }\n let l = r.getRoleLikeLevel();\n if (this._gLevelMax < 0) {\n this._gLevelMax = this.getGraceLevelMax();\n }\n if (this._gLevelMax === l.level) {\n UIManager.showToast(GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_GRACE_LEVEL_MAX_VALUE));\n }\n else {\n let v = l.nextLevelLike - l.currLike;\n UIManager.showToast(StringUtils.format(GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_GRACE_LEVEL_UP_TIP_VALUE), v));\n }\n\n }\n\n getGraceLevelMax(): number {\n let m: number = -1;\n let t = ConfigManager.getAllConfig(relationLevelConfig);\n for (let id in t) {\n let c = t[id];\n m = m < c.id ? c.id : m;\n }\n return m;\n }\n\n // async updateHistoryMessages() {\n // this._historyMessages[this._sceneModel.id] = [];\n\n // let historyPlots: ChatListItemProps[] = [];\n // let records = GameRecord.getCurrentRecordItems();\n // let pushHistory = false;\n // let hasHistory = false;\n // let lastPlotId: number = Number.MAX_SAFE_INTEGER;\n // for (let i = records.length - 1; i >= 0; i--) {\n // let item = records[i];\n // for (let j = 0; j < item.p.length; j++) {\n // let plotId = item.p[j];\n // if (plotId === lastPlotId) break;\n // let plot = (await getPlot(plotId))! as ReadonlyPlot;\n // if (!plot) continue;\n // if (plot.plotSceneType === PlotSceneType.Message && plot.plotSceneTypeId === this._sceneModel.id) {\n // lastPlotId = plotId;\n // if (i === records.length - 1) continue;\n // if (pushHistory && !hasHistory) {\n // historyPlots.unshift({ key: (this._itemKey++).toString(), type: \"history\" });\n // hasHistory = true;\n // }\n // let select: number | undefined = undefined;\n // if (item.s) select = item.s[j];\n // let customData: object | undefined = undefined;\n // if (item.c) customData = item.c[j];\n // let vm = this.convertPlotToViewModel(plot, select, customData);\n // if (vm) historyPlots.unshift(vm);\n // } else { // TODO process branch plots if needed.\n // if (!pushHistory && !hasHistory) {\n // pushHistory = true;\n // }\n // }\n // if (plot.id === this._sceneModel.firstPlot.id) {\n // break;\n // }\n // }\n // if (historyPlots.length > MAX_HISTORY) {\n // break;\n // }\n // }\n // this._chatList = historyPlots;\n // // this._view.updateProps({ items: historyPlots, historyMsgCount: this._chatList.length });\n // this._historyMessages[this._sceneModel.id] = this._chatList;\n // }\n\n onResumeChatListView = () => {\n this._chatList = [];\n // this._sceneModel = undefined;\n this._historyMessages = {};\n this._currPlot = undefined;\n this._currPlotShowed = false;\n this._itemKey = 0;\n this._plotExecuting = false;\n this._excutedPlots = {};\n this._selectIndex = undefined;\n this._plotChangeLike = 0;\n this._viewProps = {\n msgSceneId: -1, title: \"\",\n items: [], historyMsgCount: 0,\n onCloseBtnClick: this.closeAction,\n onSelectChapter: this.selectChapter,\n onCompletePlot: this.completePlot,\n onSelectSentence: this.selectSentence,\n onSetContent: this.onSetContent,\n isSentenceSelectVisible: this.isSentenceSelectVisible,\n onNameTitleClick: this.onNameTitleClick,\n backRedDot: !this._currPlot\n };\n this._view.setProps(this._viewProps);\n\n // this._viewProps = [];\n\n this._gLevelMax = -1;\n\n this._cachePId = NaN;\n this.view.resumeAll();\n }\n}"]}
\ No newline at end of file
{"version":3,"sources":["assets/script/game/ui/presenter/ChatListViewPresenter.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { AudioManager } from \"simba-cc-audio-manager\";\nimport { ConfigManager } from \"simba-config-manager\";\nimport { CompositeDisposable } from \"simba-eventkit\";\nimport { DeepReadonly, delay } from \"simba-utils\";\nimport { ActionManager, GameRecord, getPlot, PlotManager, ReadonlyPlot, ReadonlyPlots, SentenceSelectContent, SentenceType } from \"../../../avg/AVG\";\nimport { RoleType } from \"../../../avg/EditorEnums\";\nimport { Presenter } from \"../../../common/classbase/PresenterBase\";\nimport { GameTextData } from \"../../../common/gameplay/gamedata/GameTextData\";\nimport { UIManager } from \"../../../common/gameplay/managers/UIManager\";\nimport { StringUtils } from \"../../../common/utils/StringUtils\";\nimport { relationLevelConfig } from \"../../../config/RelationLevelConfig\";\nimport { role } from \"../../../config/Role\";\nimport { GuideLocation, GuideOperationType, GuideState, PlotSceneType, TutorialState, TutorialType } from \"../../Enums\";\nimport { GameModelManager } from \"../../model/GameModelManager\";\nimport { MessageSceneModel } from \"../../model/MessageSceneModel\";\nimport { RegPresenter } from \"../PresenterCCViewFactory\";\nimport { ChatListAutoNextPlot, ChatListItemProps, ChatListView, ChatListViewProps, ChatListViewType } from \"../view/type/ChatListView\";\nimport { SentenceSelectorViewProps } from \"../view/type/SentenceSelectorView\";\nimport GuideViewPresenter from \"./GuideViewPresenter\";\nimport SentenceSelectorViewPresenter from \"./SentenceSelectorViewPresenter\";\n\nconst MAX_HISTORY = 50;\n@RegPresenter(ChatListViewType)\nexport class ChatListViewPresenter extends Presenter<MessageSceneModel, ChatListView> {\n static uuid = \"ChatListViewPresenter\";\n private _chatList: ChatListItemProps[];\n private _sceneModel: MessageSceneModel;\n get sceneModel() { return this._sceneModel; }\n private _historyMessages: { [id: number]: ChatListItemProps[] } = {};\n private _currPlot?: ReadonlyPlot;\n private _currPlotShowed = false;\n private _itemKey = 0;\n private _plotExecuting = false;\n private _excutedPlots: { [key: number]: boolean } = {};\n private _selectIndex?: number;\n private _plotChangeLike?: number;\n\n private _viewProps: ChatListViewProps;\n\n private _gLevelMax: number = -1;\n\n private _cachePId: number = NaN;\n\n constructor() {\n super();\n PlotManager.PlotsRollbackEvent.on(() => {\n this._excutedPlots = {};\n this.onResumeChatListView();\n })\n }\n\n getRoleId() {\n if (this.sceneModel.config.roles.length == 1)\n return this.sceneModel.config.roles[0];\n return 1;\n }\n\n onSelectIndexCallback = (index: number) => {\n this.selectSentence(index);\n }\n\n onSetContent = (content: DeepReadonly<SentenceSelectContent>) => {\n if (content != undefined) {\n let props: SentenceSelectorViewProps =\n {\n sentence: content,\n backgroundpath: \"textures/message/selector_bg\",\n clickcausehide: false,\n onSelectIndexCallback: this.onSelectIndexCallback\n };\n UIManager.pushPresenter(SentenceSelectorViewPresenter, props);\n }\n }\n\n isSentenceSelectVisible = (): boolean => {\n let preset = UIManager.getTopPresenter();\n if (preset instanceof SentenceSelectorViewPresenter) {\n let selectorPresenter = preset as SentenceSelectorViewPresenter;\n return !selectorPresenter.view.isHidden;\n }\n return false;\n }\n\n async onOpen(scene: MessageSceneModel) {\n super.onOpen(scene);\n this._sceneModel = scene;\n this._disposable.add(PlotManager.PlotStartEvent.on(this.handlePlotsStart));\n this._currPlot = PlotManager.getCurrentPlots().find(v => v.plotSceneType === PlotSceneType.Message && v.plotSceneTypeId === scene.id);\n\n if (this._historyMessages[scene.id]) {\n this._chatList = this._historyMessages[scene.id];\n } else {\n this._chatList = [];\n }\n\n let canSendGift = false;\n let isMajor = false;\n if (scene.config.roles.length === 1) {\n let roleConfig = ConfigManager.getConfig(role, scene.config.roles[0]);\n if (roleConfig.RoleType === RoleType.Role_Major) {\n isMajor = true;\n }\n }\n canSendGift = isMajor;\n if (this._chatList && this._chatList.length) {\n this.organizeViewProps(scene, isMajor);\n this._view.setProps(this._viewProps);\n }\n else {\n this._viewProps = {\n msgSceneId: scene.id, title: GameModelManager.getConfigLanguageTxt(scene.config.title),\n items: [], historyMsgCount: 0,\n onCloseBtnClick: this.closeAction,\n onSelectChapter: this.selectChapter,\n onCompletePlot: this.completePlot,\n onSelectSentence: this.selectSentence,\n onSetContent: this.onSetContent,\n isSentenceSelectVisible: this.isSentenceSelectVisible,\n onNameTitleClick: this.onNameTitleClick,\n backRedDot: !this._currPlot\n };\n this._view.setProps(this._viewProps);\n await this.loadChatList();\n this.organizeViewProps(scene, isMajor);\n this._view.setProps(this._viewProps);\n }\n\n if (this._currPlot) {\n if (GameModelManager.isChangePlotSceneType()) {\n GameModelManager.dotMainLinePlotStart();\n }\n this._currPlotShowed = false;\n let item = this.convertPlotToViewModel(this._currPlot);\n await this.showCurrPlot();\n if (this._plotChangeLike) {\n item = { ...this._chatList.pop()! };\n if (item.type === \"plot\") {\n item.addLike = this._plotChangeLike;\n }\n this._chatList.push(item);\n this.view.updateProps({ items: this._chatList });\n }\n if (item) {\n if (this._cachePId !== this._currPlot.id && !this._excutedPlots[this._currPlot.id] && !this._plotExecuting && !this._currPlotShowed) {\n this._chatList.push(item);\n this._cachePId = this._currPlot.id;\n this.view.updateProps({ items: this._chatList });\n }\n }\n\n }\n }\n\n organizeViewProps(scene: MessageSceneModel, isMajor: boolean) {\n let canSendGift = false;\n if (scene.config.roles.length === 1) {\n let roleConfig = ConfigManager.getConfig(role, scene.config.roles[0]);\n if (roleConfig.RoleType === RoleType.Role_Major) {\n isMajor = true;\n }\n }\n canSendGift = isMajor;\n if (this._chatList!.length !== 0) {\n if (this._chatList[this._chatList.length - 1].type === \"end\") { // 上一次的结束改为历史\n let item = this._chatList.pop();\n this._chatList.push({ key: item!.key, type: \"history\" });\n for (let i = this._chatList.length - 2; i >= 0; i--) { // 删除之前的历史分割,只保留最后一个\n let item = this._chatList[i];\n if (item.type === \"history\") {\n this._chatList.splice(i, 1);\n break;\n }\n }\n }\n }\n this._viewProps = {\n msgSceneId: scene.id, title: GameModelManager.getConfigLanguageTxt(scene.config.title),\n items: this._chatList, historyMsgCount: this._chatList.length,\n onCloseBtnClick: this.closeAction,\n onSelectChapter: this.selectChapter,\n onCompletePlot: this.completePlot,\n onSelectSentence: this.selectSentence,\n onSetContent: this.onSetContent,\n isSentenceSelectVisible: this.isSentenceSelectVisible,\n onNameTitleClick: this.onNameTitleClick,\n backRedDot: !this._currPlot\n };\n }\n\n closeAction = () => {\n if (this._plotExecuting) return;\n UIManager.popToPresenter(this);\n this._view.closeAnimation().then(() => {\n this._view.close();\n });\n }\n\n selectChapter = () => {\n\n }\n\n selectSentence = (index: number) => {\n if (!this._currPlot) throw new Error(\"ChatList: ePlot error! No currnt plot!\");\n this.completePlot(index, ChatListAutoNextPlot);\n }\n\n showCurrPlot = async () => {\n if (this._currPlot && !this._excutedPlots[this._currPlot.id] && !this._plotExecuting && !this._currPlotShowed) {\n let item = this.convertPlotToViewModel(this._currPlot);\n if (item && this._currPlot.sentences[0].roleId !== 1 && item.type !== \"customplot\") { // 除了旁白,扣体力\n if (!this._currPlot) return;\n }\n this._excutedPlots[this._currPlot.id] = true;\n this._plotExecuting = true;\n let disposable = new CompositeDisposable;\n this._plotChangeLike = undefined;\n GameRecord.onRecordVariableChange(\"like\" + this._currPlot!.sentences[0].roleId, (scope, varName, preValue, value) => {\n this._plotChangeLike = (value as number) - (preValue as number);\n });\n await ActionManager.executeActions(this._currPlot!.sentences[0].actions); // TODO 处理加好感\n disposable.dispose();\n this._plotExecuting = false;\n if (item) {\n if (this._chatList.length > MAX_HISTORY) {\n this._chatList.shift();\n }\n let exist = false;\n for (let i = 0; i < this._chatList.length; i++) {\n if (this._chatList[i][\"id\"] === item[\"id\"]) {\n exist = true;\n break;\n }\n }\n if (!exist) {\n this._chatList.push(item);\n }\n\n if ((item.type === \"plot\" || item.type === \"customplot\") && this._plotChangeLike && this._plotChangeLike !== NaN) {\n item.addLike = this._plotChangeLike;\n }\n this._view.updateProps({ items: this._chatList });\n }\n this._currPlotShowed = true;\n let effectName = \"se_npc_send\";\n if (this._currPlot && this._currPlot.sentences[0].roleId === GameModelManager.getPlayerData().getConfig().id) {\n effectName = \"se_player_send\";\n }\n AudioManager.playEffect(effectName);\n } else if (this._currPlot && this._excutedPlots[this._currPlot.id]) {\n this._currPlotShowed = true;\n }\n }\n\n completePlot = async (index?: number, proceedNext = true) => {\n if (!this._currPlot) return;\n if (!this._currPlotShowed) { this.showCurrPlot(); return; }\n GameModelManager.setIsMainPlotSceneType(true);\n if (index !== undefined) { // 刷新界面剧情选择\n let lastItem = this._chatList.pop()!;\n if (lastItem.type === \"plot\") {\n this._chatList.push({ ...lastItem, select: index });\n } else {\n throw new Error(\"ChatList: Plot error!\");\n }\n this._view.updateProps({ items: this._chatList });\n }\n // await this.execCurrPlot(); // 改为开始的时候执行\n if (proceedNext) {\n this.sceneModel.lastPlot = this._currPlot;\n if (this._selectIndex !== undefined) {\n index = this._selectIndex;\n this._selectIndex = undefined;\n }\n if (ChatListAutoNextPlot) await delay(0.5);\n await this.nextPlot(index);\n } else {\n this._selectIndex = index;\n }\n }\n\n private nextPlot = async (index?: number) => {\n if (this.isClosed()) return;\n if (this._currPlot) {\n await PlotManager.completePlot(this._currPlot!, index, this._plotChangeLike ? { addlike: this._plotChangeLike } : undefined);\n } else {\n console.error(\"ChatList: Plot error! No current plot!\");\n }\n }\n\n private async loadChatList() {\n if (this._historyMessages[this._sceneModel.id] && this._historyMessages[this._sceneModel.id]) {\n this._view.updateProps({ items: this._chatList });\n return;\n }\n this._historyMessages[this._sceneModel.id] = [];\n\n let historyPlots: ChatListItemProps[] = [];\n let records = GameRecord.getCurrentRecordItems();\n let pushHistory = false;\n let hasHistory = false;\n let lastPlotId: number = Number.MAX_SAFE_INTEGER;\n for (let i = records.length - 1; i >= 0; i--) {\n let item = records[i];\n for (let j = 0; j < item.p.length; j++) {\n let plotId = item.p[j];\n if (plotId === lastPlotId) break;\n let plot = (await getPlot(plotId))! as ReadonlyPlot;\n if (!plot) continue;\n if (plot.plotSceneType === PlotSceneType.Message && plot.plotSceneTypeId === this._sceneModel.id) {\n lastPlotId = plotId;\n if (i === records.length - 1) continue;\n if (pushHistory && !hasHistory) {\n historyPlots.unshift({ key: (this._itemKey++).toString(), type: \"history\" });\n hasHistory = true;\n }\n let select: number | undefined = undefined;\n if (item.s) select = item.s[j];\n let customData: object | undefined = undefined;\n if (item.c) customData = item.c[j];\n let vm = this.convertPlotToViewModel(plot, select, customData);\n if (vm) historyPlots.unshift(vm);\n } else { // TODO process branch plots if needed.\n if (!pushHistory && !hasHistory) {\n pushHistory = true;\n }\n }\n if (plot.id === this._sceneModel.firstPlot.id) {\n break;\n }\n }\n if (historyPlots.length > MAX_HISTORY) {\n break;\n }\n }\n this._chatList = historyPlots;\n // this._view.updateProps({ items: historyPlots, historyMsgCount: this._chatList.length });\n this._historyMessages[this._sceneModel.id] = this._chatList;\n }\n\n private convertPlotToViewModel = (plot: ReadonlyPlot, select?: number, customData?: object): ChatListItemProps | undefined => {\n let role = GameModelManager.getRoleData(plot.sentences[0].roleId)!;\n let content = plot.sentences[0].content;\n if (plot.id >= 0) {\n if (!content) return undefined;\n let nameSpr = role.getNameIcon();\n if (role.getConfig().id === 3) {\n nameSpr = \"/textures/name_icon/laoda\";\n }\n return { id: plot.id, key: (this._itemKey++).toString(), type: \"plot\", nameSpr: nameSpr, name: role.getConfig().RoleType === RoleType.Role_Blank ? \"\" : role.getConfig().name, icon: role.getHeadIcon(), isSelf: role.getConfig().RoleType === RoleType.Role_Player, content, select, addLike: customData ? customData[\"addlike\"] : undefined };\n } else { // custom plot\n let giftId = plot.customData?.giftId;\n if (giftId) {// 送礼\n } else {\n if (content && content.type !== SentenceType.SELECT && content.type !== SentenceType.EMPTY) {\n let addLike = plot.customData?.addLike;\n return { id: plot.id, key: (this._itemKey++).toString(), type: \"customplot\", name: role.getConfig().name, icon: role.getHeadIcon(), isSelf: false, content, addLike }\n } else {\n throw new Error(\"This cannot happen!\");\n }\n }\n }\n }\n\n private handlePlotsStart = async (plots: ReadonlyPlots) => {\n let plot = plots.find(v => v.plotSceneType === PlotSceneType.Message && v.plotSceneTypeId === this._sceneModel.id);\n if (plot) {\n if (this._currPlot && plot === this._currPlot) return; // 有分支剧情的情况\n this._currPlot = plot;\n this._currPlotShowed = false;\n await this.showCurrPlot();\n } else if (this._currPlot && this._currPlot.id >= 0) {//剧情结束\n this._currPlot = undefined;\n this._chatList.push({ key: (this._itemKey++).toString(), type: \"end\" });\n if (this._chatList.length > MAX_HISTORY) {\n this._chatList.shift();\n }\n this._view.updateProps({ items: this._chatList, backRedDot: true });\n // this.checkGuideBack();\n GameModelManager.dotMainLinePlotEnd();\n }\n }\n\n checkGuideBack = () => {\n let r = GameRecord.globalVariables[\"guide_chat_back\"] as number;\n r = r ? r : GuideState.Open;\n if (r !== GuideState.Open) {\n return;\n }\n let m = this._view.getGuideBackParam();\n if (m) {\n let location = GuideLocation.ChatBack;\n m.call = () => {\n GameRecord.globalVariables[\"guide_chat_back\"] = GuideState.Complete;\n GameRecord.saveRecord();\n this.closeAction();\n }\n UIManager.pushPresenter(GuideViewPresenter, m);\n }\n }\n\n private isClosed() {\n return !this._disposable;\n }\n\n onNameTitleClick = () => {\n if (!this._sceneModel) {\n return;\n }\n let rids = this._sceneModel.config.roles;\n if (!rids.length || rids!.length !== 1) {\n return;\n }\n let r = GameModelManager.getRoleData(rids[0]);\n if (!r || r!.getConfig().RoleType !== RoleType.Role_Major) {\n return;\n }\n let l = r.getRoleLikeLevel();\n if (this._gLevelMax < 0) {\n this._gLevelMax = this.getGraceLevelMax();\n }\n if (this._gLevelMax === l.level) {\n UIManager.showToast(GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_GRACE_LEVEL_MAX_VALUE));\n }\n else {\n let v = l.nextLevelLike - l.currLike;\n UIManager.showToast(StringUtils.format(GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_GRACE_LEVEL_UP_TIP_VALUE), v));\n }\n\n }\n\n getGraceLevelMax(): number {\n let m: number = -1;\n let t = ConfigManager.getAllConfig(relationLevelConfig);\n for (let id in t) {\n let c = t[id];\n m = m < c.id ? c.id : m;\n }\n return m;\n }\n\n // async updateHistoryMessages() {\n // this._historyMessages[this._sceneModel.id] = [];\n\n // let historyPlots: ChatListItemProps[] = [];\n // let records = GameRecord.getCurrentRecordItems();\n // let pushHistory = false;\n // let hasHistory = false;\n // let lastPlotId: number = Number.MAX_SAFE_INTEGER;\n // for (let i = records.length - 1; i >= 0; i--) {\n // let item = records[i];\n // for (let j = 0; j < item.p.length; j++) {\n // let plotId = item.p[j];\n // if (plotId === lastPlotId) break;\n // let plot = (await getPlot(plotId))! as ReadonlyPlot;\n // if (!plot) continue;\n // if (plot.plotSceneType === PlotSceneType.Message && plot.plotSceneTypeId === this._sceneModel.id) {\n // lastPlotId = plotId;\n // if (i === records.length - 1) continue;\n // if (pushHistory && !hasHistory) {\n // historyPlots.unshift({ key: (this._itemKey++).toString(), type: \"history\" });\n // hasHistory = true;\n // }\n // let select: number | undefined = undefined;\n // if (item.s) select = item.s[j];\n // let customData: object | undefined = undefined;\n // if (item.c) customData = item.c[j];\n // let vm = this.convertPlotToViewModel(plot, select, customData);\n // if (vm) historyPlots.unshift(vm);\n // } else { // TODO process branch plots if needed.\n // if (!pushHistory && !hasHistory) {\n // pushHistory = true;\n // }\n // }\n // if (plot.id === this._sceneModel.firstPlot.id) {\n // break;\n // }\n // }\n // if (historyPlots.length > MAX_HISTORY) {\n // break;\n // }\n // }\n // this._chatList = historyPlots;\n // // this._view.updateProps({ items: historyPlots, historyMsgCount: this._chatList.length });\n // this._historyMessages[this._sceneModel.id] = this._chatList;\n // }\n\n onResumeChatListView = () => {\n this._chatList = [];\n // this._sceneModel = undefined;\n this._historyMessages = {};\n this._currPlot = undefined;\n this._currPlotShowed = false;\n this._itemKey = 0;\n this._plotExecuting = false;\n this._excutedPlots = {};\n this._selectIndex = undefined;\n this._plotChangeLike = 0;\n this._viewProps = {\n msgSceneId: -1, title: \"\",\n items: [], historyMsgCount: 0,\n onCloseBtnClick: this.closeAction,\n onSelectChapter: this.selectChapter,\n onCompletePlot: this.completePlot,\n onSelectSentence: this.selectSentence,\n onSetContent: this.onSetContent,\n isSentenceSelectVisible: this.isSentenceSelectVisible,\n onNameTitleClick: this.onNameTitleClick,\n backRedDot: !this._currPlot\n };\n this._view.setProps(this._viewProps);\n\n // this._viewProps = [];\n\n this._gLevelMax = -1;\n\n this._cachePId = NaN;\n this.view.resumeAll();\n }\n}"]}
\ No newline at end of file
......@@ -49,7 +49,6 @@ let DatingSceneViewImpl = /** @class */ (() => {
this.arrowguideNode = CCDummyObjects_1.DummyNode;
this.otherNameSpr = CCDummyObjects_1.DummySprite;
this.typewriter = undefined;
this.chapterBtn = CCDummyObjects_1.DummyPrefab;
this.skipButtonNode = CCDummyObjects_1.DummyNode;
this.autoPlayButtonNode = CCDummyObjects_1.DummyNode;
this.autoPlaySpriteFrame = [];
......@@ -81,9 +80,6 @@ let DatingSceneViewImpl = /** @class */ (() => {
}
}
};
this.getChapterBtn = () => {
return this.chapterBtn;
};
}
/**
* 是否显示返回按钮
......@@ -484,9 +480,6 @@ let DatingSceneViewImpl = /** @class */ (() => {
property(Typewriter_1.default)
], DatingSceneViewImpl.prototype, "typewriter", void 0);
__decorate([
property(cc.Prefab)
], DatingSceneViewImpl.prototype, "chapterBtn", void 0);
__decorate([
property(cc.Node)
], DatingSceneViewImpl.prototype, "skipButtonNode", void 0);
__decorate([
......
{"version":3,"sources":["assets/script/game/ui/view/impl/dating/DatingSceneViewImpl.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { CCView } from \"../../../../../common/classbase/CCViewBase\";\nimport { DatingSceneView, DatingSceneViewType } from \"../../type/DatingSceneView\";\nimport { RegView } from \"../../../PresenterCCViewFactory\";\nimport { DummySprite, DummyNode, DummyPrefab } from \"../../../../../common/CCDummyObjects\";\nimport { ResUtils } from \"simba-cc-resutils\";\nimport Typewriter from \"../../../../../common/components/Typewriter\";\nimport PortraitFixComponent from \"../../../../../common/components/PortraitFixComponent\";\nimport { GameConfig } from \"../../../../../GameConfig\";\nimport { GameModelManager } from \"../../../../model/GameModelManager\";\n\nconst { ccclass, property } = cc._decorator;\n\nexport enum AutoPlayState {\n Close = 0,\n AutoPlay\n}\n\nexport enum AutoPlayType {\n Skip = 0,\n Speedx1\n}\n\n@ccclass\n@RegView(DatingSceneViewType, \"prefab/ui/DatingSceneView\")\nexport class DatingSceneViewImpl extends CCView implements DatingSceneView {\n //#region editor bindings\n @property(cc.Sprite)\n private backgroundSprite = DummySprite;\n @property(cc.Sprite)\n private effectBackgroundSprite = DummySprite;\n @property(cc.Sprite)\n private portraitSprite = DummySprite;\n @property(cc.Sprite)\n private selfSmallPortrait = DummySprite;\n @property(cc.Node)\n private otherDialogNode = DummyNode;\n @property(cc.Node)\n private selfDialogNode = DummyNode;\n @property(cc.Node)\n private narratorDialogNode = DummyNode;\n @property(cc.Node)\n private backRedDot = DummyNode;\n\n @property(cc.Node)\n private backBtnNode = DummyNode;\n\n @property(cc.Node)\n private endTipNode = DummyNode;\n\n @property(cc.Node)\n private arrowguideNode = DummyNode;\n\n @property(cc.Sprite)\n private otherNameSpr = DummySprite;\n\n @property(Typewriter)\n private typewriter: Typewriter = undefined as unknown as Typewriter;\n\n @property(cc.Prefab)\n private chapterBtn = DummyPrefab;\n @property(cc.Node)\n private skipButtonNode = DummyNode;\n @property(cc.Node)\n private autoPlayButtonNode = DummyNode;\n @property([cc.SpriteFrame])\n private autoPlaySpriteFrame = [];\n\n\n private _originPos: cc.Vec3 = cc.v3(-265, 68, 0);\n\n private _isRunCloseAction: boolean = false;\n\n private _isRunningAction: boolean = false;\n\n private _contentText: string = \"\";\n private _autoPlayTimer: number = -1;\n private _skipButtonState: number = 0;\n private _autoPlayButtonState: number = 0;\n private _autoPlayState: number = -1;\n private _autoPlaySpeed: number = 1;\n private _textTyperIsOver: boolean = true;\n private _isSpecialEffect: boolean = false;\n\n /**\n * 是否显示返回按钮\n * @param show bool\n */\n showBackBtn(show: boolean) {\n this.backBtnNode!.active = show;\n if (show) {\n this.backBtnNode.getComponent(cc.Widget).updateAlignment();\n }\n }\n\n closeAction() {\n GameModelManager.setIsMainPlotSceneType(false);\n GameConfig.isVerb = false;\n //清除自动播放计时器\n clearTimeout(this._autoPlayTimer);\n if (this._isRunCloseAction) {\n this.runCloseAction();\n } else if (!this._isRunningAction) {\n this.closeView();\n }\n }\n\n setIsRunningAction = (isRunning: boolean) => {\n this._isRunningAction = isRunning;\n }\n\n closeView() {\n this.backgroundSprite.spriteFrame = undefined as any;\n this.portraitSprite.spriteFrame = undefined as any;\n this.selfSmallPortrait.spriteFrame = undefined as any;\n this.otherDialogNode.active = false;\n this.selfDialogNode.active = false;\n this.narratorDialogNode.active = false;\n this.backRedDot.active = false;\n this.backBtnNode.active = true;\n\n this.endTipNode.stopAllActions();\n this.endTipNode.active = false;\n this.endTipNode.position = this._originPos;\n this.endTipNode.opacity = 255;\n\n this._isRunCloseAction = false;\n // this.closeActNode.active = false;\n this._isRunningAction = false;\n this.arrowguideNode.active = false;\n this.close();\n }\n //#endregion\n\n completePlotCallback: () => Promise<void>;\n onReviewButtonClickCallback: () => void;\n\n onEnable() {\n this.resetAutoPlayButtonState();\n this.node.on(cc.Node.EventType.TOUCH_END, this.touchEndHandler, this);\n }\n\n onDisable() {\n this.node.off(cc.Node.EventType.TOUCH_END, this.touchEndHandler, this);\n }\n\n /**\n * 背景监听回调\n */\n touchEndHandler = async () => {\n if (this._autoPlayState == AutoPlayState.Close) {\n if (this.typewriter.getShowingString() == \"\") {\n if (this.completePlotCallback) await this.completePlotCallback();\n } else {\n this.typewriter.stopTyperShowString()\n }\n }\n }\n\n /**引导返回 */\n guideBack() {\n this.runEndTipAction();\n }\n\n /**\n * 设置约会场景内容\n * @param isSelf 是否是自身\n * @param text 文本内容\n * @param nameSpr \n * @param name 别人名字\n * @param portraitImg 立绘图名字\n * @param otherPortraitImg 其他立绘图名字\n * @param showRouge 是否显示口红\n */\n async setContent(isSelf: boolean, text: string, nameSpr: string, name?: string, portraitImg?: string, otherPortraitImg?: string, showRouge?: boolean): Promise<void> {\n let promises: Promise<any>[] = [];\n if (!((isSelf && otherPortraitImg) || portraitImg)) { // 防止切换过程中闪\n this.portraitSprite.spriteFrame = undefined as any;\n }\n if (portraitImg) {\n if (isSelf) {\n let portraitPath = portraitImg.substring(0, portraitImg.lastIndexOf(\"/\") + 1);\n let faceId = portraitImg.substring(portraitImg.lastIndexOf(\"/\") + 1, portraitImg.length);\n portraitImg = portraitPath + \"1/\" + faceId;\n }\n promises.push(ResUtils.loadRes(portraitImg, cc.SpriteFrame).then((sf) => {\n if (this.node.active) {\n if (isSelf) {\n this.selfSmallPortrait.spriteFrame = sf;\n } else {\n this.portraitSprite.spriteFrame = sf;\n this.fixScreenSize();\n }\n }\n }));\n }\n if (isSelf && otherPortraitImg) {\n promises.push(ResUtils.loadRes(otherPortraitImg, cc.SpriteFrame).then((sf) => {\n this.portraitSprite.spriteFrame = sf;\n this.fixScreenSize();\n }));\n }\n if (nameSpr && !isSelf && \"\" !== nameSpr.trim()) {\n promises.push(ResUtils.loadRes(nameSpr, cc.SpriteFrame).then((sf) => {\n this.otherNameSpr.spriteFrame = sf;\n }));\n }\n this.otherDialogNode.active = false;\n this.selfDialogNode.active = false;\n this.narratorDialogNode.active = false;\n // let rougeNode = this.selfDialogNode.getChildByName(\"rouge\");\n // let perTime = 0.05;\n if (text) {\n // let time = perTime * text.length;\n this._contentText = text;\n this._textTyperIsOver = false;\n if (isSelf) { // 自己\n this.selfDialogNode.active = true;\n // this.selfDialogNode.children[0].getComponent(cc.Label).string = name!;\n // this.selfDialogNode.children[1].getComponent(cc.RichText).string = text;\n this.typewriter.showRichTextTyper(this.selfDialogNode.children[0].getComponent(cc.RichText), text,\n () => {\n this._textTyperIsOver = true;\n }, () => { }, this._autoPlaySpeed\n );\n // promises.push(AnimationUtils.ActionTypeWriter(this.selfDialogNode.children[1].getComponent(cc.RichText), text, time));\n // if (rougeNode) {\n // rougeNode.active = showRouge ? true : false;\n // }\n } else if (name) { // 别人\n this.otherDialogNode.active = true;\n // this.otherDialogNode.children[0].getComponent(cc.Label).string = name!;\n // this.otherDialogNode.children[1].getComponent(cc.RichText).string = text;\n this.typewriter.showRichTextTyper(this.otherDialogNode.children[0].getComponent(cc.RichText), text,\n () => {\n this._textTyperIsOver = true;\n }, () => { }, this._autoPlaySpeed\n );\n // promises.push(AnimationUtils.ActionTypeWriter(this.otherDialogNode.children[1].getComponent(cc.RichText), text, time));\n } else { // 旁白\n this.narratorDialogNode.active = true;\n // this.narratorDialogNode.children[0].getComponent(cc.RichText).string = text;\n this.typewriter.showRichTextTyper(this.narratorDialogNode.children[0].getComponent(cc.RichText), text,\n () => {\n this._textTyperIsOver = true;\n }, () => { }, this._autoPlaySpeed\n );\n // promises.push(AnimationUtils.ActionTypeWriter(this.narratorDialogNode.children[0].getComponent(cc.RichText), text, time));\n }\n }\n try {\n await Promise.all(promises);\n } catch (e) {\n console.error(e);\n }\n }\n\n resetAutoPlayButtonState() {\n this._autoPlaySpeed = 1;\n this._autoPlayState = AutoPlayState.Close;\n this._skipButtonState = AutoPlayState.Close;\n this._autoPlayButtonState = AutoPlayState.Close;\n this.changeSkipButtonState(this._autoPlayState);\n this.changeAutoPlayButtonState(this._autoPlayState);\n }\n\n changeSkipButtonState(state: AutoPlayState) {\n let skipLabel = this.skipButtonNode.getComponentInChildren(cc.Sprite);\n if (state == AutoPlayState.Close) {\n skipLabel.spriteFrame = this.autoPlaySpriteFrame[2];\n } else {\n skipLabel.spriteFrame = this.autoPlaySpriteFrame[3];\n }\n }\n\n changeAutoPlayButtonState(state: AutoPlayState) {\n let autoPlaySprite = this.autoPlayButtonNode.getComponentInChildren(cc.Sprite);\n if (state == AutoPlayState.Close) {\n autoPlaySprite.spriteFrame = this.autoPlaySpriteFrame[0];\n } else {\n autoPlaySprite.spriteFrame = this.autoPlaySpriteFrame[1];\n }\n }\n\n /**\n * 开始自动播放计时器\n * @param startNow 是否不进行延时,立即执行下一步,适用于玩家点击自动播放按钮之后,无需等待\n */\n startAutoPlayTimer(startNow: boolean = false) {\n let interval: number = 0;\n if (!startNow) {\n //时间间隔的计算方法,如果startNow为true的话,不进行延时,时间为0,否则:\n //(文本长度 * 50ms / this._autoPlaySpeed)表示文本走完打字机效果所需要的时间\n //(文本长度 * 60ms / this._autoPlaySpeed)表示文本完全展示之后展示停留的时间\n interval = ((this._contentText.length * 50) / this._autoPlaySpeed) + ((this._contentText.length * 60) / this._autoPlaySpeed);\n }\n this._autoPlayTimer = window.setTimeout(async () => {\n if (this._autoPlayState == AutoPlayState.AutoPlay) {\n if (this._textTyperIsOver && !this._isSpecialEffect) {\n if (this.completePlotCallback) await this.completePlotCallback();\n }\n this.startAutoPlayTimer();\n } else {\n clearTimeout(this._autoPlayTimer);\n }\n }, interval);\n }\n\n fixScreenSize() {\n let comp = this.portraitSprite.node.getComponent(PortraitFixComponent);\n if (comp) {\n comp.fixScreenSize(true);\n }\n }\n\n /**\n * 设置背景\n * @param bgImage 背景路径\n */\n async setBackground(bgImage: string) {\n if (!bgImage) {\n this.backgroundSprite.spriteFrame = undefined as any;\n } else {\n try {\n this.backgroundSprite.node.opacity = 255;\n let sf = await ResUtils.loadRes(bgImage, cc.SpriteFrame);\n this.backgroundSprite.spriteFrame = sf;\n this.backgroundSprite.node.height = this.node.height;\n this.backgroundSprite.node.width = sf.getOriginalSize().width / sf.getOriginalSize().height * this.node.height;\n } catch (e) {\n console.error(e);\n }\n }\n }\n\n /**\n * 设置背景(特殊效果)\n * @param bgImage 背景路径\n */\n async setBackgroundEffect(bgImage: string) {\n this._isSpecialEffect = true;\n let dialogNodesActive: boolean[] = [this.otherDialogNode.active, this.selfDialogNode.active, this.narratorDialogNode.active];\n this.otherDialogNode.active = false;\n this.selfDialogNode.active = false;\n this.narratorDialogNode.active = false;\n if (!bgImage) {\n this.backgroundSprite.node.opacity = 255;\n cc.tween(this.backgroundSprite.node)\n .to(1, { opacity: 0 })\n .call(() => {\n this.backgroundSprite.spriteFrame = undefined as any;\n this.otherDialogNode.active = dialogNodesActive[0];\n this.selfDialogNode.active = dialogNodesActive[1];\n this.narratorDialogNode.active = dialogNodesActive[2];\n }).start();\n if (this.backgroundSprite.spriteFrame) {\n this.effectBackgroundSprite.node.active = true;\n this.effectBackgroundSprite.node.opacity = 255;\n cc.tween(this.effectBackgroundSprite.node)\n .to(1, { opacity: 0 })\n .call(() => {\n this.effectBackgroundSprite.node.active = false;\n this._isSpecialEffect = false;\n }).start();\n }\n } else {\n try {\n this.effectBackgroundSprite.node.active = true;\n this.effectBackgroundSprite.node.opacity = 0;\n cc.tween(this.effectBackgroundSprite.node)\n .to(1, { opacity: 255 })\n .call(() => {\n cc.tween(this.effectBackgroundSprite.node)\n .to(1, { opacity: 0 })\n .call(() => {\n this.effectBackgroundSprite.node.active = false;\n }).start();\n }).start();\n cc.tween(this.backgroundSprite.node)\n .to(1, { opacity: 0 })\n .call(async () => {\n let sf = await ResUtils.loadRes(bgImage, cc.SpriteFrame);\n this.backgroundSprite.spriteFrame = sf;\n this.backgroundSprite.node.height = this.node.height;\n this.backgroundSprite.node.width = sf.getOriginalSize().width / sf.getOriginalSize().height * this.node.height;\n cc.tween(this.backgroundSprite.node)\n .to(1, { opacity: 255 })\n .call(() => {\n this.otherDialogNode.active = dialogNodesActive[0];\n this.selfDialogNode.active = dialogNodesActive[1];\n this.narratorDialogNode.active = dialogNodesActive[2];\n this._isSpecialEffect = false;\n }).start();\n }).start();\n } catch (e) {\n console.error(e);\n }\n }\n }\n\n runEndTipAction() {\n this.setIsRunningAction(true);\n let offsetY: number = 300;\n let actTime: number = 1.5;\n this.endTipNode.stopAllActions();\n this.endTipNode.active = true;\n this.endTipNode.scale = 1;\n this.endTipNode.opacity = 255;\n this.endTipNode.position = cc.v3(-265, this._originPos.y - offsetY, 0);\n this.endTipNode.opacity = 0;\n\n let ease = cc.easeSineInOut();\n let moveAct = cc.moveTo(actTime, cc.v2(-265, this._originPos.y)).easing(ease);\n let fadeInAct = cc.fadeIn(actTime).easing(ease);\n let spawn = cc.spawn(moveAct, fadeInAct);\n\n let call = cc.callFunc(() => {\n this.backRedDot.active = true;\n\n // if (!this._isRunCloseAction) {\n // SDK.showInterstitialAd();\n // }\n this.setIsRunningAction(false);\n });\n\n let showArrowGuideCall = cc.callFunc(() => {\n this.arrowguideNode.active = true;\n });\n let actTime2: number = 2;\n let seq = cc.sequence(spawn, call, cc.spawn(cc.moveTo(1, cc.v2(this.backBtnNode.position.x, this.backBtnNode.position.y)), cc.scaleTo(actTime2, 0)), showArrowGuideCall);\n\n this.endTipNode.runAction(seq);\n }\n\n setRunCloseAction(run: boolean) {\n this._isRunCloseAction = run;\n }\n\n runCloseAction() {\n this.closeView();\n }\n\n\n getChapterBtn = (): cc.Prefab => {\n return this.chapterBtn;\n }\n\n onRefreshAllStatus() {\n this.closeAction();\n }\n\n onReviewButtonClick() {\n this.resetAutoPlayButtonState();\n clearTimeout(this._autoPlayTimer);\n this.onReviewButtonClickCallback();\n }\n\n onSkipButtonClick() {\n this._skipButtonState = this._skipButtonState == AutoPlayState.Close ? AutoPlayState.AutoPlay : AutoPlayState.Close;\n this._autoPlayState = this._skipButtonState;\n if (this._autoPlayState == AutoPlayState.AutoPlay) {\n this._autoPlaySpeed = 20;\n this.startAutoPlayTimer(true);\n this.changeSkipButtonState(this._autoPlayState);\n this.changeAutoPlayButtonState(AutoPlayState.Close);\n this._autoPlayButtonState = AutoPlayState.Close;\n } else {\n this.resetAutoPlayButtonState();\n clearTimeout(this._autoPlayTimer);\n }\n }\n\n onAutoPlayButtonClick() {\n this._autoPlayButtonState = this._autoPlayButtonState == AutoPlayState.Close ? AutoPlayState.AutoPlay : AutoPlayState.Close;\n this._autoPlayState = this._autoPlayButtonState;\n if (this._autoPlayState == AutoPlayState.AutoPlay) {\n this._autoPlaySpeed = 1;\n this.startAutoPlayTimer(true);\n this.changeSkipButtonState(AutoPlayState.Close);\n this.changeAutoPlayButtonState(this._autoPlayState);\n this._skipButtonState = AutoPlayState.Close;\n } else {\n this.resetAutoPlayButtonState();\n clearTimeout(this._autoPlayTimer);\n }\n }\n}\n"]}
\ No newline at end of file
{"version":3,"sources":["assets/script/game/ui/view/impl/dating/DatingSceneViewImpl.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { CCView } from \"../../../../../common/classbase/CCViewBase\";\nimport { DatingSceneView, DatingSceneViewType } from \"../../type/DatingSceneView\";\nimport { RegView } from \"../../../PresenterCCViewFactory\";\nimport { DummySprite, DummyNode, DummyPrefab } from \"../../../../../common/CCDummyObjects\";\nimport { ResUtils } from \"simba-cc-resutils\";\nimport Typewriter from \"../../../../../common/components/Typewriter\";\nimport PortraitFixComponent from \"../../../../../common/components/PortraitFixComponent\";\nimport { GameConfig } from \"../../../../../GameConfig\";\nimport { GameModelManager } from \"../../../../model/GameModelManager\";\n\nconst { ccclass, property } = cc._decorator;\n\nexport enum AutoPlayState {\n Close = 0,\n AutoPlay\n}\n\nexport enum AutoPlayType {\n Skip = 0,\n Speedx1\n}\n\n@ccclass\n@RegView(DatingSceneViewType, \"prefab/ui/DatingSceneView\")\nexport class DatingSceneViewImpl extends CCView implements DatingSceneView {\n //#region editor bindings\n @property(cc.Sprite)\n private backgroundSprite = DummySprite;\n @property(cc.Sprite)\n private effectBackgroundSprite = DummySprite;\n @property(cc.Sprite)\n private portraitSprite = DummySprite;\n @property(cc.Sprite)\n private selfSmallPortrait = DummySprite;\n @property(cc.Node)\n private otherDialogNode = DummyNode;\n @property(cc.Node)\n private selfDialogNode = DummyNode;\n @property(cc.Node)\n private narratorDialogNode = DummyNode;\n @property(cc.Node)\n private backRedDot = DummyNode;\n\n @property(cc.Node)\n private backBtnNode = DummyNode;\n\n @property(cc.Node)\n private endTipNode = DummyNode;\n\n @property(cc.Node)\n private arrowguideNode = DummyNode;\n\n @property(cc.Sprite)\n private otherNameSpr = DummySprite;\n\n @property(Typewriter)\n private typewriter: Typewriter = undefined as unknown as Typewriter;\n\n @property(cc.Node)\n private skipButtonNode = DummyNode;\n @property(cc.Node)\n private autoPlayButtonNode = DummyNode;\n @property([cc.SpriteFrame])\n private autoPlaySpriteFrame = [];\n\n\n private _originPos: cc.Vec3 = cc.v3(-265, 68, 0);\n\n private _isRunCloseAction: boolean = false;\n\n private _isRunningAction: boolean = false;\n\n private _contentText: string = \"\";\n private _autoPlayTimer: number = -1;\n private _skipButtonState: number = 0;\n private _autoPlayButtonState: number = 0;\n private _autoPlayState: number = -1;\n private _autoPlaySpeed: number = 1;\n private _textTyperIsOver: boolean = true;\n private _isSpecialEffect: boolean = false;\n\n /**\n * 是否显示返回按钮\n * @param show bool\n */\n showBackBtn(show: boolean) {\n this.backBtnNode!.active = show;\n if (show) {\n this.backBtnNode.getComponent(cc.Widget).updateAlignment();\n }\n }\n\n closeAction() {\n GameModelManager.setIsMainPlotSceneType(false);\n GameConfig.isVerb = false;\n //清除自动播放计时器\n clearTimeout(this._autoPlayTimer);\n if (this._isRunCloseAction) {\n this.runCloseAction();\n } else if (!this._isRunningAction) {\n this.closeView();\n }\n }\n\n setIsRunningAction = (isRunning: boolean) => {\n this._isRunningAction = isRunning;\n }\n\n closeView() {\n this.backgroundSprite.spriteFrame = undefined as any;\n this.portraitSprite.spriteFrame = undefined as any;\n this.selfSmallPortrait.spriteFrame = undefined as any;\n this.otherDialogNode.active = false;\n this.selfDialogNode.active = false;\n this.narratorDialogNode.active = false;\n this.backRedDot.active = false;\n this.backBtnNode.active = true;\n\n this.endTipNode.stopAllActions();\n this.endTipNode.active = false;\n this.endTipNode.position = this._originPos;\n this.endTipNode.opacity = 255;\n\n this._isRunCloseAction = false;\n // this.closeActNode.active = false;\n this._isRunningAction = false;\n this.arrowguideNode.active = false;\n this.close();\n }\n //#endregion\n\n completePlotCallback: () => Promise<void>;\n onReviewButtonClickCallback: () => void;\n\n onEnable() {\n this.resetAutoPlayButtonState();\n this.node.on(cc.Node.EventType.TOUCH_END, this.touchEndHandler, this);\n }\n\n onDisable() {\n this.node.off(cc.Node.EventType.TOUCH_END, this.touchEndHandler, this);\n }\n\n /**\n * 背景监听回调\n */\n touchEndHandler = async () => {\n if (this._autoPlayState == AutoPlayState.Close) {\n if (this.typewriter.getShowingString() == \"\") {\n if (this.completePlotCallback) await this.completePlotCallback();\n } else {\n this.typewriter.stopTyperShowString()\n }\n }\n }\n\n /**引导返回 */\n guideBack() {\n this.runEndTipAction();\n }\n\n /**\n * 设置约会场景内容\n * @param isSelf 是否是自身\n * @param text 文本内容\n * @param nameSpr \n * @param name 别人名字\n * @param portraitImg 立绘图名字\n * @param otherPortraitImg 其他立绘图名字\n * @param showRouge 是否显示口红\n */\n async setContent(isSelf: boolean, text: string, nameSpr: string, name?: string, portraitImg?: string, otherPortraitImg?: string, showRouge?: boolean): Promise<void> {\n let promises: Promise<any>[] = [];\n if (!((isSelf && otherPortraitImg) || portraitImg)) { // 防止切换过程中闪\n this.portraitSprite.spriteFrame = undefined as any;\n }\n if (portraitImg) {\n if (isSelf) {\n let portraitPath = portraitImg.substring(0, portraitImg.lastIndexOf(\"/\") + 1);\n let faceId = portraitImg.substring(portraitImg.lastIndexOf(\"/\") + 1, portraitImg.length);\n portraitImg = portraitPath + \"1/\" + faceId;\n }\n promises.push(ResUtils.loadRes(portraitImg, cc.SpriteFrame).then((sf) => {\n if (this.node.active) {\n if (isSelf) {\n this.selfSmallPortrait.spriteFrame = sf;\n } else {\n this.portraitSprite.spriteFrame = sf;\n this.fixScreenSize();\n }\n }\n }));\n }\n if (isSelf && otherPortraitImg) {\n promises.push(ResUtils.loadRes(otherPortraitImg, cc.SpriteFrame).then((sf) => {\n this.portraitSprite.spriteFrame = sf;\n this.fixScreenSize();\n }));\n }\n if (nameSpr && !isSelf && \"\" !== nameSpr.trim()) {\n promises.push(ResUtils.loadRes(nameSpr, cc.SpriteFrame).then((sf) => {\n this.otherNameSpr.spriteFrame = sf;\n }));\n }\n this.otherDialogNode.active = false;\n this.selfDialogNode.active = false;\n this.narratorDialogNode.active = false;\n // let rougeNode = this.selfDialogNode.getChildByName(\"rouge\");\n // let perTime = 0.05;\n if (text) {\n // let time = perTime * text.length;\n this._contentText = text;\n this._textTyperIsOver = false;\n if (isSelf) { // 自己\n this.selfDialogNode.active = true;\n // this.selfDialogNode.children[0].getComponent(cc.Label).string = name!;\n // this.selfDialogNode.children[1].getComponent(cc.RichText).string = text;\n this.typewriter.showRichTextTyper(this.selfDialogNode.children[0].getComponent(cc.RichText), text,\n () => {\n this._textTyperIsOver = true;\n }, () => { }, this._autoPlaySpeed\n );\n // promises.push(AnimationUtils.ActionTypeWriter(this.selfDialogNode.children[1].getComponent(cc.RichText), text, time));\n // if (rougeNode) {\n // rougeNode.active = showRouge ? true : false;\n // }\n } else if (name) { // 别人\n this.otherDialogNode.active = true;\n // this.otherDialogNode.children[0].getComponent(cc.Label).string = name!;\n // this.otherDialogNode.children[1].getComponent(cc.RichText).string = text;\n this.typewriter.showRichTextTyper(this.otherDialogNode.children[0].getComponent(cc.RichText), text,\n () => {\n this._textTyperIsOver = true;\n }, () => { }, this._autoPlaySpeed\n );\n // promises.push(AnimationUtils.ActionTypeWriter(this.otherDialogNode.children[1].getComponent(cc.RichText), text, time));\n } else { // 旁白\n this.narratorDialogNode.active = true;\n // this.narratorDialogNode.children[0].getComponent(cc.RichText).string = text;\n this.typewriter.showRichTextTyper(this.narratorDialogNode.children[0].getComponent(cc.RichText), text,\n () => {\n this._textTyperIsOver = true;\n }, () => { }, this._autoPlaySpeed\n );\n // promises.push(AnimationUtils.ActionTypeWriter(this.narratorDialogNode.children[0].getComponent(cc.RichText), text, time));\n }\n }\n try {\n await Promise.all(promises);\n } catch (e) {\n console.error(e);\n }\n }\n\n resetAutoPlayButtonState() {\n this._autoPlaySpeed = 1;\n this._autoPlayState = AutoPlayState.Close;\n this._skipButtonState = AutoPlayState.Close;\n this._autoPlayButtonState = AutoPlayState.Close;\n this.changeSkipButtonState(this._autoPlayState);\n this.changeAutoPlayButtonState(this._autoPlayState);\n }\n\n changeSkipButtonState(state: AutoPlayState) {\n let skipLabel = this.skipButtonNode.getComponentInChildren(cc.Sprite);\n if (state == AutoPlayState.Close) {\n skipLabel.spriteFrame = this.autoPlaySpriteFrame[2];\n } else {\n skipLabel.spriteFrame = this.autoPlaySpriteFrame[3];\n }\n }\n\n changeAutoPlayButtonState(state: AutoPlayState) {\n let autoPlaySprite = this.autoPlayButtonNode.getComponentInChildren(cc.Sprite);\n if (state == AutoPlayState.Close) {\n autoPlaySprite.spriteFrame = this.autoPlaySpriteFrame[0];\n } else {\n autoPlaySprite.spriteFrame = this.autoPlaySpriteFrame[1];\n }\n }\n\n /**\n * 开始自动播放计时器\n * @param startNow 是否不进行延时,立即执行下一步,适用于玩家点击自动播放按钮之后,无需等待\n */\n startAutoPlayTimer(startNow: boolean = false) {\n let interval: number = 0;\n if (!startNow) {\n //时间间隔的计算方法,如果startNow为true的话,不进行延时,时间为0,否则:\n //(文本长度 * 50ms / this._autoPlaySpeed)表示文本走完打字机效果所需要的时间\n //(文本长度 * 60ms / this._autoPlaySpeed)表示文本完全展示之后展示停留的时间\n interval = ((this._contentText.length * 50) / this._autoPlaySpeed) + ((this._contentText.length * 60) / this._autoPlaySpeed);\n }\n this._autoPlayTimer = window.setTimeout(async () => {\n if (this._autoPlayState == AutoPlayState.AutoPlay) {\n if (this._textTyperIsOver && !this._isSpecialEffect) {\n if (this.completePlotCallback) await this.completePlotCallback();\n }\n this.startAutoPlayTimer();\n } else {\n clearTimeout(this._autoPlayTimer);\n }\n }, interval);\n }\n\n fixScreenSize() {\n let comp = this.portraitSprite.node.getComponent(PortraitFixComponent);\n if (comp) {\n comp.fixScreenSize(true);\n }\n }\n\n /**\n * 设置背景\n * @param bgImage 背景路径\n */\n async setBackground(bgImage: string) {\n if (!bgImage) {\n this.backgroundSprite.spriteFrame = undefined as any;\n } else {\n try {\n this.backgroundSprite.node.opacity = 255;\n let sf = await ResUtils.loadRes(bgImage, cc.SpriteFrame);\n this.backgroundSprite.spriteFrame = sf;\n this.backgroundSprite.node.height = this.node.height;\n this.backgroundSprite.node.width = sf.getOriginalSize().width / sf.getOriginalSize().height * this.node.height;\n } catch (e) {\n console.error(e);\n }\n }\n }\n\n /**\n * 设置背景(特殊效果)\n * @param bgImage 背景路径\n */\n async setBackgroundEffect(bgImage: string) {\n this._isSpecialEffect = true;\n let dialogNodesActive: boolean[] = [this.otherDialogNode.active, this.selfDialogNode.active, this.narratorDialogNode.active];\n this.otherDialogNode.active = false;\n this.selfDialogNode.active = false;\n this.narratorDialogNode.active = false;\n if (!bgImage) {\n this.backgroundSprite.node.opacity = 255;\n cc.tween(this.backgroundSprite.node)\n .to(1, { opacity: 0 })\n .call(() => {\n this.backgroundSprite.spriteFrame = undefined as any;\n this.otherDialogNode.active = dialogNodesActive[0];\n this.selfDialogNode.active = dialogNodesActive[1];\n this.narratorDialogNode.active = dialogNodesActive[2];\n }).start();\n if (this.backgroundSprite.spriteFrame) {\n this.effectBackgroundSprite.node.active = true;\n this.effectBackgroundSprite.node.opacity = 255;\n cc.tween(this.effectBackgroundSprite.node)\n .to(1, { opacity: 0 })\n .call(() => {\n this.effectBackgroundSprite.node.active = false;\n this._isSpecialEffect = false;\n }).start();\n }\n } else {\n try {\n this.effectBackgroundSprite.node.active = true;\n this.effectBackgroundSprite.node.opacity = 0;\n cc.tween(this.effectBackgroundSprite.node)\n .to(1, { opacity: 255 })\n .call(() => {\n cc.tween(this.effectBackgroundSprite.node)\n .to(1, { opacity: 0 })\n .call(() => {\n this.effectBackgroundSprite.node.active = false;\n }).start();\n }).start();\n cc.tween(this.backgroundSprite.node)\n .to(1, { opacity: 0 })\n .call(async () => {\n let sf = await ResUtils.loadRes(bgImage, cc.SpriteFrame);\n this.backgroundSprite.spriteFrame = sf;\n this.backgroundSprite.node.height = this.node.height;\n this.backgroundSprite.node.width = sf.getOriginalSize().width / sf.getOriginalSize().height * this.node.height;\n cc.tween(this.backgroundSprite.node)\n .to(1, { opacity: 255 })\n .call(() => {\n this.otherDialogNode.active = dialogNodesActive[0];\n this.selfDialogNode.active = dialogNodesActive[1];\n this.narratorDialogNode.active = dialogNodesActive[2];\n this._isSpecialEffect = false;\n }).start();\n }).start();\n } catch (e) {\n console.error(e);\n }\n }\n }\n\n runEndTipAction() {\n this.setIsRunningAction(true);\n let offsetY: number = 300;\n let actTime: number = 1.5;\n this.endTipNode.stopAllActions();\n this.endTipNode.active = true;\n this.endTipNode.scale = 1;\n this.endTipNode.opacity = 255;\n this.endTipNode.position = cc.v3(-265, this._originPos.y - offsetY, 0);\n this.endTipNode.opacity = 0;\n\n let ease = cc.easeSineInOut();\n let moveAct = cc.moveTo(actTime, cc.v2(-265, this._originPos.y)).easing(ease);\n let fadeInAct = cc.fadeIn(actTime).easing(ease);\n let spawn = cc.spawn(moveAct, fadeInAct);\n\n let call = cc.callFunc(() => {\n this.backRedDot.active = true;\n\n // if (!this._isRunCloseAction) {\n // SDK.showInterstitialAd();\n // }\n this.setIsRunningAction(false);\n });\n\n let showArrowGuideCall = cc.callFunc(() => {\n this.arrowguideNode.active = true;\n });\n let actTime2: number = 2;\n let seq = cc.sequence(spawn, call, cc.spawn(cc.moveTo(1, cc.v2(this.backBtnNode.position.x, this.backBtnNode.position.y)), cc.scaleTo(actTime2, 0)), showArrowGuideCall);\n\n this.endTipNode.runAction(seq);\n }\n\n setRunCloseAction(run: boolean) {\n this._isRunCloseAction = run;\n }\n\n runCloseAction() {\n this.closeView();\n }\n\n onRefreshAllStatus() {\n this.closeAction();\n }\n\n onReviewButtonClick() {\n this.resetAutoPlayButtonState();\n clearTimeout(this._autoPlayTimer);\n this.onReviewButtonClickCallback();\n }\n\n onSkipButtonClick() {\n this._skipButtonState = this._skipButtonState == AutoPlayState.Close ? AutoPlayState.AutoPlay : AutoPlayState.Close;\n this._autoPlayState = this._skipButtonState;\n if (this._autoPlayState == AutoPlayState.AutoPlay) {\n this._autoPlaySpeed = 20;\n this.startAutoPlayTimer(true);\n this.changeSkipButtonState(this._autoPlayState);\n this.changeAutoPlayButtonState(AutoPlayState.Close);\n this._autoPlayButtonState = AutoPlayState.Close;\n } else {\n this.resetAutoPlayButtonState();\n clearTimeout(this._autoPlayTimer);\n }\n }\n\n onAutoPlayButtonClick() {\n this._autoPlayButtonState = this._autoPlayButtonState == AutoPlayState.Close ? AutoPlayState.AutoPlay : AutoPlayState.Close;\n this._autoPlayState = this._autoPlayButtonState;\n if (this._autoPlayState == AutoPlayState.AutoPlay) {\n this._autoPlaySpeed = 1;\n this.startAutoPlayTimer(true);\n this.changeSkipButtonState(AutoPlayState.Close);\n this.changeAutoPlayButtonState(this._autoPlayState);\n this._skipButtonState = AutoPlayState.Close;\n } else {\n this.resetAutoPlayButtonState();\n clearTimeout(this._autoPlayTimer);\n }\n }\n}\n"]}
\ No newline at end of file
"use strict";
cc._RF.push(module, 'daa19ZPfvRLLYFk4juWpU/P', 'ChapterBtn');
// script/game/ui/ChapterBtn.ts
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
Object.defineProperty(exports, "__esModule", { value: true });
const CCDummyObjects_1 = require("../../common/CCDummyObjects");
const GameModelManager_1 = require("../model/GameModelManager");
const { ccclass, property } = cc._decorator;
let ChapterBtn = /** @class */ (() => {
let ChapterBtn = class ChapterBtn extends cc.Component {
constructor() {
super(...arguments);
this.label = CCDummyObjects_1.DummyLabel;
this.pointSpr = CCDummyObjects_1.DummyNode;
this._pid = -1;
}
setData(chapterId, chapterName, pid) {
this._pid = pid;
this.label.string = chapterId.toString() + "." + GameModelManager_1.GameModelManager.getI18LanguageTxt(chapterName);
}
onItemClick() {
console.log("onItemClick pid = ", this._pid);
GameModelManager_1.GameModelManager.RollBackToPlot.emit(this._pid);
let sprites = this.node.parent.getComponentsInChildren(cc.Sprite);
for (let i = 0; i < sprites.length; i++) {
sprites[i].node.active = false;
}
this.pointSpr.active = true;
cc.tween(this.pointSpr)
.repeatForever(cc.tween()
.to(0.5, { scale: 1.15, x: -25 }, { easing: 'sineInOut' })
.to(0.5, { scale: 1, x: -30 }, { easing: 'sineInOut' }))
.start();
let labels = this.node.parent.getComponentsInChildren(cc.Label);
for (let i = 0; i < labels.length; i++) {
labels[i].node.color = cc.color(255, 255, 255, 255);
}
this.label.node.color = cc.color(255, 238, 149, 255);
}
};
__decorate([
property(cc.Label)
], ChapterBtn.prototype, "label", void 0);
__decorate([
property(cc.Node)
], ChapterBtn.prototype, "pointSpr", void 0);
ChapterBtn = __decorate([
ccclass
], ChapterBtn);
return ChapterBtn;
})();
exports.default = ChapterBtn;
cc._RF.pop();
\ No newline at end of file
{"version":3,"sources":["assets/script/game/ui/ChapterBtn.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gEAAoE;AACpE,gEAA6D;AAE7D,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC;AAG5C;IAAA,IAAqB,UAAU,GAA/B,MAAqB,UAAW,SAAQ,EAAE,CAAC,SAAS;QAApD;;YAGY,UAAK,GAAG,2BAAU,CAAC;YAEnB,aAAQ,GAAG,0BAAS,CAAC;YAErB,SAAI,GAAW,CAAC,CAAC,CAAC;QA2B9B,CAAC;QAzBG,OAAO,CAAC,SAAiB,EAAE,WAAmB,EAAE,GAAW;YACvD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,mCAAgB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACrG,CAAC;QAED,WAAW;YACP,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,mCAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YAClE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;aAClC;YACD,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;YAC5B,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAClB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;iBACpB,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;iBACzD,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;iBAC3D,KAAK,EAAE,CAAC;YACb,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YAChE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACvD;YACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACzD,CAAC;KAEJ,CAAA;IA/BG;QADC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC;6CACQ;IAE3B;QADC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC;gDACW;IALZ,UAAU;QAD9B,OAAO;OACa,UAAU,CAkC9B;IAAD,iBAAC;KAAA;kBAlCoB,UAAU","file":"","sourceRoot":"/","sourcesContent":["import { DummyLabel, DummyNode } from \"../../common/CCDummyObjects\";\nimport { GameModelManager } from \"../model/GameModelManager\";\n\nconst { ccclass, property } = cc._decorator;\n\n@ccclass\nexport default class ChapterBtn extends cc.Component {\n\n @property(cc.Label)\n private label = DummyLabel;\n @property(cc.Node)\n private pointSpr = DummyNode;\n\n private _pid: number = -1;\n\n setData(chapterId: number, chapterName: number, pid: number) {\n this._pid = pid;\n this.label.string = chapterId.toString() + \".\" + GameModelManager.getI18LanguageTxt(chapterName);\n }\n\n onItemClick() {\n console.log(\"onItemClick pid = \", this._pid);\n GameModelManager.RollBackToPlot.emit(this._pid);\n let sprites = this.node.parent.getComponentsInChildren(cc.Sprite);\n for (let i = 0; i < sprites.length; i++) {\n sprites[i].node.active = false;\n }\n this.pointSpr.active = true;\n cc.tween(this.pointSpr)\n .repeatForever(cc.tween()\n .to(0.5, { scale: 1.15, x: -25 }, { easing: 'sineInOut' })\n .to(0.5, { scale: 1, x: -30 }, { easing: 'sineInOut' }))\n .start();\n let labels = this.node.parent.getComponentsInChildren(cc.Label);\n for (let i = 0; i < labels.length; i++) {\n labels[i].node.color = cc.color(255, 255, 255, 255);\n }\n this.label.node.color = cc.color(255, 238, 149, 255);\n }\n\n}\n"]}
\ No newline at end of file
......@@ -4,7 +4,7 @@ cc._RF.push(module, 'dd648huSTtHhpLDyKM/BSiI', 'CCDummyObjects');
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.DummyWidget = exports.DummyColor = exports.DummyPageView = exports.DummySpriteFrame = exports.DymmyToggle = exports.DymmyEditBox = exports.DummyToggleContainer = exports.DummyButton = exports.DummyProgressBar = exports.DummyPrefab = exports.DummyScrollView = exports.DummyRichText = exports.DummyLabel = exports.DummyLayout = exports.DummySprite = exports.DummyNode = void 0;
exports.DummyToggle = exports.DummyWidget = exports.DummyColor = exports.DummyPageView = exports.DummySpriteFrame = exports.DymmyToggle = exports.DymmyEditBox = exports.DummyToggleContainer = exports.DummyButton = exports.DummyProgressBar = exports.DummyPrefab = exports.DummyScrollView = exports.DummyRichText = exports.DummyLabel = exports.DummyLayout = exports.DummySprite = exports.DummyNode = void 0;
exports.DummyNode = undefined;
exports.DummySprite = undefined;
exports.DummyLayout = undefined;
......@@ -21,5 +21,6 @@ exports.DummySpriteFrame = undefined;
exports.DummyPageView = undefined;
exports.DummyColor = undefined;
exports.DummyWidget = undefined;
exports.DummyToggle = undefined;
cc._RF.pop();
\ No newline at end of file
{"version":3,"sources":["assets/script/common/CCDummyObjects.ts"],"names":[],"mappings":";;;;;;;AAAa,QAAA,SAAS,GAAG,SAA+B,CAAC;AAC5C,QAAA,WAAW,GAAG,SAAiC,CAAC;AAChD,QAAA,WAAW,GAAG,SAAiC,CAAC;AAChD,QAAA,UAAU,GAAG,SAAgC,CAAC;AAC9C,QAAA,aAAa,GAAG,SAAmC,CAAC;AACpD,QAAA,eAAe,GAAG,SAAqC,CAAC;AACxD,QAAA,WAAW,GAAG,SAAiC,CAAC;AAChD,QAAA,gBAAgB,GAAG,SAAsC,CAAC;AAC1D,QAAA,WAAW,GAAG,SAAiC,CAAC;AAChD,QAAA,oBAAoB,GAAG,SAA0C,CAAC;AAClE,QAAA,YAAY,GAAG,SAAkC,CAAC;AAClD,QAAA,WAAW,GAAG,SAAiC,CAAC;AAChD,QAAA,gBAAgB,GAAG,SAAsC,CAAC;AAC1D,QAAA,aAAa,GAAG,SAAmC,CAAC;AACpD,QAAA,UAAU,GAAG,SAAgC,CAAC;AAC9C,QAAA,WAAW,GAAG,SAAiC,CAAC","file":"","sourceRoot":"/","sourcesContent":["export const DummyNode = undefined as unknown as cc.Node;\nexport const DummySprite = undefined as unknown as cc.Sprite;\nexport const DummyLayout = undefined as unknown as cc.Layout;\nexport const DummyLabel = undefined as unknown as cc.Label;\nexport const DummyRichText = undefined as unknown as cc.RichText;\nexport const DummyScrollView = undefined as unknown as cc.ScrollView;\nexport const DummyPrefab = undefined as unknown as cc.Prefab;\nexport const DummyProgressBar = undefined as unknown as cc.ProgressBar;\nexport const DummyButton = undefined as unknown as cc.Button;\nexport const DummyToggleContainer = undefined as unknown as cc.ToggleContainer;\nexport const DymmyEditBox = undefined as unknown as cc.EditBox;\nexport const DymmyToggle = undefined as unknown as cc.Toggle;\nexport const DummySpriteFrame = undefined as unknown as cc.SpriteFrame;\nexport const DummyPageView = undefined as unknown as cc.PageView;\nexport const DummyColor = undefined as unknown as cc.Color;\nexport const DummyWidget = undefined as unknown as cc.Widget;\n"]}
\ No newline at end of file
{"version":3,"sources":["assets/script/common/CCDummyObjects.ts"],"names":[],"mappings":";;;;;;;AAAa,QAAA,SAAS,GAAG,SAA+B,CAAC;AAC5C,QAAA,WAAW,GAAG,SAAiC,CAAC;AAChD,QAAA,WAAW,GAAG,SAAiC,CAAC;AAChD,QAAA,UAAU,GAAG,SAAgC,CAAC;AAC9C,QAAA,aAAa,GAAG,SAAmC,CAAC;AACpD,QAAA,eAAe,GAAG,SAAqC,CAAC;AACxD,QAAA,WAAW,GAAG,SAAiC,CAAC;AAChD,QAAA,gBAAgB,GAAG,SAAsC,CAAC;AAC1D,QAAA,WAAW,GAAG,SAAiC,CAAC;AAChD,QAAA,oBAAoB,GAAG,SAA0C,CAAC;AAClE,QAAA,YAAY,GAAG,SAAkC,CAAC;AAClD,QAAA,WAAW,GAAG,SAAiC,CAAC;AAChD,QAAA,gBAAgB,GAAG,SAAsC,CAAC;AAC1D,QAAA,aAAa,GAAG,SAAmC,CAAC;AACpD,QAAA,UAAU,GAAG,SAAgC,CAAC;AAC9C,QAAA,WAAW,GAAG,SAAiC,CAAC;AAChD,QAAA,WAAW,GAAG,SAAiC,CAAC","file":"","sourceRoot":"/","sourcesContent":["export const DummyNode = undefined as unknown as cc.Node;\nexport const DummySprite = undefined as unknown as cc.Sprite;\nexport const DummyLayout = undefined as unknown as cc.Layout;\nexport const DummyLabel = undefined as unknown as cc.Label;\nexport const DummyRichText = undefined as unknown as cc.RichText;\nexport const DummyScrollView = undefined as unknown as cc.ScrollView;\nexport const DummyPrefab = undefined as unknown as cc.Prefab;\nexport const DummyProgressBar = undefined as unknown as cc.ProgressBar;\nexport const DummyButton = undefined as unknown as cc.Button;\nexport const DummyToggleContainer = undefined as unknown as cc.ToggleContainer;\nexport const DymmyEditBox = undefined as unknown as cc.EditBox;\nexport const DymmyToggle = undefined as unknown as cc.Toggle;\nexport const DummySpriteFrame = undefined as unknown as cc.SpriteFrame;\nexport const DummyPageView = undefined as unknown as cc.PageView;\nexport const DummyColor = undefined as unknown as cc.Color;\nexport const DummyWidget = undefined as unknown as cc.Widget;\nexport const DummyToggle = undefined as unknown as cc.Toggle;\n"]}
\ No newline at end of file
......@@ -52,7 +52,6 @@ let PhoneCallViewPresenter = /** @class */ (() => {
}
async onOpen() {
super.onOpen(undefined);
this._disposable.add(GameModelManager_1.GameModelManager.ApplicaitonGameChanged.on(this.onGameChangedClickCallback));
let plots = await GameModelManager_1.GameModelManager.rollbackPhoneCallIfNeeded();
this.analysisPlots(plots);
}
......
{"version":3,"sources":["assets/script/game/ui/presenter/PhoneCallViewPresenter.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { ConfigManager } from \"simba-config-manager\";\nimport { DeepReadonly } from \"simba-utils\";\nimport { PlotManager, ReadonlyPlots, SentenceSelectContent } from \"../../../avg/AVG\";\nimport { Presenter } from \"../../../common/classbase/PresenterBase\";\nimport { UIManager } from \"../../../common/gameplay/managers/UIManager\";\nimport { role } from \"../../../config/Role\";\nimport { PlotSceneType } from \"../../Enums\";\nimport { GameModelManager } from \"../../model/GameModelManager\";\nimport { RegPresenter } from \"../PresenterCCViewFactory\";\nimport { PhoneCallItemProps, PhoneCallView, PhoneCallViewProps, PhoneCallViewType } from \"../view/type/PhoneCallView\";\nimport { SentenceSelectorViewProps } from \"../view/type/SentenceSelectorView\";\nimport SentenceSelectorViewPresenter from \"./SentenceSelectorViewPresenter\";\n\n@RegPresenter(PhoneCallViewType)\nexport class PhoneCallViewPresenter extends Presenter<undefined, PhoneCallView> {\n static uuid = \"PhoneCallViewPresenter\";\n private _items: PhoneCallItemProps[] = [];\n private _viewProps: PhoneCallViewProps;\n\n onSetContent = (content: DeepReadonly<SentenceSelectContent> | undefined) => {\n let props: SentenceSelectorViewProps =\n {\n sentence: content,\n backgroundpath: \"\",\n clickcausehide: false,\n onSelectIndexCallback: this.onSelectIndexCallback\n\n };\n UIManager.pushPresenter(SentenceSelectorViewPresenter, props);\n }\n\n\n onSelectIndexCallback = (index: number) => {\n this.view.select(index);\n }\n\n isSentenceSelectVisible = (): boolean => {\n let preset = UIManager.getTopPresenter();\n if (preset instanceof SentenceSelectorViewPresenter) {\n let selectorPresenter = preset as SentenceSelectorViewPresenter;\n return !selectorPresenter.view.isHidden;\n }\n return false;\n }\n\n onGameChangedClickCallback = (ret: boolean) => {\n this.view.applicationChange(ret);\n }\n\n async onOpen() {\n super.onOpen(undefined);\n this._disposable.add(GameModelManager.ApplicaitonGameChanged.on(this.onGameChangedClickCallback));\n let plots = await GameModelManager.rollbackPhoneCallIfNeeded();\n this.analysisPlots(plots);\n }\n\n analysisPlots(plots: ReadonlyPlots) {\n this._items = [];\n let plot = plots[0];\n if (plot.plotSceneType !== PlotSceneType.PhoneCall) {\n console.error(\"Phone call plot data error.\");\n } else {\n let roleData = ConfigManager.getConfig(role, plot.plotSceneTypeId);\n this._items = [{ key: plot.id + \"\", isSelf: plot.sentences[0].roleId === 2, sentence: plot.sentences[0] }];\n this._viewProps =\n {\n name: roleData.name, // TODO i18n\n icon: GameModelManager.getRoleData(plot.plotSceneTypeId)!.getHeadIcon(),\n items: this._items,\n onCompletePlot: (index?: number) => PlotManager.completePlot(plot, index),\n onSetContent: this.onSetContent,\n isSentenceSelectVisible: this.isSentenceSelectVisible\n };\n this._view.setProps(this._viewProps);\n\n this._disposable.clear();\n this._disposable.add(PlotManager.PlotStartEvent.on((plots) => {\n plot = plots[0];\n if (plot.plotSceneType !== PlotSceneType.PhoneCall) {\n GameModelManager.dotMainLinePlotEnd();\n this._view.close();\n } else {\n let item = { key: plot.id + \"\", isSelf: plot.sentences[0].roleId === 2, sentence: plot.sentences[0] };\n let index = this._items.findIndex((v) => v.key === item.key);\n if (index === -1) {\n this._items = [...this._items, item];\n }\n this._view.updateProps({ items: this._items });\n }\n }));\n }\n }\n\n}"]}
\ No newline at end of file
{"version":3,"sources":["assets/script/game/ui/presenter/PhoneCallViewPresenter.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { ConfigManager } from \"simba-config-manager\";\nimport { DeepReadonly } from \"simba-utils\";\nimport { PlotManager, ReadonlyPlots, SentenceSelectContent } from \"../../../avg/AVG\";\nimport { Presenter } from \"../../../common/classbase/PresenterBase\";\nimport { UIManager } from \"../../../common/gameplay/managers/UIManager\";\nimport { role } from \"../../../config/Role\";\nimport { PlotSceneType } from \"../../Enums\";\nimport { GameModelManager } from \"../../model/GameModelManager\";\nimport { RegPresenter } from \"../PresenterCCViewFactory\";\nimport { PhoneCallItemProps, PhoneCallView, PhoneCallViewProps, PhoneCallViewType } from \"../view/type/PhoneCallView\";\nimport { SentenceSelectorViewProps } from \"../view/type/SentenceSelectorView\";\nimport SentenceSelectorViewPresenter from \"./SentenceSelectorViewPresenter\";\n\n@RegPresenter(PhoneCallViewType)\nexport class PhoneCallViewPresenter extends Presenter<undefined, PhoneCallView> {\n static uuid = \"PhoneCallViewPresenter\";\n private _items: PhoneCallItemProps[] = [];\n private _viewProps: PhoneCallViewProps;\n\n onSetContent = (content: DeepReadonly<SentenceSelectContent> | undefined) => {\n let props: SentenceSelectorViewProps =\n {\n sentence: content,\n backgroundpath: \"\",\n clickcausehide: false,\n onSelectIndexCallback: this.onSelectIndexCallback\n\n };\n UIManager.pushPresenter(SentenceSelectorViewPresenter, props);\n }\n\n\n onSelectIndexCallback = (index: number) => {\n this.view.select(index);\n }\n\n isSentenceSelectVisible = (): boolean => {\n let preset = UIManager.getTopPresenter();\n if (preset instanceof SentenceSelectorViewPresenter) {\n let selectorPresenter = preset as SentenceSelectorViewPresenter;\n return !selectorPresenter.view.isHidden;\n }\n return false;\n }\n\n onGameChangedClickCallback = (ret: boolean) => {\n this.view.applicationChange(ret);\n }\n\n async onOpen() {\n super.onOpen(undefined);\n let plots = await GameModelManager.rollbackPhoneCallIfNeeded();\n this.analysisPlots(plots);\n }\n\n analysisPlots(plots: ReadonlyPlots) {\n this._items = [];\n let plot = plots[0];\n if (plot.plotSceneType !== PlotSceneType.PhoneCall) {\n console.error(\"Phone call plot data error.\");\n } else {\n let roleData = ConfigManager.getConfig(role, plot.plotSceneTypeId);\n this._items = [{ key: plot.id + \"\", isSelf: plot.sentences[0].roleId === 2, sentence: plot.sentences[0] }];\n this._viewProps =\n {\n name: roleData.name, // TODO i18n\n icon: GameModelManager.getRoleData(plot.plotSceneTypeId)!.getHeadIcon(),\n items: this._items,\n onCompletePlot: (index?: number) => PlotManager.completePlot(plot, index),\n onSetContent: this.onSetContent,\n isSentenceSelectVisible: this.isSentenceSelectVisible\n };\n this._view.setProps(this._viewProps);\n\n this._disposable.clear();\n this._disposable.add(PlotManager.PlotStartEvent.on((plots) => {\n plot = plots[0];\n if (plot.plotSceneType !== PlotSceneType.PhoneCall) {\n GameModelManager.dotMainLinePlotEnd();\n this._view.close();\n } else {\n let item = { key: plot.id + \"\", isSelf: plot.sentences[0].roleId === 2, sentence: plot.sentences[0] };\n let index = this._items.findIndex((v) => v.key === item.key);\n if (index === -1) {\n this._items = [...this._items, item];\n }\n this._view.updateProps({ items: this._items });\n }\n }));\n }\n }\n\n}"]}
\ No newline at end of file
This diff could not be displayed because it is too large.
{
"last-edit": "2d2f792f-a40c-49bb-a189-ed176a246e49",
"last-edit": null,
"recent-items": [
"b8065da7-5527-4122-8cb2-8b0b67918e7c",
"6f5e58c9-b034-4462-bedd-ed81a6812825",
......@@ -64,7 +64,6 @@
"48032d4f-71e7-4488-88d0-b54af5dcb84a",
"3e9a1bd5-8271-43aa-bea0-a55f4f993720",
"b779c231-722a-4460-ac43-333651f1de42",
"0c5e5b6a-e3cd-49c8-b1f6-dd38039c121a",
"fa82047f-ca46-4900-b016-1cbc6fb8dc8a",
"e2cefdd5-1c31-4fc8-85ac-dbd2ea35a494",
"c408c1b6-ca44-4401-a59c-7feb174a3ef2",
......@@ -73,17 +72,18 @@
"4cec8901-8eab-4765-9ec8-af64f3931bf5",
"c6e78e76-41e2-4599-a47f-297d5cfc8ee8",
"33b784bb-bcde-43b1-8caf-f97acc5a7702",
"d73d46ac-877a-459d-96f8-68c75aca6eae",
"dea832f8-800e-40bb-9155-a3759b75be17",
"d38ffd80-2c0c-4865-993b-d8ce9f6fe21d",
"707817fb-30bd-49f6-b5fb-23ffa4d672ab",
"8c59299e-f7a6-4b18-bb15-ebe2570da3a3",
"ece3e714-af31-46df-98f2-b7f0cb6b5bb7",
"0564ee74-61c6-4db8-9589-b4486e1e56ae",
"caaa16e1-77dc-46c0-bfa4-151e51e9919f",
"2529f882-df6b-4cac-a25a-1ca4900ba066",
"02e8108f-1cea-48c1-bf08-4de4d0954e51",
"bd537cf0-df73-4b2a-bb36-40e91d4875e3",
"9d521361-150a-4693-a6c3-867dd716037f"
"9d521361-150a-4693-a6c3-867dd716037f",
"d73d46ac-877a-459d-96f8-68c75aca6eae",
"8c59299e-f7a6-4b18-bb15-ebe2570da3a3",
"0c5e5b6a-e3cd-49c8-b1f6-dd38039c121a"
]
}
{"version":"1.0.8","stats":{"/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/__qc_index__.js":"2022-01-27T07:55:24.613Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/ExtraPlotDatingEventSubViewPresenter.js":"2022-01-27T07:35:49.609Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/utils/StringUtils.js":"2022-01-27T07:35:49.696Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/model/GameRoleDataModel.js":"2022-01-27T07:35:49.580Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/GameConfig.js":"2022-01-27T07:35:49.679Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/ChatListViewImpl.js":"2022-01-27T07:35:49.637Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/gameplay/gamedata/GameTextData.js":"2022-01-27T07:35:49.591Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/dating/DatingSceneViewImpl.js":"2022-01-27T07:35:49.670Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/avg/game-data/GameVariables.js":"2022-01-27T07:35:49.640Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/DatingEventViewPresenter.js":"2022-01-27T07:35:49.621Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/ChatListViewPresenter.js":"2022-01-27T07:35:49.669Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/MainViewPresenter.js":"2022-01-27T07:35:49.624Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/baseview/impl/ListItemImpl.js":"2022-01-27T07:35:49.588Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/notice/NewNoticeViewPresenter.js":"2022-01-27T07:35:49.655Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/gameplay/managers/UIManager.js":"2022-01-27T07:35:49.596Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/PhoneCallViewImpl.js":"2022-01-27T07:35:49.579Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/GameDotMgr.js":"2022-01-27T07:55:20.766Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/HotUpdate.js":"2022-01-27T07:35:49.616Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/Launcher.js":"2022-01-27T07:55:20.865Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/md5.js":"2022-01-27T07:35:49.673Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/Enums.js":"2022-01-27T07:35:49.676Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/model/UnlockSpecialPlotModelManager.js":"2022-01-27T07:35:49.597Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/VerbView.js":"2022-01-27T07:35:49.579Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/DatingScenePresenter.js":"2022-01-27T07:35:49.606Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/ExchangeCodeViewPresenter.js":"2022-01-27T07:35:49.661Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/MessageViewPresenter.js":"2022-01-27T07:35:49.686Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/ExtraPlotViewPresenter.js":"2022-01-27T07:35:49.651Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/customerService/script/CustomerServiceDataCenter.js":"2022-01-27T07:35:49.665Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/message/ChatBubbleView.js":"2022-01-27T07:35:49.589Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/discover/ProductionTeamView.js":"2022-01-27T07:35:49.610Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/AlertDialogViewImpl.js":"2022-01-27T07:35:49.635Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/classbase/CCViewBase.js":"2022-01-27T07:35:49.592Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/components/PortraitFixComponent.js":"2022-01-27T07:35:49.634Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/type/TypeTest.js":"2022-01-27T07:35:49.681Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/event/BaseEvents.js":"2022-01-27T07:35:49.683Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/ActivitiesTypeConfig.js":"2022-01-27T07:35:49.630Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/event/EventKit.js":"2022-01-27T07:35:49.641Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/network/HttpRequests.js":"2022-01-27T07:35:49.585Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/list/ListView1.js":"2022-01-27T07:35:49.576Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/message/ImagePreviewPresenter.js":"2022-01-27T07:35:49.576Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/discover/DiscoverSettingViewPresenter.js":"2022-01-27T07:35:49.692Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/network/HttpClient.js":"2022-01-27T07:35:49.599Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/discover/ProductionTeamViewImpl.js":"2022-01-27T07:35:49.606Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/notice/NewNoticeViewImpl.js":"2022-01-27T07:35:49.649Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/message/SentenceSelectorViewImpl.js":"2022-01-27T07:35:49.642Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/notice/NewNoticeView.js":"2022-01-27T07:35:49.654Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/avg/AVG.js":"2022-01-27T07:35:49.577Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/ToBeContinueFix.js":"2022-01-27T07:35:49.612Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/avg/EditorEnums.js":"2022-01-27T07:35:49.651Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/avg/EditorEvents.js":"2022-01-27T07:35:49.575Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/CCDummyObjects.js":"2022-01-27T07:35:49.680Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/CCWechatScreenShotMgr.js":"2022-01-27T07:35:49.595Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/classbase/PresenterBase.js":"2022-01-27T07:35:49.634Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/avg/game-data/EditorGameVariables.js":"2022-01-27T07:35:49.638Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/classbase/ViewBase.js":"2022-01-27T07:35:49.682Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/components/FrameAnimation.js":"2022-01-27T07:35:49.630Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/components/Typewriter.js":"2022-01-27T07:35:49.590Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/components/SoundEffectButton.js":"2022-01-27T07:35:49.608Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/components/TouchSpecialEffComp.js":"2022-01-27T07:35:49.635Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/components/UIButton.js":"2022-01-27T07:35:49.684Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/components/SVButton.js":"2022-01-27T07:35:49.678Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/utils/ScheduleUtils.js":"2022-01-27T07:35:49.587Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/utils/AnimationUtils.js":"2022-01-27T07:35:49.645Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/components/AlterAnim.js":"2022-01-27T07:35:49.624Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/utils/ResUtils.js":"2022-01-27T07:35:49.656Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/type/Type.js":"2022-01-27T07:35:49.615Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/utils/NodePoolFactory.js":"2022-01-27T07:35:49.590Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/BedroomItemConfig.js":"2022-01-27T07:35:49.685Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/CatRewardConfig.js":"2022-01-27T07:35:49.602Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/CommissionConfig.js":"2022-01-27T07:35:49.628Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/CommissionUnlockConfig.js":"2022-01-27T07:35:49.648Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/CommissionEventConfig.js":"2022-01-27T07:35:49.626Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/CatLevelConfig.js":"2022-01-27T07:35:49.655Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/CommissionRewardConfig.js":"2022-01-27T07:35:49.660Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/DateSceneConfig.js":"2022-01-27T07:35:49.634Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/GuideManagerConfig.js":"2022-01-27T07:35:49.629Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/I18nConfig.js":"2022-01-27T07:35:49.578Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/ItemConfig.js":"2022-01-27T07:35:49.672Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/MessageSceneConfig.js":"2022-01-27T07:35:49.596Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/ItemTbl.js":"2022-01-27T07:35:49.682Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/PlayerClothesConfig.js":"2022-01-27T07:35:49.668Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/PlayerConfig.js":"2022-01-27T07:35:49.603Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/PlayerGiftConfig.js":"2022-01-27T07:35:49.583Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/PlayerMemoirsConfiig.js":"2022-01-27T07:35:49.646Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/PlayerTitleConfig.js":"2022-01-27T07:35:49.618Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/PlayerLevelConfig.js":"2022-01-27T07:35:49.694Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/PowerConfig.js":"2022-01-27T07:35:49.625Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/Role.js":"2022-01-27T07:35:49.604Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/SceneType.js":"2022-01-27T07:35:49.622Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/ShopConfig.js":"2022-01-27T07:35:49.593Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/RelationLevelConfig.js":"2022-01-27T07:35:49.632Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/PlayerSpeakConfig.js":"2022-01-27T07:35:49.600Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/SuitConfig.js":"2022-01-27T07:35:49.691Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/StoryTbl.js":"2022-01-27T07:35:49.673Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/TaoBaoShopUrlConfig.js":"2022-01-27T07:35:49.663Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/ActivitiesConifg.js":"2022-01-27T07:35:49.693Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/GameEvents.js":"2022-01-27T07:35:49.616Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/event/EventCenter.js":"2022-01-27T07:35:49.589Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/CatFoodConfig.js":"2022-01-27T07:35:49.657Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/CharacterVoiceConfig.js":"2022-01-27T07:35:49.582Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/model/CDKeyEventManager.js":"2022-01-27T07:35:49.605Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/model/DatingEventSceneModel.js":"2022-01-27T07:35:49.587Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/model/UnlockSpecialPlotEventManager.js":"2022-01-27T07:35:49.688Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/model/UnlockItemModelManager.js":"2022-01-27T07:35:49.641Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/model/PlotBranchManager.js":"2022-01-27T07:35:49.659Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/model/MessageSceneModel.js":"2022-01-27T07:35:49.633Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/model/ExtraStoryModelManager.js":"2022-01-27T07:35:49.629Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/CatBubbleConfig.js":"2022-01-27T07:35:49.681Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/MoveAction.js":"2022-01-27T07:35:49.674Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/model/ActivitiesItemModelManager.js":"2022-01-27T07:35:49.594Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/ItemBreathAction.js":"2022-01-27T07:35:49.623Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/PageViewIndicatorEx.js":"2022-01-27T07:35:49.643Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/PlaySoundEffectOnEnabled.js":"2022-01-27T07:35:49.598Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/PresenterCCViewFactory.js":"2022-01-27T07:35:49.666Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/MoveRepeatAction.js":"2022-01-27T07:35:49.592Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/ChapterBtn.js":"2022-01-27T07:35:49.677Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/ScaleAction.js":"2022-01-27T07:35:49.667Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/ScaleDisplayAction.js":"2022-01-27T07:35:49.652Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/SurroundMotionStreakAction.js":"2022-01-27T07:35:49.632Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/ItemBaiFadeOut.js":"2022-01-27T07:35:49.575Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/ItemFix.js":"2022-01-27T07:35:49.618Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/SpecialToast.js":"2022-01-27T07:35:49.639Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/UIUtils.js":"2022-01-27T07:35:49.586Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/baseview/ListView.js":"2022-01-27T07:35:49.679Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/SectionBtn.js":"2022-01-27T07:35:49.674Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/BreathAction.js":"2022-01-27T07:35:49.639Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/ActivitiesNoticeItem.js":"2022-01-27T07:35:49.650Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/list/ChatListView1.js":"2022-01-27T07:35:49.636Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/DebugViewPresenter.js":"2022-01-27T07:35:49.690Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/DiscoverViewPresenter.js":"2022-01-27T07:35:49.603Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/baseview/impl/ListViewImpl.js":"2022-01-27T07:35:49.587Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/baseview/impl/ListSubviewImpl.js":"2022-01-27T07:35:49.621Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/GuideViewPresenter.js":"2022-01-27T07:35:49.585Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/PlotStopViewPresenter.js":"2022-01-27T07:35:49.640Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/NoticeViewPresenter.js":"2022-01-27T07:35:49.607Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/LikeLevelSubpresenter.js":"2022-01-27T07:35:49.693Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/QRCodeViewPresenter.js":"2022-01-27T07:35:49.647Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/PhoneCallViewPresenter.js":"2022-01-27T07:35:49.691Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/SentenceSelectorViewPresenter.js":"2022-01-27T07:35:49.594Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/ReviewPlotViewPresenter.js":"2022-01-27T07:35:49.585Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/AlertDialogViewPresenter.js":"2022-01-27T07:35:49.631Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/gameplay/managers/AlertManager.js":"2022-01-27T07:35:49.577Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/gameplay/managers/ToastManager.js":"2022-01-27T07:35:49.666Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/gameplay/managers/TaskManager.js":"2022-01-27T07:35:49.695Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/gameplay/gamedata/GameConstData.js":"2022-01-27T07:35:49.675Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/discover/ProductionTeamViewPresenter.js":"2022-01-27T07:35:49.637Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/DateCountViewImpl.js":"2022-01-27T07:35:49.580Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/gameplay/gamedata/GameEnumData.js":"2022-01-27T07:35:49.633Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/DatingEventViewImpl.js":"2022-01-27T07:35:49.600Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/DebugViewImpl.js":"2022-01-27T07:35:49.676Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/ExchangeCodeViewImpl.js":"2022-01-27T07:35:49.642Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/LikeLevelSubviewImpl.js":"2022-01-27T07:35:49.631Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/DiscoverViewImpl.js":"2022-01-27T07:35:49.584Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/GuideViewImpl.js":"2022-01-27T07:35:49.644Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/ExtraPlotViewImpl.js":"2022-01-27T07:35:49.578Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/MessageEntryItem.js":"2022-01-27T07:35:49.662Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/MainInfoSubviewImpl.js":"2022-01-27T07:35:49.629Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/MainViewImpl.js":"2022-01-27T07:35:49.625Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/MessageViewImpl.js":"2022-01-27T07:35:49.581Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/NoticeViewImpl.js":"2022-01-27T07:35:49.687Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/PlotStopViewImpl.js":"2022-01-27T07:35:49.617Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/QRCodeViewImpl.js":"2022-01-27T07:35:49.574Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/ReviewPlotViewImpl.js":"2022-01-27T07:35:49.604Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/dating/DatingEventSubviewImpl.js":"2022-01-27T07:35:49.627Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/dating/DatingEventItemViewImpl.js":"2022-01-27T07:35:49.614Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/AlertToBeContinueImpl.js":"2022-01-27T07:37:24.059Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/dating/ExtraPlotDatingEventSubViewImpl.js":"2022-01-27T07:35:49.653Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/message/GiftListSubviewImpl.js":"2022-01-27T07:35:49.680Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/discover/DiscoverSettingViewImpl.js":"2022-01-27T07:35:49.645Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/message/GiftListItemImpl.js":"2022-01-27T07:35:49.581Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/ChatListView.js":"2022-01-27T07:35:49.638Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/DatingEventView.js":"2022-01-27T07:35:49.671Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/DateCountView.js":"2022-01-27T07:35:49.601Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/DiscoverView.js":"2022-01-27T07:35:49.658Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/ExChangeCodeView.js":"2022-01-27T07:35:49.675Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/DebugView.js":"2022-01-27T07:35:49.641Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/DatingEventSubview.js":"2022-01-27T07:35:49.628Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/message/ImagePreviewViewImpl.js":"2022-01-27T07:35:49.636Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/DatingSceneView.js":"2022-01-27T07:35:49.598Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/ExtraPlotDatingEventSubView.js":"2022-01-27T07:35:49.599Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/ExtraPlotView.js":"2022-01-27T07:35:49.609Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/GuideView.js":"2022-01-27T07:35:49.608Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/MainView.js":"2022-01-27T07:35:49.624Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/PhoneCallView.js":"2022-01-27T07:35:49.601Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/LikeLevelSubview.js":"2022-01-27T07:35:49.620Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/NoticeView.js":"2022-01-27T07:35:49.632Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/TabView.js":"2022-01-27T07:35:49.605Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/PlotStopView.js":"2022-01-27T07:35:49.613Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/QRCodeView.js":"2022-01-27T07:35:49.591Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/SentenceSelectorView.js":"2022-01-27T07:35:49.592Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/MessageView.js":"2022-01-27T07:35:49.584Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/MainInfoSubviewiew.js":"2022-01-27T07:35:49.588Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/AlertDialogView.js":"2022-01-27T07:35:49.619Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/ReviewPlotView.js":"2022-01-27T07:35:49.580Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/ItemView.js":"2022-01-27T07:35:49.623Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/GiftListSubview.js":"2022-01-27T07:35:49.688Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/ImagePreviewView.js":"2022-01-27T07:35:49.582Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/discover/DiscoverSettingView.js":"2022-01-27T07:35:49.684Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/model/GameModelManager.js":"2022-01-27T07:35:49.583Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-httpclient/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-sdk/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-sdk-dummy/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-cc-resutils/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-config-manager/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-cc-audio-manager/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-sdk-exchangecode/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-avg-core/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-eventkit/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-sdk/dist/SDKEvents.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-sdk/dist/TimeManager.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-sdk/dist/SDKBase.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-sdk-ccsvbutton/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-utils/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-cc-audio-manager/dist/AudioManager.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-cc-audio-manager/dist/AudioSettings.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-sdk-exchangecode/dist/ExchangeCodeDataCenter.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-avg-core/dist/EventEmitter.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-avg-core/dist/game-data/PlotsData.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-avg-core/dist/PlotManager.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-avg-core/dist/game-data/GameRecord.js":"2021-11-19T02:43:38.599Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-sdk/dist/SDKServer.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-sdk/dist/SDKRecordsData.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-sdk/dist/SVConfig.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-utils/dist/Md5.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-sdk-exchangecode/dist/ExchangeCodeClassBase.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-avg-core/dist/model/PlotModel.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-avg-core/dist/utils/PlotUtils.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-avg-core/dist/ActionManager.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-avg-core/dist/model/ActionModel.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-avg-core/dist/model/ConditionModel.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/inflate.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/deflate.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/utils/common.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/zlib/constants.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-localstorage/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-random/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/utils/strings.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/zlib/messages.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/zlib/zstream.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/zlib/gzheader.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/zlib/inflate.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/zlib/deflate.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/zlib/adler32.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/zlib/crc32.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/zlib/inffast.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/zlib/inftrees.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/zlib/trees.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-avg-core/dist/model/RichTextModel.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-avg-core/dist/utils/RichTextUtils.js":"1985-10-26T08:15:00.000Z"}}
{"version":"1.0.8","stats":{"/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/__qc_index__.js":"2022-01-27T09:13:03.735Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/ExtraPlotDatingEventSubViewPresenter.js":"2022-01-27T09:08:22.391Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/utils/StringUtils.js":"2022-01-27T09:08:22.355Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/model/GameRoleDataModel.js":"2022-01-27T09:08:22.379Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/GameConfig.js":"2022-01-27T09:08:22.430Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/ChatListViewImpl.js":"2022-01-27T09:08:22.401Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/gameplay/gamedata/GameTextData.js":"2022-01-27T09:08:22.351Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/dating/DatingSceneViewImpl.js":"2022-01-27T09:08:22.402Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/avg/game-data/GameVariables.js":"2022-01-27T09:08:22.345Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/DatingEventViewPresenter.js":"2022-01-27T09:08:22.388Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/ChatListViewPresenter.js":"2022-01-27T09:08:22.388Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/MainViewPresenter.js":"2022-01-27T09:08:22.392Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/baseview/impl/ListItemImpl.js":"2022-01-27T09:08:22.382Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/notice/NewNoticeViewPresenter.js":"2022-01-27T09:08:22.393Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/gameplay/managers/UIManager.js":"2022-01-27T09:08:22.352Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/PhoneCallViewImpl.js":"2022-01-27T09:08:22.410Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/GameDotMgr.js":"2022-01-27T09:08:22.374Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/HotUpdate.js":"2022-01-27T09:08:22.374Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/Launcher.js":"2022-01-27T09:08:22.375Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/md5.js":"2022-01-27T09:08:22.376Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/Enums.js":"2022-01-27T09:08:22.373Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/model/UnlockSpecialPlotModelManager.js":"2022-01-27T09:08:22.381Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/VerbView.js":"2022-01-27T09:08:22.399Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/DatingScenePresenter.js":"2022-01-27T09:08:22.388Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/ExchangeCodeViewPresenter.js":"2022-01-27T09:08:22.390Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/MessageViewPresenter.js":"2022-01-27T09:08:22.393Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/ExtraPlotViewPresenter.js":"2022-01-27T09:08:22.391Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/customerService/script/CustomerServiceDataCenter.js":"2022-01-27T09:08:22.371Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/message/ChatBubbleView.js":"2022-01-27T09:08:22.407Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/discover/ProductionTeamView.js":"2022-01-27T09:08:22.417Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/AlertDialogViewImpl.js":"2022-01-27T09:08:22.400Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/classbase/CCViewBase.js":"2022-01-27T09:08:22.346Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/components/PortraitFixComponent.js":"2022-01-27T09:08:22.348Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/type/TypeTest.js":"2022-01-27T09:08:22.353Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/event/BaseEvents.js":"2022-01-27T09:08:22.350Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/ActivitiesTypeConfig.js":"2022-01-27T09:08:22.355Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/event/EventKit.js":"2022-01-27T09:08:22.372Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/network/HttpRequests.js":"2022-01-27T09:08:22.381Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/list/ListView1.js":"2022-01-27T09:08:22.385Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/message/ImagePreviewPresenter.js":"2022-01-27T09:08:22.393Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/discover/DiscoverSettingViewPresenter.js":"2022-01-27T09:08:22.389Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/network/HttpClient.js":"2022-01-27T09:08:22.430Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/discover/ProductionTeamViewImpl.js":"2022-01-27T09:08:22.404Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/notice/NewNoticeViewImpl.js":"2022-01-27T09:08:22.410Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/message/SentenceSelectorViewImpl.js":"2022-01-27T09:08:22.408Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/notice/NewNoticeView.js":"2022-01-27T09:08:22.426Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/avg/AVG.js":"2022-01-27T09:08:22.344Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/ToBeContinueFix.js":"2022-01-27T09:08:22.352Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/avg/EditorEnums.js":"2022-01-27T09:08:22.344Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/avg/EditorEvents.js":"2022-01-27T09:08:22.345Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/CCDummyObjects.js":"2022-01-27T09:08:22.346Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/CCWechatScreenShotMgr.js":"2022-01-27T09:08:22.346Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/classbase/PresenterBase.js":"2022-01-27T09:08:22.346Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/avg/game-data/EditorGameVariables.js":"2022-01-27T09:08:22.345Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/classbase/ViewBase.js":"2022-01-27T09:08:22.347Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/components/FrameAnimation.js":"2022-01-27T09:08:22.347Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/components/Typewriter.js":"2022-01-27T09:08:22.349Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/components/SoundEffectButton.js":"2022-01-27T09:08:22.348Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/components/TouchSpecialEffComp.js":"2022-01-27T09:08:22.349Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/components/UIButton.js":"2022-01-27T09:08:22.350Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/components/SVButton.js":"2022-01-27T09:08:22.348Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/utils/ScheduleUtils.js":"2022-01-27T09:08:22.354Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/utils/AnimationUtils.js":"2022-01-27T09:08:22.353Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/components/AlterAnim.js":"2022-01-27T09:08:22.347Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/utils/ResUtils.js":"2022-01-27T09:08:22.354Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/type/Type.js":"2022-01-27T09:08:22.353Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/utils/NodePoolFactory.js":"2022-01-27T09:08:22.354Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/BedroomItemConfig.js":"2022-01-27T09:08:22.356Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/CatRewardConfig.js":"2022-01-27T09:08:22.358Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/CommissionConfig.js":"2022-01-27T09:08:22.358Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/CommissionUnlockConfig.js":"2022-01-27T09:08:22.359Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/CommissionEventConfig.js":"2022-01-27T09:08:22.359Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/CatLevelConfig.js":"2022-01-27T09:08:22.357Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/CommissionRewardConfig.js":"2022-01-27T09:08:22.359Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/DateSceneConfig.js":"2022-01-27T09:08:22.360Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/GuideManagerConfig.js":"2022-01-27T09:08:22.360Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/I18nConfig.js":"2022-01-27T09:08:22.360Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/ItemConfig.js":"2022-01-27T09:08:22.361Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/MessageSceneConfig.js":"2022-01-27T09:08:22.361Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/ItemTbl.js":"2022-01-27T09:08:22.361Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/PlayerClothesConfig.js":"2022-01-27T09:08:22.362Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/PlayerConfig.js":"2022-01-27T09:08:22.362Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/PlayerGiftConfig.js":"2022-01-27T09:08:22.363Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/PlayerMemoirsConfiig.js":"2022-01-27T09:08:22.365Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/PlayerTitleConfig.js":"2022-01-27T09:08:22.366Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/PlayerLevelConfig.js":"2022-01-27T09:08:22.364Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/PowerConfig.js":"2022-01-27T09:08:22.366Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/Role.js":"2022-01-27T09:08:22.368Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/SceneType.js":"2022-01-27T09:08:22.368Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/ShopConfig.js":"2022-01-27T09:08:22.369Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/RelationLevelConfig.js":"2022-01-27T09:08:22.367Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/PlayerSpeakConfig.js":"2022-01-27T09:08:22.365Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/SuitConfig.js":"2022-01-27T09:08:22.370Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/StoryTbl.js":"2022-01-27T09:08:22.370Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/TaoBaoShopUrlConfig.js":"2022-01-27T09:08:22.371Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/ActivitiesConifg.js":"2022-01-27T09:08:22.355Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/GameEvents.js":"2022-01-27T07:35:49.616Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/event/EventCenter.js":"2022-01-27T09:08:22.372Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/CatFoodConfig.js":"2022-01-27T09:08:22.357Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/CharacterVoiceConfig.js":"2022-01-27T09:08:22.358Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/model/CDKeyEventManager.js":"2022-01-27T09:08:22.377Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/model/DatingEventSceneModel.js":"2022-01-27T09:08:22.378Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/model/UnlockSpecialPlotEventManager.js":"2022-01-27T09:08:22.380Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/model/UnlockItemModelManager.js":"2022-01-27T09:08:22.380Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/model/PlotBranchManager.js":"2022-01-27T09:08:22.379Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/model/MessageSceneModel.js":"2022-01-27T09:08:22.379Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/model/ExtraStoryModelManager.js":"2022-01-27T09:08:22.378Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/config/CatBubbleConfig.js":"2022-01-27T09:08:22.356Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/MoveAction.js":"2022-01-27T09:08:22.386Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/model/ActivitiesItemModelManager.js":"2022-01-27T09:08:22.376Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/ItemBreathAction.js":"2022-01-27T09:08:22.384Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/PageViewIndicatorEx.js":"2022-01-27T09:08:22.386Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/PlaySoundEffectOnEnabled.js":"2022-01-27T09:08:22.387Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/PresenterCCViewFactory.js":"2022-01-27T09:08:22.397Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/MoveRepeatAction.js":"2022-01-27T09:08:22.386Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/ChapterBtn.js":"2022-01-27T07:35:49.677Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/ScaleAction.js":"2022-01-27T09:08:22.397Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/ScaleDisplayAction.js":"2022-01-27T09:08:22.398Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/SurroundMotionStreakAction.js":"2022-01-27T09:08:22.399Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/ItemBaiFadeOut.js":"2022-01-27T09:08:22.384Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/ItemFix.js":"2022-01-27T09:08:22.385Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/SpecialToast.js":"2022-01-27T09:08:22.399Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/UIUtils.js":"2022-01-27T07:35:49.586Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/baseview/ListView.js":"2022-01-27T09:08:22.383Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/SectionBtn.js":"2022-01-27T09:08:22.398Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/BreathAction.js":"2022-01-27T09:08:22.383Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/ActivitiesNoticeItem.js":"2022-01-27T09:08:22.382Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/list/ChatListView1.js":"2022-01-27T09:08:22.385Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/DebugViewPresenter.js":"2022-01-27T09:08:22.389Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/DiscoverViewPresenter.js":"2022-01-27T09:08:22.390Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/baseview/impl/ListViewImpl.js":"2022-01-27T09:08:22.383Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/baseview/impl/ListSubviewImpl.js":"2022-01-27T09:08:22.382Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/GuideViewPresenter.js":"2022-01-27T09:08:22.391Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/PlotStopViewPresenter.js":"2022-01-27T09:08:22.395Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/NoticeViewPresenter.js":"2022-01-27T09:08:22.394Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/LikeLevelSubpresenter.js":"2022-01-27T09:08:22.392Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/QRCodeViewPresenter.js":"2022-01-27T09:08:22.395Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/PhoneCallViewPresenter.js":"2022-01-27T09:08:22.394Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/SentenceSelectorViewPresenter.js":"2022-01-27T09:08:22.396Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/ReviewPlotViewPresenter.js":"2022-01-27T09:08:22.395Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/AlertDialogViewPresenter.js":"2022-01-27T09:08:22.387Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/gameplay/managers/AlertManager.js":"2022-01-27T09:08:22.351Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/gameplay/managers/ToastManager.js":"2022-01-27T09:08:22.352Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/gameplay/managers/TaskManager.js":"2022-01-27T09:08:22.351Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/gameplay/gamedata/GameConstData.js":"2022-01-27T09:08:22.350Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/presenter/discover/ProductionTeamViewPresenter.js":"2022-01-27T09:08:22.389Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/DateCountViewImpl.js":"2022-01-27T09:08:22.401Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/common/gameplay/gamedata/GameEnumData.js":"2022-01-27T09:08:22.350Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/DatingEventViewImpl.js":"2022-01-27T09:08:22.403Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/DebugViewImpl.js":"2022-01-27T09:08:22.403Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/ExchangeCodeViewImpl.js":"2022-01-27T09:08:22.404Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/LikeLevelSubviewImpl.js":"2022-01-27T09:08:22.406Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/DiscoverViewImpl.js":"2022-01-27T09:08:22.404Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/GuideViewImpl.js":"2022-01-27T09:08:22.405Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/ExtraPlotViewImpl.js":"2022-01-27T09:08:22.405Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/MessageEntryItem.js":"2022-01-27T09:08:22.409Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/MainInfoSubviewImpl.js":"2022-01-27T09:08:22.406Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/MainViewImpl.js":"2022-01-27T09:08:22.406Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/MessageViewImpl.js":"2022-01-27T09:08:22.409Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/NoticeViewImpl.js":"2022-01-27T09:08:22.410Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/PlotStopViewImpl.js":"2022-01-27T09:08:22.411Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/QRCodeViewImpl.js":"2022-01-27T09:08:22.411Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/ReviewPlotViewImpl.js":"2022-01-27T09:08:22.411Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/dating/DatingEventSubviewImpl.js":"2022-01-27T09:08:22.402Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/dating/DatingEventItemViewImpl.js":"2022-01-27T09:08:22.401Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/AlertToBeContinueImpl.js":"2022-01-27T09:08:22.400Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/dating/ExtraPlotDatingEventSubViewImpl.js":"2022-01-27T09:08:22.402Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/message/GiftListSubviewImpl.js":"2022-01-27T09:08:22.408Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/discover/DiscoverSettingViewImpl.js":"2022-01-27T09:08:22.403Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/message/GiftListItemImpl.js":"2022-01-27T09:08:22.407Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/ChatListView.js":"2022-01-27T09:08:22.413Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/DatingEventView.js":"2022-01-27T09:08:22.415Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/DateCountView.js":"2022-01-27T09:08:22.414Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/DiscoverView.js":"2022-01-27T09:08:22.418Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/ExChangeCodeView.js":"2022-01-27T09:08:22.419Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/DebugView.js":"2022-01-27T09:08:22.416Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/DatingEventSubview.js":"2022-01-27T09:08:22.414Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/impl/message/ImagePreviewViewImpl.js":"2022-01-27T09:08:22.408Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/DatingSceneView.js":"2022-01-27T09:08:22.415Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/ExtraPlotDatingEventSubView.js":"2022-01-27T09:08:22.420Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/ExtraPlotView.js":"2022-01-27T09:08:22.420Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/GuideView.js":"2022-01-27T09:08:22.421Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/MainView.js":"2022-01-27T09:08:22.424Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/PhoneCallView.js":"2022-01-27T09:08:22.427Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/LikeLevelSubview.js":"2022-01-27T09:08:22.423Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/NoticeView.js":"2022-01-27T09:08:22.426Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/TabView.js":"2022-01-27T09:08:22.429Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/PlotStopView.js":"2022-01-27T09:08:22.428Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/QRCodeView.js":"2022-01-27T09:08:22.428Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/SentenceSelectorView.js":"2022-01-27T09:08:22.429Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/MessageView.js":"2022-01-27T09:08:22.425Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/MainInfoSubviewiew.js":"2022-01-27T09:08:22.424Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/AlertDialogView.js":"2022-01-27T09:08:22.412Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/ReviewPlotView.js":"2022-01-27T09:08:22.428Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/ItemView.js":"2022-01-27T09:08:22.423Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/GiftListSubview.js":"2022-01-27T09:08:22.421Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/ImagePreviewView.js":"2022-01-27T09:08:22.422Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/ui/view/type/discover/DiscoverSettingView.js":"2022-01-27T09:08:22.417Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/temp/quick-scripts/src/assets/script/game/model/GameModelManager.js":"2022-01-27T09:08:22.378Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-httpclient/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-sdk/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-sdk-dummy/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-cc-resutils/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-config-manager/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-cc-audio-manager/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-sdk-exchangecode/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-avg-core/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-eventkit/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-sdk/dist/SDKEvents.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-sdk/dist/TimeManager.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-sdk/dist/SDKBase.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-sdk-ccsvbutton/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-utils/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-cc-audio-manager/dist/AudioManager.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-cc-audio-manager/dist/AudioSettings.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-sdk-exchangecode/dist/ExchangeCodeDataCenter.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-avg-core/dist/EventEmitter.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-avg-core/dist/game-data/PlotsData.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-avg-core/dist/PlotManager.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-avg-core/dist/game-data/GameRecord.js":"2021-11-19T02:43:38.599Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-sdk/dist/SDKServer.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-sdk/dist/SDKRecordsData.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-sdk/dist/SVConfig.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-utils/dist/Md5.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-sdk-exchangecode/dist/ExchangeCodeClassBase.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-avg-core/dist/model/PlotModel.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-avg-core/dist/utils/PlotUtils.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-avg-core/dist/ActionManager.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-avg-core/dist/model/ActionModel.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-avg-core/dist/model/ConditionModel.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/inflate.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/deflate.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/utils/common.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/zlib/constants.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-localstorage/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-random/dist/index.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/utils/strings.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/zlib/messages.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/zlib/zstream.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/zlib/gzheader.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/zlib/inflate.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/zlib/deflate.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/zlib/adler32.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/zlib/crc32.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/zlib/inffast.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/zlib/inftrees.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/pako/lib/zlib/trees.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-avg-core/dist/model/RichTextModel.js":"1985-10-26T08:15:00.000Z","/Users/zhangshuwen/Documents/mvp_xhc/vampire_copy/node_modules/simba-avg-core/dist/utils/RichTextUtils.js":"1985-10-26T08:15:00.000Z"}}
This diff could not be displayed because it is too large.
......@@ -100,7 +100,6 @@ require('./assets/script/game/model/UnlockSpecialPlotModelManager');
require('./assets/script/game/network/HttpRequests');
require('./assets/script/game/ui/ActivitiesNoticeItem');
require('./assets/script/game/ui/BreathAction');
require('./assets/script/game/ui/ChapterBtn');
require('./assets/script/game/ui/ItemBaiFadeOut');
require('./assets/script/game/ui/ItemBreathAction');
require('./assets/script/game/ui/ItemFix');
......
This diff could not be displayed because it is too large.
......@@ -15,7 +15,7 @@ cc._RF.push(module, 'dd648huSTtHhpLDyKM/BSiI', 'CCDummyObjects');
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.DummyWidget = exports.DummyColor = exports.DummyPageView = exports.DummySpriteFrame = exports.DymmyToggle = exports.DymmyEditBox = exports.DummyToggleContainer = exports.DummyButton = exports.DummyProgressBar = exports.DummyPrefab = exports.DummyScrollView = exports.DummyRichText = exports.DummyLabel = exports.DummyLayout = exports.DummySprite = exports.DummyNode = void 0;
exports.DummyToggle = exports.DummyWidget = exports.DummyColor = exports.DummyPageView = exports.DummySpriteFrame = exports.DymmyToggle = exports.DymmyEditBox = exports.DummyToggleContainer = exports.DummyButton = exports.DummyProgressBar = exports.DummyPrefab = exports.DummyScrollView = exports.DummyRichText = exports.DummyLabel = exports.DummyLayout = exports.DummySprite = exports.DummyNode = void 0;
exports.DummyNode = undefined;
exports.DummySprite = undefined;
exports.DummyLayout = undefined;
......@@ -32,6 +32,7 @@ exports.DummySpriteFrame = undefined;
exports.DummyPageView = undefined;
exports.DummyColor = undefined;
exports.DummyWidget = undefined;
exports.DummyToggle = undefined;
cc._RF.pop();
}
......@@ -44,4 +45,4 @@ cc._RF.pop();
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvY29tbW9uL0NDRHVtbXlPYmplY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFhLFFBQUEsU0FBUyxHQUFHLFNBQStCLENBQUM7QUFDNUMsUUFBQSxXQUFXLEdBQUcsU0FBaUMsQ0FBQztBQUNoRCxRQUFBLFdBQVcsR0FBRyxTQUFpQyxDQUFDO0FBQ2hELFFBQUEsVUFBVSxHQUFHLFNBQWdDLENBQUM7QUFDOUMsUUFBQSxhQUFhLEdBQUcsU0FBbUMsQ0FBQztBQUNwRCxRQUFBLGVBQWUsR0FBRyxTQUFxQyxDQUFDO0FBQ3hELFFBQUEsV0FBVyxHQUFHLFNBQWlDLENBQUM7QUFDaEQsUUFBQSxnQkFBZ0IsR0FBRyxTQUFzQyxDQUFDO0FBQzFELFFBQUEsV0FBVyxHQUFHLFNBQWlDLENBQUM7QUFDaEQsUUFBQSxvQkFBb0IsR0FBRyxTQUEwQyxDQUFDO0FBQ2xFLFFBQUEsWUFBWSxHQUFHLFNBQWtDLENBQUM7QUFDbEQsUUFBQSxXQUFXLEdBQUcsU0FBaUMsQ0FBQztBQUNoRCxRQUFBLGdCQUFnQixHQUFHLFNBQXNDLENBQUM7QUFDMUQsUUFBQSxhQUFhLEdBQUcsU0FBbUMsQ0FBQztBQUNwRCxRQUFBLFVBQVUsR0FBRyxTQUFnQyxDQUFDO0FBQzlDLFFBQUEsV0FBVyxHQUFHLFNBQWlDLENBQUMiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRHVtbXlOb2RlID0gdW5kZWZpbmVkIGFzIHVua25vd24gYXMgY2MuTm9kZTtcbmV4cG9ydCBjb25zdCBEdW1teVNwcml0ZSA9IHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIGNjLlNwcml0ZTtcbmV4cG9ydCBjb25zdCBEdW1teUxheW91dCA9IHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIGNjLkxheW91dDtcbmV4cG9ydCBjb25zdCBEdW1teUxhYmVsID0gdW5kZWZpbmVkIGFzIHVua25vd24gYXMgY2MuTGFiZWw7XG5leHBvcnQgY29uc3QgRHVtbXlSaWNoVGV4dCA9IHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIGNjLlJpY2hUZXh0O1xuZXhwb3J0IGNvbnN0IER1bW15U2Nyb2xsVmlldyA9IHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIGNjLlNjcm9sbFZpZXc7XG5leHBvcnQgY29uc3QgRHVtbXlQcmVmYWIgPSB1bmRlZmluZWQgYXMgdW5rbm93biBhcyBjYy5QcmVmYWI7XG5leHBvcnQgY29uc3QgRHVtbXlQcm9ncmVzc0JhciA9IHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIGNjLlByb2dyZXNzQmFyO1xuZXhwb3J0IGNvbnN0IER1bW15QnV0dG9uID0gdW5kZWZpbmVkIGFzIHVua25vd24gYXMgY2MuQnV0dG9uO1xuZXhwb3J0IGNvbnN0IER1bW15VG9nZ2xlQ29udGFpbmVyID0gdW5kZWZpbmVkIGFzIHVua25vd24gYXMgY2MuVG9nZ2xlQ29udGFpbmVyO1xuZXhwb3J0IGNvbnN0IER5bW15RWRpdEJveCA9IHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIGNjLkVkaXRCb3g7XG5leHBvcnQgY29uc3QgRHltbXlUb2dnbGUgPSB1bmRlZmluZWQgYXMgdW5rbm93biBhcyBjYy5Ub2dnbGU7XG5leHBvcnQgY29uc3QgRHVtbXlTcHJpdGVGcmFtZSA9IHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIGNjLlNwcml0ZUZyYW1lO1xuZXhwb3J0IGNvbnN0IER1bW15UGFnZVZpZXcgPSB1bmRlZmluZWQgYXMgdW5rbm93biBhcyBjYy5QYWdlVmlldztcbmV4cG9ydCBjb25zdCBEdW1teUNvbG9yID0gdW5kZWZpbmVkIGFzIHVua25vd24gYXMgY2MuQ29sb3I7XG5leHBvcnQgY29uc3QgRHVtbXlXaWRnZXQgPSB1bmRlZmluZWQgYXMgdW5rbm93biBhcyBjYy5XaWRnZXQ7XG4iXX0=
\ No newline at end of file
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvY29tbW9uL0NDRHVtbXlPYmplY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFhLFFBQUEsU0FBUyxHQUFHLFNBQStCLENBQUM7QUFDNUMsUUFBQSxXQUFXLEdBQUcsU0FBaUMsQ0FBQztBQUNoRCxRQUFBLFdBQVcsR0FBRyxTQUFpQyxDQUFDO0FBQ2hELFFBQUEsVUFBVSxHQUFHLFNBQWdDLENBQUM7QUFDOUMsUUFBQSxhQUFhLEdBQUcsU0FBbUMsQ0FBQztBQUNwRCxRQUFBLGVBQWUsR0FBRyxTQUFxQyxDQUFDO0FBQ3hELFFBQUEsV0FBVyxHQUFHLFNBQWlDLENBQUM7QUFDaEQsUUFBQSxnQkFBZ0IsR0FBRyxTQUFzQyxDQUFDO0FBQzFELFFBQUEsV0FBVyxHQUFHLFNBQWlDLENBQUM7QUFDaEQsUUFBQSxvQkFBb0IsR0FBRyxTQUEwQyxDQUFDO0FBQ2xFLFFBQUEsWUFBWSxHQUFHLFNBQWtDLENBQUM7QUFDbEQsUUFBQSxXQUFXLEdBQUcsU0FBaUMsQ0FBQztBQUNoRCxRQUFBLGdCQUFnQixHQUFHLFNBQXNDLENBQUM7QUFDMUQsUUFBQSxhQUFhLEdBQUcsU0FBbUMsQ0FBQztBQUNwRCxRQUFBLFVBQVUsR0FBRyxTQUFnQyxDQUFDO0FBQzlDLFFBQUEsV0FBVyxHQUFHLFNBQWlDLENBQUM7QUFDaEQsUUFBQSxXQUFXLEdBQUcsU0FBaUMsQ0FBQyIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBEdW1teU5vZGUgPSB1bmRlZmluZWQgYXMgdW5rbm93biBhcyBjYy5Ob2RlO1xuZXhwb3J0IGNvbnN0IER1bW15U3ByaXRlID0gdW5kZWZpbmVkIGFzIHVua25vd24gYXMgY2MuU3ByaXRlO1xuZXhwb3J0IGNvbnN0IER1bW15TGF5b3V0ID0gdW5kZWZpbmVkIGFzIHVua25vd24gYXMgY2MuTGF5b3V0O1xuZXhwb3J0IGNvbnN0IER1bW15TGFiZWwgPSB1bmRlZmluZWQgYXMgdW5rbm93biBhcyBjYy5MYWJlbDtcbmV4cG9ydCBjb25zdCBEdW1teVJpY2hUZXh0ID0gdW5kZWZpbmVkIGFzIHVua25vd24gYXMgY2MuUmljaFRleHQ7XG5leHBvcnQgY29uc3QgRHVtbXlTY3JvbGxWaWV3ID0gdW5kZWZpbmVkIGFzIHVua25vd24gYXMgY2MuU2Nyb2xsVmlldztcbmV4cG9ydCBjb25zdCBEdW1teVByZWZhYiA9IHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIGNjLlByZWZhYjtcbmV4cG9ydCBjb25zdCBEdW1teVByb2dyZXNzQmFyID0gdW5kZWZpbmVkIGFzIHVua25vd24gYXMgY2MuUHJvZ3Jlc3NCYXI7XG5leHBvcnQgY29uc3QgRHVtbXlCdXR0b24gPSB1bmRlZmluZWQgYXMgdW5rbm93biBhcyBjYy5CdXR0b247XG5leHBvcnQgY29uc3QgRHVtbXlUb2dnbGVDb250YWluZXIgPSB1bmRlZmluZWQgYXMgdW5rbm93biBhcyBjYy5Ub2dnbGVDb250YWluZXI7XG5leHBvcnQgY29uc3QgRHltbXlFZGl0Qm94ID0gdW5kZWZpbmVkIGFzIHVua25vd24gYXMgY2MuRWRpdEJveDtcbmV4cG9ydCBjb25zdCBEeW1teVRvZ2dsZSA9IHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIGNjLlRvZ2dsZTtcbmV4cG9ydCBjb25zdCBEdW1teVNwcml0ZUZyYW1lID0gdW5kZWZpbmVkIGFzIHVua25vd24gYXMgY2MuU3ByaXRlRnJhbWU7XG5leHBvcnQgY29uc3QgRHVtbXlQYWdlVmlldyA9IHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIGNjLlBhZ2VWaWV3O1xuZXhwb3J0IGNvbnN0IER1bW15Q29sb3IgPSB1bmRlZmluZWQgYXMgdW5rbm93biBhcyBjYy5Db2xvcjtcbmV4cG9ydCBjb25zdCBEdW1teVdpZGdldCA9IHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIGNjLldpZGdldDtcbmV4cG9ydCBjb25zdCBEdW1teVRvZ2dsZSA9IHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIGNjLlRvZ2dsZTtcbiJdfQ==
\ No newline at end of file
(function() {
var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
var __module = nodeEnv ? module : {exports:{}};
var __filename = 'preview-scripts/assets/script/game/ui/ChapterBtn.js';
var __require = nodeEnv ? function (request) {
return cc.require(request);
} : function (request) {
return __quick_compile_project__.require(request, __filename);
};
function __define (exports, require, module) {
if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict";
cc._RF.push(module, 'daa19ZPfvRLLYFk4juWpU/P', 'ChapterBtn');
// script/game/ui/ChapterBtn.ts
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
Object.defineProperty(exports, "__esModule", { value: true });
const CCDummyObjects_1 = require("../../common/CCDummyObjects");
const GameModelManager_1 = require("../model/GameModelManager");
const { ccclass, property } = cc._decorator;
let ChapterBtn = /** @class */ (() => {
let ChapterBtn = class ChapterBtn extends cc.Component {
constructor() {
super(...arguments);
this.label = CCDummyObjects_1.DummyLabel;
this.pointSpr = CCDummyObjects_1.DummyNode;
this._pid = -1;
}
setData(chapterId, chapterName, pid) {
this._pid = pid;
this.label.string = chapterId.toString() + "." + GameModelManager_1.GameModelManager.getI18LanguageTxt(chapterName);
}
onItemClick() {
console.log("onItemClick pid = ", this._pid);
GameModelManager_1.GameModelManager.RollBackToPlot.emit(this._pid);
let sprites = this.node.parent.getComponentsInChildren(cc.Sprite);
for (let i = 0; i < sprites.length; i++) {
sprites[i].node.active = false;
}
this.pointSpr.active = true;
cc.tween(this.pointSpr)
.repeatForever(cc.tween()
.to(0.5, { scale: 1.15, x: -25 }, { easing: 'sineInOut' })
.to(0.5, { scale: 1, x: -30 }, { easing: 'sineInOut' }))
.start();
let labels = this.node.parent.getComponentsInChildren(cc.Label);
for (let i = 0; i < labels.length; i++) {
labels[i].node.color = cc.color(255, 255, 255, 255);
}
this.label.node.color = cc.color(255, 238, 149, 255);
}
};
__decorate([
property(cc.Label)
], ChapterBtn.prototype, "label", void 0);
__decorate([
property(cc.Node)
], ChapterBtn.prototype, "pointSpr", void 0);
ChapterBtn = __decorate([
ccclass
], ChapterBtn);
return ChapterBtn;
})();
exports.default = ChapterBtn;
cc._RF.pop();
}
if (nodeEnv) {
__define(__module.exports, __require, __module);
}
else {
__quick_compile_project__.registerModuleFunc(__filename, function () {
__define(__module.exports, __require, __module);
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvZ2FtZS91aS9DaGFwdGVyQnRuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0VBQW9FO0FBQ3BFLGdFQUE2RDtBQUU3RCxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUM7QUFHNUM7SUFBQSxJQUFxQixVQUFVLEdBQS9CLE1BQXFCLFVBQVcsU0FBUSxFQUFFLENBQUMsU0FBUztRQUFwRDs7WUFHWSxVQUFLLEdBQUcsMkJBQVUsQ0FBQztZQUVuQixhQUFRLEdBQUcsMEJBQVMsQ0FBQztZQUVyQixTQUFJLEdBQVcsQ0FBQyxDQUFDLENBQUM7UUEyQjlCLENBQUM7UUF6QkcsT0FBTyxDQUFDLFNBQWlCLEVBQUUsV0FBbUIsRUFBRSxHQUFXO1lBQ3ZELElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1lBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxHQUFHLEdBQUcsbUNBQWdCLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDckcsQ0FBQztRQUVELFdBQVc7WUFDUCxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3QyxtQ0FBZ0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbEUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3JDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQzthQUNsQztZQUNELElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUM1QixFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7aUJBQ2xCLGFBQWEsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFO2lCQUNwQixFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsQ0FBQztpQkFDekQsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztpQkFDM0QsS0FBSyxFQUFFLENBQUM7WUFDYixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3BDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDdkQ7WUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN6RCxDQUFDO0tBRUosQ0FBQTtJQS9CRztRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDOzZDQUNRO0lBRTNCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7Z0RBQ1c7SUFMWixVQUFVO1FBRDlCLE9BQU87T0FDYSxVQUFVLENBa0M5QjtJQUFELGlCQUFDO0tBQUE7a0JBbENvQixVQUFVIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHVtbXlMYWJlbCwgRHVtbXlOb2RlIH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9DQ0R1bW15T2JqZWN0c1wiO1xuaW1wb3J0IHsgR2FtZU1vZGVsTWFuYWdlciB9IGZyb20gXCIuLi9tb2RlbC9HYW1lTW9kZWxNYW5hZ2VyXCI7XG5cbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XG5cbkBjY2NsYXNzXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDaGFwdGVyQnRuIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcblxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcbiAgICBwcml2YXRlIGxhYmVsID0gRHVtbXlMYWJlbDtcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcbiAgICBwcml2YXRlIHBvaW50U3ByID0gRHVtbXlOb2RlO1xuXG4gICAgcHJpdmF0ZSBfcGlkOiBudW1iZXIgPSAtMTtcblxuICAgIHNldERhdGEoY2hhcHRlcklkOiBudW1iZXIsIGNoYXB0ZXJOYW1lOiBudW1iZXIsIHBpZDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX3BpZCA9IHBpZDtcbiAgICAgICAgdGhpcy5sYWJlbC5zdHJpbmcgPSBjaGFwdGVySWQudG9TdHJpbmcoKSArIFwiLlwiICsgR2FtZU1vZGVsTWFuYWdlci5nZXRJMThMYW5ndWFnZVR4dChjaGFwdGVyTmFtZSk7XG4gICAgfVxuXG4gICAgb25JdGVtQ2xpY2soKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwib25JdGVtQ2xpY2sgcGlkID0gXCIsIHRoaXMuX3BpZCk7XG4gICAgICAgIEdhbWVNb2RlbE1hbmFnZXIuUm9sbEJhY2tUb1Bsb3QuZW1pdCh0aGlzLl9waWQpO1xuICAgICAgICBsZXQgc3ByaXRlcyA9IHRoaXMubm9kZS5wYXJlbnQuZ2V0Q29tcG9uZW50c0luQ2hpbGRyZW4oY2MuU3ByaXRlKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzcHJpdGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBzcHJpdGVzW2ldLm5vZGUuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wb2ludFNwci5hY3RpdmUgPSB0cnVlO1xuICAgICAgICBjYy50d2Vlbih0aGlzLnBvaW50U3ByKVxuICAgICAgICAgICAgLnJlcGVhdEZvcmV2ZXIoY2MudHdlZW4oKVxuICAgICAgICAgICAgICAgIC50bygwLjUsIHsgc2NhbGU6IDEuMTUsIHg6IC0yNSB9LCB7IGVhc2luZzogJ3NpbmVJbk91dCcgfSlcbiAgICAgICAgICAgICAgICAudG8oMC41LCB7IHNjYWxlOiAxLCB4OiAtMzAgfSwgeyBlYXNpbmc6ICdzaW5lSW5PdXQnIH0pKVxuICAgICAgICAgICAgLnN0YXJ0KCk7XG4gICAgICAgIGxldCBsYWJlbHMgPSB0aGlzLm5vZGUucGFyZW50LmdldENvbXBvbmVudHNJbkNoaWxkcmVuKGNjLkxhYmVsKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsYWJlbHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGxhYmVsc1tpXS5ub2RlLmNvbG9yID0gY2MuY29sb3IoMjU1LCAyNTUsIDI1NSwgMjU1KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxhYmVsLm5vZGUuY29sb3IgPSBjYy5jb2xvcigyNTUsIDIzOCwgMTQ5LCAyNTUpO1xuICAgIH1cblxufVxuIl19
\ No newline at end of file
......@@ -66,14 +66,6 @@ let DiscoverViewPresenter = /** @class */ (() => {
await simba_sdk_1.SDK.setClipboardData(this._viewProps.manId);
UIManager_1.UIManager.showToast("用户ID:" + this._viewProps.manId);
};
this.onForceEnterDiscoverSubView = (itemType) => {
this.itemClickCallBack(itemType);
};
this.onPlayerOptionSkin = () => {
this.initViewProps();
this.initItemConfig();
this._view.updateProps(this._viewProps);
};
}
static isShowRedDot() {
return false;
......@@ -99,8 +91,6 @@ let DiscoverViewPresenter = /** @class */ (() => {
}
onOpen() {
super.onOpen(undefined);
this._disposable.add(GameModelManager_1.GameModelManager.PlayerOptionSkin.on(this.onPlayerOptionSkin));
this._disposable.add(GameModelManager_1.GameModelManager.ForceEnterDiscoverSubView.on(this.onForceEnterDiscoverSubView));
this.onShow();
}
onShow() {
......@@ -149,4 +139,4 @@ cc._RF.pop();
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvZ2FtZS91aS9wcmVzZW50ZXIvRGlzY292ZXJWaWV3UHJlc2VudGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUNBQWdDO0FBQ2hDLDBDQUE4QztBQUM5QywyRUFBb0U7QUFDcEUsMkVBQXdFO0FBQ3hFLG1FQUFnRTtBQUNoRSxzRUFBeUQ7QUFDekQsNERBQThGO0FBQzlGLDBGQUF1RjtBQUN2RixpRkFBOEU7QUFDOUUsdUNBQStDO0FBQy9DLCtEQUF3RDtBQUN4RCxpREFBMEM7QUFDMUMsd0ZBQWlGO0FBR2pGO0lBQUEsSUFBcUIscUJBQXFCLEdBQTFDLE1BQXFCLHFCQUFzQixTQUFRLHlCQUFrQztRQVNqRjtZQUNJLEtBQUssRUFBRSxDQUFDO1lBYVosc0JBQWlCLEdBQUcsQ0FBQyxRQUEwQixFQUFFLEVBQUU7Z0JBQy9DLFFBQVEsUUFBUSxFQUFFO29CQUNkLEtBQUssd0JBQWdCLENBQUMsUUFBUTt3QkFDMUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO3dCQUN2QixxQkFBUyxDQUFDLGFBQWEsQ0FBQywyREFBNEIsRUFBRSxTQUFTLENBQUMsQ0FBQzt3QkFDakUsTUFBTTtvQkFDVixLQUFLLHdCQUFnQixDQUFDLEtBQUs7d0JBQ3ZCLE1BQU07b0JBQ1YsS0FBSyx3QkFBZ0IsQ0FBQyxlQUFlO3dCQUNqQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7d0JBQ3ZCLFNBQVM7d0JBQ1Qsb0JBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FBQzt3QkFDdkQscUJBQVMsQ0FBQyxhQUFhLENBQUMsNkJBQW1CLEVBQUUsU0FBUyxDQUFDLENBQUM7d0JBQ3hELE1BQU07b0JBQ1YsS0FBSyx3QkFBZ0IsQ0FBQyxjQUFjO3dCQUNoQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7d0JBQ3ZCLFNBQVM7d0JBQ1QscUJBQVMsQ0FBQyxhQUFhLENBQUMscUNBQTJCLEVBQUUsU0FBUyxDQUFDLENBQUM7d0JBQ2hFLE1BQU07b0JBQ1Y7d0JBQ0kscUJBQVMsQ0FBQyxTQUFTLENBQUMsbUNBQWdCLENBQUMsY0FBYyxDQUFDLDJCQUFZLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO3dCQUM5RixNQUFNO2lCQUNiO1lBQ0wsQ0FBQyxDQUFBO1lBRUQsZUFBVSxHQUFHLEtBQUssSUFBSSxFQUFFO2dCQUNwQixNQUFNLGVBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNsRCxxQkFBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6RCxDQUFDLENBQUE7WUFtQkQsZ0NBQTJCLEdBQUcsQ0FBQyxRQUEwQixFQUFFLEVBQUU7Z0JBQ3pELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyQyxDQUFDLENBQUE7WUFFRCx1QkFBa0IsR0FBRyxHQUFHLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDNUMsQ0FBQyxDQUFBO1FBbkVELENBQUM7UUFORCxNQUFNLENBQUMsWUFBWTtZQUNmLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7UUFNRCxhQUFhO1lBQ1QsSUFBSSxDQUFDLFVBQVUsR0FBRztnQkFDZCxPQUFPLEVBQUUsRUFBRTtnQkFDWCxLQUFLLEVBQUUsRUFBRTtnQkFDVCxPQUFPLEVBQUUsRUFBRTtnQkFDWCxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQzNCLFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCO2FBQ3RDLENBQUM7UUFDTixDQUFDO1FBZ0NELGNBQWM7O1lBQ1YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsZ0JBQVUsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDO1lBQ2hFLFVBQUksZUFBRyxDQUFDLFlBQVksRUFBRSwwQ0FBRSxRQUFRLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLE1BQUEsZUFBRyxDQUFDLFlBQVksRUFBRSwwQ0FBRSxRQUFrQixDQUFDO2FBQ2xFO1lBQ0QsSUFBSSxNQUFNLEdBQUcsbUNBQWdCLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQztZQUNsRCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkQsQ0FBQztRQUVELE1BQU07WUFDRixLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLG1DQUFnQixDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1lBQ3BGLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLG1DQUFnQixDQUFDLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDO1lBQ3RHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsQixDQUFDO1FBWUQsTUFBTTtZQUNGLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDM0IsQ0FBQztRQUVELGlCQUFpQjtZQUNiLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMzQixDQUFDO1FBRUQsaUJBQWlCO1lBQ2IsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzNCLENBQUM7UUFFRCxNQUFNO1lBQ0YsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2YsZUFBRyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDaEMsQ0FBQztRQUVELGVBQWU7WUFDWCxlQUFHLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM3QixDQUFDO1FBRUQsZUFBZTtZQUNYLGVBQUcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzdCLENBQUM7S0FDSixDQUFBO0lBOUdVLDBCQUFJLEdBQUcsdUJBQXVCLENBQUM7SUFEckIscUJBQXFCO1FBRHpDLHFDQUFZLENBQUMsK0JBQWdCLENBQUM7T0FDVixxQkFBcUIsQ0ErR3pDO0lBQUQsNEJBQUM7S0FBQTtrQkEvR29CLHFCQUFxQiIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNESyB9IGZyb20gXCJzaW1iYS1zZGtcIjtcbmltcG9ydCB7IEdhbWVSZWNvcmQgfSBmcm9tIFwiLi4vLi4vLi4vYXZnL0FWR1wiO1xuaW1wb3J0IHsgUHJlc2VudGVyIH0gZnJvbSBcIi4uLy4uLy4uL2NvbW1vbi9jbGFzc2Jhc2UvUHJlc2VudGVyQmFzZVwiO1xuaW1wb3J0IHsgVUlNYW5hZ2VyIH0gZnJvbSBcIi4uLy4uLy4uL2NvbW1vbi9nYW1lcGxheS9tYW5hZ2Vycy9VSU1hbmFnZXJcIjtcbmltcG9ydCB7IEdhbWVNb2RlbE1hbmFnZXIgfSBmcm9tIFwiLi4vLi4vbW9kZWwvR2FtZU1vZGVsTWFuYWdlclwiO1xuaW1wb3J0IHsgUmVnUHJlc2VudGVyIH0gZnJvbSBcIi4uL1ByZXNlbnRlckNDVmlld0ZhY3RvcnlcIjtcbmltcG9ydCB7IERpc2NvdmVyVmlldywgRGlzY292ZXJWaWV3UHJvcHMsIERpc2NvdmVyVmlld1R5cGUgfSBmcm9tIFwiLi4vdmlldy90eXBlL0Rpc2NvdmVyVmlld1wiO1xuaW1wb3J0IHsgRGlzY292ZXJTZXR0aW5nVmlld1ByZXNlbnRlciB9IGZyb20gXCIuL2Rpc2NvdmVyL0Rpc2NvdmVyU2V0dGluZ1ZpZXdQcmVzZW50ZXJcIjtcbmltcG9ydCB7IEdhbWVUZXh0RGF0YSB9IGZyb20gXCIuLi8uLi8uLi9jb21tb24vZ2FtZXBsYXkvZ2FtZWRhdGEvR2FtZVRleHREYXRhXCI7XG5pbXBvcnQgeyBEaXNjb3Zlckl0ZW1UeXBlIH0gZnJvbSBcIi4uLy4uL0VudW1zXCI7XG5pbXBvcnQgUVJDb2RlVmlld1ByZXNlbnRlciBmcm9tIFwiLi9RUkNvZGVWaWV3UHJlc2VudGVyXCI7XG5pbXBvcnQgR2FtZURvdE1nciBmcm9tIFwiLi4vLi4vR2FtZURvdE1nclwiO1xuaW1wb3J0IFByb2R1Y3Rpb25UZWFtVmlld1ByZXNlbnRlciBmcm9tIFwiLi9kaXNjb3Zlci9Qcm9kdWN0aW9uVGVhbVZpZXdQcmVzZW50ZXJcIjtcblxuQFJlZ1ByZXNlbnRlcihEaXNjb3ZlclZpZXdUeXBlKVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGlzY292ZXJWaWV3UHJlc2VudGVyIGV4dGVuZHMgUHJlc2VudGVyPHVuZGVmaW5lZCwgRGlzY292ZXJWaWV3PiAge1xuICAgIHN0YXRpYyB1dWlkID0gXCJEaXNjb3ZlclZpZXdQcmVzZW50ZXJcIjtcblxuICAgIHByaXZhdGUgX3ZpZXdQcm9wczogRGlzY292ZXJWaWV3UHJvcHM7XG5cbiAgICBzdGF0aWMgaXNTaG93UmVkRG90KCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgaW5pdFZpZXdQcm9wcygpIHtcbiAgICAgICAgdGhpcy5fdmlld1Byb3BzID0ge1xuICAgICAgICAgICAgbWFuTmFtZTogXCJcIixcbiAgICAgICAgICAgIG1hbklkOiBcIlwiLFxuICAgICAgICAgICAgbWFuSWNvbjogXCJcIixcbiAgICAgICAgICAgIG9uQ29weUluZm86IHRoaXMub25Db3B5SW5mbyxcbiAgICAgICAgICAgIG9uSXRlbUNsaWNrOiB0aGlzLml0ZW1DbGlja0NhbGxCYWNrXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgaXRlbUNsaWNrQ2FsbEJhY2sgPSAoaXRlbVR5cGU6IERpc2NvdmVySXRlbVR5cGUpID0+IHtcbiAgICAgICAgc3dpdGNoIChpdGVtVHlwZSkge1xuICAgICAgICAgICAgY2FzZSBEaXNjb3Zlckl0ZW1UeXBlLlNldHRpbmdzOlxuICAgICAgICAgICAgICAgIHRoaXMuaGlkZUdhbWVDbHViQnRuKCk7XG4gICAgICAgICAgICAgICAgVUlNYW5hZ2VyLnB1c2hQcmVzZW50ZXIoRGlzY292ZXJTZXR0aW5nVmlld1ByZXNlbnRlciwgdW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRGlzY292ZXJJdGVtVHlwZS5Gb3J1bTpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRGlzY292ZXJJdGVtVHlwZS5DdXN0b21lclNlcnZpY2U6XG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlR2FtZUNsdWJCdG4oKTtcbiAgICAgICAgICAgICAgICAvL+eCueWHu+S6jOe7tOeggeaJk+eCuVxuICAgICAgICAgICAgICAgIEdhbWVEb3RNZ3IuZ2V0SW5zdGFuY2UoKS5kb3RDbGlja1VJKFwiQ3VzdG9tZXJTZXJ2aWNlXCIpO1xuICAgICAgICAgICAgICAgIFVJTWFuYWdlci5wdXNoUHJlc2VudGVyKFFSQ29kZVZpZXdQcmVzZW50ZXIsIHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIERpc2NvdmVySXRlbVR5cGUuUHJvZHVjdGlvblRlYW06XG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlR2FtZUNsdWJCdG4oKTtcbiAgICAgICAgICAgICAgICAvL+eCueWHu+S6jOe7tOeggeaJk+eCuVxuICAgICAgICAgICAgICAgIFVJTWFuYWdlci5wdXNoUHJlc2VudGVyKFByb2R1Y3Rpb25UZWFtVmlld1ByZXNlbnRlciwgdW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgVUlNYW5hZ2VyLnNob3dUb2FzdChHYW1lTW9kZWxNYW5hZ2VyLmdldExhbmd1YWdlVHh0KEdhbWVUZXh0RGF0YS5HQU1FX1RFWFRfREVWRUxPUElOR19WQUxVRSkpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Db3B5SW5mbyA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgYXdhaXQgU0RLLnNldENsaXBib2FyZERhdGEodGhpcy5fdmlld1Byb3BzLm1hbklkKTtcbiAgICAgICAgVUlNYW5hZ2VyLnNob3dUb2FzdChcIueUqOaIt0lE77yaXCIgKyB0aGlzLl92aWV3UHJvcHMubWFuSWQpO1xuICAgIH1cblxuICAgIGluaXRJdGVtQ29uZmlnKCkge1xuICAgICAgICB0aGlzLl92aWV3UHJvcHMubWFuTmFtZSA9IEdhbWVSZWNvcmQuZ2xvYmFsVmFyaWFibGVzLnBsYXllck5hbWU7XG4gICAgICAgIGlmIChTREsuZ2V0TG9naW5JbmZvKCk/LnBsYXllcklkKSB7XG4gICAgICAgICAgICB0aGlzLl92aWV3UHJvcHMubWFuSWQgPSBTREsuZ2V0TG9naW5JbmZvKCk/LnBsYXllcklkIGFzIHN0cmluZztcbiAgICAgICAgfVxuICAgICAgICBsZXQgcGxheWVyID0gR2FtZU1vZGVsTWFuYWdlci5nZXRQbGF5ZXJEYXRhKCk7XG4gICAgICAgIHRoaXMuX3ZpZXdQcm9wcy5tYW5OYW1lID0gcGxheWVyLmdldENvbmZpZygpLm5hbWU7XG4gICAgICAgIHRoaXMuX3ZpZXdQcm9wcy5tYW5JY29uID0gcGxheWVyLmdldEhlYWRJY29uKCk7XG4gICAgfVxuXG4gICAgb25PcGVuKCkge1xuICAgICAgICBzdXBlci5vbk9wZW4odW5kZWZpbmVkKTtcbiAgICAgICAgdGhpcy5fZGlzcG9zYWJsZS5hZGQoR2FtZU1vZGVsTWFuYWdlci5QbGF5ZXJPcHRpb25Ta2luLm9uKHRoaXMub25QbGF5ZXJPcHRpb25Ta2luKSk7XG4gICAgICAgIHRoaXMuX2Rpc3Bvc2FibGUuYWRkKEdhbWVNb2RlbE1hbmFnZXIuRm9yY2VFbnRlckRpc2NvdmVyU3ViVmlldy5vbih0aGlzLm9uRm9yY2VFbnRlckRpc2NvdmVyU3ViVmlldykpO1xuICAgICAgICB0aGlzLm9uU2hvdygpO1xuICAgIH1cblxuICAgIG9uRm9yY2VFbnRlckRpc2NvdmVyU3ViVmlldyA9IChpdGVtVHlwZTogRGlzY292ZXJJdGVtVHlwZSkgPT4ge1xuICAgICAgICB0aGlzLml0ZW1DbGlja0NhbGxCYWNrKGl0ZW1UeXBlKTtcbiAgICB9XG5cbiAgICBvblBsYXllck9wdGlvblNraW4gPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuaW5pdFZpZXdQcm9wcygpO1xuICAgICAgICB0aGlzLmluaXRJdGVtQ29uZmlnKCk7XG4gICAgICAgIHRoaXMuX3ZpZXcudXBkYXRlUHJvcHModGhpcy5fdmlld1Byb3BzKTtcbiAgICB9XG5cbiAgICBvblNob3coKSB7XG4gICAgICAgIHN1cGVyLm9uU2hvdygpO1xuICAgICAgICB0aGlzLmluaXRWaWV3UHJvcHMoKTtcbiAgICAgICAgdGhpcy5pbml0SXRlbUNvbmZpZygpO1xuICAgICAgICB0aGlzLnZpZXcuc2V0UHJvcHModGhpcy5fdmlld1Byb3BzKTtcbiAgICAgICAgdGhpcy52aWV3LmNyZWF0ZUdhbWVDbHViQnRuKCk7XG4gICAgICAgIHRoaXMuc2hvd0dhbWVDbHViQnRuKCk7XG4gICAgfVxuXG4gICAgb25FbnRlckJhY2tncm91bmQoKSB7XG4gICAgICAgIHN1cGVyLm9uRW50ZXJCYWNrZ3JvdW5kKCk7XG4gICAgICAgIHRoaXMuaGlkZUdhbWVDbHViQnRuKCk7XG4gICAgfVxuXG4gICAgb25FbnRlckZvcmVncm91bmQoKSB7XG4gICAgICAgIHN1cGVyLm9uRW50ZXJGb3JlZ3JvdW5kKCk7XG4gICAgICAgIHRoaXMuc2hvd0dhbWVDbHViQnRuKCk7XG4gICAgfVxuXG4gICAgb25IaWRlKCkge1xuICAgICAgICBzdXBlci5vbkhpZGUoKTtcbiAgICAgICAgU0RLLmRlc3Ryb3lHYW1lQ2x1YkJ1dHRvbigpO1xuICAgIH1cblxuICAgIHNob3dHYW1lQ2x1YkJ0bigpIHtcbiAgICAgICAgU0RLLnNob3dHYW1lQ2x1YkJ1dHRvbigpO1xuICAgIH1cblxuICAgIGhpZGVHYW1lQ2x1YkJ0bigpIHtcbiAgICAgICAgU0RLLmhpZGVHYW1lQ2x1YkJ1dHRvbigpO1xuICAgIH1cbn1cbiJdfQ==
\ No newline at end of file
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvZ2FtZS91aS9wcmVzZW50ZXIvRGlzY292ZXJWaWV3UHJlc2VudGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUNBQWdDO0FBQ2hDLDBDQUE4QztBQUM5QywyRUFBb0U7QUFDcEUsMkVBQXdFO0FBQ3hFLG1FQUFnRTtBQUNoRSxzRUFBeUQ7QUFDekQsNERBQThGO0FBQzlGLDBGQUF1RjtBQUN2RixpRkFBOEU7QUFDOUUsdUNBQStDO0FBQy9DLCtEQUF3RDtBQUN4RCxpREFBMEM7QUFDMUMsd0ZBQWlGO0FBR2pGO0lBQUEsSUFBcUIscUJBQXFCLEdBQTFDLE1BQXFCLHFCQUFzQixTQUFRLHlCQUFrQztRQVNqRjtZQUNJLEtBQUssRUFBRSxDQUFDO1lBYVosc0JBQWlCLEdBQUcsQ0FBQyxRQUEwQixFQUFFLEVBQUU7Z0JBQy9DLFFBQVEsUUFBUSxFQUFFO29CQUNkLEtBQUssd0JBQWdCLENBQUMsUUFBUTt3QkFDMUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO3dCQUN2QixxQkFBUyxDQUFDLGFBQWEsQ0FBQywyREFBNEIsRUFBRSxTQUFTLENBQUMsQ0FBQzt3QkFDakUsTUFBTTtvQkFDVixLQUFLLHdCQUFnQixDQUFDLEtBQUs7d0JBQ3ZCLE1BQU07b0JBQ1YsS0FBSyx3QkFBZ0IsQ0FBQyxlQUFlO3dCQUNqQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7d0JBQ3ZCLFNBQVM7d0JBQ1Qsb0JBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FBQzt3QkFDdkQscUJBQVMsQ0FBQyxhQUFhLENBQUMsNkJBQW1CLEVBQUUsU0FBUyxDQUFDLENBQUM7d0JBQ3hELE1BQU07b0JBQ1YsS0FBSyx3QkFBZ0IsQ0FBQyxjQUFjO3dCQUNoQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7d0JBQ3ZCLFNBQVM7d0JBQ1QscUJBQVMsQ0FBQyxhQUFhLENBQUMscUNBQTJCLEVBQUUsU0FBUyxDQUFDLENBQUM7d0JBQ2hFLE1BQU07b0JBQ1Y7d0JBQ0kscUJBQVMsQ0FBQyxTQUFTLENBQUMsbUNBQWdCLENBQUMsY0FBYyxDQUFDLDJCQUFZLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO3dCQUM5RixNQUFNO2lCQUNiO1lBQ0wsQ0FBQyxDQUFBO1lBRUQsZUFBVSxHQUFHLEtBQUssSUFBSSxFQUFFO2dCQUNwQixNQUFNLGVBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNsRCxxQkFBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6RCxDQUFDLENBQUE7UUF4Q0QsQ0FBQztRQU5ELE1BQU0sQ0FBQyxZQUFZO1lBQ2YsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQU1ELGFBQWE7WUFDVCxJQUFJLENBQUMsVUFBVSxHQUFHO2dCQUNkLE9BQU8sRUFBRSxFQUFFO2dCQUNYLEtBQUssRUFBRSxFQUFFO2dCQUNULE9BQU8sRUFBRSxFQUFFO2dCQUNYLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtnQkFDM0IsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUI7YUFDdEMsQ0FBQztRQUNOLENBQUM7UUFnQ0QsY0FBYzs7WUFDVixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sR0FBRyxnQkFBVSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUM7WUFDaEUsVUFBSSxlQUFHLENBQUMsWUFBWSxFQUFFLDBDQUFFLFFBQVEsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsTUFBQSxlQUFHLENBQUMsWUFBWSxFQUFFLDBDQUFFLFFBQWtCLENBQUM7YUFDbEU7WUFDRCxJQUFJLE1BQU0sR0FBRyxtQ0FBZ0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ2xELElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuRCxDQUFDO1FBRUQsTUFBTTtZQUNGLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xCLENBQUM7UUFFRCxNQUFNO1lBQ0YsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMzQixDQUFDO1FBRUQsaUJBQWlCO1lBQ2IsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzNCLENBQUM7UUFFRCxpQkFBaUI7WUFDYixLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDM0IsQ0FBQztRQUVELE1BQU07WUFDRixLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDZixlQUFHLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNoQyxDQUFDO1FBRUQsZUFBZTtZQUNYLGVBQUcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzdCLENBQUM7UUFFRCxlQUFlO1lBQ1gsZUFBRyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDN0IsQ0FBQztLQUNKLENBQUE7SUFsR1UsMEJBQUksR0FBRyx1QkFBdUIsQ0FBQztJQURyQixxQkFBcUI7UUFEekMscUNBQVksQ0FBQywrQkFBZ0IsQ0FBQztPQUNWLHFCQUFxQixDQW1HekM7SUFBRCw0QkFBQztLQUFBO2tCQW5Hb0IscUJBQXFCIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU0RLIH0gZnJvbSBcInNpbWJhLXNka1wiO1xuaW1wb3J0IHsgR2FtZVJlY29yZCB9IGZyb20gXCIuLi8uLi8uLi9hdmcvQVZHXCI7XG5pbXBvcnQgeyBQcmVzZW50ZXIgfSBmcm9tIFwiLi4vLi4vLi4vY29tbW9uL2NsYXNzYmFzZS9QcmVzZW50ZXJCYXNlXCI7XG5pbXBvcnQgeyBVSU1hbmFnZXIgfSBmcm9tIFwiLi4vLi4vLi4vY29tbW9uL2dhbWVwbGF5L21hbmFnZXJzL1VJTWFuYWdlclwiO1xuaW1wb3J0IHsgR2FtZU1vZGVsTWFuYWdlciB9IGZyb20gXCIuLi8uLi9tb2RlbC9HYW1lTW9kZWxNYW5hZ2VyXCI7XG5pbXBvcnQgeyBSZWdQcmVzZW50ZXIgfSBmcm9tIFwiLi4vUHJlc2VudGVyQ0NWaWV3RmFjdG9yeVwiO1xuaW1wb3J0IHsgRGlzY292ZXJWaWV3LCBEaXNjb3ZlclZpZXdQcm9wcywgRGlzY292ZXJWaWV3VHlwZSB9IGZyb20gXCIuLi92aWV3L3R5cGUvRGlzY292ZXJWaWV3XCI7XG5pbXBvcnQgeyBEaXNjb3ZlclNldHRpbmdWaWV3UHJlc2VudGVyIH0gZnJvbSBcIi4vZGlzY292ZXIvRGlzY292ZXJTZXR0aW5nVmlld1ByZXNlbnRlclwiO1xuaW1wb3J0IHsgR2FtZVRleHREYXRhIH0gZnJvbSBcIi4uLy4uLy4uL2NvbW1vbi9nYW1lcGxheS9nYW1lZGF0YS9HYW1lVGV4dERhdGFcIjtcbmltcG9ydCB7IERpc2NvdmVySXRlbVR5cGUgfSBmcm9tIFwiLi4vLi4vRW51bXNcIjtcbmltcG9ydCBRUkNvZGVWaWV3UHJlc2VudGVyIGZyb20gXCIuL1FSQ29kZVZpZXdQcmVzZW50ZXJcIjtcbmltcG9ydCBHYW1lRG90TWdyIGZyb20gXCIuLi8uLi9HYW1lRG90TWdyXCI7XG5pbXBvcnQgUHJvZHVjdGlvblRlYW1WaWV3UHJlc2VudGVyIGZyb20gXCIuL2Rpc2NvdmVyL1Byb2R1Y3Rpb25UZWFtVmlld1ByZXNlbnRlclwiO1xuXG5AUmVnUHJlc2VudGVyKERpc2NvdmVyVmlld1R5cGUpXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEaXNjb3ZlclZpZXdQcmVzZW50ZXIgZXh0ZW5kcyBQcmVzZW50ZXI8dW5kZWZpbmVkLCBEaXNjb3ZlclZpZXc+ICB7XG4gICAgc3RhdGljIHV1aWQgPSBcIkRpc2NvdmVyVmlld1ByZXNlbnRlclwiO1xuXG4gICAgcHJpdmF0ZSBfdmlld1Byb3BzOiBEaXNjb3ZlclZpZXdQcm9wcztcblxuICAgIHN0YXRpYyBpc1Nob3dSZWREb3QoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBpbml0Vmlld1Byb3BzKCkge1xuICAgICAgICB0aGlzLl92aWV3UHJvcHMgPSB7XG4gICAgICAgICAgICBtYW5OYW1lOiBcIlwiLFxuICAgICAgICAgICAgbWFuSWQ6IFwiXCIsXG4gICAgICAgICAgICBtYW5JY29uOiBcIlwiLFxuICAgICAgICAgICAgb25Db3B5SW5mbzogdGhpcy5vbkNvcHlJbmZvLFxuICAgICAgICAgICAgb25JdGVtQ2xpY2s6IHRoaXMuaXRlbUNsaWNrQ2FsbEJhY2tcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBpdGVtQ2xpY2tDYWxsQmFjayA9IChpdGVtVHlwZTogRGlzY292ZXJJdGVtVHlwZSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKGl0ZW1UeXBlKSB7XG4gICAgICAgICAgICBjYXNlIERpc2NvdmVySXRlbVR5cGUuU2V0dGluZ3M6XG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlR2FtZUNsdWJCdG4oKTtcbiAgICAgICAgICAgICAgICBVSU1hbmFnZXIucHVzaFByZXNlbnRlcihEaXNjb3ZlclNldHRpbmdWaWV3UHJlc2VudGVyLCB1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBEaXNjb3Zlckl0ZW1UeXBlLkZvcnVtOlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBEaXNjb3Zlckl0ZW1UeXBlLkN1c3RvbWVyU2VydmljZTpcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGVHYW1lQ2x1YkJ0bigpO1xuICAgICAgICAgICAgICAgIC8v54K55Ye75LqM57u056CB5omT54K5XG4gICAgICAgICAgICAgICAgR2FtZURvdE1nci5nZXRJbnN0YW5jZSgpLmRvdENsaWNrVUkoXCJDdXN0b21lclNlcnZpY2VcIik7XG4gICAgICAgICAgICAgICAgVUlNYW5hZ2VyLnB1c2hQcmVzZW50ZXIoUVJDb2RlVmlld1ByZXNlbnRlciwgdW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRGlzY292ZXJJdGVtVHlwZS5Qcm9kdWN0aW9uVGVhbTpcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGVHYW1lQ2x1YkJ0bigpO1xuICAgICAgICAgICAgICAgIC8v54K55Ye75LqM57u056CB5omT54K5XG4gICAgICAgICAgICAgICAgVUlNYW5hZ2VyLnB1c2hQcmVzZW50ZXIoUHJvZHVjdGlvblRlYW1WaWV3UHJlc2VudGVyLCB1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBVSU1hbmFnZXIuc2hvd1RvYXN0KEdhbWVNb2RlbE1hbmFnZXIuZ2V0TGFuZ3VhZ2VUeHQoR2FtZVRleHREYXRhLkdBTUVfVEVYVF9ERVZFTE9QSU5HX1ZBTFVFKSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNvcHlJbmZvID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICBhd2FpdCBTREsuc2V0Q2xpcGJvYXJkRGF0YSh0aGlzLl92aWV3UHJvcHMubWFuSWQpO1xuICAgICAgICBVSU1hbmFnZXIuc2hvd1RvYXN0KFwi55So5oi3SUTvvJpcIiArIHRoaXMuX3ZpZXdQcm9wcy5tYW5JZCk7XG4gICAgfVxuXG4gICAgaW5pdEl0ZW1Db25maWcoKSB7XG4gICAgICAgIHRoaXMuX3ZpZXdQcm9wcy5tYW5OYW1lID0gR2FtZVJlY29yZC5nbG9iYWxWYXJpYWJsZXMucGxheWVyTmFtZTtcbiAgICAgICAgaWYgKFNESy5nZXRMb2dpbkluZm8oKT8ucGxheWVySWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZpZXdQcm9wcy5tYW5JZCA9IFNESy5nZXRMb2dpbkluZm8oKT8ucGxheWVySWQgYXMgc3RyaW5nO1xuICAgICAgICB9XG4gICAgICAgIGxldCBwbGF5ZXIgPSBHYW1lTW9kZWxNYW5hZ2VyLmdldFBsYXllckRhdGEoKTtcbiAgICAgICAgdGhpcy5fdmlld1Byb3BzLm1hbk5hbWUgPSBwbGF5ZXIuZ2V0Q29uZmlnKCkubmFtZTtcbiAgICAgICAgdGhpcy5fdmlld1Byb3BzLm1hbkljb24gPSBwbGF5ZXIuZ2V0SGVhZEljb24oKTtcbiAgICB9XG5cbiAgICBvbk9wZW4oKSB7XG4gICAgICAgIHN1cGVyLm9uT3Blbih1bmRlZmluZWQpO1xuICAgICAgICB0aGlzLm9uU2hvdygpO1xuICAgIH1cblxuICAgIG9uU2hvdygpIHtcbiAgICAgICAgc3VwZXIub25TaG93KCk7XG4gICAgICAgIHRoaXMuaW5pdFZpZXdQcm9wcygpO1xuICAgICAgICB0aGlzLmluaXRJdGVtQ29uZmlnKCk7XG4gICAgICAgIHRoaXMudmlldy5zZXRQcm9wcyh0aGlzLl92aWV3UHJvcHMpO1xuICAgICAgICB0aGlzLnZpZXcuY3JlYXRlR2FtZUNsdWJCdG4oKTtcbiAgICAgICAgdGhpcy5zaG93R2FtZUNsdWJCdG4oKTtcbiAgICB9XG5cbiAgICBvbkVudGVyQmFja2dyb3VuZCgpIHtcbiAgICAgICAgc3VwZXIub25FbnRlckJhY2tncm91bmQoKTtcbiAgICAgICAgdGhpcy5oaWRlR2FtZUNsdWJCdG4oKTtcbiAgICB9XG5cbiAgICBvbkVudGVyRm9yZWdyb3VuZCgpIHtcbiAgICAgICAgc3VwZXIub25FbnRlckZvcmVncm91bmQoKTtcbiAgICAgICAgdGhpcy5zaG93R2FtZUNsdWJCdG4oKTtcbiAgICB9XG5cbiAgICBvbkhpZGUoKSB7XG4gICAgICAgIHN1cGVyLm9uSGlkZSgpO1xuICAgICAgICBTREsuZGVzdHJveUdhbWVDbHViQnV0dG9uKCk7XG4gICAgfVxuXG4gICAgc2hvd0dhbWVDbHViQnRuKCkge1xuICAgICAgICBTREsuc2hvd0dhbWVDbHViQnV0dG9uKCk7XG4gICAgfVxuXG4gICAgaGlkZUdhbWVDbHViQnRuKCkge1xuICAgICAgICBTREsuaGlkZUdhbWVDbHViQnV0dG9uKCk7XG4gICAgfVxufVxuIl19
\ No newline at end of file
......@@ -81,7 +81,6 @@ let ExchangeCodeViewPresenter = /** @class */ (() => {
CDKeyEventManager_1.default.getInstance().changeRoleLike(roleId, count);
}
}
GameModelManager_1.GameModelManager.UpdatePlayerData.emit();
}
}
break;
......@@ -133,7 +132,6 @@ let ExchangeCodeViewPresenter = /** @class */ (() => {
CDKeyEventManager_1.default.getInstance().changeRoleLike(roleId, count);
}
}
GameModelManager_1.GameModelManager.UpdatePlayerData.emit();
}
else if (ret.code === "104001") { //错误的验证码
let content = GameModelManager_1.GameModelManager.getLanguageTxt(GameTextData_1.GameTextData.TEXT_CDKEYINVALID_VALUE);
......@@ -184,4 +182,4 @@ cc._RF.pop();
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvZ2FtZS91aS9wcmVzZW50ZXIvRXhjaGFuZ2VDb2RlVmlld1ByZXNlbnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNFQUF5RDtBQUN6RCxvRUFBOEc7QUFDOUcsMkVBQW9FO0FBQ3BFLDZEQUEwRDtBQUMxRCxtRUFBZ0U7QUFDaEUsbUZBQWdGO0FBQ2hGLDJFQUF3RTtBQUN4RSxpRkFBOEU7QUFDOUUsaURBQTBDO0FBRTFDLDZGQUFzRjtBQUN0RixxRUFBOEQ7QUFDOUQsbUVBQXNEO0FBQ3RELDZGQUFzRjtBQUN0RixvREFBaUQ7QUFPakQ7SUFBQSxJQUFxQix5QkFBeUIsR0FBOUMsTUFBcUIseUJBQTBCLFNBQVEseUJBQThDO1FBTWpHO1lBQ0ksS0FBSyxFQUFFLENBQUM7WUFrQlosMEJBQXFCLEdBQUcsS0FBSyxFQUFFLEdBQVksRUFBRSxLQUFhLEVBQUUsRUFBRTtnQkFDMUQsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFO29CQUMvQixPQUFPO2lCQUNWO2dCQUNELG9CQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUNyRCxJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUM7Z0JBQzNCLElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxlQUFlLEVBQUU7b0JBQ2pCLElBQUksR0FBRyxHQUFHLE1BQU0scUNBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDcEMsSUFBSSx1QkFBVSxDQUFDLEtBQUs7d0JBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFDaEUsUUFBUSxHQUFHLENBQUMsU0FBUyxFQUFFO3dCQUNuQixLQUFLLHlDQUFpQixDQUFDLE9BQU87NEJBQzFCO2dDQUNJLFFBQVEsR0FBRyxPQUFPLENBQUM7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QUUsSUFBSSxDQUFDLHFCQUFxQjthQUM1QyxDQUFDO1FBQ04sQ0FBQztRQUVELE1BQU0sQ0FBQyxLQUF3QjtZQUMzQixLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMxRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBRUQsT0FBTztZQUNILEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEMsQ0FBQztLQW9HSixDQUFBO0lBekhVLDhCQUFJLEdBQUcsMkJBQTJCLENBQUM7SUFGekIseUJBQXlCO1FBRDdDLHFDQUFZLENBQUMsdUNBQW9CLENBQUM7T0FDZCx5QkFBeUIsQ0EySDdDO0lBQUQsZ0NBQUM7S0FBQTtrQkEzSG9CLHlCQUF5QiIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlZ1ByZXNlbnRlciB9IGZyb20gXCIuLi9QcmVzZW50ZXJDQ1ZpZXdGYWN0b3J5XCI7XHJcbmltcG9ydCB7IEV4Y2hhbmdlQ29kZVZpZXdUeXBlLCBFeGNoYW5nZUNvZGVWaWV3LCBFeGNoYW5nZUNvZGVWaWV3UHJvcHMgfSBmcm9tIFwiLi4vdmlldy90eXBlL0V4Q2hhbmdlQ29kZVZpZXdcIjtcclxuaW1wb3J0IHsgUHJlc2VudGVyIH0gZnJvbSBcIi4uLy4uLy4uL2NvbW1vbi9jbGFzc2Jhc2UvUHJlc2VudGVyQmFzZVwiO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdHMgfSBmcm9tIFwiLi4vLi4vbmV0d29yay9IdHRwUmVxdWVzdHNcIjtcclxuaW1wb3J0IHsgR2FtZU1vZGVsTWFuYWdlciB9IGZyb20gXCIuLi8uLi9tb2RlbC9HYW1lTW9kZWxNYW5hZ2VyXCI7XHJcbmltcG9ydCB7IEdhbWVDb25zdERhdGEgfSBmcm9tIFwiLi4vLi4vLi4vY29tbW9uL2dhbWVwbGF5L2dhbWVkYXRhL0dhbWVDb25zdERhdGFcIjtcclxuaW1wb3J0IHsgVUlNYW5hZ2VyIH0gZnJvbSBcIi4uLy4uLy4uL2NvbW1vbi9nYW1lcGxheS9tYW5hZ2Vycy9VSU1hbmFnZXJcIjtcclxuaW1wb3J0IHsgR2FtZVRleHREYXRhIH0gZnJvbSBcIi4uLy4uLy4uL2NvbW1vbi9nYW1lcGxheS9nYW1lZGF0YS9HYW1lVGV4dERhdGFcIjtcclxuaW1wb3J0IEdhbWVEb3RNZ3IgZnJvbSBcIi4uLy4uL0dhbWVEb3RNZ3JcIjtcclxuaW1wb3J0IHsgU0RLIH0gZnJvbSBcInNpbWJhLXNka1wiO1xyXG5pbXBvcnQgVW5sb2NrU3BlY2lhbFBsb3RFdmVudE1hbmFnZXIgZnJvbSBcIi4uLy4uL21vZGVsL1VubG9ja1NwZWNpYWxQbG90RXZlbnRNYW5hZ2VyXCI7XHJcbmltcG9ydCBDREtleUV2ZW50TWFuYWdlciBmcm9tIFwiLi4vLi4vbW9kZWwvQ0RLZXlFdmVudE1hbmFnZXJcIjtcclxuaW1wb3J0IHsgZXhjaGFuZ2VDb2RlIH0gZnJvbSBcInNpbWJhLXNkay1leGNoYW5nZWNvZGVcIjtcclxuaW1wb3J0IHsgRXhjaGFuZ2VFcnJvckNvZGUgfSBmcm9tIFwic2ltYmEtc2RrLWV4Y2hhbmdlY29kZS9kaXN0L0V4Y2hhbmdlQ29kZUNsYXNzQmFzZVwiO1xyXG5pbXBvcnQgeyBHYW1lQ29uZmlnIH0gZnJvbSBcIi4uLy4uLy4uL0dhbWVDb25maWdcIjtcclxuXHJcbmludGVyZmFjZSBFeGNoYW5nZUNvZGVQYXJhbSB7XHJcbiAgICB0aXRsZXR4dDogc3RyaW5nO1xyXG4gICAgY29udGVudHR4dDogc3RyaW5nO1xyXG59XHJcbkBSZWdQcmVzZW50ZXIoRXhjaGFuZ2VDb2RlVmlld1R5cGUpXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV4Y2hhbmdlQ29kZVZpZXdQcmVzZW50ZXIgZXh0ZW5kcyBQcmVzZW50ZXI8RXhjaGFuZ2VDb2RlUGFyYW0sIEV4Y2hhbmdlQ29kZVZpZXc+XHJcbntcclxuICAgIHN0YXRpYyB1dWlkID0gXCJFeGNoYW5nZUNvZGVWaWV3UHJlc2VudGVyXCI7XHJcblxyXG4gICAgcHJpdmF0ZSBfdmlld1Byb3BzOiBFeGNoYW5nZUNvZGVWaWV3UHJvcHM7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLl92aWV3UHJvcHMgPSB7XHJcbiAgICAgICAgICAgIG9uQWN0aW9uQ2xpY2s6IHRoaXMub25BY3Rpb25DbGlja0NhbGxiYWNrXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBvbk9wZW4ocGFyYW06IEV4Y2hhbmdlQ29kZVBhcmFtKSB7XHJcbiAgICAgICAgc3VwZXIub25PcGVuKHBhcmFtKTtcclxuICAgICAgICB0aGlzLl92aWV3LnNldFByb3BzKHRoaXMuX3ZpZXdQcm9wcyk7XHJcbiAgICAgICAgdGhpcy52aWV3LnNldENvbnRlbnRUeHQocGFyYW0udGl0bGV0eHQsIHBhcmFtLmNvbnRlbnR0eHQpO1xyXG4gICAgICAgIHRoaXMudmlldy5zaG93QmFubmVyKGZhbHNlKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNsb3NlKCkge1xyXG4gICAgICAgIHN1cGVyLm9uQ2xvc2UoKTtcclxuICAgICAgICB0aGlzLnZpZXcuc2V0Q29udGVudFR4dChcIlwiLCBcIlwiKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkFjdGlvbkNsaWNrQ2FsbGJhY2sgPSBhc3luYyAocmV0OiBib29sZWFuLCBjZGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgaWYgKCFjZGtleSB8fCBcIlwiID09PSBjZGtleS50cmltKCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBHYW1lRG90TWdyLmdldEluc3RhbmNlKCkuZG90Q2xpY2tVSShcImV4Y2hhbmdlX2NvZGVcIik7XHJcbiAgICAgICAgbGV0IHNka0V4Y2hhbmdlQ29kZSA9IHRydWU7XHJcbiAgICAgICAgbGV0IHRvYXN0U3RyID0gXCJcIjtcclxuICAgICAgICBpZiAoc2RrRXhjaGFuZ2VDb2RlKSB7XHJcbiAgICAgICAgICAgIGxldCByZXQgPSBhd2FpdCBleGNoYW5nZUNvZGUoY2RrZXkpO1xyXG4gICAgICAgICAgICBpZiAoR2FtZUNvbmZpZy5kZWJ1ZykgY29uc29sZS5sb2coXCJTREtFeGNoYW5nZUNvZGUgcmV0OiBcIiwgcmV0KTtcclxuICAgICAgICAgICAgc3dpdGNoIChyZXQuZXJyb3JDb2RlKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIEV4Y2hhbmdlRXJyb3JDb2RlLkludmFsaWQ6XHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b2FzdFN0ciA9IFwi5YWR5o2i56CB5peg5pWIXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChHYW1lQ29uZmlnLmRlYnVnKSBjb25zb2xlLmxvZyhcIlNES0V4Y2hhbmdlQ29kZSBJbnZhbGlkLCB0b2FzdFN0cjogXCIsIHRvYXN0U3RyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgVUlNYW5hZ2VyLnNob3dUb2FzdCh0b2FzdFN0cik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBFeGNoYW5nZUVycm9yQ29kZS5PSzpcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXQucHJvcHMgJiYgMCAhPT0gcmV0LnByb3BzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHBsYXllciA9IEdhbWVNb2RlbE1hbmFnZXIuZ2V0UGxheWVyRGF0YSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXQucHJvcHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcCA9IHJldC5wcm9wc1tpXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBwbGF5ZXIuYWRkUHJvcHMocGFyc2VJbnQocC5pZCArICcnKSwgcGFyc2VJbnQocC5udW0gKyAnJykpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpZCA9IE51bWJlci5wYXJzZUludChwLmlkICsgJycpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBjb3VudCA9IE51bWJlci5wYXJzZUludChwLm51bSArICcnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaWQgPj0gR2FtZUNvbnN0RGF0YS5HQU1FX0lURU1fQU5EX1NQRUNJQUxfUExPVF9JRCAmJiBpZCA8IDEwMDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1JZCA9IE1hdGguZmxvb3IoaWQgLyBHYW1lQ29uc3REYXRhLkdBTUVfSVRFTV9BTkRfU1BFQ0lBTF9QTE9UX0lEKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNwZWNpYWxQbG90SWQgPSBpZCAtIEdhbWVDb25zdERhdGEuR0FNRV9JVEVNX0FORF9TUEVDSUFMX1BMT1RfSUQgKiBpdGVtSWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVubG9ja1NwZWNpYWxQbG90RXZlbnRNYW5hZ2VyLmdldEluc3RhbmNlKCkuY2RLZXlVbmxvY2tTcGVjaWFsUGxvdChzcGVjaWFsUGxvdElkLCBpdGVtSWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaWQgPT09IEdhbWVDb25zdERhdGEuVU5MT0NLX1BMT1RfV0lUSE9VVF9BRCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDREtleUV2ZW50TWFuYWdlci5nZXRJbnN0YW5jZSgpLmNkS2V5UmVtb3ZlUGxvdEFEKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpZCA+PSBHYW1lQ29uc3REYXRhLkNIQU5HRV9ST0xFX0xJS0UgJiYgaWQgPCAzMDAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByb2xlSWQgPSBpZCAtIEdhbWVDb25zdERhdGEuQ0hBTkdFX1JPTEVfTElLRTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0RLZXlFdmVudE1hbmFnZXIuZ2V0SW5zdGFuY2UoKS5jaGFuZ2VSb2xlTGlrZShyb2xlSWQsIGNvdW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBHYW1lTW9kZWxNYW5hZ2VyLlVwZGF0ZVBsYXllckRhdGEuZW1pdCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBFeGNoYW5nZUVycm9yQ29kZS5UaW1lT3V0OlxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9hc3RTdHIgPSBcIuWFkeaNoueggeW3sui/h+acn++8gVwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoR2FtZUNvbmZpZy5kZWJ1ZykgY29uc29sZS5sb2coXCJTREtFeGNoYW5nZUNvZGUgVGltZU91dCwgdG9hc3RTdHI6IFwiLCB0b2FzdFN0cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFVJTWFuYWdlci5zaG93VG9hc3QodG9hc3RTdHIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgRXhjaGFuZ2VFcnJvckNvZGUuVXNlZDpcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvYXN0U3RyID0gXCLlhZHmjaLnoIHlt7Lnu4/lhZHmjaLov4fkuoZcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEdhbWVDb25maWcuZGVidWcpIGNvbnNvbGUubG9nKFwiU0RLRXhjaGFuZ2VDb2RlIFVzZWQsIHRvYXN0U3RyOiBcIiwgdG9hc3RTdHIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBVSU1hbmFnZXIuc2hvd1RvYXN0KHRvYXN0U3RyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIEV4Y2hhbmdlRXJyb3JDb2RlLlNjb3JlV2VhazpcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvYXN0U3RyID0gXCLnp6/liIbkuI3otrNcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEdhbWVDb25maWcuZGVidWcpIGNvbnNvbGUubG9nKFwiU0RLRXhjaGFuZ2VDb2RlIFVzZWQsIHRvYXN0U3RyOiBcIiwgdG9hc3RTdHIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBVSU1hbmFnZXIuc2hvd1RvYXN0KHRvYXN0U3RyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAocmV0KSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgcmV0ID0gYXdhaXQgSHR0cFJlcXVlc3RzLmV4Y2hhbmdlQ0RLRVkoY2RrZXkpIGFzIGFueTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiY3VycmVudCByZXQgaXNcIiArIEpTT04uc3RyaW5naWZ5KHJldCkpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHJldC5jb2RlID09PSBcIjBcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmV0Lm9iai5wcm9wcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgZGF0YSA9IHJldC5vYmoucHJvcHNbaV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpZCA9IE51bWJlci5wYXJzZUludChkYXRhLnByb3BfaWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgY291bnQgPSBOdW1iZXIucGFyc2VJbnQoZGF0YS5jb3VudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpZCA+PSBHYW1lQ29uc3REYXRhLkdBTUVfSVRFTV9BTkRfU1BFQ0lBTF9QTE9UX0lEICYmIGlkIDwgMTAwMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1JZCA9IE1hdGguZmxvb3IoaWQgLyBHYW1lQ29uc3REYXRhLkdBTUVfSVRFTV9BTkRfU1BFQ0lBTF9QTE9UX0lEKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzcGVjaWFsUGxvdElkID0gaWQgLSBHYW1lQ29uc3REYXRhLkdBTUVfSVRFTV9BTkRfU1BFQ0lBTF9QTE9UX0lEICogaXRlbUlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVW5sb2NrU3BlY2lhbFBsb3RFdmVudE1hbmFnZXIuZ2V0SW5zdGFuY2UoKS5jZEtleVVubG9ja1NwZWNpYWxQbG90KHNwZWNpYWxQbG90SWQsIGl0ZW1JZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaWQgPT09IEdhbWVDb25zdERhdGEuVU5MT0NLX1BMT1RfV0lUSE9VVF9BRCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0RLZXlFdmVudE1hbmFnZXIuZ2V0SW5zdGFuY2UoKS5jZEtleVJlbW92ZVBsb3RBRCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlkID49IEdhbWVDb25zdERhdGEuQ0hBTkdFX1JPTEVfTElLRSAmJiBpZCA8IDMwMDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByb2xlSWQgPSBpZCAtIEdhbWVDb25zdERhdGEuQ0hBTkdFX1JPTEVfTElLRTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIENES2V5RXZlbnRNYW5hZ2VyLmdldEluc3RhbmNlKCkuY2hhbmdlUm9sZUxpa2Uocm9sZUlkLCBjb3VudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgR2FtZU1vZGVsTWFuYWdlci5VcGRhdGVQbGF5ZXJEYXRhLmVtaXQoKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocmV0LmNvZGUgPT09IFwiMTA0MDAxXCIpIHsvL+mUmeivr+eahOmqjOivgeeggVxyXG4gICAgICAgICAgICAgICAgICAgIGxldCBjb250ZW50ID0gR2FtZU1vZGVsTWFuYWdlci5nZXRMYW5ndWFnZVR4dChHYW1lVGV4dERhdGEuVEVYVF9DREtFWUlOVkFMSURfVkFMVUUpO1xyXG4gICAgICAgICAgICAgICAgICAgIFVJTWFuYWdlci5zaG93VG9hc3QoY29udGVudCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJldC5jb2RlID09PSBcIjEwNDAwMlwiKSB7Ly/lt7Lnu4/poobov4fkuoZcclxuICAgICAgICAgICAgICAgICAgICBsZXQgY29udGVudCA9IEdhbWVNb2RlbE1hbmFnZXIuZ2V0TGFuZ3VhZ2VUeHQoR2FtZVRleHREYXRhLlRFWFRfQ0RLRVlIQURFWENIQU5HRURfVkFMVUUpO1xyXG4gICAgICAgICAgICAgICAgICAgIFVJTWFuYWdlci5zaG93VG9hc3QoY29udGVudCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Ugey8v5YW25LuWXHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNvbnRlbnQgPSBHYW1lTW9kZWxNYW5hZ2VyLmdldExhbmd1YWdlVHh0KEdhbWVUZXh0RGF0YS5URVhUX0NES0VZSU5WQUxJRF9WQUxVRSk7XHJcbiAgICAgICAgICAgICAgICAgICAgVUlNYW5hZ2VyLnNob3dUb2FzdChjb250ZW50KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ==
\ No newline at end of file
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvZ2FtZS91aS9wcmVzZW50ZXIvRXhjaGFuZ2VDb2RlVmlld1ByZXNlbnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNFQUF5RDtBQUN6RCxvRUFBOEc7QUFDOUcsMkVBQW9FO0FBQ3BFLDZEQUEwRDtBQUMxRCxtRUFBZ0U7QUFDaEUsbUZBQWdGO0FBQ2hGLDJFQUF3RTtBQUN4RSxpRkFBOEU7QUFDOUUsaURBQTBDO0FBRTFDLDZGQUFzRjtBQUN0RixxRUFBOEQ7QUFDOUQsbUVBQXNEO0FBQ3RELDZGQUFzRjtBQUN0RixvREFBaUQ7QUFPakQ7SUFBQSxJQUFxQix5QkFBeUIsR0FBOUMsTUFBcUIseUJBQTBCLFNBQVEseUJBQThDO1FBTWpHO1lBQ0ksS0FBSyxFQUFFLENBQUM7WUFrQlosMEJBQXFCLEdBQUcsS0FBSyxFQUFFLEdBQVksRUFBRSxLQUFhLEVBQUUsRUFBRTtnQkFDMUQsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFO29CQUMvQixPQUFPO2lCQUNWO2dCQUNELG9CQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUNyRCxJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUM7Z0JBQzNCLElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxlQUFlLEVBQUU7b0JBQ2pCLElBQUksR0FBRyxHQUFHLE1BQU0scUNBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDcEMsSUFBSSx1QkFBVSxDQUFDLEtBQUs7d0JBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFDaEUsUUFBUSxHQUFHLENBQUMsU0FBUyxFQUFFO3dCQUNuQixLQUFLLHlDQUFpQixDQUFDLE9BQU87NEJBQzFCO2dDQUNJLFFBQVEsR0FBRyxPQUFPLENBQUM7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LENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUVELE9BQU87WUFDSCxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7S0FrR0osQ0FBQTtJQXZIVSw4QkFBSSxHQUFHLDJCQUEyQixDQUFDO0lBRnpCLHlCQUF5QjtRQUQ3QyxxQ0FBWSxDQUFDLHVDQUFvQixDQUFDO09BQ2QseUJBQXlCLENBeUg3QztJQUFELGdDQUFDO0tBQUE7a0JBekhvQix5QkFBeUIiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWdQcmVzZW50ZXIgfSBmcm9tIFwiLi4vUHJlc2VudGVyQ0NWaWV3RmFjdG9yeVwiO1xyXG5pbXBvcnQgeyBFeGNoYW5nZUNvZGVWaWV3VHlwZSwgRXhjaGFuZ2VDb2RlVmlldywgRXhjaGFuZ2VDb2RlVmlld1Byb3BzIH0gZnJvbSBcIi4uL3ZpZXcvdHlwZS9FeENoYW5nZUNvZGVWaWV3XCI7XHJcbmltcG9ydCB7IFByZXNlbnRlciB9IGZyb20gXCIuLi8uLi8uLi9jb21tb24vY2xhc3NiYXNlL1ByZXNlbnRlckJhc2VcIjtcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RzIH0gZnJvbSBcIi4uLy4uL25ldHdvcmsvSHR0cFJlcXVlc3RzXCI7XHJcbmltcG9ydCB7IEdhbWVNb2RlbE1hbmFnZXIgfSBmcm9tIFwiLi4vLi4vbW9kZWwvR2FtZU1vZGVsTWFuYWdlclwiO1xyXG5pbXBvcnQgeyBHYW1lQ29uc3REYXRhIH0gZnJvbSBcIi4uLy4uLy4uL2NvbW1vbi9nYW1lcGxheS9nYW1lZGF0YS9HYW1lQ29uc3REYXRhXCI7XHJcbmltcG9ydCB7IFVJTWFuYWdlciB9IGZyb20gXCIuLi8uLi8uLi9jb21tb24vZ2FtZXBsYXkvbWFuYWdlcnMvVUlNYW5hZ2VyXCI7XHJcbmltcG9ydCB7IEdhbWVUZXh0RGF0YSB9IGZyb20gXCIuLi8uLi8uLi9jb21tb24vZ2FtZXBsYXkvZ2FtZWRhdGEvR2FtZVRleHREYXRhXCI7XHJcbmltcG9ydCBHYW1lRG90TWdyIGZyb20gXCIuLi8uLi9HYW1lRG90TWdyXCI7XHJcbmltcG9ydCB7IFNESyB9IGZyb20gXCJzaW1iYS1zZGtcIjtcclxuaW1wb3J0IFVubG9ja1NwZWNpYWxQbG90RXZlbnRNYW5hZ2VyIGZyb20gXCIuLi8uLi9tb2RlbC9VbmxvY2tTcGVjaWFsUGxvdEV2ZW50TWFuYWdlclwiO1xyXG5pbXBvcnQgQ0RLZXlFdmVudE1hbmFnZXIgZnJvbSBcIi4uLy4uL21vZGVsL0NES2V5RXZlbnRNYW5hZ2VyXCI7XHJcbmltcG9ydCB7IGV4Y2hhbmdlQ29kZSB9IGZyb20gXCJzaW1iYS1zZGstZXhjaGFuZ2Vjb2RlXCI7XHJcbmltcG9ydCB7IEV4Y2hhbmdlRXJyb3JDb2RlIH0gZnJvbSBcInNpbWJhLXNkay1leGNoYW5nZWNvZGUvZGlzdC9FeGNoYW5nZUNvZGVDbGFzc0Jhc2VcIjtcclxuaW1wb3J0IHsgR2FtZUNvbmZpZyB9IGZyb20gXCIuLi8uLi8uLi9HYW1lQ29uZmlnXCI7XHJcblxyXG5pbnRlcmZhY2UgRXhjaGFuZ2VDb2RlUGFyYW0ge1xyXG4gICAgdGl0bGV0eHQ6IHN0cmluZztcclxuICAgIGNvbnRlbnR0eHQ6IHN0cmluZztcclxufVxyXG5AUmVnUHJlc2VudGVyKEV4Y2hhbmdlQ29kZVZpZXdUeXBlKVxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFeGNoYW5nZUNvZGVWaWV3UHJlc2VudGVyIGV4dGVuZHMgUHJlc2VudGVyPEV4Y2hhbmdlQ29kZVBhcmFtLCBFeGNoYW5nZUNvZGVWaWV3PlxyXG57XHJcbiAgICBzdGF0aWMgdXVpZCA9IFwiRXhjaGFuZ2VDb2RlVmlld1ByZXNlbnRlclwiO1xyXG5cclxuICAgIHByaXZhdGUgX3ZpZXdQcm9wczogRXhjaGFuZ2VDb2RlVmlld1Byb3BzO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5fdmlld1Byb3BzID0ge1xyXG4gICAgICAgICAgICBvbkFjdGlvbkNsaWNrOiB0aGlzLm9uQWN0aW9uQ2xpY2tDYWxsYmFja1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgb25PcGVuKHBhcmFtOiBFeGNoYW5nZUNvZGVQYXJhbSkge1xyXG4gICAgICAgIHN1cGVyLm9uT3BlbihwYXJhbSk7XHJcbiAgICAgICAgdGhpcy5fdmlldy5zZXRQcm9wcyh0aGlzLl92aWV3UHJvcHMpO1xyXG4gICAgICAgIHRoaXMudmlldy5zZXRDb250ZW50VHh0KHBhcmFtLnRpdGxldHh0LCBwYXJhbS5jb250ZW50dHh0KTtcclxuICAgICAgICB0aGlzLnZpZXcuc2hvd0Jhbm5lcihmYWxzZSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DbG9zZSgpIHtcclxuICAgICAgICBzdXBlci5vbkNsb3NlKCk7XHJcbiAgICAgICAgdGhpcy52aWV3LnNldENvbnRlbnRUeHQoXCJcIiwgXCJcIik7XHJcbiAgICB9XHJcblxyXG4gICAgb25BY3Rpb25DbGlja0NhbGxiYWNrID0gYXN5bmMgKHJldDogYm9vbGVhbiwgY2RrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGlmICghY2RrZXkgfHwgXCJcIiA9PT0gY2RrZXkudHJpbSgpKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgR2FtZURvdE1nci5nZXRJbnN0YW5jZSgpLmRvdENsaWNrVUkoXCJleGNoYW5nZV9jb2RlXCIpO1xyXG4gICAgICAgIGxldCBzZGtFeGNoYW5nZUNvZGUgPSB0cnVlO1xyXG4gICAgICAgIGxldCB0b2FzdFN0ciA9IFwiXCI7XHJcbiAgICAgICAgaWYgKHNka0V4Y2hhbmdlQ29kZSkge1xyXG4gICAgICAgICAgICBsZXQgcmV0ID0gYXdhaXQgZXhjaGFuZ2VDb2RlKGNka2V5KTtcclxuICAgICAgICAgICAgaWYgKEdhbWVDb25maWcuZGVidWcpIGNvbnNvbGUubG9nKFwiU0RLRXhjaGFuZ2VDb2RlIHJldDogXCIsIHJldCk7XHJcbiAgICAgICAgICAgIHN3aXRjaCAocmV0LmVycm9yQ29kZSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSBFeGNoYW5nZUVycm9yQ29kZS5JbnZhbGlkOlxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9hc3RTdHIgPSBcIuWFkeaNoueggeaXoOaViFwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoR2FtZUNvbmZpZy5kZWJ1ZykgY29uc29sZS5sb2coXCJTREtFeGNoYW5nZUNvZGUgSW52YWxpZCwgdG9hc3RTdHI6IFwiLCB0b2FzdFN0cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFVJTWFuYWdlci5zaG93VG9hc3QodG9hc3RTdHIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgRXhjaGFuZ2VFcnJvckNvZGUuT0s6XHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmV0LnByb3BzICYmIDAgIT09IHJldC5wcm9wcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBwbGF5ZXIgPSBHYW1lTW9kZWxNYW5hZ2VyLmdldFBsYXllckRhdGEoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmV0LnByb3BzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHAgPSByZXQucHJvcHNbaV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcGxheWVyLmFkZFByb3BzKHBhcnNlSW50KHAuaWQgKyAnJyksIHBhcnNlSW50KHAubnVtICsgJycpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaWQgPSBOdW1iZXIucGFyc2VJbnQocC5pZCArICcnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgY291bnQgPSBOdW1iZXIucGFyc2VJbnQocC5udW0gKyAnJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkID49IEdhbWVDb25zdERhdGEuR0FNRV9JVEVNX0FORF9TUEVDSUFMX1BMT1RfSUQgJiYgaWQgPCAxMDAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpdGVtSWQgPSBNYXRoLmZsb29yKGlkIC8gR2FtZUNvbnN0RGF0YS5HQU1FX0lURU1fQU5EX1NQRUNJQUxfUExPVF9JRCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzcGVjaWFsUGxvdElkID0gaWQgLSBHYW1lQ29uc3REYXRhLkdBTUVfSVRFTV9BTkRfU1BFQ0lBTF9QTE9UX0lEICogaXRlbUlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVbmxvY2tTcGVjaWFsUGxvdEV2ZW50TWFuYWdlci5nZXRJbnN0YW5jZSgpLmNkS2V5VW5sb2NrU3BlY2lhbFBsb3Qoc3BlY2lhbFBsb3RJZCwgaXRlbUlkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlkID09PSBHYW1lQ29uc3REYXRhLlVOTE9DS19QTE9UX1dJVEhPVVRfQUQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0RLZXlFdmVudE1hbmFnZXIuZ2V0SW5zdGFuY2UoKS5jZEtleVJlbW92ZVBsb3RBRCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaWQgPj0gR2FtZUNvbnN0RGF0YS5DSEFOR0VfUk9MRV9MSUtFICYmIGlkIDwgMzAwMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcm9sZUlkID0gaWQgLSBHYW1lQ29uc3REYXRhLkNIQU5HRV9ST0xFX0xJS0U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENES2V5RXZlbnRNYW5hZ2VyLmdldEluc3RhbmNlKCkuY2hhbmdlUm9sZUxpa2Uocm9sZUlkLCBjb3VudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBFeGNoYW5nZUVycm9yQ29kZS5UaW1lT3V0OlxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9hc3RTdHIgPSBcIuWFkeaNoueggeW3sui/h+acn++8gVwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoR2FtZUNvbmZpZy5kZWJ1ZykgY29uc29sZS5sb2coXCJTREtFeGNoYW5nZUNvZGUgVGltZU91dCwgdG9hc3RTdHI6IFwiLCB0b2FzdFN0cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFVJTWFuYWdlci5zaG93VG9hc3QodG9hc3RTdHIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgRXhjaGFuZ2VFcnJvckNvZGUuVXNlZDpcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvYXN0U3RyID0gXCLlhZHmjaLnoIHlt7Lnu4/lhZHmjaLov4fkuoZcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEdhbWVDb25maWcuZGVidWcpIGNvbnNvbGUubG9nKFwiU0RLRXhjaGFuZ2VDb2RlIFVzZWQsIHRvYXN0U3RyOiBcIiwgdG9hc3RTdHIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBVSU1hbmFnZXIuc2hvd1RvYXN0KHRvYXN0U3RyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIEV4Y2hhbmdlRXJyb3JDb2RlLlNjb3JlV2VhazpcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvYXN0U3RyID0gXCLnp6/liIbkuI3otrNcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEdhbWVDb25maWcuZGVidWcpIGNvbnNvbGUubG9nKFwiU0RLRXhjaGFuZ2VDb2RlIFVzZWQsIHRvYXN0U3RyOiBcIiwgdG9hc3RTdHIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBVSU1hbmFnZXIuc2hvd1RvYXN0KHRvYXN0U3RyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAocmV0KSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgcmV0ID0gYXdhaXQgSHR0cFJlcXVlc3RzLmV4Y2hhbmdlQ0RLRVkoY2RrZXkpIGFzIGFueTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiY3VycmVudCByZXQgaXNcIiArIEpTT04uc3RyaW5naWZ5KHJldCkpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHJldC5jb2RlID09PSBcIjBcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmV0Lm9iai5wcm9wcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgZGF0YSA9IHJldC5vYmoucHJvcHNbaV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpZCA9IE51bWJlci5wYXJzZUludChkYXRhLnByb3BfaWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgY291bnQgPSBOdW1iZXIucGFyc2VJbnQoZGF0YS5jb3VudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpZCA+PSBHYW1lQ29uc3REYXRhLkdBTUVfSVRFTV9BTkRfU1BFQ0lBTF9QTE9UX0lEICYmIGlkIDwgMTAwMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1JZCA9IE1hdGguZmxvb3IoaWQgLyBHYW1lQ29uc3REYXRhLkdBTUVfSVRFTV9BTkRfU1BFQ0lBTF9QTE9UX0lEKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzcGVjaWFsUGxvdElkID0gaWQgLSBHYW1lQ29uc3REYXRhLkdBTUVfSVRFTV9BTkRfU1BFQ0lBTF9QTE9UX0lEICogaXRlbUlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVW5sb2NrU3BlY2lhbFBsb3RFdmVudE1hbmFnZXIuZ2V0SW5zdGFuY2UoKS5jZEtleVVubG9ja1NwZWNpYWxQbG90KHNwZWNpYWxQbG90SWQsIGl0ZW1JZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaWQgPT09IEdhbWVDb25zdERhdGEuVU5MT0NLX1BMT1RfV0lUSE9VVF9BRCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0RLZXlFdmVudE1hbmFnZXIuZ2V0SW5zdGFuY2UoKS5jZEtleVJlbW92ZVBsb3RBRCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlkID49IEdhbWVDb25zdERhdGEuQ0hBTkdFX1JPTEVfTElLRSAmJiBpZCA8IDMwMDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByb2xlSWQgPSBpZCAtIEdhbWVDb25zdERhdGEuQ0hBTkdFX1JPTEVfTElLRTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIENES2V5RXZlbnRNYW5hZ2VyLmdldEluc3RhbmNlKCkuY2hhbmdlUm9sZUxpa2Uocm9sZUlkLCBjb3VudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJldC5jb2RlID09PSBcIjEwNDAwMVwiKSB7Ly/plJnor6/nmoTpqozor4HnoIFcclxuICAgICAgICAgICAgICAgICAgICBsZXQgY29udGVudCA9IEdhbWVNb2RlbE1hbmFnZXIuZ2V0TGFuZ3VhZ2VUeHQoR2FtZVRleHREYXRhLlRFWFRfQ0RLRVlJTlZBTElEX1ZBTFVFKTtcclxuICAgICAgICAgICAgICAgICAgICBVSU1hbmFnZXIuc2hvd1RvYXN0KGNvbnRlbnQpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZXQuY29kZSA9PT0gXCIxMDQwMDJcIikgey8v5bey57uP6aKG6L+H5LqGXHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNvbnRlbnQgPSBHYW1lTW9kZWxNYW5hZ2VyLmdldExhbmd1YWdlVHh0KEdhbWVUZXh0RGF0YS5URVhUX0NES0VZSEFERVhDSEFOR0VEX1ZBTFVFKTtcclxuICAgICAgICAgICAgICAgICAgICBVSU1hbmFnZXIuc2hvd1RvYXN0KGNvbnRlbnQpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHsvL+WFtuS7llxyXG4gICAgICAgICAgICAgICAgICAgIGxldCBjb250ZW50ID0gR2FtZU1vZGVsTWFuYWdlci5nZXRMYW5ndWFnZVR4dChHYW1lVGV4dERhdGEuVEVYVF9DREtFWUlOVkFMSURfVkFMVUUpO1xyXG4gICAgICAgICAgICAgICAgICAgIFVJTWFuYWdlci5zaG93VG9hc3QoY29udGVudCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0=
\ No newline at end of file
......@@ -120,9 +120,6 @@ let ExtraPlotDatingEventSubViewPresenter = /** @class */ (() => {
this._curChapterIndex = tempIndex >= 1 && tempIndex <= this._maxChapterIndex ? tempIndex : this._curChapterIndex;
this.refreshItems();
};
this.onRefreshDateSceneProgress = () => {
this.refreshItems();
};
this.onForceClickItem = (id) => {
console.log("DatingEventSubpresenter onForceClickItem id = ", id);
let k = id + "";
......@@ -307,7 +304,6 @@ let ExtraPlotDatingEventSubViewPresenter = /** @class */ (() => {
onOpen() {
super.onOpen();
this._disposable.add(GameModelManager_1.GameModelManager.CheckDateGuide.on(this.checkGuideItem));
this._disposable.add(GameModelManager_1.GameModelManager.RefreshDateSceneProgress.on(this.onRefreshDateSceneProgress));
this._disposable.add(GameModelManager_1.GameModelManager.ForceClickDatingItem.on(this.onForceClickItem));
this._disposable.add(GameModelManager_1.GameModelManager.RefreshExtraPlotByType.on(this.onRefreshExtraPlotByType));
this.selectCurChapter();
......@@ -362,4 +358,4 @@ cc._RF.pop();
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvZ2FtZS91aS9wcmVzZW50ZXIvRXh0cmFQbG90RGF0aW5nRXZlbnRTdWJWaWV3UHJlc2VudGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtEQUFxRDtBQUNyRCwwQ0FBdUQ7QUFDdkQsMERBQW9EO0FBQ3BELDJFQUFrRjtBQUNsRixpRkFBOEU7QUFDOUUsMkVBQXdFO0FBQ3hFLG1FQUFnRTtBQUNoRSxxRUFBa0U7QUFDbEUsdUNBQThLO0FBQzlLLGlEQUEwQztBQUMxQyxxRUFBOEQ7QUFDOUQsNkVBQTZGO0FBQzdGLCtFQUE0RTtBQUM1RSxtRUFBZ0U7QUFDaEUsc0VBQTBFO0FBRTFFLDBGQUF1SjtBQUN2Six5RUFBa0U7QUFDbEUsaUVBQThEO0FBQzlELDZEQUErRTtBQUcvRTtJQUFBLElBQWEsb0NBQW9DLEdBQWpELE1BQWEsb0NBQXFDLFNBQVEsNEJBQXlDO1FBQW5HOztZQUNZLGNBQVMsR0FBNkMsRUFBRSxDQUFDO1lBQ3pELG1CQUFjLEdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDNUIscUJBQWdCLEdBQVcsQ0FBQyxDQUFDO1lBQzdCLHFCQUFnQixHQUFXLENBQUMsQ0FBQztZQUM3Qix3QkFBbUIsR0FBWSxLQUFLLENBQUM7WUErSDdDLHNCQUFpQixHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUU7Z0JBQ2hDLG1DQUFnQixDQUFDLHVCQUF1QixDQUFDLEdBQUcsRUFBRSxrQkFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNuRSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM1QixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNuRCwyQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO2dCQUN6RCxJQUFJLGVBQWUsR0FBVywy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LElBQUksQ0FBQyxtQkFBbUIsR0FBRyxlQUFlLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN2RixDQUFDO0tBeUJKLENBQUE7SUFsVVksb0NBQW9DO1FBRGhELHdDQUFlLENBQUMsNkRBQStCLENBQUM7T0FDcEMsb0NBQW9DLENBa1VoRDtJQUFELDJDQUFDO0tBQUE7QUFsVVksb0ZBQW9DIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlnTWFuYWdlciB9IGZyb20gXCJzaW1iYS1jb25maWctbWFuYWdlclwiO1xuaW1wb3J0IHsgR2FtZVJlY29yZCwgZ2V0UGxvdCB9IGZyb20gXCIuLi8uLi8uLi9hdmcvQVZHXCI7XG5pbXBvcnQgeyBEYXRlVHlwZSB9IGZyb20gXCIuLi8uLi8uLi9hdmcvRWRpdG9yRW51bXNcIjtcbmltcG9ydCB7IFByZXNlbnRlciwgU3VicHJlc2VudGVyIH0gZnJvbSBcIi4uLy4uLy4uL2NvbW1vbi9jbGFzc2Jhc2UvUHJlc2VudGVyQmFzZVwiO1xuaW1wb3J0IHsgR2FtZVRleHREYXRhIH0gZnJvbSBcIi4uLy4uLy4uL2NvbW1vbi9nYW1lcGxheS9nYW1lZGF0YS9HYW1lVGV4dERhdGFcIjtcbmltcG9ydCB7IFVJTWFuYWdlciB9IGZyb20gXCIuLi8uLi8uLi9jb21tb24vZ2FtZXBsYXkvbWFuYWdlcnMvVUlNYW5hZ2VyXCI7XG5pbXBvcnQgeyBTdHJpbmdVdGlscyB9IGZyb20gXCIuLi8uLi8uLi9jb21tb24vdXRpbHMvU3RyaW5nVXRpbHNcIjtcbmltcG9ydCB7IGRhdGVTY2VuZUNvbmZpZyB9IGZyb20gXCIuLi8uLi8uLi9jb25maWcvRGF0ZVNjZW5lQ29uZmlnXCI7XG5pbXBvcnQgeyBDb21tb25Mb2NhdGlvbiwgRGF0ZVByZWZhYkRpcmVjdFR5cGUsIERpcmVjdGlvblR5cGUsIEV2ZW50TG9jYXRpb24sIEV2ZW50T3BlcmF0aW9uVHlwZSwgR3VpZGVMb2NhdGlvbiwgR3VpZGVPcGVyYXRpb25UeXBlLCBHdWlkZVN0YXRlLCBTdGVwVHlwZSB9IGZyb20gXCIuLi8uLi9FbnVtc1wiO1xuaW1wb3J0IEdhbWVEb3RNZ3IgZnJvbSBcIi4uLy4uL0dhbWVEb3RNZ3JcIjtcbmltcG9ydCBDREtleUV2ZW50TWFuYWdlciBmcm9tIFwiLi4vLi4vbW9kZWwvQ0RLZXlFdmVudE1hbmFnZXJcIjtcbmltcG9ydCB7IERhdGluZ0V2ZW50U2NlbmVNb2RlbCwgRGF0aW5nRXZlbnRTdGF0dXMgfSBmcm9tIFwiLi4vLi4vbW9kZWwvRGF0aW5nRXZlbnRTY2VuZU1vZGVsXCI7XG5pbXBvcnQgeyBFeHRyYVN0b3J5TW9kZWxNYW5hZ2VyIH0gZnJvbSBcIi4uLy4uL21vZGVsL0V4dHJhU3RvcnlNb2RlbE1hbmFnZXJcIjtcbmltcG9ydCB7IEdhbWVNb2RlbE1hbmFnZXIgfSBmcm9tIFwiLi4vLi4vbW9kZWwvR2FtZU1vZGVsTWFuYWdlclwiO1xuaW1wb3J0IHsgUmVnUHJlc2VudGVyLCBSZWdTdWJwcmVzZW50ZXIgfSBmcm9tIFwiLi4vUHJlc2VudGVyQ0NWaWV3RmFjdG9yeVwiO1xuaW1wb3J0IHsgQWxlcnREaWFsb2dWaWV3UHJvcHMgfSBmcm9tIFwiLi4vdmlldy90eXBlL0FsZXJ0RGlhbG9nVmlld1wiO1xuaW1wb3J0IHsgRXh0cmFQbG90RGF0aW5nRXZlbnRJdGVtUHJvcHMsIEV4dHJhUGxvdERhdGluZ0V2ZW50U3ViVmlldywgRXh0cmFQbG90RGF0aW5nRXZlbnRTdWJWaWV3VHlwZSB9IGZyb20gXCIuLi92aWV3L3R5cGUvRXh0cmFQbG90RGF0aW5nRXZlbnRTdWJWaWV3XCI7XG5pbXBvcnQgQWxlcnREaWFsb2dWaWV3UHJlc2VudGVyIGZyb20gXCIuL0FsZXJ0RGlhbG9nVmlld1ByZXNlbnRlclwiO1xuaW1wb3J0IHsgRGF0aW5nU2NlbmVQcmVzZW50ZXIgfSBmcm9tIFwiLi9EYXRpbmdTY2VuZVByZXNlbnRlclwiO1xuaW1wb3J0IEd1aWRlVmlld1ByZXNlbnRlciwgeyBHdWlkZVZpZXdQYXJhbU1vZGVsIH0gZnJvbSBcIi4vR3VpZGVWaWV3UHJlc2VudGVyXCI7XG5cbkBSZWdTdWJwcmVzZW50ZXIoRXh0cmFQbG90RGF0aW5nRXZlbnRTdWJWaWV3VHlwZSlcbmV4cG9ydCBjbGFzcyBFeHRyYVBsb3REYXRpbmdFdmVudFN1YlZpZXdQcmVzZW50ZXIgZXh0ZW5kcyBTdWJwcmVzZW50ZXI8RXh0cmFQbG90RGF0aW5nRXZlbnRTdWJWaWV3PiB7XG4gICAgcHJpdmF0ZSBfbW9kZWxNYXA6IHsgW2tleTogc3RyaW5nXTogRGF0aW5nRXZlbnRTY2VuZU1vZGVsIH0gPSB7fTtcbiAgICBwcml2YXRlIF9kYWlseVNjZW5lTnVtOiBudW1iZXIgPSAtMTtcbiAgICBwcml2YXRlIF9jdXJDaGFwdGVySW5kZXg6IG51bWJlciA9IDE7XG4gICAgcHJpdmF0ZSBfbWF4Q2hhcHRlckluZGV4OiBudW1iZXIgPSAxO1xuICAgIHByaXZhdGUgX21heENoYXB0ZXJJc0NoYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGlzUmV2aWV3OiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBzY2VuZU1vZGVsVG9WaWV3TW9kZWwoaXRlbTogRGF0aW5nRXZlbnRTY2VuZU1vZGVsLCBpbmRleDogbnVtYmVyKTogRXh0cmFQbG90RGF0aW5nRXZlbnRJdGVtUHJvcHMge1xuICAgICAgICB0aGlzLl9tb2RlbE1hcFtpdGVtLmlkLnRvU3RyaW5nKCldID0gaXRlbTtcbiAgICAgICAgbGV0IGRpcmVjdCA9IERhdGVQcmVmYWJEaXJlY3RUeXBlLkxlZnQ7XG4gICAgICAgIGlmICh0aGlzLl9jdXJDaGFwdGVySW5kZXggJSAyID09PSAxKSB7XG4gICAgICAgICAgICBkaXJlY3QgPSAoaW5kZXggKyAxKSAlIDIgPT09IDEgPyBEYXRlUHJlZmFiRGlyZWN0VHlwZS5MZWZ0IDogRGF0ZVByZWZhYkRpcmVjdFR5cGUuUmlnaHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkaXJlY3QgPSAoaW5kZXggKyAxKSAlIDIgPT09IDAgPyBEYXRlUHJlZmFiRGlyZWN0VHlwZS5MZWZ0IDogRGF0ZVByZWZhYkRpcmVjdFR5cGUuUmlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGtleTogaXRlbS5pZCArIFwiXCIsXG4gICAgICAgICAgICB0aXRsZTogR2FtZU1vZGVsTWFuYWdlci5nZXRDb25maWdMYW5ndWFnZVR4dChpdGVtLmNvbmZpZy5uYW1lKSxcbiAgICAgICAgICAgIHN0YXR1czogaXRlbS5zdGF0dXMsXG4gICAgICAgICAgICBjb3ZlckltYWdlOiBcInRleHR1cmVzL2RhdGluZ19ldmVudC9jb3Zlci9cIiArIGl0ZW0uY29uZmlnLmJhY2tncm91bmQsXG4gICAgICAgICAgICBpdHlwZTogZGlyZWN0XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBhc3luYyByZWZyZXNoSXRlbXMoKSB7XG4gICAgLy8gICAgIGxldCBpdGVtczogRXh0cmFEYXRlSXRlbVZpZXdQcm9wc1tdID0gW107XG4gICAgLy8gICAgIGxldCBjZmdJZEFycjogbnVtYmVyW10gPSB0aGlzLmdldENmZ0lkQXJyKCk7XG4gICAgLy8gICAgIGxldCByb2xlID0gR2FtZU1vZGVsTWFuYWdlci5nZXRSb2xlRGF0YSh0aGlzLl92aWV3UHJvcHMucm9sZUlkKTtcbiAgICAvLyAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjZmdJZEFyci5sZW5ndGg7IGkrKykge1xuICAgIC8vICAgICAgICAgbGV0IGNmZyA9IENvbmZpZ01hbmFnZXIuZ2V0Q29uZmlnKGV4dHJhU2NlbmVDb25maWcsIGNmZ0lkQXJyW2ldKTtcbiAgICAvLyAgICAgICAgIGlmIChyb2xlICYmIHJvbGUuZ2V0UmVsYXRpb25WYWx1ZSgpID49IGNmZy5yZWxhdGlvbkNvbmRpdGlvbikge1xuICAgIC8vICAgICAgICAgICAgIGF3YWl0IEV4dHJhU3RvcnlNb2RlbE1hbmFnZXIuc3RhcnRCcmFuY2hlcyhbY2ZnLnN0YXJ0X3Bsb3RfaWRdKTtcbiAgICAvLyAgICAgICAgIH1cbiAgICAvLyAgICAgICAgIGxldCBzY2VuZU1vZGVsID0gbmV3IERhdGluZ0V2ZW50U2NlbmVNb2RlbChjZmcuaWQsIGZhbHNlKTtcbiAgICAvLyAgICAgICAgIGF3YWl0IHNjZW5lTW9kZWwuaW5pdEZyb21SZWNvcmRzKCk7XG4gICAgLy8gICAgICAgICBpZiAoc2NlbmVNb2RlbC5zdGF0dXMgPT09IERhdGluZ0V2ZW50U3RhdHVzLkxvY2tlZCAmJiByb2xlIS5nZXRSZWxhdGlvblZhbHVlKCkgPj0gY2ZnLnJlbGF0aW9uQ29uZGl0aW9uKSB7XG4gICAgLy8gICAgICAgICAgICAgc2NlbmVNb2RlbC5zdGF0dXMgPSBEYXRpbmdFdmVudFN0YXR1cy5OZXc7XG4gICAgLy8gICAgICAgICB9XG4gICAgLy8gICAgICAgICBsZXQgcCA9IHRoaXMuc2NlbmVNb2RlbFRvVmlld01vZGVsKHNjZW5lTW9kZWwpO1xuICAgIC8vICAgICAgICAgcC5zaG93TGluZSA9IGkgIT09IGNmZ0lkQXJyLmxlbmd0aCAtIDE7XG4gICAgLy8gICAgICAgICBpdGVtcy5wdXNoKHApO1xuICAgIC8vICAgICB9XG4gICAgLy8gICAgIHRoaXMuX3ZpZXdQcm9wcy5pdGVtcyA9IGl0ZW1zO1xuICAgIC8vIH1cblxuICAgIGFzeW5jIHJlZnJlc2hJdGVtcygpIHtcbiAgICAgICAgbGV0IGl0ZW1zOiBFeHRyYVBsb3REYXRpbmdFdmVudEl0ZW1Qcm9wc1tdID0gW107XG4gICAgICAgIGxldCBzcmNNb2RlbHM6IERhdGluZ0V2ZW50U2NlbmVNb2RlbFtdID0gW107XG4gICAgICAgIGxldCBjZmcgPSBDb25maWdNYW5hZ2VyLmdldEFsbENvbmZpZyhkYXRlU2NlbmVDb25maWcpO1xuICAgICAgICBmb3IgKGNvbnN0IGlkIGluIGNmZykge1xuICAgICAgICAgICAgaWYgKGNmZ1tpZF0uRGF0ZVR5cGUgPT0gRGF0ZVR5cGUuRGF0ZV9TcCAmJiBjZmdbaWRdLmNoYXB0ZXJfaW5kZXggPT0gdGhpcy5fY3VyQ2hhcHRlckluZGV4KSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgRXh0cmFTdG9yeU1vZGVsTWFuYWdlci5zdGFydEJyYW5jaGVzKFtjZmdbaWRdLnN0YXJ0X3Bsb3RfaWRdKTtcbiAgICAgICAgICAgICAgICBsZXQgcGxvdCA9IGF3YWl0IGdldFBsb3QoY2ZnW2lkXS5zdGFydF9wbG90X2lkKTtcbiAgICAgICAgICAgICAgICBsZXQgbW9kZWwgPSBuZXcgRGF0aW5nRXZlbnRTY2VuZU1vZGVsKE51bWJlcihpZCkpO1xuICAgICAgICAgICAgICAgIC8vIG1vZGVsLnN0YXR1cyA9IEV4dHJhU3RvcnlNb2RlbE1hbmFnZXIuZ2V0QnJhbmNoU3RhdHVzKG1vZGVsLmlkLCBtb2RlbC5jb25maWcuc3RhcnRfcGxvdF9pZCk7XG4gICAgICAgICAgICAgICAgYXdhaXQgbW9kZWwuaW5pdEZyb21SZWNvcmRzKCk7XG4gICAgICAgICAgICAgICAgaWYgKG1vZGVsLnN0YXR1cyA9PT0gRGF0aW5nRXZlbnRTdGF0dXMuTG9ja2VkKSB7XG4gICAgICAgICAgICAgICAgICAgIG1vZGVsLnN0YXR1cyA9IERhdGluZ0V2ZW50U3RhdHVzLk5ldztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gbW9kZWwuZmlyc3RQbG90ID0gcGxvdDtcbiAgICAgICAgICAgICAgICBtb2RlbC5pc0V4dHJhID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzcmNNb2RlbHMucHVzaChtb2RlbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChsZXQgaSA9IHNyY01vZGVscy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgICAgaXRlbXMucHVzaCh0aGlzLnNjZW5lTW9kZWxUb1ZpZXdNb2RlbChzcmNNb2RlbHNbaV0sIGkpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fZGFpbHlTY2VuZU51bSA9PSAtMSkge1xuICAgICAgICAgICAgbGV0IG1heEl0ZW1zTnVtOiBudW1iZXIgPSAwO1xuICAgICAgICAgICAgbGV0IGNmZyA9IENvbmZpZ01hbmFnZXIuZ2V0QWxsQ29uZmlnKGRhdGVTY2VuZUNvbmZpZyk7XG4gICAgICAgICAgICBmb3IgKGxldCBpZCBpbiBjZmcpIHtcbiAgICAgICAgICAgICAgICBsZXQgYyA9IGNmZ1tpZF07XG4gICAgICAgICAgICAgICAgaWYgKGMpIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4SXRlbXNOdW0rKztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9kYWlseVNjZW5lTnVtID0gbWF4SXRlbXNOdW07XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHNob3dDb250aW51ZSA9IGZhbHNlO1xuICAgICAgICBpZiAoc3JjTW9kZWxzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICAgICAgbGV0IGMgPSAwO1xuICAgICAgICAgICAgbGV0IGNmZ3MgPSBDb25maWdNYW5hZ2VyLmdldEFsbENvbmZpZyhkYXRlU2NlbmVDb25maWcpO1xuICAgICAgICAgICAgZm9yIChsZXQgaWQgaW4gY2Zncykge1xuICAgICAgICAgICAgICAgIGxldCBjZmcgPSBjZmdzW2lkXTtcbiAgICAgICAgICAgICAgICBpZiAoY2ZnKSB7XG4gICAgICAgICAgICAgICAgICAgIGMrKztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgbGFzdCA9IHNyY01vZGVsc1tzcmNNb2RlbHMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICBzaG93Q29udGludWUgPSBsYXN0LmlkID09PSBjO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudmlldy5zZXRQcm9wcyh7XG4gICAgICAgICAgICBpdGVtcyxcbiAgICAgICAgICAgIG9uSXRlbUNsaWNrOiB0aGlzLm9uSXRlbUFkTW9kZUNsaWNrLFxuICAgICAgICAgICAgc2hvd0NvbnRpbnVlOiBzaG93Q29udGludWUsXG4gICAgICAgICAgICBjaGFwdGVyTmFtZTogdGhpcy5nZXRDaGFwdGVyTmFtZSh0aGlzLl9jdXJDaGFwdGVySW5kZXgpLFxuICAgICAgICAgICAgc2hvd0xlZnQ6IHRoaXMuX2N1ckNoYXB0ZXJJbmRleCAhPT0gMSxcbiAgICAgICAgICAgIHNob3dSaWdodDogdGhpcy5fY3VyQ2hhcHRlckluZGV4ICE9PSB0aGlzLl9tYXhDaGFwdGVySW5kZXgsXG4gICAgICAgICAgICBzaG93Q2hhcHRlckNsZWFyOiB0aGlzLmNoZWNrQ2hhcHRlckNsZWFyKGl0ZW1zLCB0aGlzLl9jdXJDaGFwdGVySW5kZXgpLFxuICAgICAgICAgICAgb25PcHRpb25DaGFwdGVyOiB0aGlzLm9uT3B0aW9uQ2hhcHRlcixcbiAgICAgICAgICAgIGNoYXB0ZXJJbmRleDogdGhpcy5fY3VyQ2hhcHRlckluZGV4XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNoZWNrQ2hhcHRlckNsZWFyKGl0ZW1zOiBFeHRyYVBsb3REYXRpbmdFdmVudEl0ZW1Qcm9wc1tdLCBjaGFwdGVySW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgc2hvd0NsZWFyOiBib29sZWFuID0gdHJ1ZTtcbiAgICAgICAgbGV0IGNmZyA9IENvbmZpZ01hbmFnZXIuZ2V0QWxsQ29uZmlnKGRhdGVTY2VuZUNvbmZpZyk7XG4gICAgICAgIGxldCBjbnQgPSAwO1xuICAgICAgICBmb3IgKGxldCBpZCBpbiBjZmcpIHtcbiAgICAgICAgICAgIGxldCBjID0gY2ZnW2lkXVxuICAgICAgICAgICAgaWYgKGMgJiYgYy5jaGFwdGVyX2luZGV4ID09PSBjaGFwdGVySW5kZXgpIHtcbiAgICAgICAgICAgICAgICBjbnQrKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoY250ICE9PSBpdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2hvd0NsZWFyO1xuICAgIH1cblxuICAgIGdldENoYXB0ZXJOYW1lKGNoYXB0ZXJJbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgY2hhcHRlckluZGV4IC09IDE7XG4gICAgICAgIGxldCBuYW1lQXJyOiBzdHJpbmdbXSA9XG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgXCLkuIBcIiwgXCLkuoxcIiwgXCLkuIlcIiwgXCLlm5tcIiwgXCLkupRcIiwgXCLlha1cIiwgXCLkuINcIiwgXCLlhatcIiwgXCLkuZ1cIiwgXCLljYFcIixcbiAgICAgICAgICAgICAgICBcIuWNgeS4gFwiLCBcIuWNgeS6jFwiLCBcIuWNgeS4iVwiLCBcIuWNgeWbm1wiLCBcIuWNgeS6lFwiLCBcIuWNgeWFrVwiLCBcIuWNgeS4g1wiLCBcIuWNgeWFq1wiLCBcIuWNgeS5nVwiLCBcIuS6jOWNgVwiXG4gICAgICAgICAgICBdO1xuICAgICAgICBsZXQgbmFtZSA9IFN0cmluZ1V0aWxzLmZvcm1hdChHYW1lTW9kZWxNYW5hZ2VyLmdldExhbmd1YWdlVHh0KEdhbWVUZXh0RGF0YS5HQU1FX1RFWFRfQ0hBUFRFUl9OQU1FKSwgbmFtZUFycltjaGFwdGVySW5kZXhdKTtcbiAgICAgICAgcmV0dXJuIG5hbWVcbiAgICB9XG5cbiAgICBvbkl0ZW1BZE1vZGVDbGljayA9IChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgICBHYW1lTW9kZWxNYW5hZ2VyLnNldEd1aWRlRXZlbnRJdGVtUmVjb3JkKGtleSwgR3VpZGVTdGF0ZS5Db21wbGV0ZSk7XG4gICAgICAgIGxldCBtID0gdGhpcy5fbW9kZWxNYXBba2V5XTtcbiAgICAgICAgbGV0IGhhc1JlY29yZCA9IHRoaXMuY2hlY2tJc1NjZW5lSGFzQWRSZWNvcmQobS5pZCk7XG4gICAgICAgIENES2V5RXZlbnRNYW5hZ2VyLmdldEluc3RhbmNlKCkuc2hpZnRDREtleVJlbW92ZVBsb3RBRCgpO1xuICAgICAgICBsZXQgcmVtb3ZlQWRDYXJkTnVtOiBudW1iZXIgPSBDREtleUV2ZW50TWFuYWdlci5nZXRJbnN0YW5jZSgpLmNoZWNrQ0RLZXlSZW1vdmVQbG90QUQoKTtcbiAgICAgICAgaWYgKG0uc3RhdHVzICE9PSBEYXRpbmdFdmVudFN0YXR1cy5Db21wbGV0ZWQpIHtcbiAgICAgICAgICAgIEdhbWVEb3RNZ3IuZ2V0SW5zdGFuY2UoKS5kb3RDbGlja1VJKFwiY2xpY2tfZGF0ZV9jYXJkXCIgKyBtLmNvbmZpZy5pZCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHNob3dBZEFsZXJ0OiBib29sZWFuID0gIShyZW1vdmVBZENhcmROdW0gPiAwKSAmJiAhaGFzUmVjb3JkICYmIG0uY29uZmlnLmFkcyA9PT0gMSAmJiBtLnN0YXR1cyA9PSBEYXRpbmdFdmVudFN0YXR1cy5OZXc7XG4gICAgICAgIGlmIChzaG93QWRBbGVydCkge1xuICAgICAgICAgICAgbGV0IHRlbXA6IEFsZXJ0RGlhbG9nVmlld1Byb3BzID1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBkYXRhcHRyOiB7IGtleSB9LFxuICAgICAgICAgICAgICAgIHRpdGxlY29udGVudDogR2FtZU1vZGVsTWFuYWdlci5nZXRMYW5ndWFnZVR4dChHYW1lVGV4dERhdGEuR0FNRV9URVhUX1dBSVRfVkFMVUUpLFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IEdhbWVNb2RlbE1hbmFnZXIuZ2V0TGFuZ3VhZ2VUeHQoR2FtZVRleHREYXRhLkdBTUVfVEVYVF9TSE9XX0FEX1VOTE9DS19EQVRFX1ZBTFVFKSxcbiAgICAgICAgICAgICAgICBpc2hhc2FkOiB0cnVlLFxuICAgICAgICAgICAgICAgIGlzdHdvYnRuOiB0cnVlLFxuICAgICAgICAgICAgICAgIGFkY29uZmlnOiBcImluamVjdF9mcnVpdFwiLFxuICAgICAgICAgICAgICAgIGxvY2F0aW9uOiBDb21tb25Mb2NhdGlvbi5FdmVudCxcbiAgICAgICAgICAgICAgICBjYWxsYmFjazogdGhpcy5zaG93QWRDYWxsQmFjayxcbiAgICAgICAgICAgICAgICBoYXNCYW5uZXI6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGlzdGhyZWVidG46IHRydWVcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIlB1c2ggQWxlcnREaWFsb2dWaWV3UHJvcyBkYXRhIGVuZFwiKTtcbiAgICAgICAgICAgIFVJTWFuYWdlci5wdXNoUHJlc2VudGVyKEFsZXJ0RGlhbG9nVmlld1ByZXNlbnRlciwgdGVtcCk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcInB1c2hQcmVzZW50ZXI9PT09PT09PT1cIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVudGVyRGF0aW5nU2NlbmUoa2V5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNob3dBZENhbGxCYWNrID0gKHR5cGUsIHJldDogYm9vbGVhbiwgcGFyYW06IGFueSkgPT4ge1xuICAgICAgICBpZiAocmV0KSB7XG4gICAgICAgICAgICBpZiAodHJ1ZSkge1xuICAgICAgICAgICAgICAgIGxldCBrZXkgPSBwYXJhbVtcImtleVwiXSBhcyBzdHJpbmc7XG4gICAgICAgICAgICAgICAgbGV0IG0gPSB0aGlzLl9tb2RlbE1hcFtrZXldO1xuICAgICAgICAgICAgICAgIHRoaXMucHVzaFNjZW5lQWRUb1JlY29yZChtLmlkKTtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRlckRhdGluZ1NjZW5lKGtleSk7XG4gICAgICAgICAgICAgICAgfSwgMzAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoZWNrSXNTY2VuZUhhc0FkUmVjb3JkKGlkOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgbGV0IHJldDogYm9vbGVhbiA9IGZhbHNlO1xuICAgICAgICBsZXQgcmVjb3JkID0gR2FtZVJlY29yZC5nbG9iYWxWYXJpYWJsZXNbXCJkYXRlX2FkX2FyclwiXSBhcyBzdHJpbmc7XG4gICAgICAgIGlmIChyZWNvcmQpIHtcbiAgICAgICAgICAgIGxldCBhOiBudW1iZXJbXSA9IEpTT04ucGFyc2UocmVjb3JkKTtcbiAgICAgICAgICAgIGxldCBpID0gYS5maW5kSW5kZXgoKHYpID0+IHYgPT09IGlkKTtcbiAgICAgICAgICAgIHJldCA9IGkgIT09IC0xO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXQ7XG4gICAgfVxuXG4gICAgcHVzaFNjZW5lQWRUb1JlY29yZChpZDogbnVtYmVyKSB7XG4gICAgICAgIGxldCByZWNvcmQgPSBHYW1lUmVjb3JkLmdsb2JhbFZhcmlhYmxlc1tcImRhdGVfYWRfYXJyXCJdIGFzIHN0cmluZztcbiAgICAgICAgbGV0IGE6IG51bWJlcltdID0gW107XG4gICAgICAgIGxldCBpc0V4c2l0OiBib29sZWFuID0gZmFsc2U7XG4gICAgICAgIGlmIChyZWNvcmQpIHtcbiAgICAgICAgICAgIGEgPSBKU09OLnBhcnNlKHJlY29yZCk7XG4gICAgICAgICAgICBsZXQgaSA9IGEuZmluZEluZGV4KCh2KSA9PiB2ID09PSBpZCk7XG4gICAgICAgICAgICBpZiAoaSA+PSAwKSB7XG4gICAgICAgICAgICAgICAgaXNFeHNpdCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc0V4c2l0KSB7XG4gICAgICAgICAgICBhLnB1c2goaWQpO1xuICAgICAgICAgICAgYS5yZXZlcnNlKCk7XG4gICAgICAgICAgICBHYW1lUmVjb3JkLmdsb2JhbFZhcmlhYmxlc1tcImRhdGVfYWRfYXJyXCJdID0gSlNPTi5zdHJpbmdpZnkoYSk7XG4gICAgICAgICAgICBHYW1lUmVjb3JkLmF1dG9TYXZlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBlbnRlckRhdGluZ1NjZW5lKGtleTogc3RyaW5nKSB7XG4gICAgICAgIEV4dHJhU3RvcnlNb2RlbE1hbmFnZXIuZW50ZXJFeHRyYVN0b3J5QnlTdGFydFBsb3RJZCh0aGlzLl9tb2RlbE1hcFtrZXldLmNvbmZpZy5zdGFydF9wbG90X2lkKTtcbiAgICAgICAgR2FtZU1vZGVsTWFuYWdlci5TaG93RGF0aW5nRXZlbnRBcnJvd0d1aWRlLmVtaXQoZmFsc2UpO1xuICAgICAgICBVSU1hbmFnZXIucHVzaFByZXNlbnRlcihEYXRpbmdTY2VuZVByZXNlbnRlciwgdGhpcy5fbW9kZWxNYXBba2V5XSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgb25Pd25lclNob3coKSB7XG4gICAgICAgIGlmICghdGhpcy52aWV3LmlzSGlkZGVuKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdEN1ckNoYXB0ZXIoKTtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaE1heENoYXB0ZXJJbmRleCgpO1xuICAgICAgICAgICAgLy8gdGhpcy5yZWZyZXNoSXRlbXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uT3duZXJFbnRlckZvcmVncm91bmQoKSB7XG4gICAgICAgIGlmICghdGhpcy52aWV3LmlzSGlkZGVuKSB7XG4gICAgICAgICAgICB0aGlzLnJlZnJlc2hNYXhDaGFwdGVySW5kZXgoKTtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaEl0ZW1zKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX21heENoYXB0ZXJJc0NoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RDdXJDaGFwdGVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk9wZW4oKSB7XG4gICAgICAgIHN1cGVyLm9uT3BlbigpO1xuICAgICAgICB0aGlzLl9kaXNwb3NhYmxlLmFkZChHYW1lTW9kZWxNYW5hZ2VyLkNoZWNrRGF0ZUd1aWRlLm9uKHRoaXMuY2hlY2tHdWlkZUl0ZW0pKTtcbiAgICAgICAgdGhpcy5fZGlzcG9zYWJsZS5hZGQoR2FtZU1vZGVsTWFuYWdlci5SZWZyZXNoRGF0ZVNjZW5lUHJvZ3Jlc3Mub24odGhpcy5vblJlZnJlc2hEYXRlU2NlbmVQcm9ncmVzcykpO1xuICAgICAgICB0aGlzLl9kaXNwb3NhYmxlLmFkZChHYW1lTW9kZWxNYW5hZ2VyLkZvcmNlQ2xpY2tEYXRpbmdJdGVtLm9uKHRoaXMub25Gb3JjZUNsaWNrSXRlbSkpO1xuICAgICAgICB0aGlzLl9kaXNwb3NhYmxlLmFkZChHYW1lTW9kZWxNYW5hZ2VyLlJlZnJlc2hFeHRyYVBsb3RCeVR5cGUub24odGhpcy5vblJlZnJlc2hFeHRyYVBsb3RCeVR5cGUpKTtcbiAgICAgICAgdGhpcy5zZWxlY3RDdXJDaGFwdGVyKCk7XG4gICAgICAgIGlmICghdGhpcy52aWV3LmlzSGlkZGVuKSB7XG4gICAgICAgICAgICB0aGlzLnJlZnJlc2hNYXhDaGFwdGVySW5kZXgoKTtcbiAgICAgICAgICAgIHRoaXMub25TaG93KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblNob3coKSB7XG4gICAgICAgIHRoaXMucmVmcmVzaE1heENoYXB0ZXJJbmRleCgpO1xuICAgICAgICAvLyB0aGlzLnJlZnJlc2hJdGVtcygpO1xuICAgICAgICB0aGlzLmNoZWNrR3VpZGVJdGVtKCk7XG4gICAgfVxuXG4gICAgb25IaWRlKCkge1xuXG4gICAgfVxuXG4gICAgc2VsZWN0Q3VyQ2hhcHRlcigpIHtcbiAgICAgICAgbGV0IG1vZGVscyA9IEdhbWVNb2RlbE1hbmFnZXIuZ2V0TWFpbkRhdGluZ0V2ZW50U2NlbmVzTW9kZWwoKTtcbiAgICAgICAgaWYgKG1vZGVscyAmJiBtb2RlbHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBsZXQgbGFzdCA9IG1vZGVsc1ttb2RlbHMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICB0aGlzLl9jdXJDaGFwdGVySW5kZXggPSBsYXN0LmNvbmZpZy5jaGFwdGVyX2luZGV4O1xuICAgICAgICAgICAgaWYgKHRoaXMuX2N1ckNoYXB0ZXJJbmRleCAhPT0gMSkge1xuICAgICAgICAgICAgICAgIEdhbWVNb2RlbE1hbmFnZXIuc2V0Tm90TmVlZEVudGVyQ3VyRGF0ZUNoYXB0ZXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoZWNrR3VpZGVJdGVtID0gKCkgPT4ge1xuICAgICAgICBsZXQgayA9IEdhbWVNb2RlbE1hbmFnZXIuZ2V0RXZlbnRJdGVtR3VpZGVLZXkoKTtcbiAgICAgICAgaWYgKGsgJiYgXCJcIiAhPT0gaykge1xuICAgICAgICAgICAgbGV0IG5vZGUgPSB0aGlzLnZpZXcuZ2V0SXRlbU5vZGUoayk7XG4gICAgICAgICAgICBpZiAobm9kZSkge1xuICAgICAgICAgICAgICAgIGxldCB3cCA9IG5vZGUuY29udmVydFRvV29ybGRTcGFjZUFSKGNjLnYyKDAsIDApKTtcbiAgICAgICAgICAgICAgICBsZXQgbTogR3VpZGVWaWV3UGFyYW1Nb2RlbCA9IHtcbiAgICAgICAgICAgICAgICAgICAgeDogd3AueCxcbiAgICAgICAgICAgICAgICAgICAgeTogd3AueSxcbiAgICAgICAgICAgICAgICAgICAgdzogbm9kZS53aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgaDogbm9kZS5oZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgIGQ6IERpcmVjdGlvblR5cGUuRE9XTSxcbiAgICAgICAgICAgICAgICAgICAgY2FsbDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkl0ZW1BZE1vZGVDbGljayhrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoaXMub25JdGVtRW5lcmd5Q29zdENsaWNrKGspO1xuICAgICAgICAgICAgICAgICAgICAgICAgR2FtZU1vZGVsTWFuYWdlci5zZXRHdWlkZUV2ZW50SXRlbVJlY29yZChrLCBHdWlkZVN0YXRlLkNvbXBsZXRlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBVSU1hbmFnZXIucHVzaFByZXNlbnRlcihHdWlkZVZpZXdQcmVzZW50ZXIsIG0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVmcmVzaE1heENoYXB0ZXJJbmRleCgpIHtcbiAgICAgICAgbGV0IG1heENoYXB0ZXJJbmRleCA9IHRoaXMuX21heENoYXB0ZXJJbmRleDtcbiAgICAgICAgbGV0IGFyciA9IEdhbWVNb2RlbE1hbmFnZXIuZ2V0TWFpbkRhdGluZ0V2ZW50U2NlbmVzTW9kZWwoKTtcbiAgICAgICAgaWYgKGFyciAmJiBhcnIubGVuZ3RoKSB7XG4gICAgICAgICAgICBsZXQgZElkID0gYXJyW2Fyci5sZW5ndGggLSAxXS5pZDtcbiAgICAgICAgICAgIGxldCBjZmcgPSBDb25maWdNYW5hZ2VyLmdldENvbmZpZyhkYXRlU2NlbmVDb25maWcsIGRJZCk7XG4gICAgICAgICAgICB0aGlzLl9tYXhDaGFwdGVySW5kZXggPSBjZmcuY2hhcHRlcl9pbmRleDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9tYXhDaGFwdGVySXNDaGFuZ2UgPSBtYXhDaGFwdGVySW5kZXggPT0gdGhpcy5fbWF4Q2hhcHRlckluZGV4ID8gZmFsc2UgOiB0cnVlO1xuICAgIH1cblxuICAgIG9uT3B0aW9uQ2hhcHRlciA9IChzdGVwVHlwZTogU3RlcFR5cGUpID0+IHtcbiAgICAgICAgbGV0IHRlbXBJbmRleCA9IHN0ZXBUeXBlID09PSBTdGVwVHlwZS5BZGQgPyB0aGlzLl9jdXJDaGFwdGVySW5kZXggKyAxIDogdGhpcy5fY3VyQ2hhcHRlckluZGV4IC0gMTtcbiAgICAgICAgdGhpcy5fY3VyQ2hhcHRlckluZGV4ID0gdGVtcEluZGV4ID49IDEgJiYgdGVtcEluZGV4IDw9IHRoaXMuX21heENoYXB0ZXJJbmRleCA/IHRlbXBJbmRleCA6IHRoaXMuX2N1ckNoYXB0ZXJJbmRleDtcbiAgICAgICAgdGhpcy5yZWZyZXNoSXRlbXMoKTtcbiAgICB9XG5cbiAgICBvblJlZnJlc2hEYXRlU2NlbmVQcm9ncmVzcyA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5yZWZyZXNoSXRlbXMoKTtcbiAgICB9XG5cbiAgICBvbkZvcmNlQ2xpY2tJdGVtID0gKGlkOiBudW1iZXIpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coXCJEYXRpbmdFdmVudFN1YnByZXNlbnRlciBvbkZvcmNlQ2xpY2tJdGVtIGlkID0gXCIsIGlkKTtcbiAgICAgICAgbGV0IGsgPSBpZCArIFwiXCI7XG4gICAgICAgIGlmICghdGhpcy5fbW9kZWxNYXAgfHwgIXRoaXMuX21vZGVsTWFwW2tdKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vbkl0ZW1BZE1vZGVDbGljayhrKTtcbiAgICB9XG5cbiAgICBvblJlZnJlc2hFeHRyYVBsb3RCeVR5cGUgPSAoaWQ6IG51bWJlcikgPT4ge1xuICAgICAgICB0aGlzLl9jdXJDaGFwdGVySW5kZXggPSBpZDtcbiAgICAgICAgdGhpcy5yZWZyZXNoSXRlbXMoKTtcbiAgICB9XG59Il19
\ No newline at end of file
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvZ2FtZS91aS9wcmVzZW50ZXIvRXh0cmFQbG90RGF0aW5nRXZlbnRTdWJWaWV3UHJlc2VudGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtEQUFxRDtBQUNyRCwwQ0FBdUQ7QUFDdkQsMERBQW9EO0FBQ3BELDJFQUFrRjtBQUNsRixpRkFBOEU7QUFDOUUsMkVBQXdFO0FBQ3hFLG1FQUFnRTtBQUNoRSxxRUFBa0U7QUFDbEUsdUNBQThLO0FBQzlLLGlEQUEwQztBQUMxQyxxRUFBOEQ7QUFDOUQsNkVBQTZGO0FBQzdGLCtFQUE0RTtBQUM1RSxtRUFBZ0U7QUFDaEUsc0VBQTBFO0FBRTFFLDBGQUF1SjtBQUN2Six5RUFBa0U7QUFDbEUsaUVBQThEO0FBQzlELDZEQUErRTtBQUcvRTtJQUFBLElBQWEsb0NBQW9DLEdBQWpELE1BQWEsb0NBQXFDLFNBQVEsNEJBQXlDO1FBQW5HOztZQUNZLGNBQVMsR0FBNkMsRUFBRSxDQUFDO1lBQ3pELG1CQUFjLEdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDNUIscUJBQWdCLEdBQVcsQ0FBQyxDQUFDO1lBQzdCLHFCQUFnQixHQUFXLENBQUMsQ0FBQztZQUM3Qix3QkFBbUIsR0FBWSxLQUFLLENBQUM7WUErSDdDLHNCQUFpQixHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUU7Z0JBQ2hDLG1DQUFnQixDQUFDLHVCQUF1QixDQUFDLEdBQUcsRUFBRSxrQkFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNuRSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM1QixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNuRCwyQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO2dCQUN6RCxJQUFJLGVBQWUsR0FBVywy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RDtJQUFELDJDQUFDO0tBQUE7QUE3VFksb0ZBQW9DIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlnTWFuYWdlciB9IGZyb20gXCJzaW1iYS1jb25maWctbWFuYWdlclwiO1xuaW1wb3J0IHsgR2FtZVJlY29yZCwgZ2V0UGxvdCB9IGZyb20gXCIuLi8uLi8uLi9hdmcvQVZHXCI7XG5pbXBvcnQgeyBEYXRlVHlwZSB9IGZyb20gXCIuLi8uLi8uLi9hdmcvRWRpdG9yRW51bXNcIjtcbmltcG9ydCB7IFByZXNlbnRlciwgU3VicHJlc2VudGVyIH0gZnJvbSBcIi4uLy4uLy4uL2NvbW1vbi9jbGFzc2Jhc2UvUHJlc2VudGVyQmFzZVwiO1xuaW1wb3J0IHsgR2FtZVRleHREYXRhIH0gZnJvbSBcIi4uLy4uLy4uL2NvbW1vbi9nYW1lcGxheS9nYW1lZGF0YS9HYW1lVGV4dERhdGFcIjtcbmltcG9ydCB7IFVJTWFuYWdlciB9IGZyb20gXCIuLi8uLi8uLi9jb21tb24vZ2FtZXBsYXkvbWFuYWdlcnMvVUlNYW5hZ2VyXCI7XG5pbXBvcnQgeyBTdHJpbmdVdGlscyB9IGZyb20gXCIuLi8uLi8uLi9jb21tb24vdXRpbHMvU3RyaW5nVXRpbHNcIjtcbmltcG9ydCB7IGRhdGVTY2VuZUNvbmZpZyB9IGZyb20gXCIuLi8uLi8uLi9jb25maWcvRGF0ZVNjZW5lQ29uZmlnXCI7XG5pbXBvcnQgeyBDb21tb25Mb2NhdGlvbiwgRGF0ZVByZWZhYkRpcmVjdFR5cGUsIERpcmVjdGlvblR5cGUsIEV2ZW50TG9jYXRpb24sIEV2ZW50T3BlcmF0aW9uVHlwZSwgR3VpZGVMb2NhdGlvbiwgR3VpZGVPcGVyYXRpb25UeXBlLCBHdWlkZVN0YXRlLCBTdGVwVHlwZSB9IGZyb20gXCIuLi8uLi9FbnVtc1wiO1xuaW1wb3J0IEdhbWVEb3RNZ3IgZnJvbSBcIi4uLy4uL0dhbWVEb3RNZ3JcIjtcbmltcG9ydCBDREtleUV2ZW50TWFuYWdlciBmcm9tIFwiLi4vLi4vbW9kZWwvQ0RLZXlFdmVudE1hbmFnZXJcIjtcbmltcG9ydCB7IERhdGluZ0V2ZW50U2NlbmVNb2RlbCwgRGF0aW5nRXZlbnRTdGF0dXMgfSBmcm9tIFwiLi4vLi4vbW9kZWwvRGF0aW5nRXZlbnRTY2VuZU1vZGVsXCI7XG5pbXBvcnQgeyBFeHRyYVN0b3J5TW9kZWxNYW5hZ2VyIH0gZnJvbSBcIi4uLy4uL21vZGVsL0V4dHJhU3RvcnlNb2RlbE1hbmFnZXJcIjtcbmltcG9ydCB7IEdhbWVNb2RlbE1hbmFnZXIgfSBmcm9tIFwiLi4vLi4vbW9kZWwvR2FtZU1vZGVsTWFuYWdlclwiO1xuaW1wb3J0IHsgUmVnUHJlc2VudGVyLCBSZWdTdWJwcmVzZW50ZXIgfSBmcm9tIFwiLi4vUHJlc2VudGVyQ0NWaWV3RmFjdG9yeVwiO1xuaW1wb3J0IHsgQWxlcnREaWFsb2dWaWV3UHJvcHMgfSBmcm9tIFwiLi4vdmlldy90eXBlL0FsZXJ0RGlhbG9nVmlld1wiO1xuaW1wb3J0IHsgRXh0cmFQbG90RGF0aW5nRXZlbnRJdGVtUHJvcHMsIEV4dHJhUGxvdERhdGluZ0V2ZW50U3ViVmlldywgRXh0cmFQbG90RGF0aW5nRXZlbnRTdWJWaWV3VHlwZSB9IGZyb20gXCIuLi92aWV3L3R5cGUvRXh0cmFQbG90RGF0aW5nRXZlbnRTdWJWaWV3XCI7XG5pbXBvcnQgQWxlcnREaWFsb2dWaWV3UHJlc2VudGVyIGZyb20gXCIuL0FsZXJ0RGlhbG9nVmlld1ByZXNlbnRlclwiO1xuaW1wb3J0IHsgRGF0aW5nU2NlbmVQcmVzZW50ZXIgfSBmcm9tIFwiLi9EYXRpbmdTY2VuZVByZXNlbnRlclwiO1xuaW1wb3J0IEd1aWRlVmlld1ByZXNlbnRlciwgeyBHdWlkZVZpZXdQYXJhbU1vZGVsIH0gZnJvbSBcIi4vR3VpZGVWaWV3UHJlc2VudGVyXCI7XG5cbkBSZWdTdWJwcmVzZW50ZXIoRXh0cmFQbG90RGF0aW5nRXZlbnRTdWJWaWV3VHlwZSlcbmV4cG9ydCBjbGFzcyBFeHRyYVBsb3REYXRpbmdFdmVudFN1YlZpZXdQcmVzZW50ZXIgZXh0ZW5kcyBTdWJwcmVzZW50ZXI8RXh0cmFQbG90RGF0aW5nRXZlbnRTdWJWaWV3PiB7XG4gICAgcHJpdmF0ZSBfbW9kZWxNYXA6IHsgW2tleTogc3RyaW5nXTogRGF0aW5nRXZlbnRTY2VuZU1vZGVsIH0gPSB7fTtcbiAgICBwcml2YXRlIF9kYWlseVNjZW5lTnVtOiBudW1iZXIgPSAtMTtcbiAgICBwcml2YXRlIF9jdXJDaGFwdGVySW5kZXg6IG51bWJlciA9IDE7XG4gICAgcHJpdmF0ZSBfbWF4Q2hhcHRlckluZGV4OiBudW1iZXIgPSAxO1xuICAgIHByaXZhdGUgX21heENoYXB0ZXJJc0NoYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGlzUmV2aWV3OiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBzY2VuZU1vZGVsVG9WaWV3TW9kZWwoaXRlbTogRGF0aW5nRXZlbnRTY2VuZU1vZGVsLCBpbmRleDogbnVtYmVyKTogRXh0cmFQbG90RGF0aW5nRXZlbnRJdGVtUHJvcHMge1xuICAgICAgICB0aGlzLl9tb2RlbE1hcFtpdGVtLmlkLnRvU3RyaW5nKCldID0gaXRlbTtcbiAgICAgICAgbGV0IGRpcmVjdCA9IERhdGVQcmVmYWJEaXJlY3RUeXBlLkxlZnQ7XG4gICAgICAgIGlmICh0aGlzLl9jdXJDaGFwdGVySW5kZXggJSAyID09PSAxKSB7XG4gICAgICAgICAgICBkaXJlY3QgPSAoaW5kZXggKyAxKSAlIDIgPT09IDEgPyBEYXRlUHJlZmFiRGlyZWN0VHlwZS5MZWZ0IDogRGF0ZVByZWZhYkRpcmVjdFR5cGUuUmlnaHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkaXJlY3QgPSAoaW5kZXggKyAxKSAlIDIgPT09IDAgPyBEYXRlUHJlZmFiRGlyZWN0VHlwZS5MZWZ0IDogRGF0ZVByZWZhYkRpcmVjdFR5cGUuUmlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGtleTogaXRlbS5pZCArIFwiXCIsXG4gICAgICAgICAgICB0aXRsZTogR2FtZU1vZGVsTWFuYWdlci5nZXRDb25maWdMYW5ndWFnZVR4dChpdGVtLmNvbmZpZy5uYW1lKSxcbiAgICAgICAgICAgIHN0YXR1czogaXRlbS5zdGF0dXMsXG4gICAgICAgICAgICBjb3ZlckltYWdlOiBcInRleHR1cmVzL2RhdGluZ19ldmVudC9jb3Zlci9cIiArIGl0ZW0uY29uZmlnLmJhY2tncm91bmQsXG4gICAgICAgICAgICBpdHlwZTogZGlyZWN0XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBhc3luYyByZWZyZXNoSXRlbXMoKSB7XG4gICAgLy8gICAgIGxldCBpdGVtczogRXh0cmFEYXRlSXRlbVZpZXdQcm9wc1tdID0gW107XG4gICAgLy8gICAgIGxldCBjZmdJZEFycjogbnVtYmVyW10gPSB0aGlzLmdldENmZ0lkQXJyKCk7XG4gICAgLy8gICAgIGxldCByb2xlID0gR2FtZU1vZGVsTWFuYWdlci5nZXRSb2xlRGF0YSh0aGlzLl92aWV3UHJvcHMucm9sZUlkKTtcbiAgICAvLyAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjZmdJZEFyci5sZW5ndGg7IGkrKykge1xuICAgIC8vICAgICAgICAgbGV0IGNmZyA9IENvbmZpZ01hbmFnZXIuZ2V0Q29uZmlnKGV4dHJhU2NlbmVDb25maWcsIGNmZ0lkQXJyW2ldKTtcbiAgICAvLyAgICAgICAgIGlmIChyb2xlICYmIHJvbGUuZ2V0UmVsYXRpb25WYWx1ZSgpID49IGNmZy5yZWxhdGlvbkNvbmRpdGlvbikge1xuICAgIC8vICAgICAgICAgICAgIGF3YWl0IEV4dHJhU3RvcnlNb2RlbE1hbmFnZXIuc3RhcnRCcmFuY2hlcyhbY2ZnLnN0YXJ0X3Bsb3RfaWRdKTtcbiAgICAvLyAgICAgICAgIH1cbiAgICAvLyAgICAgICAgIGxldCBzY2VuZU1vZGVsID0gbmV3IERhdGluZ0V2ZW50U2NlbmVNb2RlbChjZmcuaWQsIGZhbHNlKTtcbiAgICAvLyAgICAgICAgIGF3YWl0IHNjZW5lTW9kZWwuaW5pdEZyb21SZWNvcmRzKCk7XG4gICAgLy8gICAgICAgICBpZiAoc2NlbmVNb2RlbC5zdGF0dXMgPT09IERhdGluZ0V2ZW50U3RhdHVzLkxvY2tlZCAmJiByb2xlIS5nZXRSZWxhdGlvblZhbHVlKCkgPj0gY2ZnLnJlbGF0aW9uQ29uZGl0aW9uKSB7XG4gICAgLy8gICAgICAgICAgICAgc2NlbmVNb2RlbC5zdGF0dXMgPSBEYXRpbmdFdmVudFN0YXR1cy5OZXc7XG4gICAgLy8gICAgICAgICB9XG4gICAgLy8gICAgICAgICBsZXQgcCA9IHRoaXMuc2NlbmVNb2RlbFRvVmlld01vZGVsKHNjZW5lTW9kZWwpO1xuICAgIC8vICAgICAgICAgcC5zaG93TGluZSA9IGkgIT09IGNmZ0lkQXJyLmxlbmd0aCAtIDE7XG4gICAgLy8gICAgICAgICBpdGVtcy5wdXNoKHApO1xuICAgIC8vICAgICB9XG4gICAgLy8gICAgIHRoaXMuX3ZpZXdQcm9wcy5pdGVtcyA9IGl0ZW1zO1xuICAgIC8vIH1cblxuICAgIGFzeW5jIHJlZnJlc2hJdGVtcygpIHtcbiAgICAgICAgbGV0IGl0ZW1zOiBFeHRyYVBsb3REYXRpbmdFdmVudEl0ZW1Qcm9wc1tdID0gW107XG4gICAgICAgIGxldCBzcmNNb2RlbHM6IERhdGluZ0V2ZW50U2NlbmVNb2RlbFtdID0gW107XG4gICAgICAgIGxldCBjZmcgPSBDb25maWdNYW5hZ2VyLmdldEFsbENvbmZpZyhkYXRlU2NlbmVDb25maWcpO1xuICAgICAgICBmb3IgKGNvbnN0IGlkIGluIGNmZykge1xuICAgICAgICAgICAgaWYgKGNmZ1tpZF0uRGF0ZVR5cGUgPT0gRGF0ZVR5cGUuRGF0ZV9TcCAmJiBjZmdbaWRdLmNoYXB0ZXJfaW5kZXggPT0gdGhpcy5fY3VyQ2hhcHRlckluZGV4KSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgRXh0cmFTdG9yeU1vZGVsTWFuYWdlci5zdGFydEJyYW5jaGVzKFtjZmdbaWRdLnN0YXJ0X3Bsb3RfaWRdKTtcbiAgICAgICAgICAgICAgICBsZXQgcGxvdCA9IGF3YWl0IGdldFBsb3QoY2ZnW2lkXS5zdGFydF9wbG90X2lkKTtcbiAgICAgICAgICAgICAgICBsZXQgbW9kZWwgPSBuZXcgRGF0aW5nRXZlbnRTY2VuZU1vZGVsKE51bWJlcihpZCkpO1xuICAgICAgICAgICAgICAgIC8vIG1vZGVsLnN0YXR1cyA9IEV4dHJhU3RvcnlNb2RlbE1hbmFnZXIuZ2V0QnJhbmNoU3RhdHVzKG1vZGVsLmlkLCBtb2RlbC5jb25maWcuc3RhcnRfcGxvdF9pZCk7XG4gICAgICAgICAgICAgICAgYXdhaXQgbW9kZWwuaW5pdEZyb21SZWNvcmRzKCk7XG4gICAgICAgICAgICAgICAgaWYgKG1vZGVsLnN0YXR1cyA9PT0gRGF0aW5nRXZlbnRTdGF0dXMuTG9ja2VkKSB7XG4gICAgICAgICAgICAgICAgICAgIG1vZGVsLnN0YXR1cyA9IERhdGluZ0V2ZW50U3RhdHVzLk5ldztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gbW9kZWwuZmlyc3RQbG90ID0gcGxvdDtcbiAgICAgICAgICAgICAgICBtb2RlbC5pc0V4dHJhID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzcmNNb2RlbHMucHVzaChtb2RlbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChsZXQgaSA9IHNyY01vZGVscy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgICAgaXRlbXMucHVzaCh0aGlzLnNjZW5lTW9kZWxUb1ZpZXdNb2RlbChzcmNNb2RlbHNbaV0sIGkpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fZGFpbHlTY2VuZU51bSA9PSAtMSkge1xuICAgICAgICAgICAgbGV0IG1heEl0ZW1zTnVtOiBudW1iZXIgPSAwO1xuICAgICAgICAgICAgbGV0IGNmZyA9IENvbmZpZ01hbmFnZXIuZ2V0QWxsQ29uZmlnKGRhdGVTY2VuZUNvbmZpZyk7XG4gICAgICAgICAgICBmb3IgKGxldCBpZCBpbiBjZmcpIHtcbiAgICAgICAgICAgICAgICBsZXQgYyA9IGNmZ1tpZF07XG4gICAgICAgICAgICAgICAgaWYgKGMpIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4SXRlbXNOdW0rKztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9kYWlseVNjZW5lTnVtID0gbWF4SXRlbXNOdW07XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHNob3dDb250aW51ZSA9IGZhbHNlO1xuICAgICAgICBpZiAoc3JjTW9kZWxzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICAgICAgbGV0IGMgPSAwO1xuICAgICAgICAgICAgbGV0IGNmZ3MgPSBDb25maWdNYW5hZ2VyLmdldEFsbENvbmZpZyhkYXRlU2NlbmVDb25maWcpO1xuICAgICAgICAgICAgZm9yIChsZXQgaWQgaW4gY2Zncykge1xuICAgICAgICAgICAgICAgIGxldCBjZmcgPSBjZmdzW2lkXTtcbiAgICAgICAgICAgICAgICBpZiAoY2ZnKSB7XG4gICAgICAgICAgICAgICAgICAgIGMrKztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgbGFzdCA9IHNyY01vZGVsc1tzcmNNb2RlbHMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICBzaG93Q29udGludWUgPSBsYXN0LmlkID09PSBjO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudmlldy5zZXRQcm9wcyh7XG4gICAgICAgICAgICBpdGVtcyxcbiAgICAgICAgICAgIG9uSXRlbUNsaWNrOiB0aGlzLm9uSXRlbUFkTW9kZUNsaWNrLFxuICAgICAgICAgICAgc2hvd0NvbnRpbnVlOiBzaG93Q29udGludWUsXG4gICAgICAgICAgICBjaGFwdGVyTmFtZTogdGhpcy5nZXRDaGFwdGVyTmFtZSh0aGlzLl9jdXJDaGFwdGVySW5kZXgpLFxuICAgICAgICAgICAgc2hvd0xlZnQ6IHRoaXMuX2N1ckNoYXB0ZXJJbmRleCAhPT0gMSxcbiAgICAgICAgICAgIHNob3dSaWdodDogdGhpcy5fY3VyQ2hhcHRlckluZGV4ICE9PSB0aGlzLl9tYXhDaGFwdGVySW5kZXgsXG4gICAgICAgICAgICBzaG93Q2hhcHRlckNsZWFyOiB0aGlzLmNoZWNrQ2hhcHRlckNsZWFyKGl0ZW1zLCB0aGlzLl9jdXJDaGFwdGVySW5kZXgpLFxuICAgICAgICAgICAgb25PcHRpb25DaGFwdGVyOiB0aGlzLm9uT3B0aW9uQ2hhcHRlcixcbiAgICAgICAgICAgIGNoYXB0ZXJJbmRleDogdGhpcy5fY3VyQ2hhcHRlckluZGV4XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNoZWNrQ2hhcHRlckNsZWFyKGl0ZW1zOiBFeHRyYVBsb3REYXRpbmdFdmVudEl0ZW1Qcm9wc1tdLCBjaGFwdGVySW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgc2hvd0NsZWFyOiBib29sZWFuID0gdHJ1ZTtcbiAgICAgICAgbGV0IGNmZyA9IENvbmZpZ01hbmFnZXIuZ2V0QWxsQ29uZmlnKGRhdGVTY2VuZUNvbmZpZyk7XG4gICAgICAgIGxldCBjbnQgPSAwO1xuICAgICAgICBmb3IgKGxldCBpZCBpbiBjZmcpIHtcbiAgICAgICAgICAgIGxldCBjID0gY2ZnW2lkXVxuICAgICAgICAgICAgaWYgKGMgJiYgYy5jaGFwdGVyX2luZGV4ID09PSBjaGFwdGVySW5kZXgpIHtcbiAgICAgICAgICAgICAgICBjbnQrKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoY250ICE9PSBpdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2hvd0NsZWFyO1xuICAgIH1cblxuICAgIGdldENoYXB0ZXJOYW1lKGNoYXB0ZXJJbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgY2hhcHRlckluZGV4IC09IDE7XG4gICAgICAgIGxldCBuYW1lQXJyOiBzdHJpbmdbXSA9XG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgXCLkuIBcIiwgXCLkuoxcIiwgXCLkuIlcIiwgXCLlm5tcIiwgXCLkupRcIiwgXCLlha1cIiwgXCLkuINcIiwgXCLlhatcIiwgXCLkuZ1cIiwgXCLljYFcIixcbiAgICAgICAgICAgICAgICBcIuWNgeS4gFwiLCBcIuWNgeS6jFwiLCBcIuWNgeS4iVwiLCBcIuWNgeWbm1wiLCBcIuWNgeS6lFwiLCBcIuWNgeWFrVwiLCBcIuWNgeS4g1wiLCBcIuWNgeWFq1wiLCBcIuWNgeS5nVwiLCBcIuS6jOWNgVwiXG4gICAgICAgICAgICBdO1xuICAgICAgICBsZXQgbmFtZSA9IFN0cmluZ1V0aWxzLmZvcm1hdChHYW1lTW9kZWxNYW5hZ2VyLmdldExhbmd1YWdlVHh0KEdhbWVUZXh0RGF0YS5HQU1FX1RFWFRfQ0hBUFRFUl9OQU1FKSwgbmFtZUFycltjaGFwdGVySW5kZXhdKTtcbiAgICAgICAgcmV0dXJuIG5hbWVcbiAgICB9XG5cbiAgICBvbkl0ZW1BZE1vZGVDbGljayA9IChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgICBHYW1lTW9kZWxNYW5hZ2VyLnNldEd1aWRlRXZlbnRJdGVtUmVjb3JkKGtleSwgR3VpZGVTdGF0ZS5Db21wbGV0ZSk7XG4gICAgICAgIGxldCBtID0gdGhpcy5fbW9kZWxNYXBba2V5XTtcbiAgICAgICAgbGV0IGhhc1JlY29yZCA9IHRoaXMuY2hlY2tJc1NjZW5lSGFzQWRSZWNvcmQobS5pZCk7XG4gICAgICAgIENES2V5RXZlbnRNYW5hZ2VyLmdldEluc3RhbmNlKCkuc2hpZnRDREtleVJlbW92ZVBsb3RBRCgpO1xuICAgICAgICBsZXQgcmVtb3ZlQWRDYXJkTnVtOiBudW1iZXIgPSBDREtleUV2ZW50TWFuYWdlci5nZXRJbnN0YW5jZSgpLmNoZWNrQ0RLZXlSZW1vdmVQbG90QUQoKTtcbiAgICAgICAgaWYgKG0uc3RhdHVzICE9PSBEYXRpbmdFdmVudFN0YXR1cy5Db21wbGV0ZWQpIHtcbiAgICAgICAgICAgIEdhbWVEb3RNZ3IuZ2V0SW5zdGFuY2UoKS5kb3RDbGlja1VJKFwiY2xpY2tfZGF0ZV9jYXJkXCIgKyBtLmNvbmZpZy5pZCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHNob3dBZEFsZXJ0OiBib29sZWFuID0gIShyZW1vdmVBZENhcmROdW0gPiAwKSAmJiAhaGFzUmVjb3JkICYmIG0uY29uZmlnLmFkcyA9PT0gMSAmJiBtLnN0YXR1cyA9PSBEYXRpbmdFdmVudFN0YXR1cy5OZXc7XG4gICAgICAgIGlmIChzaG93QWRBbGVydCkge1xuICAgICAgICAgICAgbGV0IHRlbXA6IEFsZXJ0RGlhbG9nVmlld1Byb3BzID1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBkYXRhcHRyOiB7IGtleSB9LFxuICAgICAgICAgICAgICAgIHRpdGxlY29udGVudDogR2FtZU1vZGVsTWFuYWdlci5nZXRMYW5ndWFnZVR4dChHYW1lVGV4dERhdGEuR0FNRV9URVhUX1dBSVRfVkFMVUUpLFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IEdhbWVNb2RlbE1hbmFnZXIuZ2V0TGFuZ3VhZ2VUeHQoR2FtZVRleHREYXRhLkdBTUVfVEVYVF9TSE9XX0FEX1VOTE9DS19EQVRFX1ZBTFVFKSxcbiAgICAgICAgICAgICAgICBpc2hhc2FkOiB0cnVlLFxuICAgICAgICAgICAgICAgIGlzdHdvYnRuOiB0cnVlLFxuICAgICAgICAgICAgICAgIGFkY29uZmlnOiBcImluamVjdF9mcnVpdFwiLFxuICAgICAgICAgICAgICAgIGxvY2F0aW9uOiBDb21tb25Mb2NhdGlvbi5FdmVudCxcbiAgICAgICAgICAgICAgICBjYWxsYmFjazogdGhpcy5zaG93QWRDYWxsQmFjayxcbiAgICAgICAgICAgICAgICBoYXNCYW5uZXI6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGlzdGhyZWVidG46IHRydWVcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIlB1c2ggQWxlcnREaWFsb2dWaWV3UHJvcyBkYXRhIGVuZFwiKTtcbiAgICAgICAgICAgIFVJTWFuYWdlci5wdXNoUHJlc2VudGVyKEFsZXJ0RGlhbG9nVmlld1ByZXNlbnRlciwgdGVtcCk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcInB1c2hQcmVzZW50ZXI9PT09PT09PT1cIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVudGVyRGF0aW5nU2NlbmUoa2V5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNob3dBZENhbGxCYWNrID0gKHR5cGUsIHJldDogYm9vbGVhbiwgcGFyYW06IGFueSkgPT4ge1xuICAgICAgICBpZiAocmV0KSB7XG4gICAgICAgICAgICBpZiAodHJ1ZSkge1xuICAgICAgICAgICAgICAgIGxldCBrZXkgPSBwYXJhbVtcImtleVwiXSBhcyBzdHJpbmc7XG4gICAgICAgICAgICAgICAgbGV0IG0gPSB0aGlzLl9tb2RlbE1hcFtrZXldO1xuICAgICAgICAgICAgICAgIHRoaXMucHVzaFNjZW5lQWRUb1JlY29yZChtLmlkKTtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRlckRhdGluZ1NjZW5lKGtleSk7XG4gICAgICAgICAgICAgICAgfSwgMzAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoZWNrSXNTY2VuZUhhc0FkUmVjb3JkKGlkOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgbGV0IHJldDogYm9vbGVhbiA9IGZhbHNlO1xuICAgICAgICBsZXQgcmVjb3JkID0gR2FtZVJlY29yZC5nbG9iYWxWYXJpYWJsZXNbXCJkYXRlX2FkX2FyclwiXSBhcyBzdHJpbmc7XG4gICAgICAgIGlmIChyZWNvcmQpIHtcbiAgICAgICAgICAgIGxldCBhOiBudW1iZXJbXSA9IEpTT04ucGFyc2UocmVjb3JkKTtcbiAgICAgICAgICAgIGxldCBpID0gYS5maW5kSW5kZXgoKHYpID0+IHYgPT09IGlkKTtcbiAgICAgICAgICAgIHJldCA9IGkgIT09IC0xO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXQ7XG4gICAgfVxuXG4gICAgcHVzaFNjZW5lQWRUb1JlY29yZChpZDogbnVtYmVyKSB7XG4gICAgICAgIGxldCByZWNvcmQgPSBHYW1lUmVjb3JkLmdsb2JhbFZhcmlhYmxlc1tcImRhdGVfYWRfYXJyXCJdIGFzIHN0cmluZztcbiAgICAgICAgbGV0IGE6IG51bWJlcltdID0gW107XG4gICAgICAgIGxldCBpc0V4c2l0OiBib29sZWFuID0gZmFsc2U7XG4gICAgICAgIGlmIChyZWNvcmQpIHtcbiAgICAgICAgICAgIGEgPSBKU09OLnBhcnNlKHJlY29yZCk7XG4gICAgICAgICAgICBsZXQgaSA9IGEuZmluZEluZGV4KCh2KSA9PiB2ID09PSBpZCk7XG4gICAgICAgICAgICBpZiAoaSA+PSAwKSB7XG4gICAgICAgICAgICAgICAgaXNFeHNpdCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc0V4c2l0KSB7XG4gICAgICAgICAgICBhLnB1c2goaWQpO1xuICAgICAgICAgICAgYS5yZXZlcnNlKCk7XG4gICAgICAgICAgICBHYW1lUmVjb3JkLmdsb2JhbFZhcmlhYmxlc1tcImRhdGVfYWRfYXJyXCJdID0gSlNPTi5zdHJpbmdpZnkoYSk7XG4gICAgICAgICAgICBHYW1lUmVjb3JkLmF1dG9TYXZlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBlbnRlckRhdGluZ1NjZW5lKGtleTogc3RyaW5nKSB7XG4gICAgICAgIEV4dHJhU3RvcnlNb2RlbE1hbmFnZXIuZW50ZXJFeHRyYVN0b3J5QnlTdGFydFBsb3RJZCh0aGlzLl9tb2RlbE1hcFtrZXldLmNvbmZpZy5zdGFydF9wbG90X2lkKTtcbiAgICAgICAgR2FtZU1vZGVsTWFuYWdlci5TaG93RGF0aW5nRXZlbnRBcnJvd0d1aWRlLmVtaXQoZmFsc2UpO1xuICAgICAgICBVSU1hbmFnZXIucHVzaFByZXNlbnRlcihEYXRpbmdTY2VuZVByZXNlbnRlciwgdGhpcy5fbW9kZWxNYXBba2V5XSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgb25Pd25lclNob3coKSB7XG4gICAgICAgIGlmICghdGhpcy52aWV3LmlzSGlkZGVuKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdEN1ckNoYXB0ZXIoKTtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaE1heENoYXB0ZXJJbmRleCgpO1xuICAgICAgICAgICAgLy8gdGhpcy5yZWZyZXNoSXRlbXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uT3duZXJFbnRlckZvcmVncm91bmQoKSB7XG4gICAgICAgIGlmICghdGhpcy52aWV3LmlzSGlkZGVuKSB7XG4gICAgICAgICAgICB0aGlzLnJlZnJlc2hNYXhDaGFwdGVySW5kZXgoKTtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaEl0ZW1zKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX21heENoYXB0ZXJJc0NoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RDdXJDaGFwdGVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk9wZW4oKSB7XG4gICAgICAgIHN1cGVyLm9uT3BlbigpO1xuICAgICAgICB0aGlzLl9kaXNwb3NhYmxlLmFkZChHYW1lTW9kZWxNYW5hZ2VyLkNoZWNrRGF0ZUd1aWRlLm9uKHRoaXMuY2hlY2tHdWlkZUl0ZW0pKTtcbiAgICAgICAgdGhpcy5fZGlzcG9zYWJsZS5hZGQoR2FtZU1vZGVsTWFuYWdlci5Gb3JjZUNsaWNrRGF0aW5nSXRlbS5vbih0aGlzLm9uRm9yY2VDbGlja0l0ZW0pKTtcbiAgICAgICAgdGhpcy5fZGlzcG9zYWJsZS5hZGQoR2FtZU1vZGVsTWFuYWdlci5SZWZyZXNoRXh0cmFQbG90QnlUeXBlLm9uKHRoaXMub25SZWZyZXNoRXh0cmFQbG90QnlUeXBlKSk7XG4gICAgICAgIHRoaXMuc2VsZWN0Q3VyQ2hhcHRlcigpO1xuICAgICAgICBpZiAoIXRoaXMudmlldy5pc0hpZGRlbikge1xuICAgICAgICAgICAgdGhpcy5yZWZyZXNoTWF4Q2hhcHRlckluZGV4KCk7XG4gICAgICAgICAgICB0aGlzLm9uU2hvdygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25TaG93KCkge1xuICAgICAgICB0aGlzLnJlZnJlc2hNYXhDaGFwdGVySW5kZXgoKTtcbiAgICAgICAgLy8gdGhpcy5yZWZyZXNoSXRlbXMoKTtcbiAgICAgICAgdGhpcy5jaGVja0d1aWRlSXRlbSgpO1xuICAgIH1cblxuICAgIG9uSGlkZSgpIHtcblxuICAgIH1cblxuICAgIHNlbGVjdEN1ckNoYXB0ZXIoKSB7XG4gICAgICAgIGxldCBtb2RlbHMgPSBHYW1lTW9kZWxNYW5hZ2VyLmdldE1haW5EYXRpbmdFdmVudFNjZW5lc01vZGVsKCk7XG4gICAgICAgIGlmIChtb2RlbHMgJiYgbW9kZWxzLmxlbmd0aCkge1xuICAgICAgICAgICAgbGV0IGxhc3QgPSBtb2RlbHNbbW9kZWxzLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgdGhpcy5fY3VyQ2hhcHRlckluZGV4ID0gbGFzdC5jb25maWcuY2hhcHRlcl9pbmRleDtcbiAgICAgICAgICAgIGlmICh0aGlzLl9jdXJDaGFwdGVySW5kZXggIT09IDEpIHtcbiAgICAgICAgICAgICAgICBHYW1lTW9kZWxNYW5hZ2VyLnNldE5vdE5lZWRFbnRlckN1ckRhdGVDaGFwdGVyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGVja0d1aWRlSXRlbSA9ICgpID0+IHtcbiAgICAgICAgbGV0IGsgPSBHYW1lTW9kZWxNYW5hZ2VyLmdldEV2ZW50SXRlbUd1aWRlS2V5KCk7XG4gICAgICAgIGlmIChrICYmIFwiXCIgIT09IGspIHtcbiAgICAgICAgICAgIGxldCBub2RlID0gdGhpcy52aWV3LmdldEl0ZW1Ob2RlKGspO1xuICAgICAgICAgICAgaWYgKG5vZGUpIHtcbiAgICAgICAgICAgICAgICBsZXQgd3AgPSBub2RlLmNvbnZlcnRUb1dvcmxkU3BhY2VBUihjYy52MigwLCAwKSk7XG4gICAgICAgICAgICAgICAgbGV0IG06IEd1aWRlVmlld1BhcmFtTW9kZWwgPSB7XG4gICAgICAgICAgICAgICAgICAgIHg6IHdwLngsXG4gICAgICAgICAgICAgICAgICAgIHk6IHdwLnksXG4gICAgICAgICAgICAgICAgICAgIHc6IG5vZGUud2lkdGgsXG4gICAgICAgICAgICAgICAgICAgIGg6IG5vZGUuaGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICBkOiBEaXJlY3Rpb25UeXBlLkRPV00sXG4gICAgICAgICAgICAgICAgICAgIGNhbGw6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25JdGVtQWRNb2RlQ2xpY2soayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLm9uSXRlbUVuZXJneUNvc3RDbGljayhrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEdhbWVNb2RlbE1hbmFnZXIuc2V0R3VpZGVFdmVudEl0ZW1SZWNvcmQoaywgR3VpZGVTdGF0ZS5Db21wbGV0ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgVUlNYW5hZ2VyLnB1c2hQcmVzZW50ZXIoR3VpZGVWaWV3UHJlc2VudGVyLCBtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZnJlc2hNYXhDaGFwdGVySW5kZXgoKSB7XG4gICAgICAgIGxldCBtYXhDaGFwdGVySW5kZXggPSB0aGlzLl9tYXhDaGFwdGVySW5kZXg7XG4gICAgICAgIGxldCBhcnIgPSBHYW1lTW9kZWxNYW5hZ2VyLmdldE1haW5EYXRpbmdFdmVudFNjZW5lc01vZGVsKCk7XG4gICAgICAgIGlmIChhcnIgJiYgYXJyLmxlbmd0aCkge1xuICAgICAgICAgICAgbGV0IGRJZCA9IGFyclthcnIubGVuZ3RoIC0gMV0uaWQ7XG4gICAgICAgICAgICBsZXQgY2ZnID0gQ29uZmlnTWFuYWdlci5nZXRDb25maWcoZGF0ZVNjZW5lQ29uZmlnLCBkSWQpO1xuICAgICAgICAgICAgdGhpcy5fbWF4Q2hhcHRlckluZGV4ID0gY2ZnLmNoYXB0ZXJfaW5kZXg7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fbWF4Q2hhcHRlcklzQ2hhbmdlID0gbWF4Q2hhcHRlckluZGV4ID09IHRoaXMuX21heENoYXB0ZXJJbmRleCA/IGZhbHNlIDogdHJ1ZTtcbiAgICB9XG5cbiAgICBvbk9wdGlvbkNoYXB0ZXIgPSAoc3RlcFR5cGU6IFN0ZXBUeXBlKSA9PiB7XG4gICAgICAgIGxldCB0ZW1wSW5kZXggPSBzdGVwVHlwZSA9PT0gU3RlcFR5cGUuQWRkID8gdGhpcy5fY3VyQ2hhcHRlckluZGV4ICsgMSA6IHRoaXMuX2N1ckNoYXB0ZXJJbmRleCAtIDE7XG4gICAgICAgIHRoaXMuX2N1ckNoYXB0ZXJJbmRleCA9IHRlbXBJbmRleCA+PSAxICYmIHRlbXBJbmRleCA8PSB0aGlzLl9tYXhDaGFwdGVySW5kZXggPyB0ZW1wSW5kZXggOiB0aGlzLl9jdXJDaGFwdGVySW5kZXg7XG4gICAgICAgIHRoaXMucmVmcmVzaEl0ZW1zKCk7XG4gICAgfVxuXG4gICAgb25Gb3JjZUNsaWNrSXRlbSA9IChpZDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiRGF0aW5nRXZlbnRTdWJwcmVzZW50ZXIgb25Gb3JjZUNsaWNrSXRlbSBpZCA9IFwiLCBpZCk7XG4gICAgICAgIGxldCBrID0gaWQgKyBcIlwiO1xuICAgICAgICBpZiAoIXRoaXMuX21vZGVsTWFwIHx8ICF0aGlzLl9tb2RlbE1hcFtrXSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub25JdGVtQWRNb2RlQ2xpY2soayk7XG4gICAgfVxuXG4gICAgb25SZWZyZXNoRXh0cmFQbG90QnlUeXBlID0gKGlkOiBudW1iZXIpID0+IHtcbiAgICAgICAgdGhpcy5fY3VyQ2hhcHRlckluZGV4ID0gaWQ7XG4gICAgICAgIHRoaXMucmVmcmVzaEl0ZW1zKCk7XG4gICAgfVxufSJdfQ==
\ No newline at end of file
......@@ -307,13 +307,6 @@ let MainViewPresenter = /** @class */ (() => {
UnlockItemModelManager_1.UnlockItemModelManager.saveItemIdToGameRecord(itemId);
}
};
/**
* 卧室返回点击UI事件
* @param index 返回具体tabIndex
*/
this.onBedroomViewBack = (index) => {
this._view.onTabButtonClick(null, `${index}`);
};
this.onRefreshAllStatus = async () => {
this.checkRedDot(AVG_1.PlotManager.getCurrentPlots());
GameConfig_1.GameConfig.showToBeContinue = false;
......@@ -377,7 +370,6 @@ let MainViewPresenter = /** @class */ (() => {
this._disposable.add(GameModelManager_1.GameModelManager.ShowPlotBlocked.on(this.onShowPlotBlocked));
this._disposable.add(GameModelManager_1.GameModelManager.AutoPopView.on(this.onAutoPopView));
this._disposable.add(GameModelManager_1.GameModelManager.UnlockItem.on(this.onUnlockItem));
this._disposable.add(GameModelManager_1.GameModelManager.BedroomViewBack.on(this.onBedroomViewBack));
this._disposable.add(GameModelManager_1.GameModelManager.RefreshAllStatus.on(this.onRefreshAllStatus));
this._disposable.add(GameModelManager_1.GameModelManager.JumpToViewInGame.on(this.onJumpToViewInGame));
this.checkRedDot(AVG_1.PlotManager.getCurrentPlots());
......@@ -522,4 +514,4 @@ cc._RF.pop();
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvZ2FtZS91aS9wcmVzZW50ZXIvTWFpblZpZXdQcmVzZW50ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrREFBcUQ7QUFDckQsMENBQXlGO0FBQ3pGLDJFQUFxRjtBQUVyRixpRkFBOEU7QUFDOUUsMkVBQXdFO0FBQ3hFLHFFQUFrRTtBQUNsRSx1Q0FBc0g7QUFDdEgsaURBQTBDO0FBQzFDLDZFQUFzRTtBQUN0RSxtRUFBZ0U7QUFDaEUsc0VBQXlEO0FBQ3pELDBDQUFtQztBQUNuQyw4RUFBc0U7QUFDdEUsb0RBQThFO0FBQzlFLHlFQUFrRTtBQUNsRSxpRUFBOEQ7QUFDOUQsNkRBQXNEO0FBQ3RELG1FQUE0RDtBQUM1RCw2REFBc0Q7QUFDdEQsaUVBQTBEO0FBQzFELCtEQUF3RDtBQUN4RCxtRUFBNEQ7QUFDNUQsbUVBQXNEO0FBRXRELHlEQUE2QztBQUM3QyxtRkFBZ0Y7QUFDaEYsK0VBQTRFO0FBQzVFLHFEQUE0RDtBQUM1RCxvREFBMEQ7QUFDMUQsdURBQThDO0FBQzlDLDBEQUErRDtBQUMvRCw0RUFBcUU7QUFDckUscUVBQStEO0FBQy9ELHFFQUE4RDtBQUM5RCx5Q0FBZ0M7QUFFaEMsTUFBTSxtQkFBbUIsR0FBZ0Q7SUFDckUsOEJBQW9CO0lBQ3BCLGtDQUF3QjtJQUN4QiwrQkFBcUI7Q0FDeEIsQ0FBQztBQUNGLGFBQWE7QUFDYixNQUFNLGVBQWUsR0FBVyxDQUFDLENBQUM7QUFFbEM7O0lBQUEsSUFBcUIsaUJBQWlCLHlCQUF0QyxNQUFxQixpQkFBa0IsU0FBUSx5QkFBOEI7UUFhekU7WUFDSSxLQUFLLEVBQUUsQ0FBQztZQVpKLG1CQUFjLEdBQTJCLEVBQUUsQ0FBQztZQUM1QyxnQkFBVyxHQUFHLENBQUMsQ0FBQztZQUVoQixnQkFBVyxHQUFHLEtBQUssQ0FBQztZQUNYLHdCQUFtQixHQUFHLEdBQUcsQ0FBQztZQUNuQyxrQkFBYSxHQUFZLEtBQUssQ0FBQztZ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QztLQUFBO2tCQXRkb0IsaUJBQWlCIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlnTWFuYWdlciB9IGZyb20gXCJzaW1iYS1jb25maWctbWFuYWdlclwiO1xuaW1wb3J0IHsgR2FtZVJlY29yZCwgUGxvdE1hbmFnZXIsIFJlYWRvbmx5UGxvdHMsIFNwZWNpYWxQbG90SWQgfSBmcm9tIFwiLi4vLi4vLi4vYXZnL0FWR1wiO1xuaW1wb3J0IHsgY3JlYXRlUHJlc2VudGVyLCBQcmVzZW50ZXIgfSBmcm9tIFwiLi4vLi4vLi4vY29tbW9uL2NsYXNzYmFzZS9QcmVzZW50ZXJCYXNlXCI7XG5pbXBvcnQgeyBWaWV3IH0gZnJvbSBcIi4uLy4uLy4uL2NvbW1vbi9jbGFzc2Jhc2UvVmlld0Jhc2VcIjtcbmltcG9ydCB7IEdhbWVUZXh0RGF0YSB9IGZyb20gXCIuLi8uLi8uLi9jb21tb24vZ2FtZXBsYXkvZ2FtZWRhdGEvR2FtZVRleHREYXRhXCI7XG5pbXBvcnQgeyBVSU1hbmFnZXIgfSBmcm9tIFwiLi4vLi4vLi4vY29tbW9uL2dhbWVwbGF5L21hbmFnZXJzL1VJTWFuYWdlclwiO1xuaW1wb3J0IHsgZGF0ZVNjZW5lQ29uZmlnIH0gZnJvbSBcIi4uLy4uLy4uL2NvbmZpZy9EYXRlU2NlbmVDb25maWdcIjtcbmltcG9ydCB7IEF1dG9Qb3BWaWV3VHlwZSwgR3VpZGVMb2NhdGlvbiwgR3VpZGVPcGVyYXRpb25UeXBlLCBHdWlkZVN0YXRlLCBNYWluVGFicywgUGxvdFNjZW5lVHlwZSB9IGZyb20gXCIuLi8uLi9FbnVtc1wiO1xuaW1wb3J0IEdhbWVEb3RNZ3IgZnJvbSBcIi4uLy4uL0dhbWVEb3RNZ3JcIjtcbmltcG9ydCB7IERhdGluZ0V2ZW50U3RhdHVzIH0gZnJvbSBcIi4uLy4uL21vZGVsL0RhdGluZ0V2ZW50U2NlbmVNb2RlbFwiO1xuaW1wb3J0IHsgR2FtZU1vZGVsTWFuYWdlciB9IGZyb20gXCIuLi8uLi9tb2RlbC9HYW1lTW9kZWxNYW5hZ2VyXCI7XG5pbXBvcnQgeyBSZWdQcmVzZW50ZXIgfSBmcm9tIFwiLi4vUHJlc2VudGVyQ0NWaWV3RmFjdG9yeVwiO1xuaW1wb3J0IFZlcmJWaWV3IGZyb20gXCIuLi9WZXJiVmlld1wiO1xuaW1wb3J0IHsgc2hvd1RvQmVDb250aW51ZSB9IGZyb20gXCIuLi92aWV3L2ltcGwvQWxlcnRUb0JlQ29udGludWVJbXBsXCI7XG5pbXBvcnQgeyBNYWluVmlldywgTWFpblZpZXdQcm9wcywgTWFpblZpZXdUeXBlIH0gZnJvbSBcIi4uL3ZpZXcvdHlwZS9NYWluVmlld1wiO1xuaW1wb3J0IERhdGluZ0V2ZW50Vmlld1ByZXNlbnRlciBmcm9tIFwiLi9EYXRpbmdFdmVudFZpZXdQcmVzZW50ZXJcIjtcbmltcG9ydCB7IERhdGluZ1NjZW5lUHJlc2VudGVyIH0gZnJvbSBcIi4vRGF0aW5nU2NlbmVQcmVzZW50ZXJcIjtcbmltcG9ydCBEZWJ1Z1ZpZXdQcmVzZW50ZXIgZnJvbSBcIi4vRGVidWdWaWV3UHJlc2VudGVyXCI7XG5pbXBvcnQgRGlzY292ZXJWaWV3UHJlc2VudGVyIGZyb20gXCIuL0Rpc2NvdmVyVmlld1ByZXNlbnRlclwiO1xuaW1wb3J0IEd1aWRlVmlld1ByZXNlbnRlciBmcm9tIFwiLi9HdWlkZVZpZXdQcmVzZW50ZXJcIjtcbmltcG9ydCBNZXNzYWdlVmlld1ByZXNlbnRlciBmcm9tIFwiLi9NZXNzYWdlVmlld1ByZXNlbnRlclwiO1xuaW1wb3J0IE5vdGljZVZpZXdQcmVzZW50ZXIgZnJvbSBcIi4vTm90aWNlVmlld1ByZXNlbnRlclwiO1xuaW1wb3J0IFBsb3RTdG9wVmlld1ByZXNlbnRlciBmcm9tIFwiLi9QbG90U3RvcFZpZXdQcmVzZW50ZXJcIjtcbmltcG9ydCB7IEF1ZGlvTWFuYWdlciB9IGZyb20gXCJzaW1iYS1jYy1hdWRpby1tYW5hZ2VyXCI7XG5pbXBvcnQgeyBEZWVwUmVhZG9ubHlPYmplY3QgfSBmcm9tIFwic2ltYmEtdXRpbHNcIjtcbmltcG9ydCB7IFJlc1V0aWxzIH0gZnJvbSBcInNpbWJhLWNjLXJlc3V0aWxzXCI7XG5pbXBvcnQgeyBHYW1lQ29uc3REYXRhIH0gZnJvbSBcIi4uLy4uLy4uL2NvbW1vbi9nYW1lcGxheS9nYW1lZGF0YS9HYW1lQ29uc3REYXRhXCI7XG5pbXBvcnQgeyBVbmxvY2tJdGVtTW9kZWxNYW5hZ2VyIH0gZnJvbSBcIi4uLy4uL21vZGVsL1VubG9ja0l0ZW1Nb2RlbE1hbmFnZXJcIjtcbmltcG9ydCB7IElJdGVtVGJsLCBpdGVtVGJsIH0gZnJvbSBcIi4uLy4uLy4uL2NvbmZpZy9JdGVtVGJsXCI7XG5pbXBvcnQgeyBjaGFubmVsLCBHYW1lQ29uZmlnIH0gZnJvbSBcIi4uLy4uLy4uL0dhbWVDb25maWdcIjtcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwic2ltYmEtaHR0cGNsaWVudFwiO1xuaW1wb3J0IHsgRGF0ZVR5cGUsIFBhZ2VJbmRleCB9IGZyb20gXCIuLi8uLi8uLi9hdmcvRWRpdG9yRW51bXNcIjtcbmltcG9ydCBOZXdOb3RpY2VWaWV3UHJlc2VudGVyIGZyb20gXCIuL25vdGljZS9OZXdOb3RpY2VWaWV3UHJlc2VudGVyXCI7XG5pbXBvcnQgeyBTb3VyY2VWaWV3IH0gZnJvbSBcIi4uL3ZpZXcvdHlwZS9ub3RpY2UvTmV3Tm90aWNlVmlld1wiO1xuaW1wb3J0IEV4dHJhUGxvdFZpZXdQcmVzZW50ZXIgZnJvbSBcIi4vRXh0cmFQbG90Vmlld1ByZXNlbnRlclwiO1xuaW1wb3J0IHsgU0RLIH0gZnJvbSBcInNpbWJhLXNka1wiO1xuXG5jb25zdCBUYWJQcmVzZW50ZXJGYWN0b3J5OiAoeyBuZXcoKTogUHJlc2VudGVyIH0gJiB7IHV1aWQ6IHN0cmluZyB9KVtdID0gW1xuICAgIE1lc3NhZ2VWaWV3UHJlc2VudGVyLFxuICAgIERhdGluZ0V2ZW50Vmlld1ByZXNlbnRlcixcbiAgICBEaXNjb3ZlclZpZXdQcmVzZW50ZXJcbl07XG4vKirkuLvnur/liafmg4XnmoTkuIvmoIcgKi9cbmNvbnN0IE1BSU5fUExPVF9JTkRFWDogbnVtYmVyID0gMDtcbkBSZWdQcmVzZW50ZXIoTWFpblZpZXdUeXBlKVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWFpblZpZXdQcmVzZW50ZXIgZXh0ZW5kcyBQcmVzZW50ZXI8dW5kZWZpbmVkLCBNYWluVmlldz4ge1xuICAgIHN0YXRpYyB1dWlkID0gXCJNYWluVmlld1ByZXNlbnRlclwiO1xuICAgIHByaXZhdGUgX3N1YlByZXNlbnRlcnM6IFByZXNlbnRlcjxhbnksIFZpZXc+W10gPSBbXTtcbiAgICBwcml2YXRlIF9jdXJyZW50VGFiID0gMDtcbiAgICBwcml2YXRlIF92aWV3UHJvcHM6IE1haW5WaWV3UHJvcHM7XG4gICAgcHJpdmF0ZSBfbG9hZGluZ1RhYiA9IGZhbHNlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhYlRvZ2dsZURlbGF5VGltZSA9IDYxODtcbiAgICBwcml2YXRlIF90YWJDbGlja0FibGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByaXZhdGUgX2l0ZW1JZDogbnVtYmVyID0gLTE7XG4gICAgcHJpdmF0ZSBfaGFzSXRlbTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBzdGF0aWMgdGFiSW5kZXg6IG51bWJlciA9IC0xO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuX3ZpZXdQcm9wcyA9IHtcbiAgICAgICAgICAgIHNlbGVjdGVkVGFiOiAwLFxuICAgICAgICAgICAgbWVzc2FnZVJlZERvdDogZmFsc2UsXG4gICAgICAgICAgICBkYXRpbmdFdmVudFJlZERvdDogZmFsc2UsXG4gICAgICAgICAgICBkaXNjb3ZlclJlZERvdDogZmFsc2UsXG4gICAgICAgICAgICBvblRhYkNsaWNrOiB0aGlzLm9uVGFiQ2xpY2ssXG4gICAgICAgICAgICBvbkRlYnVnQ2xpY2s6IHRoaXMub25EZWJ1Z0NsaWNrQ2FsbGJhY2ssXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgb25EZWJ1Z0NsaWNrQ2FsbGJhY2sgPSAoKSA9PiB7XG4gICAgICAgIFVJTWFuYWdlci5wdXNoUHJlc2VudGVyKERlYnVnVmlld1ByZXNlbnRlciwgdW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICBvbkdvVG9TaG9wQ2xpY2tDYWxsYmFjayA9ICgpID0+IHtcbiAgICAgICAgR2FtZURvdE1nci5nZXRJbnN0YW5jZSgpLmRvdENsaWNrVUkoXCJzaG9wX2J0bl9NYWluVmlld1wiKTtcbiAgICAgICAgaWYgKGNoYW5uZWwgPT0gXCJ3ZWNoYXRcIikge1xuICAgICAgICAgICAgLy8gR2FtZUNlbnRlci5nZXRJbnN0YW5jZSgpLm9wZW5TdWJQcm9ncmFtKEdhbWVDb25maWcueW91WmFuU2hvcEFwcElkKTtcbiAgICAgICAgICAgIGxldCBsaW5rID0gR2FtZU1vZGVsTWFuYWdlci5nZXRZb3VaYW5TaG9wVXJsQnlUeXBlKDgpO1xuICAgICAgICAgICAgaWYgKGxpbmspIHtcbiAgICAgICAgICAgICAgICBTREsub3BlblByb2dyYW1WMihHYW1lQ29uZmlnLnlvdVphblNob3BBcHBJZCwgbGluayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoY2hhbm5lbCA9PSBcImFuZHJvaWRcIikge1xuICAgICAgICAgICAgbGV0IGxpbmsgPSBHYW1lTW9kZWxNYW5hZ2VyLmdldFRhb0Jhb1Nob3BVcmxCeVR5cGUoOCk7XG4gICAgICAgICAgICBpZiAobGluaykge1xuICAgICAgICAgICAgICAgIEdhbWVNb2RlbE1hbmFnZXIuanVtcFRvVGFvYmFvU2hvcChsaW5rKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIFVJTWFuYWdlci5zaG93VG9hc3QoXCLor6Xlip/og73lnKjlvZPliY3lubPlj7DkuI3lj6/kvb/nlKhcIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNvbW1vblByb2JsZW1DbGlja0NhbGxiYWNrID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgbGV0IHJlc1N0ciA9IGF3YWl0IG5ldyBIdHRwQ2xpZW50KEdhbWVDb25maWcuY29tbW9uUHJvYmxlbUNvbmZpZ1VybCkuZ2V0KCkgYXMgc3RyaW5nO1xuICAgICAgICAgICAgbGV0IHJlcyA9IEpTT04ucGFyc2UocmVzU3RyKTtcbiAgICAgICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgICAgICBVSU1hbmFnZXIucHVzaFByZXNlbnRlcihOb3RpY2VWaWV3UHJlc2VudGVyLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiByZXMudGl0bGUsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHJlcy5jb250ZW50XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoZWNrUmVkRG90ID0gKHBsb3RzOiBSZWFkb25seVBsb3RzKSA9PiB7XG4gICAgICAgIHRoaXMuX3ZpZXdQcm9wcy5tZXNzYWdlUmVkRG90ID0gcGxvdHNbTUFJTl9QTE9UX0lOREVYXS5wbG90U2NlbmVUeXBlID09PSBQbG90U2NlbmVUeXBlLk1lc3NhZ2UgfHwgcGxvdHNbTUFJTl9QTE9UX0lOREVYXS5wbG90U2NlbmVUeXBlID09PSBQbG90U2NlbmVUeXBlLlBob25lQ2FsbDtcbiAgICAgICAgdGhpcy5fdmlld1Byb3BzLmRhdGluZ0V2ZW50UmVkRG90ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX3ZpZXdQcm9wcy5kYXRpbmdFdmVudFJlZERvdCA9IHBsb3RzICYmIChwbG90c1swXS5wbG90U2NlbmVUeXBlID09PSBQbG90U2NlbmVUeXBlLkRhdGluZ0V2ZW50ICYmIChwbG90c1swXS5pZCAhPT0gU3BlY2lhbFBsb3RJZC5Ub0JlQ29udGludWVkICYmIHBsb3RzWzBdLmlkICE9PSBTcGVjaWFsUGxvdElkLkVuZCkpO1xuICAgICAgICB0aGlzLnZpZXcuc2V0UHJvcHModGhpcy5fdmlld1Byb3BzKTtcbiAgICAgICAgaWYgKHBsb3RzW01BSU5fUExPVF9JTkRFWF0gJiYgcGxvdHNbTUFJTl9QTE9UX0lOREVYXS5wbG90U2NlbmVUeXBlID09PSBQbG90U2NlbmVUeXBlLkJsb2NrUGxvdCkge1xuICAgICAgICAgICAgR2FtZU1vZGVsTWFuYWdlci5kZWFsQmxvY2tlZFBsb3QoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxldCBjaGFuZ2UgPSBHYW1lTW9kZWxNYW5hZ2VyLmlzQ2hhbmdlUGxvdFNjZW5lVHlwZSgpO1xuICAgICAgICAgICAgaWYgKGNoYW5nZSkge1xuICAgICAgICAgICAgICAgIGxldCBwID0gcGxvdHNbTUFJTl9QTE9UX0lOREVYXTtcbiAgICAgICAgICAgICAgICBsZXQgaXNTcGVjaWFsID0gcC5pZCA9PT0gU3BlY2lhbFBsb3RJZC5FbmQgfHwgcC5pZCA9PT0gU3BlY2lhbFBsb3RJZC5Ub0JlQ29udGludWVkO1xuICAgICAgICAgICAgICAgIGlmICghaXNTcGVjaWFsKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25NYWluUGxvdENoYW5nZWQocC5wbG90U2NlbmVUeXBlLCBwLnBsb3RTY2VuZVR5cGVJZCk7XG4gICAgICAgICAgICAgICAgICAgIEdhbWVNb2RlbE1hbmFnZXIuc2V0SXNDaGFuZ2VQbG90U2NlbmVUeXBlKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblJlZnJlc2hEaXNjb3ZlcnlSZWREb3QgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuX3ZpZXdQcm9wcy5kaXNjb3ZlclJlZERvdCA9ICFHYW1lTW9kZWxNYW5hZ2VyLmNoZWNrUmVzdW1lRnVsbEVuZXJneU1hcmtlZCgpO1xuICAgICAgICB0aGlzLnZpZXcuc2V0UHJvcHModGhpcy5fdmlld1Byb3BzKTtcbiAgICB9XG5cbiAgICBhc3luYyBzdGFydCgpIHsgLy8g5byA5aeL5ri45oiPXG4gICAgICAgIHRoaXMuX3N1YlByZXNlbnRlcnNbMF0gPSBhd2FpdCBjcmVhdGVQcmVzZW50ZXIoVGFiUHJlc2VudGVyRmFjdG9yeVswXSk7XG4gICAgICAgIE1haW5WaWV3UHJlc2VudGVyLnRhYkluZGV4ID0gMDtcbiAgICAgICAgbGV0IHZpZXdDb250YWluZXIgPSB0aGlzLl92aWV3LmdldFRhYkNvbnRlbnRDb250YWluZXIoKTtcbiAgICAgICAgdGhpcy5fc3ViUHJlc2VudGVyc1swXS5vcGVuKHZpZXdDb250YWluZXIsIHVuZGVmaW5lZCk7XG4gICAgICAgIHRoaXMuZGVhbFRhYkd1aWRlKE1haW5UYWJzLm1lc3NhZ2VUYWIpO1xuICAgICAgICB0aGlzLl92aWV3UHJvcHMuc2VsZWN0ZWRUYWIgPSBNYWluVGFicy5tZXNzYWdlVGFiO1xuXG4gICAgICAgIHRoaXMuX2Rpc3Bvc2FibGUuYWRkKEdhbWVNb2RlbE1hbmFnZXIuUmVmcmVzaERpc2NvdmVyVGFiUmVkLm9uKHRoaXMub25SZWZyZXNoRGlzY292ZXJ5UmVkRG90KSk7XG4gICAgICAgIHRoaXMuX2Rpc3Bvc2FibGUuYWRkKEdhbWVNb2RlbE1hbmFnZXIuU2hvd1Bsb3RCbG9ja2VkLm9uKHRoaXMub25TaG93UGxvdEJsb2NrZWQpKTtcbiAgICAgICAgdGhpcy5fZGlzcG9zYWJsZS5hZGQoR2FtZU1vZGVsTWFuYWdlci5BdXRvUG9wVmlldy5vbih0aGlzLm9uQXV0b1BvcFZpZXcpKTtcbiAgICAgICAgdGhpcy5fZGlzcG9zYWJsZS5hZGQoR2FtZU1vZGVsTWFuYWdlci5VbmxvY2tJdGVtLm9uKHRoaXMub25VbmxvY2tJdGVtKSk7XG5cbiAgICAgICAgdGhpcy5fZGlzcG9zYWJsZS5hZGQoR2FtZU1vZGVsTWFuYWdlci5CZWRyb29tVmlld0JhY2sub24odGhpcy5vbkJlZHJvb21WaWV3QmFjaykpO1xuICAgICAgICB0aGlzLl9kaXNwb3NhYmxlLmFkZChHYW1lTW9kZWxNYW5hZ2VyLlJlZnJlc2hBbGxTdGF0dXMub24odGhpcy5vblJlZnJlc2hBbGxTdGF0dXMpKTtcbiAgICAgICAgdGhpcy5fZGlzcG9zYWJsZS5hZGQoR2FtZU1vZGVsTWFuYWdlci5KdW1wVG9WaWV3SW5HYW1lLm9uKHRoaXMub25KdW1wVG9WaWV3SW5HYW1lKSk7XG5cblxuICAgICAgICB0aGlzLmNoZWNrUmVkRG90KFBsb3RNYW5hZ2VyLmdldEN1cnJlbnRQbG90cygpKTtcbiAgICAgICAgUGxvdE1hbmFnZXIuUGxvdFN0YXJ0RXZlbnQub24odGhpcy5jaGVja1JlZERvdCk7XG4gICAgICAgIGxldCBuZWVkRW50ZXJTcGVjaWFsRGF0aW5nU2NlbmUgPSB0aGlzLmNoZWNrSXNOZWVkVG9FbnRlclNwZWNpYWxEYXRpbmdTY2VuZSgpO1xuICAgICAgICAvLyBjaGVjayB0YWIgZ3VpZGVcbiAgICAgICAgLy8gdGhpcy5jaGVja1RhYkd1aWRlKCk7XG4gICAgICAgIGlmIChuZWVkRW50ZXJTcGVjaWFsRGF0aW5nU2NlbmUpIHtcbiAgICAgICAgICAgIEdhbWVDb25maWcuaXNWZXJiID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZW50ZXJTcGVjaWFsRXZlbnRTY2VuZSgpO1xuICAgICAgICAgICAgdGhpcy5fY3VycmVudFRhYiA9IE1haW5UYWJzLmRhdGluZ0V2ZW50VGFiO1xuICAgICAgICAgICAgdGhpcy5fdmlld1Byb3BzLnNlbGVjdGVkVGFiID0gTWFpblRhYnMuZGF0aW5nRXZlbnRUYWI7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fdGFiQ2xpY2tBYmxlID0gdHJ1ZTtcbiAgICAgICAgLy/ov5vlhaXkuLvnlYzpnaLmm7TmlrDnuqLngrnnirbmgIFcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAvL+WFs+mXreetieW+heeVjOmdolxuICAgICAgICAgICAgdGhpcy52aWV3LnNob3dXYWl0aW5nVmlldyhmYWxzZSk7XG4gICAgICAgICAgICAvL+W8gOWni+W8uei1t+iHquWKqOeql+WPo1xuICAgICAgICAgICAgaWYgKFBsb3RNYW5hZ2VyLmdldEN1cnJlbnRQbG90cygpW01BSU5fUExPVF9JTkRFWF0uaWQgPT09IFNwZWNpYWxQbG90SWQuVG9CZUNvbnRpbnVlZCkge1xuICAgICAgICAgICAgICAgIEdhbWVNb2RlbE1hbmFnZXIucmVnaXN0ZXJBdXRvUG9wVmlldyhBdXRvUG9wVmlld1R5cGUuVG9CZUNvbnRpbnVlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgYXV0b1Nob3dOb3RpY2UgPSBHYW1lTW9kZWxNYW5hZ2VyLmdldEF1dG9TaG93Tm90aWNlKCk7XG4gICAgICAgICAgICBpZiAoYXV0b1Nob3dOb3RpY2UpIHtcbiAgICAgICAgICAgICAgICBHYW1lTW9kZWxNYW5hZ2VyLnJlZ2lzdGVyQXV0b1BvcFZpZXcoQXV0b1BvcFZpZXdUeXBlLk5vdGljZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgdW5sb2NrSXRlbXMgPSBVbmxvY2tJdGVtTW9kZWxNYW5hZ2VyLnVubG9ja0l0ZW1zO1xuICAgICAgICAgICAgaWYgKHVubG9ja0l0ZW1zLmluZGV4T2YoNCkgPT0gLTEpIHtcbiAgICAgICAgICAgICAgICBHYW1lTW9kZWxNYW5hZ2VyLnJlZ2lzdGVyQXV0b1BvcFZpZXcoQXV0b1BvcFZpZXdUeXBlLk5vdGVCb29rKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghbmVlZEVudGVyU3BlY2lhbERhdGluZ1NjZW5lKSB7XG4gICAgICAgICAgICAgICAgR2FtZU1vZGVsTWFuYWdlci5jaGVja0F1dG9Qb3BWaWV3KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDIwMDApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOajgOafpeaWsOaJi+aVmeeoi+aYr+WQpuWujOaIkO+8jOW9k+WJjeaWsOaJi+aVmeeoi+WujOaIkOeahOWIpOWumuaYr+WujOaIkOesrOS4gOeroFxuICAgICAqIEByZXR1cm5zIFxuICAgICAqL1xuICAgIGNoZWNrTm92aWNlVHV0b3JpYWxPdmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgbW9kZWxzID0gR2FtZU1vZGVsTWFuYWdlci5nZXRNYWluRGF0aW5nRXZlbnRTY2VuZXNNb2RlbCgpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1vZGVscy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKG1vZGVsc1tpXS5zdGF0dXMgPT0gNCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBhc3luYyBlbnRlclNwZWNpYWxFdmVudFNjZW5lKCkge1xuICAgICAgICBsZXQgYXJyID0gR2FtZU1vZGVsTWFuYWdlci5nZXRNYWluRGF0aW5nRXZlbnRTY2VuZXNNb2RlbCgpO1xuICAgICAgICBVSU1hbmFnZXIucHVzaFByZXNlbnRlcihEYXRpbmdTY2VuZVByZXNlbnRlciwgYXJyWzBdLCB0cnVlKTtcbiAgICB9XG5cbiAgICBjaGVja0lzTmVlZFRvRW50ZXJTcGVjaWFsRGF0aW5nU2NlbmUoKSB7XG4gICAgICAgIGxldCBhcnIgPSBHYW1lTW9kZWxNYW5hZ2VyLmdldE1haW5EYXRpbmdFdmVudFNjZW5lc01vZGVsKCk7XG4gICAgICAgIGxldCBuZWVkID0gYXJyICYmIGFyci5sZW5ndGggPT09IDEgJiYgYXJyWzBdLnN0YXR1cyAhPT0gRGF0aW5nRXZlbnRTdGF0dXMuQ29tcGxldGVkO1xuICAgICAgICByZXR1cm4gbmVlZDtcbiAgICB9XG5cbiAgICBvbk1haW5UYWJGb3JjZUNsaWNrID0gKHBhcmFtOiB7IGluZGV4OiBudW1iZXIsIHB1cmVDbGljazogYm9vbGVhbiwgcHJvcElkPzogbnVtYmVyIH0pID0+IHtcbiAgICAgICAgVUlNYW5hZ2VyLnBvcFRvUHJlc2VudGVyKHRoaXMpO1xuICAgICAgICBsZXQgaW5kZXggPSBwYXJhbS5pbmRleDtcbiAgICAgICAgdGhpcy5vblRhYkNsaWNrKGluZGV4KTtcbiAgICB9XG5cbiAgICBvbkNsb3NlKCkge1xuICAgICAgICBzdXBlci5vbkNsb3NlKCk7XG4gICAgICAgIFVJTWFuYWdlci5wb3BUb1ByZXNlbnRlcih0aGlzKTtcbiAgICB9XG5cbiAgICBvbk9wZW4oKSB7XG4gICAgICAgIHN1cGVyLm9uT3Blbih1bmRlZmluZWQpO1xuICAgICAgICAvLyB0aGlzLnBlcmxvYWRQcmVmYWIoKTtcbiAgICAgICAgLy8gdGhpcy5kaXNjb3ZlckluaXQoKTtcbiAgICB9XG5cbiAgICBkaXNjb3ZlckluaXQoKSB7XG4gICAgICAgIEdhbWVSZWNvcmQub25HbG9iYWxWYXJpYWJsZUNoYW5nZShcInJlZF9wb3RfXCIgKyBEaXNjb3ZlclZpZXdQcmVzZW50ZXIudXVpZCwgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fdmlld1Byb3BzLmRpc2NvdmVyUmVkRG90ID0gR2FtZU1vZGVsTWFuYWdlci5jaGVja1JlZFBvdChEaXNjb3ZlclZpZXdQcmVzZW50ZXIudXVpZCk7XG4gICAgICAgICAgICB0aGlzLnZpZXcuc2V0UHJvcHModGhpcy5fdmlld1Byb3BzKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX3ZpZXdQcm9wcy5kaXNjb3ZlclJlZERvdCA9IEdhbWVNb2RlbE1hbmFnZXIuY2hlY2tSZWRQb3QoRGlzY292ZXJWaWV3UHJlc2VudGVyLnV1aWQpO1xuICAgICAgICB0aGlzLnZpZXcuc2V0UHJvcHModGhpcy5fdmlld1Byb3BzKTtcbiAgICB9XG5cbiAgICBwZXJsb2FkUHJlZmFiKCkge1xuICAgICAgICBsZXQgUEZMaXN0ID0gW1wicHJlZmFiL3VpL0RhdGluZ0V2ZW50Vmlld1wiXTtcbiAgICAgICAgY2MucmVzb3VyY2VzLnByZWxvYWQoUEZMaXN0KTtcbiAgICB9XG5cbiAgICBvbkVudGVyQmFja2dyb3VuZCgpIHtcbiAgICAgICAgc3VwZXIub25FbnRlckJhY2tncm91bmQoKTtcbiAgICAgICAgaWYgKHRoaXMuX3N1YlByZXNlbnRlcnNbdGhpcy5fY3VycmVudFRhYl0pXG4gICAgICAgICAgICB0aGlzLl9zdWJQcmVzZW50ZXJzW3RoaXMuX2N1cnJlbnRUYWJdLm9uRW50ZXJCYWNrZ3JvdW5kKCk7XG4gICAgfVxuXG4gICAgLyoqcHJlc2VudGVy6L+b5YWl5YmN5pmvICovXG4gICAgYXN5bmMgb25FbnRlckZvcmVncm91bmQoKSB7XG4gICAgICAgIHN1cGVyLm9uRW50ZXJGb3JlZ3JvdW5kKCk7XG4gICAgICAgIGlmICh0aGlzLl9zdWJQcmVzZW50ZXJzW3RoaXMuX2N1cnJlbnRUYWJdKSB7XG4gICAgICAgICAgICB0aGlzLl9zdWJQcmVzZW50ZXJzW3RoaXMuX2N1cnJlbnRUYWJdLm9uRW50ZXJGb3JlZ3JvdW5kKCk7XG4gICAgICAgICAgICB0aGlzLl9zdWJQcmVzZW50ZXJzW3RoaXMuX2N1cnJlbnRUYWJdLm9uRW50ZXJGb3JlZ3JvdW5kKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFBsb3RNYW5hZ2VyLmdldEN1cnJlbnRQbG90cygpW01BSU5fUExPVF9JTkRFWF0uaWQgPT09IFNwZWNpYWxQbG90SWQuVG9CZUNvbnRpbnVlZCkge1xuICAgICAgICAgICAgR2FtZU1vZGVsTWFuYWdlci5yZWdpc3RlckF1dG9Qb3BWaWV3KEF1dG9Qb3BWaWV3VHlwZS5Ub0JlQ29udGludWVkKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIUdhbWVDb25maWcuaXNWZXJiKSB7XG4gICAgICAgICAgICBHYW1lTW9kZWxNYW5hZ2VyLmNoZWNrQXV0b1BvcFZpZXcoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU2hvdygpIHtcbiAgICAgICAgc3VwZXIub25TaG93KCk7XG4gICAgICAgIC8vIHRoaXMuY2hlY2tUYWJHdWlkZSgpO1xuICAgIH1cblxuICAgIG9uVGFiQ2xpY2sgPSBhc3luYyAoaW5kZXg6IG51bWJlciwgY2FsbGJhY2s/OiBGdW5jdGlvbiwgaXNEb3Q/OiBCb29sZWFuKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5fdGFiQ2xpY2tBYmxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZWFsVGFiR3VpZGUoaW5kZXgpO1xuICAgICAgICBsZXQgdXVpZCA9IFRhYlByZXNlbnRlckZhY3RvcnlbaW5kZXhdLnV1aWQ7XG4gICAgICAgIGlmICghR2FtZU1vZGVsTWFuYWdlci5jaGVja0Z1bmNVbmxvY2VkKHV1aWQpKSB7XG4gICAgICAgICAgICBVSU1hbmFnZXIuc2hvd1RvYXN0KEdhbWVNb2RlbE1hbmFnZXIuZ2V0TGFuZ3VhZ2VUeHQoR2FtZVRleHREYXRhLkdBTUVfVEVYVF9NQUlOX0ZVTkNUSU9OX05PVF9PUEVOKSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2xvYWRpbmdUYWIpIHJldHVybjtcbiAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRUYWIgIT09IGluZGV4KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fc3ViUHJlc2VudGVyc1t0aGlzLl9jdXJyZW50VGFiXSlcbiAgICAgICAgICAgICAgICB0aGlzLl9zdWJQcmVzZW50ZXJzW3RoaXMuX2N1cnJlbnRUYWJdLnZpZXcuaGlkZSgpO1xuICAgICAgICAgICAgdGhpcy5fY3VycmVudFRhYiA9IGluZGV4O1xuICAgICAgICAgICAgdGhpcy5fdmlld1Byb3BzLnNlbGVjdGVkVGFiID0gaW5kZXg7XG4gICAgICAgICAgICB0aGlzLl92aWV3LnNldFByb3BzKHRoaXMuX3ZpZXdQcm9wcyk7XG4gICAgICAgICAgICBpZiAoaW5kZXggIT09IDIpIHtcbiAgICAgICAgICAgICAgICBNYWluVmlld1ByZXNlbnRlci50YWJJbmRleCA9IGluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCF0aGlzLl9zdWJQcmVzZW50ZXJzW3RoaXMuX2N1cnJlbnRUYWJdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbG9hZGluZ1RhYiA9IHRydWU7XG4gICAgICAgICAgICAgICAgYXdhaXQgY3JlYXRlUHJlc2VudGVyKFRhYlByZXNlbnRlckZhY3RvcnlbdGhpcy5fY3VycmVudFRhYl0pLnRoZW4oKHByZXNlbnRlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zdWJQcmVzZW50ZXJzW3RoaXMuX2N1cnJlbnRUYWJdID0gcHJlc2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBwcmVzZW50ZXIub3Blbih0aGlzLnZpZXcuZ2V0VGFiQ29udGVudENvbnRhaW5lcigpLCB1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsvL+W7tuaXtuetieW+hTYxOOavq+enku+8jFZpZXcg5LitVUnliLfmlrBcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2xvYWRpbmdUYWIgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfSwgdGhpcy5fdGFiVG9nZ2xlRGVsYXlUaW1lKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9zdWJQcmVzZW50ZXJzW3RoaXMuX2N1cnJlbnRUYWJdKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3N1YlByZXNlbnRlcnNbdGhpcy5fY3VycmVudFRhYl0udmlldy5zaG93KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChjYWxsYmFjaykge1xuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChjYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkZWFsVGFiR3VpZGUoaW5kZXg6IG51bWJlcikge1xuICAgICAgICBsZXQgciA9IEdhbWVSZWNvcmQuZ2xvYmFsVmFyaWFibGVzW1wiZ3VpZGVfbWFpbl90YWJcIiArIGluZGV4XSBhcyBudW1iZXI7XG4gICAgICAgIHIgPSByID09PSB1bmRlZmluZWQgPyBHdWlkZVN0YXRlLmNsb3NlIDogcjtcbiAgICAgICAgaWYgKHIgPT09IEd1aWRlU3RhdGUuT3Blbikge1xuICAgICAgICAgICAgR2FtZU1vZGVsTWFuYWdlci5zZXRHdWlkZU1haW5UYWJSZWNvcmQoaW5kZXgsIEd1aWRlU3RhdGUuQ29tcGxldGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2hlY2tUYWJHdWlkZSA9ICgpID0+IHtcbiAgICAgICAgbGV0IGNoZWNrOiBib29sZWFuID0gZmFsc2U7XG4gICAgICAgIGlmICghY2hlY2spIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgaW5kZXggPSBHYW1lTW9kZWxNYW5hZ2VyLmdldE1haW5UYWJHdWlkZUluZGV4KCk7XG4gICAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgIC8vYXR0ZW50aW9uXG4gICAgICAgICAgICBsZXQgcmVkRG90QXJyID0gW3RoaXMuX3ZpZXdQcm9wcy5tZXNzYWdlUmVkRG90LCB0aGlzLl92aWV3UHJvcHMuZGF0aW5nRXZlbnRSZWREb3QsIHRoaXMuX3ZpZXdQcm9wcy5kaXNjb3ZlclJlZERvdF07XG4gICAgICAgICAgICBpZiAoIXJlZERvdEFycltpbmRleF0gfHwgdGhpcy5fY3VycmVudFRhYiA9PT0gaW5kZXgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBVSU1hbmFnZXIucG9wVG9QcmVzZW50ZXIodGhpcyk7XG4gICAgICAgICAgICBsZXQgbSA9IHRoaXMudmlldy5nZXRHdWlkZVRhYlBhcmFtKGluZGV4KTtcbiAgICAgICAgICAgIGlmIChtKSB7XG4gICAgICAgICAgICAgICAgbGV0IGxvY2F0aW9uOiBHdWlkZUxvY2F0aW9uID0gaW5kZXggPT09IE1haW5UYWJzLmRhdGluZ0V2ZW50VGFiID8gR3VpZGVMb2NhdGlvbi5UYWJEYXRlIDogR3VpZGVMb2NhdGlvbi5UYWJNc2c7XG4gICAgICAgICAgICAgICAgbS5jYWxsID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uVGFiQ2xpY2soaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZpZXcuaGlkZUNsaWNrQW5pQnlJbmRleChpbmRleCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFVJTWFuYWdlci5wdXNoUHJlc2VudGVyKEd1aWRlVmlld1ByZXNlbnRlciwgbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzd2l0Y2hUYWIodGFiSW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAodGhpcy5fY3VycmVudFRhYiAhPSB0YWJJbmRleCkge1xuICAgICAgICAgICAgbGV0IHByZXZJbmRleCA9IHRoaXMuX2N1cnJlbnRUYWI7XG4gICAgICAgICAgICB0aGlzLl9jdXJyZW50VGFiID0gdGFiSW5kZXg7XG4gICAgICAgICAgICB0aGlzLl92aWV3UHJvcHMuc2VsZWN0ZWRUYWIgPSB0aGlzLl9jdXJyZW50VGFiO1xuXG4gICAgICAgICAgICB0aGlzLl92aWV3LnNldFByb3BzKHRoaXMuX3ZpZXdQcm9wcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkF1dG9Qb3BWaWV3ID0gYXN5bmMgKHZpZXdUeXBlOiBBdXRvUG9wVmlld1R5cGUpID0+IHtcbiAgICAgICAgc3dpdGNoICh2aWV3VHlwZSkge1xuICAgICAgICAgICAgY2FzZSBBdXRvUG9wVmlld1R5cGUuVG9CZUNvbnRpbnVlZDpcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHNob3dUb0JlQ29udGludWUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEF1dG9Qb3BWaWV3VHlwZS5Ob3RpY2U6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBVSU1hbmFnZXIucHVzaFByZXNlbnRlcihOZXdOb3RpY2VWaWV3UHJlc2VudGVyLCBTb3VyY2VWaWV3Lk1lc3NhZ2VWaWV3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEF1dG9Qb3BWaWV3VHlwZS5QbG90U3RvcDpcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIFVJTWFuYWdlci5wdXNoUHJlc2VudGVyKFBsb3RTdG9wVmlld1ByZXNlbnRlciwgdW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIG9uU2hvd1Bsb3RCbG9ja2VkID0gKCkgPT4ge1xuICAgICAgICBHYW1lTW9kZWxNYW5hZ2VyLnJlZ2lzdGVyQXV0b1BvcFZpZXcoQXV0b1BvcFZpZXdUeXBlLlBsb3RTdG9wKTtcbiAgICB9XG5cbiAgICBvbk1haW5QbG90Q2hhbmdlZCA9IGFzeW5jIChwVHlwZTogUGxvdFNjZW5lVHlwZSwgcElkOiBudW1iZXIpID0+IHtcbiAgICAgICAgaWYgKCFHYW1lTW9kZWxNYW5hZ2VyLmlzTWFpblBsb3RTY2VuZVR5cGUoKSB8fCBDb25maWdNYW5hZ2VyLmdldENvbmZpZyhkYXRlU2NlbmVDb25maWcsIHBJZCkuRGF0ZVR5cGUgPT0gRGF0ZVR5cGUuRGF0ZV9TcCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIFVJTWFuYWdlci5wb3BUb1ByZXNlbnRlcih0aGlzKTtcbiAgICAgICAgbGV0IGNvbXAgPSBjYy5kaXJlY3Rvci5nZXRTY2VuZSgpLmdldENoaWxkQnlOYW1lKFwiQ2FudmFzXCIpLmdldENoaWxkQnlOYW1lKFwiVmVyYlJvb3RcIikuZ2V0Q2hpbGRCeU5hbWUoXCJWZXJiVmlld1wiKS5nZXRDb21wb25lbnQoVmVyYlZpZXcpO1xuICAgICAgICBpZiAodGhpcy5faGFzSXRlbSAmJiAtMSAhPT0gdGhpcy5faXRlbUlkKSB7XG4gICAgICAgICAgICAvL+WKoOi9veWbvuWSjOe7hOe7h+eJqeWTgeaOieiQveaVsOaNrlxuICAgICAgICAgICAgbGV0IHNob3dJdGVtQ2ZnOiBEZWVwUmVhZG9ubHlPYmplY3Q8SUl0ZW1UYmw+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgbGV0IGl0ZW1TcHJpdGVGcmFtZTogY2MuU3ByaXRlRnJhbWUgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICBzaG93SXRlbUNmZyA9IHRoaXMuZ2V0U2hvd0l0ZW1DZmcodGhpcy5faXRlbUlkKTtcbiAgICAgICAgICAgIGlmIChzaG93SXRlbUNmZykge1xuICAgICAgICAgICAgICAgIGxldCBwYXRoOiBzdHJpbmcgPSBHYW1lQ29uc3REYXRhLkdBTUVfQ09OU1RfSVRFTV9CSUdfU1BSX0RJUiArIHNob3dJdGVtQ2ZnLmljb247XG4gICAgICAgICAgICAgICAgaXRlbVNwcml0ZUZyYW1lID0gYXdhaXQgUmVzVXRpbHMubG9hZFJlcyhwYXRoLCBjYy5TcHJpdGVGcmFtZSk7XG4gICAgICAgICAgICAgICAgY29tcC5zZXRJdGVtRHJvcERhdGEoaXRlbVNwcml0ZUZyYW1lLCBzaG93SXRlbUNmZyk7XG4gICAgICAgICAgICAgICAgdGhpcy5faXRlbUlkID0gLTE7XG4gICAgICAgICAgICAgICAgdGhpcy5faGFzSXRlbSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHN3aXRjaCAocFR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgUGxvdFNjZW5lVHlwZS5NZXNzYWdlOlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vblRhYkNsaWNrKE1haW5UYWJzLm1lc3NhZ2VUYWIsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3N1YlByZXNlbnRlcnNbdGhpcy5fY3VycmVudFRhYl0ub25TaG93KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wLnRvQ2hhdCh7IHRpdGxlOiBcIlwiLCBkZXNjOiBcIuadpeeUteS6hiEhXCIgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBHYW1lTW9kZWxNYW5hZ2VyLkZvcmNlQ2xpY2tEYXRhUmVhZHkuZW1pdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdhbWVNb2RlbE1hbmFnZXIuRm9yY2VDbGlja01zZ0l0ZW0uZW1pdChwSWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBQbG90U2NlbmVUeXBlLkRhdGluZ0V2ZW50OlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNmZ3MgPSBDb25maWdNYW5hZ2VyLmdldEFsbENvbmZpZyhkYXRlU2NlbmVDb25maWcpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgaWRzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGlkIGluIGNmZ3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjZmdzW2lkXS5EYXRlVHlwZSA9PSBEYXRlVHlwZS5EYXRlX05vcm1hbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkcy5wdXNoKGlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBsZXQgcGxvdElkczogbnVtYmVyW10gPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1vZGVscyA9IEdhbWVNb2RlbE1hbmFnZXIuZ2V0TWFpbkRhdGluZ0V2ZW50U2NlbmVzTW9kZWwoKTtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtb2RlbHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsb3RJZHMucHVzaChtb2RlbHNbaV0uaWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGxldCBpbmRleCA9IHBsb3RJZHMuaW5kZXhPZihwSWQpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgdGl0bGUgPSBcIuesrFwiICsgKHBsb3RJZHMubGVuZ3RoKSArIFwi56ug77yaXCI7XG4gICAgICAgICAgICAgICAgICAgIGxldCBjZmcgPSBDb25maWdNYW5hZ2VyLmdldENvbmZpZyhkYXRlU2NlbmVDb25maWcsIHBJZCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCBkZXNjID0gY2ZnICYmIGNmZy5uYW1lID8gR2FtZU1vZGVsTWFuYWdlci5nZXRDb25maWdMYW5ndWFnZVR4dChjZmcubmFtZSkgOiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBjb21wLnRvRGF0aW5nKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEF1ZGlvTWFuYWdlci5wbGF5RWZmZWN0KCd2ZXJiJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uVGFiQ2xpY2soTWFpblRhYnMuZGF0aW5nRXZlbnRUYWIsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBHYW1lTW9kZWxNYW5hZ2VyLkZvcmNlQ2xpY2tEYXRhUmVhZHkuZW1pdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdhbWVNb2RlbE1hbmFnZXIuRm9yY2VDbGlja0RhdGluZ0l0ZW0uZW1pdChwSWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmlldy5oaWRlQ2xpY2tBbmlCeUluZGV4KE1haW5UYWJzLmRhdGluZ0V2ZW50VGFiKTtcbiAgICAgICAgICAgICAgICAgICAgfSwgeyB0aXRsZTogdGl0bGUsIGRlc2M6IGRlc2MgfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRTaG93SXRlbUNmZyhpdGVtSWQ6IG51bWJlcik6IERlZXBSZWFkb25seU9iamVjdDxJSXRlbVRibD4gfCB1bmRlZmluZWQge1xuICAgICAgICBsZXQgY2ZnOiBEZWVwUmVhZG9ubHlPYmplY3Q8SUl0ZW1UYmw+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgICAgICBpZiAoaXRlbUlkKSB7XG4gICAgICAgICAgICBjZmcgPSBDb25maWdNYW5hZ2VyLmdldENvbmZpZyhpdGVtVGJsLCBpdGVtSWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjZmc7XG4gICAgfVxuXG4gICAgb25VbmxvY2tJdGVtID0gKGl0ZW1JZDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGxldCB1bmxvY2tJdGVtcyA9IFVubG9ja0l0ZW1Nb2RlbE1hbmFnZXIudW5sb2NrSXRlbXM7XG4gICAgICAgIGxldCBpc05ldyA9IHVubG9ja0l0ZW1zLmluZGV4T2YoaXRlbUlkKSA9PSAtMTtcbiAgICAgICAgaWYgKGlzTmV3KSB7XG4gICAgICAgICAgICB0aGlzLl9pdGVtSWQgPSBpdGVtSWQ7XG4gICAgICAgICAgICB0aGlzLl9oYXNJdGVtID0gdHJ1ZTtcbiAgICAgICAgICAgIC8v5YaZ5a2Y5qGjK+e7hOe7h+aVsOaNruW5tua0vuWPkVxuICAgICAgICAgICAgVW5sb2NrSXRlbU1vZGVsTWFuYWdlci5zYXZlSXRlbUlkVG9HYW1lUmVjb3JkKGl0ZW1JZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDljaflrqTov5Tlm57ngrnlh7tVSeS6i+S7tlxuICAgICAqIEBwYXJhbSBpbmRleCDov5Tlm57lhbfkvZN0YWJJbmRleFxuICAgICAqL1xuICAgIG9uQmVkcm9vbVZpZXdCYWNrID0gKGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgdGhpcy5fdmlldy5vblRhYkJ1dHRvbkNsaWNrKG51bGwsIGAke2luZGV4fWApO1xuICAgIH1cblxuICAgIG9uUmVmcmVzaEFsbFN0YXR1cyA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgdGhpcy5jaGVja1JlZERvdChQbG90TWFuYWdlci5nZXRDdXJyZW50UGxvdHMoKSk7XG5cbiAgICAgICAgR2FtZUNvbmZpZy5zaG93VG9CZUNvbnRpbnVlID0gZmFsc2U7XG4gICAgICAgIGxldCBuZWVkRW50ZXJTcGVjaWFsRGF0aW5nU2NlbmUgPSB0aGlzLmNoZWNrSXNOZWVkVG9FbnRlclNwZWNpYWxEYXRpbmdTY2VuZSgpO1xuICAgICAgICAvLyBjaGVjayB0YWIgZ3VpZGVcbiAgICAgICAgLy8gdGhpcy5jaGVja1RhYkd1aWRlKCk7XG4gICAgICAgIGlmIChuZWVkRW50ZXJTcGVjaWFsRGF0aW5nU2NlbmUpIHtcbiAgICAgICAgICAgIEdhbWVDb25maWcuaXNWZXJiID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZW50ZXJTcGVjaWFsRXZlbnRTY2VuZSgpO1xuICAgICAgICAgICAgdGhpcy5fY3VycmVudFRhYiA9IE1haW5UYWJzLmRhdGluZ0V2ZW50VGFiO1xuICAgICAgICAgICAgdGhpcy5fdmlld1Byb3BzLnNlbGVjdGVkVGFiID0gTWFpblRhYnMuZGF0aW5nRXZlbnRUYWI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBHYW1lTW9kZWxNYW5hZ2VyLmNoZWNrQXV0b1BvcFZpZXcoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl90YWJDbGlja0FibGUgPSB0cnVlXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5Y2n5a6k6L+U5Zue54K55Ye7VUnkuovku7ZcbiAgICAgKiBAcGFyYW0gaW5kZXgg6L+U5Zue5YW35L2TdGFiSW5kZXhcbiAgICAgKi9cbiAgICBvbkp1bXBUb1ZpZXdJbkdhbWUgPSAoaW5kZXg6IFBhZ2VJbmRleCkgPT4ge1xuICAgICAgICBsZXQgdGFiID0gTWFpblRhYnMubWVzc2FnZVRhYjtcbiAgICAgICAgc3dpdGNoIChpbmRleCkge1xuICAgICAgICAgICAgY2FzZSBQYWdlSW5kZXguTWVzc2FnZVZpZXc6XG4gICAgICAgICAgICAgICAgdGFiID0gTWFpblRhYnMubWVzc2FnZVRhYlxuICAgICAgICAgICAgICAgIHRoaXMuX3ZpZXcub25UYWJCdXR0b25DbGljayhudWxsLCBgJHt0YWJ9YCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFBhZ2VJbmRleC5EYXRlRXZlbnRWaWV3OlxuICAgICAgICAgICAgICAgIHRhYiA9IE1haW5UYWJzLmRhdGluZ0V2ZW50VGFiXG4gICAgICAgICAgICAgICAgdGhpcy5fdmlldy5vblRhYkJ1dHRvbkNsaWNrKG51bGwsIGAke3RhYn1gKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgUGFnZUluZGV4LkV4dHJhUGxvdFZpZXc6XG4gICAgICAgICAgICAgICAgdGFiID0gTWFpblRhYnMuZGF0aW5nRXZlbnRUYWJcbiAgICAgICAgICAgICAgICB0aGlzLl92aWV3Lm9uVGFiQnV0dG9uQ2xpY2sobnVsbCwgYCR7dGFifWApO1xuICAgICAgICAgICAgICAgIFVJTWFuYWdlci5wdXNoUHJlc2VudGVyKEV4dHJhUGxvdFZpZXdQcmVzZW50ZXIsIHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJUaGUgcGFnZUluZGV4IGlzIGludmFsaWQuXCIpO1xuICAgICAgICAgICAgICAgIFVJTWFuYWdlci5zaG93VG9hc3QoXCLml6DmlYjnmoTpobXpnaLot7PovaxcIik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG59Il19
\ No newline at end of file
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvZ2FtZS91aS9wcmVzZW50ZXIvTWFpblZpZXdQcmVzZW50ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrREFBcUQ7QUFDckQsMENBQXlGO0FBQ3pGLDJFQUFxRjtBQUVyRixpRkFBOEU7QUFDOUUsMkVBQXdFO0FBQ3hFLHFFQUFrRTtBQUNsRSx1Q0FBc0g7QUFDdEgsaURBQTBDO0FBQzFDLDZFQUFzRTtBQUN0RSxtRUFBZ0U7QUFDaEUsc0VBQXlEO0FBQ3pELDBDQUFtQztBQUNuQyw4RUFBc0U7QUFDdEUsb0RBQThFO0FBQzlFLHlFQUFrRTtBQUNsRSxpRUFBOEQ7QUFDOUQsNkRBQXNEO0FBQ3RELG1FQUE0RDtBQUM1RCw2REFBc0Q7QUFDdEQsaUVBQTBEO0FBQzFELCtEQUF3RDtBQUN4RCxtRUFBNEQ7QUFDNUQsbUVBQXNEO0FBRXRELHlEQUE2QztBQUM3QyxtRkFBZ0Y7QUFDaEYsK0VBQTRFO0FBQzVFLHFEQUE0RDtBQUM1RCxvREFBMEQ7QUFDMUQsdURBQThDO0FBQzlDLDBEQUErRDtBQUMvRCw0RUFBcUU7QUFDckUscUVBQStEO0FBQy9ELHFFQUE4RDtBQUM5RCx5Q0FBZ0M7QUFFaEMsTUFBTSxtQkFBbUIsR0FBZ0Q7SUFDckUsOEJBQW9CO0lBQ3BCLGtDQUF3QjtJQUN4QiwrQkFBcUI7Q0FDeEIsQ0FBQztBQUNGLGFBQWE7QUFDYixNQUFNLGVBQWUsR0FBVyxDQUFDLENBQUM7QUFFbEM7O0lBQUEsSUFBcUIsaUJBQWlCLHlCQUF0QyxNQUFxQixpQkFBa0IsU0FBUSx5QkFBOEI7UUFhekU7WUFDSSxLQUFLLEVBQUUsQ0FBQztZQVpKLG1CQUFjLEdBQTJCLEVBQUUsQ0FBQztZQUM1QyxnQkFBVyxHQUFHLENBQUMsQ0FBQztZQUVoQixnQkFBVyxHQUFHLEtBQUssQ0FBQztZQUNYLHdCQUFtQixHQUFHLEdBQUcsQ0FBQztZQUNuQyxrQkFBYSxHQUFZLEtBQUssQ0FBQztZ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LENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLGtCQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDdEU7UUFDTCxDQUFDO1FBMkJELFNBQVMsQ0FBQyxRQUFnQjtZQUN0QixJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksUUFBUSxFQUFFO2dCQUM5QixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO2dCQUNqQyxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztnQkFFL0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3hDO1FBQ0wsQ0FBQztRQTBGRCxjQUFjLENBQUMsTUFBYztZQUN6QixJQUFJLEdBQUcsR0FBNkMsU0FBUyxDQUFDO1lBQzlELElBQUksTUFBTSxFQUFFO2dCQUNSLEdBQUcsR0FBRyxvQ0FBYSxDQUFDLFNBQVMsQ0FBQyxpQkFBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQ2xEO1lBQ0QsT0FBTyxHQUFHLENBQUM7UUFDZixDQUFDO0tBeURKLENBQUE7SUE1Y1Usc0JBQUksR0FBRyxtQkFBbUIsQ0FBQztJQVVwQiwwQkFBUSxHQUFXLENBQUMsQ0FBQyxDQUFDO0lBWG5CLGlCQUFpQjtRQURyQyxxQ0FBWSxDQUFDLHVCQUFZLENBQUM7T0FDTixpQkFBaUIsQ0E2Y3JDO0lBQUQsd0JBQUM7S0FBQTtrQkE3Y29CLGlCQUFpQiIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmZpZ01hbmFnZXIgfSBmcm9tIFwic2ltYmEtY29uZmlnLW1hbmFnZXJcIjtcbmltcG9ydCB7IEdhbWVSZWNvcmQsIFBsb3RNYW5hZ2VyLCBSZWFkb25seVBsb3RzLCBTcGVjaWFsUGxvdElkIH0gZnJvbSBcIi4uLy4uLy4uL2F2Zy9BVkdcIjtcbmltcG9ydCB7IGNyZWF0ZVByZXNlbnRlciwgUHJlc2VudGVyIH0gZnJvbSBcIi4uLy4uLy4uL2NvbW1vbi9jbGFzc2Jhc2UvUHJlc2VudGVyQmFzZVwiO1xuaW1wb3J0IHsgVmlldyB9IGZyb20gXCIuLi8uLi8uLi9jb21tb24vY2xhc3NiYXNlL1ZpZXdCYXNlXCI7XG5pbXBvcnQgeyBHYW1lVGV4dERhdGEgfSBmcm9tIFwiLi4vLi4vLi4vY29tbW9uL2dhbWVwbGF5L2dhbWVkYXRhL0dhbWVUZXh0RGF0YVwiO1xuaW1wb3J0IHsgVUlNYW5hZ2VyIH0gZnJvbSBcIi4uLy4uLy4uL2NvbW1vbi9nYW1lcGxheS9tYW5hZ2Vycy9VSU1hbmFnZXJcIjtcbmltcG9ydCB7IGRhdGVTY2VuZUNvbmZpZyB9IGZyb20gXCIuLi8uLi8uLi9jb25maWcvRGF0ZVNjZW5lQ29uZmlnXCI7XG5pbXBvcnQgeyBBdXRvUG9wVmlld1R5cGUsIEd1aWRlTG9jYXRpb24sIEd1aWRlT3BlcmF0aW9uVHlwZSwgR3VpZGVTdGF0ZSwgTWFpblRhYnMsIFBsb3RTY2VuZVR5cGUgfSBmcm9tIFwiLi4vLi4vRW51bXNcIjtcbmltcG9ydCBHYW1lRG90TWdyIGZyb20gXCIuLi8uLi9HYW1lRG90TWdyXCI7XG5pbXBvcnQgeyBEYXRpbmdFdmVudFN0YXR1cyB9IGZyb20gXCIuLi8uLi9tb2RlbC9EYXRpbmdFdmVudFNjZW5lTW9kZWxcIjtcbmltcG9ydCB7IEdhbWVNb2RlbE1hbmFnZXIgfSBmcm9tIFwiLi4vLi4vbW9kZWwvR2FtZU1vZGVsTWFuYWdlclwiO1xuaW1wb3J0IHsgUmVnUHJlc2VudGVyIH0gZnJvbSBcIi4uL1ByZXNlbnRlckNDVmlld0ZhY3RvcnlcIjtcbmltcG9ydCBWZXJiVmlldyBmcm9tIFwiLi4vVmVyYlZpZXdcIjtcbmltcG9ydCB7IHNob3dUb0JlQ29udGludWUgfSBmcm9tIFwiLi4vdmlldy9pbXBsL0FsZXJ0VG9CZUNvbnRpbnVlSW1wbFwiO1xuaW1wb3J0IHsgTWFpblZpZXcsIE1haW5WaWV3UHJvcHMsIE1haW5WaWV3VHlwZSB9IGZyb20gXCIuLi92aWV3L3R5cGUvTWFpblZpZXdcIjtcbmltcG9ydCBEYXRpbmdFdmVudFZpZXdQcmVzZW50ZXIgZnJvbSBcIi4vRGF0aW5nRXZlbnRWaWV3UHJlc2VudGVyXCI7XG5pbXBvcnQgeyBEYXRpbmdTY2VuZVByZXNlbnRlciB9IGZyb20gXCIuL0RhdGluZ1NjZW5lUHJlc2VudGVyXCI7XG5pbXBvcnQgRGVidWdWaWV3UHJlc2VudGVyIGZyb20gXCIuL0RlYnVnVmlld1ByZXNlbnRlclwiO1xuaW1wb3J0IERpc2NvdmVyVmlld1ByZXNlbnRlciBmcm9tIFwiLi9EaXNjb3ZlclZpZXdQcmVzZW50ZXJcIjtcbmltcG9ydCBHdWlkZVZpZXdQcmVzZW50ZXIgZnJvbSBcIi4vR3VpZGVWaWV3UHJlc2VudGVyXCI7XG5pbXBvcnQgTWVzc2FnZVZpZXdQcmVzZW50ZXIgZnJvbSBcIi4vTWVzc2FnZVZpZXdQcmVzZW50ZXJcIjtcbmltcG9ydCBOb3RpY2VWaWV3UHJlc2VudGVyIGZyb20gXCIuL05vdGljZVZpZXdQcmVzZW50ZXJcIjtcbmltcG9ydCBQbG90U3RvcFZpZXdQcmVzZW50ZXIgZnJvbSBcIi4vUGxvdFN0b3BWaWV3UHJlc2VudGVyXCI7XG5pbXBvcnQgeyBBdWRpb01hbmFnZXIgfSBmcm9tIFwic2ltYmEtY2MtYXVkaW8tbWFuYWdlclwiO1xuaW1wb3J0IHsgRGVlcFJlYWRvbmx5T2JqZWN0IH0gZnJvbSBcInNpbWJhLXV0aWxzXCI7XG5pbXBvcnQgeyBSZXNVdGlscyB9IGZyb20gXCJzaW1iYS1jYy1yZXN1dGlsc1wiO1xuaW1wb3J0IHsgR2FtZUNvbnN0RGF0YSB9IGZyb20gXCIuLi8uLi8uLi9jb21tb24vZ2FtZXBsYXkvZ2FtZWRhdGEvR2FtZUNvbnN0RGF0YVwiO1xuaW1wb3J0IHsgVW5sb2NrSXRlbU1vZGVsTWFuYWdlciB9IGZyb20gXCIuLi8uLi9tb2RlbC9VbmxvY2tJdGVtTW9kZWxNYW5hZ2VyXCI7XG5pbXBvcnQgeyBJSXRlbVRibCwgaXRlbVRibCB9IGZyb20gXCIuLi8uLi8uLi9jb25maWcvSXRlbVRibFwiO1xuaW1wb3J0IHsgY2hhbm5lbCwgR2FtZUNvbmZpZyB9IGZyb20gXCIuLi8uLi8uLi9HYW1lQ29uZmlnXCI7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcInNpbWJhLWh0dHBjbGllbnRcIjtcbmltcG9ydCB7IERhdGVUeXBlLCBQYWdlSW5kZXggfSBmcm9tIFwiLi4vLi4vLi4vYXZnL0VkaXRvckVudW1zXCI7XG5pbXBvcnQgTmV3Tm90aWNlVmlld1ByZXNlbnRlciBmcm9tIFwiLi9ub3RpY2UvTmV3Tm90aWNlVmlld1ByZXNlbnRlclwiO1xuaW1wb3J0IHsgU291cmNlVmlldyB9IGZyb20gXCIuLi92aWV3L3R5cGUvbm90aWNlL05ld05vdGljZVZpZXdcIjtcbmltcG9ydCBFeHRyYVBsb3RWaWV3UHJlc2VudGVyIGZyb20gXCIuL0V4dHJhUGxvdFZpZXdQcmVzZW50ZXJcIjtcbmltcG9ydCB7IFNESyB9IGZyb20gXCJzaW1iYS1zZGtcIjtcblxuY29uc3QgVGFiUHJlc2VudGVyRmFjdG9yeTogKHsgbmV3KCk6IFByZXNlbnRlciB9ICYgeyB1dWlkOiBzdHJpbmcgfSlbXSA9IFtcbiAgICBNZXNzYWdlVmlld1ByZXNlbnRlcixcbiAgICBEYXRpbmdFdmVudFZpZXdQcmVzZW50ZXIsXG4gICAgRGlzY292ZXJWaWV3UHJlc2VudGVyXG5dO1xuLyoq5Li757q/5Ymn5oOF55qE5LiL5qCHICovXG5jb25zdCBNQUlOX1BMT1RfSU5ERVg6IG51bWJlciA9IDA7XG5AUmVnUHJlc2VudGVyKE1haW5WaWV3VHlwZSlcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1haW5WaWV3UHJlc2VudGVyIGV4dGVuZHMgUHJlc2VudGVyPHVuZGVmaW5lZCwgTWFpblZpZXc+IHtcbiAgICBzdGF0aWMgdXVpZCA9IFwiTWFpblZpZXdQcmVzZW50ZXJcIjtcbiAgICBwcml2YXRlIF9zdWJQcmVzZW50ZXJzOiBQcmVzZW50ZXI8YW55LCBWaWV3PltdID0gW107XG4gICAgcHJpdmF0ZSBfY3VycmVudFRhYiA9IDA7XG4gICAgcHJpdmF0ZSBfdmlld1Byb3BzOiBNYWluVmlld1Byb3BzO1xuICAgIHByaXZhdGUgX2xvYWRpbmdUYWIgPSBmYWxzZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF90YWJUb2dnbGVEZWxheVRpbWUgPSA2MTg7XG4gICAgcHJpdmF0ZSBfdGFiQ2xpY2tBYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIF9pdGVtSWQ6IG51bWJlciA9IC0xO1xuICAgIHByaXZhdGUgX2hhc0l0ZW06IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgc3RhdGljIHRhYkluZGV4OiBudW1iZXIgPSAtMTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLl92aWV3UHJvcHMgPSB7XG4gICAgICAgICAgICBzZWxlY3RlZFRhYjogMCxcbiAgICAgICAgICAgIG1lc3NhZ2VSZWREb3Q6IGZhbHNlLFxuICAgICAgICAgICAgZGF0aW5nRXZlbnRSZWREb3Q6IGZhbHNlLFxuICAgICAgICAgICAgZGlzY292ZXJSZWREb3Q6IGZhbHNlLFxuICAgICAgICAgICAgb25UYWJDbGljazogdGhpcy5vblRhYkNsaWNrLFxuICAgICAgICAgICAgb25EZWJ1Z0NsaWNrOiB0aGlzLm9uRGVidWdDbGlja0NhbGxiYWNrLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIG9uRGVidWdDbGlja0NhbGxiYWNrID0gKCkgPT4ge1xuICAgICAgICBVSU1hbmFnZXIucHVzaFByZXNlbnRlcihEZWJ1Z1ZpZXdQcmVzZW50ZXIsIHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgb25Hb1RvU2hvcENsaWNrQ2FsbGJhY2sgPSAoKSA9PiB7XG4gICAgICAgIEdhbWVEb3RNZ3IuZ2V0SW5zdGFuY2UoKS5kb3RDbGlja1VJKFwic2hvcF9idG5fTWFpblZpZXdcIik7XG4gICAgICAgIGlmIChjaGFubmVsID09IFwid2VjaGF0XCIpIHtcbiAgICAgICAgICAgIC8vIEdhbWVDZW50ZXIuZ2V0SW5zdGFuY2UoKS5vcGVuU3ViUHJvZ3JhbShHYW1lQ29uZmlnLnlvdVphblNob3BBcHBJZCk7XG4gICAgICAgICAgICBsZXQgbGluayA9IEdhbWVNb2RlbE1hbmFnZXIuZ2V0WW91WmFuU2hvcFVybEJ5VHlwZSg4KTtcbiAgICAgICAgICAgIGlmIChsaW5rKSB7XG4gICAgICAgICAgICAgICAgU0RLLm9wZW5Qcm9ncmFtVjIoR2FtZUNvbmZpZy55b3VaYW5TaG9wQXBwSWQsIGxpbmspO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGNoYW5uZWwgPT0gXCJhbmRyb2lkXCIpIHtcbiAgICAgICAgICAgIGxldCBsaW5rID0gR2FtZU1vZGVsTWFuYWdlci5nZXRUYW9CYW9TaG9wVXJsQnlUeXBlKDgpO1xuICAgICAgICAgICAgaWYgKGxpbmspIHtcbiAgICAgICAgICAgICAgICBHYW1lTW9kZWxNYW5hZ2VyLmp1bXBUb1Rhb2Jhb1Nob3AobGluayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBVSU1hbmFnZXIuc2hvd1RvYXN0KFwi6K+l5Yqf6IO95Zyo5b2T5YmN5bmz5Y+w5LiN5Y+v5L2/55SoXCIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Db21tb25Qcm9ibGVtQ2xpY2tDYWxsYmFjayA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGxldCByZXNTdHIgPSBhd2FpdCBuZXcgSHR0cENsaWVudChHYW1lQ29uZmlnLmNvbW1vblByb2JsZW1Db25maWdVcmwpLmdldCgpIGFzIHN0cmluZztcbiAgICAgICAgICAgIGxldCByZXMgPSBKU09OLnBhcnNlKHJlc1N0cik7XG4gICAgICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgICAgICAgVUlNYW5hZ2VyLnB1c2hQcmVzZW50ZXIoTm90aWNlVmlld1ByZXNlbnRlciwge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogcmVzLnRpdGxlLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiByZXMuY29udGVudFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGVja1JlZERvdCA9IChwbG90czogUmVhZG9ubHlQbG90cykgPT4ge1xuICAgICAgICB0aGlzLl92aWV3UHJvcHMubWVzc2FnZVJlZERvdCA9IHBsb3RzW01BSU5fUExPVF9JTkRFWF0ucGxvdFNjZW5lVHlwZSA9PT0gUGxvdFNjZW5lVHlwZS5NZXNzYWdlIHx8IHBsb3RzW01BSU5fUExPVF9JTkRFWF0ucGxvdFNjZW5lVHlwZSA9PT0gUGxvdFNjZW5lVHlwZS5QaG9uZUNhbGw7XG4gICAgICAgIHRoaXMuX3ZpZXdQcm9wcy5kYXRpbmdFdmVudFJlZERvdCA9IGZhbHNlO1xuICAgICAgICB0aGlzLl92aWV3UHJvcHMuZGF0aW5nRXZlbnRSZWREb3QgPSBwbG90cyAmJiAocGxvdHNbMF0ucGxvdFNjZW5lVHlwZSA9PT0gUGxvdFNjZW5lVHlwZS5EYXRpbmdFdmVudCAmJiAocGxvdHNbMF0uaWQgIT09IFNwZWNpYWxQbG90SWQuVG9CZUNvbnRpbnVlZCAmJiBwbG90c1swXS5pZCAhPT0gU3BlY2lhbFBsb3RJZC5FbmQpKTtcbiAgICAgICAgdGhpcy52aWV3LnNldFByb3BzKHRoaXMuX3ZpZXdQcm9wcyk7XG4gICAgICAgIGlmIChwbG90c1tNQUlOX1BMT1RfSU5ERVhdICYmIHBsb3RzW01BSU5fUExPVF9JTkRFWF0ucGxvdFNjZW5lVHlwZSA9PT0gUGxvdFNjZW5lVHlwZS5CbG9ja1Bsb3QpIHtcbiAgICAgICAgICAgIEdhbWVNb2RlbE1hbmFnZXIuZGVhbEJsb2NrZWRQbG90KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsZXQgY2hhbmdlID0gR2FtZU1vZGVsTWFuYWdlci5pc0NoYW5nZVBsb3RTY2VuZVR5cGUoKTtcbiAgICAgICAgICAgIGlmIChjaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICBsZXQgcCA9IHBsb3RzW01BSU5fUExPVF9JTkRFWF07XG4gICAgICAgICAgICAgICAgbGV0IGlzU3BlY2lhbCA9IHAuaWQgPT09IFNwZWNpYWxQbG90SWQuRW5kIHx8IHAuaWQgPT09IFNwZWNpYWxQbG90SWQuVG9CZUNvbnRpbnVlZDtcbiAgICAgICAgICAgICAgICBpZiAoIWlzU3BlY2lhbCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uTWFpblBsb3RDaGFuZ2VkKHAucGxvdFNjZW5lVHlwZSwgcC5wbG90U2NlbmVUeXBlSWQpO1xuICAgICAgICAgICAgICAgICAgICBHYW1lTW9kZWxNYW5hZ2VyLnNldElzQ2hhbmdlUGxvdFNjZW5lVHlwZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25SZWZyZXNoRGlzY292ZXJ5UmVkRG90ID0gKCkgPT4ge1xuICAgICAgICB0aGlzLl92aWV3UHJvcHMuZGlzY292ZXJSZWREb3QgPSAhR2FtZU1vZGVsTWFuYWdlci5jaGVja1Jlc3VtZUZ1bGxFbmVyZ3lNYXJrZWQoKTtcbiAgICAgICAgdGhpcy52aWV3LnNldFByb3BzKHRoaXMuX3ZpZXdQcm9wcyk7XG4gICAgfVxuXG4gICAgYXN5bmMgc3RhcnQoKSB7IC8vIOW8gOWni+a4uOaIj1xuICAgICAgICB0aGlzLl9zdWJQcmVzZW50ZXJzWzBdID0gYXdhaXQgY3JlYXRlUHJlc2VudGVyKFRhYlByZXNlbnRlckZhY3RvcnlbMF0pO1xuICAgICAgICBNYWluVmlld1ByZXNlbnRlci50YWJJbmRleCA9IDA7XG4gICAgICAgIGxldCB2aWV3Q29udGFpbmVyID0gdGhpcy5fdmlldy5nZXRUYWJDb250ZW50Q29udGFpbmVyKCk7XG4gICAgICAgIHRoaXMuX3N1YlByZXNlbnRlcnNbMF0ub3Blbih2aWV3Q29udGFpbmVyLCB1bmRlZmluZWQpO1xuICAgICAgICB0aGlzLmRlYWxUYWJHdWlkZShNYWluVGFicy5tZXNzYWdlVGFiKTtcbiAgICAgICAgdGhpcy5fdmlld1Byb3BzLnNlbGVjdGVkVGFiID0gTWFpblRhYnMubWVzc2FnZVRhYjtcblxuICAgICAgICB0aGlzLl9kaXNwb3NhYmxlLmFkZChHYW1lTW9kZWxNYW5hZ2VyLlJlZnJlc2hEaXNjb3ZlclRhYlJlZC5vbih0aGlzLm9uUmVmcmVzaERpc2NvdmVyeVJlZERvdCkpO1xuICAgICAgICB0aGlzLl9kaXNwb3NhYmxlLmFkZChHYW1lTW9kZWxNYW5hZ2VyLlNob3dQbG90QmxvY2tlZC5vbih0aGlzLm9uU2hvd1Bsb3RCbG9ja2VkKSk7XG4gICAgICAgIHRoaXMuX2Rpc3Bvc2FibGUuYWRkKEdhbWVNb2RlbE1hbmFnZXIuQXV0b1BvcFZpZXcub24odGhpcy5vbkF1dG9Qb3BWaWV3KSk7XG4gICAgICAgIHRoaXMuX2Rpc3Bvc2FibGUuYWRkKEdhbWVNb2RlbE1hbmFnZXIuVW5sb2NrSXRlbS5vbih0aGlzLm9uVW5sb2NrSXRlbSkpO1xuXG4gICAgICAgIHRoaXMuX2Rpc3Bvc2FibGUuYWRkKEdhbWVNb2RlbE1hbmFnZXIuUmVmcmVzaEFsbFN0YXR1cy5vbih0aGlzLm9uUmVmcmVzaEFsbFN0YXR1cykpO1xuICAgICAgICB0aGlzLl9kaXNwb3NhYmxlLmFkZChHYW1lTW9kZWxNYW5hZ2VyLkp1bXBUb1ZpZXdJbkdhbWUub24odGhpcy5vbkp1bXBUb1ZpZXdJbkdhbWUpKTtcblxuXG4gICAgICAgIHRoaXMuY2hlY2tSZWREb3QoUGxvdE1hbmFnZXIuZ2V0Q3VycmVudFBsb3RzKCkpO1xuICAgICAgICBQbG90TWFuYWdlci5QbG90U3RhcnRFdmVudC5vbih0aGlzLmNoZWNrUmVkRG90KTtcbiAgICAgICAgbGV0IG5lZWRFbnRlclNwZWNpYWxEYXRpbmdTY2VuZSA9IHRoaXMuY2hlY2tJc05lZWRUb0VudGVyU3BlY2lhbERhdGluZ1NjZW5lKCk7XG4gICAgICAgIC8vIGNoZWNrIHRhYiBndWlkZVxuICAgICAgICAvLyB0aGlzLmNoZWNrVGFiR3VpZGUoKTtcbiAgICAgICAgaWYgKG5lZWRFbnRlclNwZWNpYWxEYXRpbmdTY2VuZSkge1xuICAgICAgICAgICAgR2FtZUNvbmZpZy5pc1ZlcmIgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5lbnRlclNwZWNpYWxFdmVudFNjZW5lKCk7XG4gICAgICAgICAgICB0aGlzLl9jdXJyZW50VGFiID0gTWFpblRhYnMuZGF0aW5nRXZlbnRUYWI7XG4gICAgICAgICAgICB0aGlzLl92aWV3UHJvcHMuc2VsZWN0ZWRUYWIgPSBNYWluVGFicy5kYXRpbmdFdmVudFRhYjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl90YWJDbGlja0FibGUgPSB0cnVlO1xuICAgICAgICAvL+i/m+WFpeS4u+eVjOmdouabtOaWsOe6oueCueeKtuaAgVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIC8v5YWz6Zet562J5b6F55WM6Z2iXG4gICAgICAgICAgICB0aGlzLnZpZXcuc2hvd1dhaXRpbmdWaWV3KGZhbHNlKTtcbiAgICAgICAgICAgIC8v5byA5aeL5by56LW36Ieq5Yqo56qX5Y+jXG4gICAgICAgICAgICBpZiAoUGxvdE1hbmFnZXIuZ2V0Q3VycmVudFBsb3RzKClbTUFJTl9QTE9UX0lOREVYXS5pZCA9PT0gU3BlY2lhbFBsb3RJZC5Ub0JlQ29udGludWVkKSB7XG4gICAgICAgICAgICAgICAgR2FtZU1vZGVsTWFuYWdlci5yZWdpc3RlckF1dG9Qb3BWaWV3KEF1dG9Qb3BWaWV3VHlwZS5Ub0JlQ29udGludWVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBhdXRvU2hvd05vdGljZSA9IEdhbWVNb2RlbE1hbmFnZXIuZ2V0QXV0b1Nob3dOb3RpY2UoKTtcbiAgICAgICAgICAgIGlmIChhdXRvU2hvd05vdGljZSkge1xuICAgICAgICAgICAgICAgIEdhbWVNb2RlbE1hbmFnZXIucmVnaXN0ZXJBdXRvUG9wVmlldyhBdXRvUG9wVmlld1R5cGUuTm90aWNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCB1bmxvY2tJdGVtcyA9IFVubG9ja0l0ZW1Nb2RlbE1hbmFnZXIudW5sb2NrSXRlbXM7XG4gICAgICAgICAgICBpZiAodW5sb2NrSXRlbXMuaW5kZXhPZig0KSA9PSAtMSkge1xuICAgICAgICAgICAgICAgIEdhbWVNb2RlbE1hbmFnZXIucmVnaXN0ZXJBdXRvUG9wVmlldyhBdXRvUG9wVmlld1R5cGUuTm90ZUJvb2spO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFuZWVkRW50ZXJTcGVjaWFsRGF0aW5nU2NlbmUpIHtcbiAgICAgICAgICAgICAgICBHYW1lTW9kZWxNYW5hZ2VyLmNoZWNrQXV0b1BvcFZpZXcoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMjAwMCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5qOA5p+l5paw5omL5pWZ56iL5piv5ZCm5a6M5oiQ77yM5b2T5YmN5paw5omL5pWZ56iL5a6M5oiQ55qE5Yik5a6a5piv5a6M5oiQ56ys5LiA56ugXG4gICAgICogQHJldHVybnMgXG4gICAgICovXG4gICAgY2hlY2tOb3ZpY2VUdXRvcmlhbE92ZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCBtb2RlbHMgPSBHYW1lTW9kZWxNYW5hZ2VyLmdldE1haW5EYXRpbmdFdmVudFNjZW5lc01vZGVsKCk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbW9kZWxzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAobW9kZWxzW2ldLnN0YXR1cyA9PSA0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGFzeW5jIGVudGVyU3BlY2lhbEV2ZW50U2NlbmUoKSB7XG4gICAgICAgIGxldCBhcnIgPSBHYW1lTW9kZWxNYW5hZ2VyLmdldE1haW5EYXRpbmdFdmVudFNjZW5lc01vZGVsKCk7XG4gICAgICAgIFVJTWFuYWdlci5wdXNoUHJlc2VudGVyKERhdGluZ1NjZW5lUHJlc2VudGVyLCBhcnJbMF0sIHRydWUpO1xuICAgIH1cblxuICAgIGNoZWNrSXNOZWVkVG9FbnRlclNwZWNpYWxEYXRpbmdTY2VuZSgpIHtcbiAgICAgICAgbGV0IGFyciA9IEdhbWVNb2RlbE1hbmFnZXIuZ2V0TWFpbkRhdGluZ0V2ZW50U2NlbmVzTW9kZWwoKTtcbiAgICAgICAgbGV0IG5lZWQgPSBhcnIgJiYgYXJyLmxlbmd0aCA9PT0gMSAmJiBhcnJbMF0uc3RhdHVzICE9PSBEYXRpbmdFdmVudFN0YXR1cy5Db21wbGV0ZWQ7XG4gICAgICAgIHJldHVybiBuZWVkO1xuICAgIH1cblxuICAgIG9uTWFpblRhYkZvcmNlQ2xpY2sgPSAocGFyYW06IHsgaW5kZXg6IG51bWJlciwgcHVyZUNsaWNrOiBib29sZWFuLCBwcm9wSWQ/OiBudW1iZXIgfSkgPT4ge1xuICAgICAgICBVSU1hbmFnZXIucG9wVG9QcmVzZW50ZXIodGhpcyk7XG4gICAgICAgIGxldCBpbmRleCA9IHBhcmFtLmluZGV4O1xuICAgICAgICB0aGlzLm9uVGFiQ2xpY2soaW5kZXgpO1xuICAgIH1cblxuICAgIG9uQ2xvc2UoKSB7XG4gICAgICAgIHN1cGVyLm9uQ2xvc2UoKTtcbiAgICAgICAgVUlNYW5hZ2VyLnBvcFRvUHJlc2VudGVyKHRoaXMpO1xuICAgIH1cblxuICAgIG9uT3BlbigpIHtcbiAgICAgICAgc3VwZXIub25PcGVuKHVuZGVmaW5lZCk7XG4gICAgICAgIC8vIHRoaXMucGVybG9hZFByZWZhYigpO1xuICAgICAgICAvLyB0aGlzLmRpc2NvdmVySW5pdCgpO1xuICAgIH1cblxuICAgIGRpc2NvdmVySW5pdCgpIHtcbiAgICAgICAgR2FtZVJlY29yZC5vbkdsb2JhbFZhcmlhYmxlQ2hhbmdlKFwicmVkX3BvdF9cIiArIERpc2NvdmVyVmlld1ByZXNlbnRlci51dWlkLCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl92aWV3UHJvcHMuZGlzY292ZXJSZWREb3QgPSBHYW1lTW9kZWxNYW5hZ2VyLmNoZWNrUmVkUG90KERpc2NvdmVyVmlld1ByZXNlbnRlci51dWlkKTtcbiAgICAgICAgICAgIHRoaXMudmlldy5zZXRQcm9wcyh0aGlzLl92aWV3UHJvcHMpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fdmlld1Byb3BzLmRpc2NvdmVyUmVkRG90ID0gR2FtZU1vZGVsTWFuYWdlci5jaGVja1JlZFBvdChEaXNjb3ZlclZpZXdQcmVzZW50ZXIudXVpZCk7XG4gICAgICAgIHRoaXMudmlldy5zZXRQcm9wcyh0aGlzLl92aWV3UHJvcHMpO1xuICAgIH1cblxuICAgIHBlcmxvYWRQcmVmYWIoKSB7XG4gICAgICAgIGxldCBQRkxpc3QgPSBbXCJwcmVmYWIvdWkvRGF0aW5nRXZlbnRWaWV3XCJdO1xuICAgICAgICBjYy5yZXNvdXJjZXMucHJlbG9hZChQRkxpc3QpO1xuICAgIH1cblxuICAgIG9uRW50ZXJCYWNrZ3JvdW5kKCkge1xuICAgICAgICBzdXBlci5vbkVudGVyQmFja2dyb3VuZCgpO1xuICAgICAgICBpZiAodGhpcy5fc3ViUHJlc2VudGVyc1t0aGlzLl9jdXJyZW50VGFiXSlcbiAgICAgICAgICAgIHRoaXMuX3N1YlByZXNlbnRlcnNbdGhpcy5fY3VycmVudFRhYl0ub25FbnRlckJhY2tncm91bmQoKTtcbiAgICB9XG5cbiAgICAvKipwcmVzZW50ZXLov5vlhaXliY3mma8gKi9cbiAgICBhc3luYyBvbkVudGVyRm9yZWdyb3VuZCgpIHtcbiAgICAgICAgc3VwZXIub25FbnRlckZvcmVncm91bmQoKTtcbiAgICAgICAgaWYgKHRoaXMuX3N1YlByZXNlbnRlcnNbdGhpcy5fY3VycmVudFRhYl0pIHtcbiAgICAgICAgICAgIHRoaXMuX3N1YlByZXNlbnRlcnNbdGhpcy5fY3VycmVudFRhYl0ub25FbnRlckZvcmVncm91bmQoKTtcbiAgICAgICAgICAgIHRoaXMuX3N1YlByZXNlbnRlcnNbdGhpcy5fY3VycmVudFRhYl0ub25FbnRlckZvcmVncm91bmQoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoUGxvdE1hbmFnZXIuZ2V0Q3VycmVudFBsb3RzKClbTUFJTl9QTE9UX0lOREVYXS5pZCA9PT0gU3BlY2lhbFBsb3RJZC5Ub0JlQ29udGludWVkKSB7XG4gICAgICAgICAgICBHYW1lTW9kZWxNYW5hZ2VyLnJlZ2lzdGVyQXV0b1BvcFZpZXcoQXV0b1BvcFZpZXdUeXBlLlRvQmVDb250aW51ZWQpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghR2FtZUNvbmZpZy5pc1ZlcmIpIHtcbiAgICAgICAgICAgIEdhbWVNb2RlbE1hbmFnZXIuY2hlY2tBdXRvUG9wVmlldygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25TaG93KCkge1xuICAgICAgICBzdXBlci5vblNob3coKTtcbiAgICAgICAgLy8gdGhpcy5jaGVja1RhYkd1aWRlKCk7XG4gICAgfVxuXG4gICAgb25UYWJDbGljayA9IGFzeW5jIChpbmRleDogbnVtYmVyLCBjYWxsYmFjaz86IEZ1bmN0aW9uLCBpc0RvdD86IEJvb2xlYW4pID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLl90YWJDbGlja0FibGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRlYWxUYWJHdWlkZShpbmRleCk7XG4gICAgICAgIGxldCB1dWlkID0gVGFiUHJlc2VudGVyRmFjdG9yeVtpbmRleF0udXVpZDtcbiAgICAgICAgaWYgKCFHYW1lTW9kZWxNYW5hZ2VyLmNoZWNrRnVuY1VubG9jZWQodXVpZCkpIHtcbiAgICAgICAgICAgIFVJTWFuYWdlci5zaG93VG9hc3QoR2FtZU1vZGVsTWFuYWdlci5nZXRMYW5ndWFnZVR4dChHYW1lVGV4dERhdGEuR0FNRV9URVhUX01BSU5fRlVOQ1RJT05fTk9UX09QRU4pKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fbG9hZGluZ1RhYikgcmV0dXJuO1xuICAgICAgICBpZiAodGhpcy5fY3VycmVudFRhYiAhPT0gaW5kZXgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9zdWJQcmVzZW50ZXJzW3RoaXMuX2N1cnJlbnRUYWJdKVxuICAgICAgICAgICAgICAgIHRoaXMuX3N1YlByZXNlbnRlcnNbdGhpcy5fY3VycmVudFRhYl0udmlldy5oaWRlKCk7XG4gICAgICAgICAgICB0aGlzLl9jdXJyZW50VGFiID0gaW5kZXg7XG4gICAgICAgICAgICB0aGlzLl92aWV3UHJvcHMuc2VsZWN0ZWRUYWIgPSBpbmRleDtcbiAgICAgICAgICAgIHRoaXMuX3ZpZXcuc2V0UHJvcHModGhpcy5fdmlld1Byb3BzKTtcbiAgICAgICAgICAgIGlmIChpbmRleCAhPT0gMikge1xuICAgICAgICAgICAgICAgIE1haW5WaWV3UHJlc2VudGVyLnRhYkluZGV4ID0gaW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXRoaXMuX3N1YlByZXNlbnRlcnNbdGhpcy5fY3VycmVudFRhYl0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9sb2FkaW5nVGFiID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBhd2FpdCBjcmVhdGVQcmVzZW50ZXIoVGFiUHJlc2VudGVyRmFjdG9yeVt0aGlzLl9jdXJyZW50VGFiXSkudGhlbigocHJlc2VudGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3N1YlByZXNlbnRlcnNbdGhpcy5fY3VycmVudFRhYl0gPSBwcmVzZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHByZXNlbnRlci5vcGVuKHRoaXMudmlldy5nZXRUYWJDb250ZW50Q29udGFpbmVyKCksIHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gey8v5bu25pe2562J5b6FNjE45q+r56eS77yMVmlldyDkuK1VSeWIt+aWsFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbG9hZGluZ1RhYiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9LCB0aGlzLl90YWJUb2dnbGVEZWxheVRpbWUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX3N1YlByZXNlbnRlcnNbdGhpcy5fY3VycmVudFRhYl0pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3ViUHJlc2VudGVyc1t0aGlzLl9jdXJyZW50VGFiXS52aWV3LnNob3coKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgY2FsbGJhY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRlYWxUYWJHdWlkZShpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGxldCByID0gR2FtZVJlY29yZC5nbG9iYWxWYXJpYWJsZXNbXCJndWlkZV9tYWluX3RhYlwiICsgaW5kZXhdIGFzIG51bWJlcjtcbiAgICAgICAgciA9IHIgPT09IHVuZGVmaW5lZCA/IEd1aWRlU3RhdGUuY2xvc2UgOiByO1xuICAgICAgICBpZiAociA9PT0gR3VpZGVTdGF0ZS5PcGVuKSB7XG4gICAgICAgICAgICBHYW1lTW9kZWxNYW5hZ2VyLnNldEd1aWRlTWFpblRhYlJlY29yZChpbmRleCwgR3VpZGVTdGF0ZS5Db21wbGV0ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGVja1RhYkd1aWRlID0gKCkgPT4ge1xuICAgICAgICBsZXQgY2hlY2s6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICAgICAgaWYgKCFjaGVjaykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGxldCBpbmRleCA9IEdhbWVNb2RlbE1hbmFnZXIuZ2V0TWFpblRhYkd1aWRlSW5kZXgoKTtcbiAgICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgLy9hdHRlbnRpb25cbiAgICAgICAgICAgIGxldCByZWREb3RBcnIgPSBbdGhpcy5fdmlld1Byb3BzLm1lc3NhZ2VSZWREb3QsIHRoaXMuX3ZpZXdQcm9wcy5kYXRpbmdFdmVudFJlZERvdCwgdGhpcy5fdmlld1Byb3BzLmRpc2NvdmVyUmVkRG90XTtcbiAgICAgICAgICAgIGlmICghcmVkRG90QXJyW2luZGV4XSB8fCB0aGlzLl9jdXJyZW50VGFiID09PSBpbmRleCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFVJTWFuYWdlci5wb3BUb1ByZXNlbnRlcih0aGlzKTtcbiAgICAgICAgICAgIGxldCBtID0gdGhpcy52aWV3LmdldEd1aWRlVGFiUGFyYW0oaW5kZXgpO1xuICAgICAgICAgICAgaWYgKG0pIHtcbiAgICAgICAgICAgICAgICBsZXQgbG9jYXRpb246IEd1aWRlTG9jYXRpb24gPSBpbmRleCA9PT0gTWFpblRhYnMuZGF0aW5nRXZlbnRUYWIgPyBHdWlkZUxvY2F0aW9uLlRhYkRhdGUgOiBHdWlkZUxvY2F0aW9uLlRhYk1zZztcbiAgICAgICAgICAgICAgICBtLmNhbGwgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25UYWJDbGljayhpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmlldy5oaWRlQ2xpY2tBbmlCeUluZGV4KGluZGV4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgVUlNYW5hZ2VyLnB1c2hQcmVzZW50ZXIoR3VpZGVWaWV3UHJlc2VudGVyLCBtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN3aXRjaFRhYih0YWJJbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLl9jdXJyZW50VGFiICE9IHRhYkluZGV4KSB7XG4gICAgICAgICAgICBsZXQgcHJldkluZGV4ID0gdGhpcy5fY3VycmVudFRhYjtcbiAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRUYWIgPSB0YWJJbmRleDtcbiAgICAgICAgICAgIHRoaXMuX3ZpZXdQcm9wcy5zZWxlY3RlZFRhYiA9IHRoaXMuX2N1cnJlbnRUYWI7XG5cbiAgICAgICAgICAgIHRoaXMuX3ZpZXcuc2V0UHJvcHModGhpcy5fdmlld1Byb3BzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQXV0b1BvcFZpZXcgPSBhc3luYyAodmlld1R5cGU6IEF1dG9Qb3BWaWV3VHlwZSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKHZpZXdUeXBlKSB7XG4gICAgICAgICAgICBjYXNlIEF1dG9Qb3BWaWV3VHlwZS5Ub0JlQ29udGludWVkOlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgc2hvd1RvQmVDb250aW51ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgQXV0b1BvcFZpZXdUeXBlLk5vdGljZTpcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIFVJTWFuYWdlci5wdXNoUHJlc2VudGVyKE5ld05vdGljZVZpZXdQcmVzZW50ZXIsIFNvdXJjZVZpZXcuTWVzc2FnZVZpZXcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgQXV0b1BvcFZpZXdUeXBlLlBsb3RTdG9wOlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgVUlNYW5hZ2VyLnB1c2hQcmVzZW50ZXIoUGxvdFN0b3BWaWV3UHJlc2VudGVyLCB1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgb25TaG93UGxvdEJsb2NrZWQgPSAoKSA9PiB7XG4gICAgICAgIEdhbWVNb2RlbE1hbmFnZXIucmVnaXN0ZXJBdXRvUG9wVmlldyhBdXRvUG9wVmlld1R5cGUuUGxvdFN0b3ApO1xuICAgIH1cblxuICAgIG9uTWFpblBsb3RDaGFuZ2VkID0gYXN5bmMgKHBUeXBlOiBQbG90U2NlbmVUeXBlLCBwSWQ6IG51bWJlcikgPT4ge1xuICAgICAgICBpZiAoIUdhbWVNb2RlbE1hbmFnZXIuaXNNYWluUGxvdFNjZW5lVHlwZSgpIHx8IENvbmZpZ01hbmFnZXIuZ2V0Q29uZmlnKGRhdGVTY2VuZUNvbmZpZywgcElkKS5EYXRlVHlwZSA9PSBEYXRlVHlwZS5EYXRlX1NwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgVUlNYW5hZ2VyLnBvcFRvUHJlc2VudGVyKHRoaXMpO1xuICAgICAgICBsZXQgY29tcCA9IGNjLmRpcmVjdG9yLmdldFNjZW5lKCkuZ2V0Q2hpbGRCeU5hbWUoXCJDYW52YXNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJWZXJiUm9vdFwiKS5nZXRDaGlsZEJ5TmFtZShcIlZlcmJWaWV3XCIpLmdldENvbXBvbmVudChWZXJiVmlldyk7XG4gICAgICAgIGlmICh0aGlzLl9oYXNJdGVtICYmIC0xICE9PSB0aGlzLl9pdGVtSWQpIHtcbiAgICAgICAgICAgIC8v5Yqg6L295Zu+5ZKM57uE57uH54mp5ZOB5o6J6JC95pWw5o2uXG4gICAgICAgICAgICBsZXQgc2hvd0l0ZW1DZmc6IERlZXBSZWFkb25seU9iamVjdDxJSXRlbVRibD4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICBsZXQgaXRlbVNwcml0ZUZyYW1lOiBjYy5TcHJpdGVGcmFtZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHNob3dJdGVtQ2ZnID0gdGhpcy5nZXRTaG93SXRlbUNmZyh0aGlzLl9pdGVtSWQpO1xuICAgICAgICAgICAgaWYgKHNob3dJdGVtQ2ZnKSB7XG4gICAgICAgICAgICAgICAgbGV0IHBhdGg6IHN0cmluZyA9IEdhbWVDb25zdERhdGEuR0FNRV9DT05TVF9JVEVNX0JJR19TUFJfRElSICsgc2hvd0l0ZW1DZmcuaWNvbjtcbiAgICAgICAgICAgICAgICBpdGVtU3ByaXRlRnJhbWUgPSBhd2FpdCBSZXNVdGlscy5sb2FkUmVzKHBhdGgsIGNjLlNwcml0ZUZyYW1lKTtcbiAgICAgICAgICAgICAgICBjb21wLnNldEl0ZW1Ecm9wRGF0YShpdGVtU3ByaXRlRnJhbWUsIHNob3dJdGVtQ2ZnKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9pdGVtSWQgPSAtMTtcbiAgICAgICAgICAgICAgICB0aGlzLl9oYXNJdGVtID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgc3dpdGNoIChwVHlwZSkge1xuICAgICAgICAgICAgY2FzZSBQbG90U2NlbmVUeXBlLk1lc3NhZ2U6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uVGFiQ2xpY2soTWFpblRhYnMubWVzc2FnZVRhYiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3ViUHJlc2VudGVyc1t0aGlzLl9jdXJyZW50VGFiXS5vblNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXAudG9DaGF0KHsgdGl0bGU6IFwiXCIsIGRlc2M6IFwi5p2l55S15LqGISFcIiB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdhbWVNb2RlbE1hbmFnZXIuRm9yY2VDbGlja0RhdGFSZWFkeS5lbWl0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgR2FtZU1vZGVsTWFuYWdlci5Gb3JjZUNsaWNrTXNnSXRlbS5lbWl0KHBJZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LCA1MDApO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFBsb3RTY2VuZVR5cGUuRGF0aW5nRXZlbnQ6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBsZXQgY2ZncyA9IENvbmZpZ01hbmFnZXIuZ2V0QWxsQ29uZmlnKGRhdGVTY2VuZUNvbmZpZyk7XG4gICAgICAgICAgICAgICAgICAgIGxldCBpZHM6IHN0cmluZ1tdID0gW107XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgaWQgaW4gY2Zncykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNmZ3NbaWRdLkRhdGVUeXBlID09IERhdGVUeXBlLkRhdGVfTm9ybWFsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRzLnB1c2goaWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGxldCBwbG90SWRzOiBudW1iZXJbXSA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBsZXQgbW9kZWxzID0gR2FtZU1vZGVsTWFuYWdlci5nZXRNYWluRGF0aW5nRXZlbnRTY2VuZXNNb2RlbCgpO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1vZGVscy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGxvdElkcy5wdXNoKG1vZGVsc1tpXS5pZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbGV0IGluZGV4ID0gcGxvdElkcy5pbmRleE9mKHBJZCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCB0aXRsZSA9IFwi56ysXCIgKyAocGxvdElkcy5sZW5ndGgpICsgXCLnq6DvvJpcIjtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNmZyA9IENvbmZpZ01hbmFnZXIuZ2V0Q29uZmlnKGRhdGVTY2VuZUNvbmZpZywgcElkKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGRlc2MgPSBjZmcgJiYgY2ZnLm5hbWUgPyBHYW1lTW9kZWxNYW5hZ2VyLmdldENvbmZpZ0xhbmd1YWdlVHh0KGNmZy5uYW1lKSA6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGNvbXAudG9EYXRpbmcoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgQXVkaW9NYW5hZ2VyLnBsYXlFZmZlY3QoJ3ZlcmInKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25UYWJDbGljayhNYWluVGFicy5kYXRpbmdFdmVudFRhYiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdhbWVNb2RlbE1hbmFnZXIuRm9yY2VDbGlja0RhdGFSZWFkeS5lbWl0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgR2FtZU1vZGVsTWFuYWdlci5Gb3JjZUNsaWNrRGF0aW5nSXRlbS5lbWl0KHBJZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52aWV3LmhpZGVDbGlja0FuaUJ5SW5kZXgoTWFpblRhYnMuZGF0aW5nRXZlbnRUYWIpO1xuICAgICAgICAgICAgICAgICAgICB9LCB7IHRpdGxlOiB0aXRsZSwgZGVzYzogZGVzYyB9KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFNob3dJdGVtQ2ZnKGl0ZW1JZDogbnVtYmVyKTogRGVlcFJlYWRvbmx5T2JqZWN0PElJdGVtVGJsPiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGxldCBjZmc6IERlZXBSZWFkb25seU9iamVjdDxJSXRlbVRibD4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgICAgIGlmIChpdGVtSWQpIHtcbiAgICAgICAgICAgIGNmZyA9IENvbmZpZ01hbmFnZXIuZ2V0Q29uZmlnKGl0ZW1UYmwsIGl0ZW1JZCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNmZztcbiAgICB9XG5cbiAgICBvblVubG9ja0l0ZW0gPSAoaXRlbUlkOiBudW1iZXIpID0+IHtcbiAgICAgICAgbGV0IHVubG9ja0l0ZW1zID0gVW5sb2NrSXRlbU1vZGVsTWFuYWdlci51bmxvY2tJdGVtcztcbiAgICAgICAgbGV0IGlzTmV3ID0gdW5sb2NrSXRlbXMuaW5kZXhPZihpdGVtSWQpID09IC0xO1xuICAgICAgICBpZiAoaXNOZXcpIHtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1JZCA9IGl0ZW1JZDtcbiAgICAgICAgICAgIHRoaXMuX2hhc0l0ZW0gPSB0cnVlO1xuICAgICAgICAgICAgLy/lhpnlrZjmoaMr57uE57uH5pWw5o2u5bm25rS+5Y+RXG4gICAgICAgICAgICBVbmxvY2tJdGVtTW9kZWxNYW5hZ2VyLnNhdmVJdGVtSWRUb0dhbWVSZWNvcmQoaXRlbUlkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUmVmcmVzaEFsbFN0YXR1cyA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgdGhpcy5jaGVja1JlZERvdChQbG90TWFuYWdlci5nZXRDdXJyZW50UGxvdHMoKSk7XG5cbiAgICAgICAgR2FtZUNvbmZpZy5zaG93VG9CZUNvbnRpbnVlID0gZmFsc2U7XG4gICAgICAgIGxldCBuZWVkRW50ZXJTcGVjaWFsRGF0aW5nU2NlbmUgPSB0aGlzLmNoZWNrSXNOZWVkVG9FbnRlclNwZWNpYWxEYXRpbmdTY2VuZSgpO1xuICAgICAgICAvLyBjaGVjayB0YWIgZ3VpZGVcbiAgICAgICAgLy8gdGhpcy5jaGVja1RhYkd1aWRlKCk7XG4gICAgICAgIGlmIChuZWVkRW50ZXJTcGVjaWFsRGF0aW5nU2NlbmUpIHtcbiAgICAgICAgICAgIEdhbWVDb25maWcuaXNWZXJiID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZW50ZXJTcGVjaWFsRXZlbnRTY2VuZSgpO1xuICAgICAgICAgICAgdGhpcy5fY3VycmVudFRhYiA9IE1haW5UYWJzLmRhdGluZ0V2ZW50VGFiO1xuICAgICAgICAgICAgdGhpcy5fdmlld1Byb3BzLnNlbGVjdGVkVGFiID0gTWFpblRhYnMuZGF0aW5nRXZlbnRUYWI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBHYW1lTW9kZWxNYW5hZ2VyLmNoZWNrQXV0b1BvcFZpZXcoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl90YWJDbGlja0FibGUgPSB0cnVlXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5Y2n5a6k6L+U5Zue54K55Ye7VUnkuovku7ZcbiAgICAgKiBAcGFyYW0gaW5kZXgg6L+U5Zue5YW35L2TdGFiSW5kZXhcbiAgICAgKi9cbiAgICBvbkp1bXBUb1ZpZXdJbkdhbWUgPSAoaW5kZXg6IFBhZ2VJbmRleCkgPT4ge1xuICAgICAgICBsZXQgdGFiID0gTWFpblRhYnMubWVzc2FnZVRhYjtcbiAgICAgICAgc3dpdGNoIChpbmRleCkge1xuICAgICAgICAgICAgY2FzZSBQYWdlSW5kZXguTWVzc2FnZVZpZXc6XG4gICAgICAgICAgICAgICAgdGFiID0gTWFpblRhYnMubWVzc2FnZVRhYlxuICAgICAgICAgICAgICAgIHRoaXMuX3ZpZXcub25UYWJCdXR0b25DbGljayhudWxsLCBgJHt0YWJ9YCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFBhZ2VJbmRleC5EYXRlRXZlbnRWaWV3OlxuICAgICAgICAgICAgICAgIHRhYiA9IE1haW5UYWJzLmRhdGluZ0V2ZW50VGFiXG4gICAgICAgICAgICAgICAgdGhpcy5fdmlldy5vblRhYkJ1dHRvbkNsaWNrKG51bGwsIGAke3RhYn1gKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgUGFnZUluZGV4LkV4dHJhUGxvdFZpZXc6XG4gICAgICAgICAgICAgICAgdGFiID0gTWFpblRhYnMuZGF0aW5nRXZlbnRUYWJcbiAgICAgICAgICAgICAgICB0aGlzLl92aWV3Lm9uVGFiQnV0dG9uQ2xpY2sobnVsbCwgYCR7dGFifWApO1xuICAgICAgICAgICAgICAgIFVJTWFuYWdlci5wdXNoUHJlc2VudGVyKEV4dHJhUGxvdFZpZXdQcmVzZW50ZXIsIHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJUaGUgcGFnZUluZGV4IGlzIGludmFsaWQuXCIpO1xuICAgICAgICAgICAgICAgIFVJTWFuYWdlci5zaG93VG9hc3QoXCLml6DmlYjnmoTpobXpnaLot7PovaxcIik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG59Il19
\ No newline at end of file
......@@ -63,7 +63,6 @@ let PhoneCallViewPresenter = /** @class */ (() => {
}
async onOpen() {
super.onOpen(undefined);
this._disposable.add(GameModelManager_1.GameModelManager.ApplicaitonGameChanged.on(this.onGameChangedClickCallback));
let plots = await GameModelManager_1.GameModelManager.rollbackPhoneCallIfNeeded();
this.analysisPlots(plots);
}
......@@ -124,4 +123,4 @@ cc._RF.pop();
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvZ2FtZS91aS9wcmVzZW50ZXIvUGhvbmVDYWxsVmlld1ByZXNlbnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrREFBcUQ7QUFFckQsMENBQXFGO0FBQ3JGLDJFQUFvRTtBQUNwRSwyRUFBd0U7QUFDeEUsK0NBQTRDO0FBQzVDLHVDQUE0QztBQUM1QyxtRUFBZ0U7QUFDaEUsc0VBQXlEO0FBQ3pELDhEQUFzSDtBQUV0SCxtRkFBNEU7QUFHNUU7SUFBQSxJQUFhLHNCQUFzQixHQUFuQyxNQUFhLHNCQUF1QixTQUFRLHlCQUFtQztRQUEvRTs7WUFFWSxXQUFNLEdBQXlCLEVBQUUsQ0FBQztZQUcxQyxpQkFBWSxHQUFHLENBQUMsT0FBd0QsRUFBRSxFQUFFO2dCQUN4RSxJQUFJLEtBQUssR0FDVDtvQkFDSSxRQUFRLEVBQUUsT0FBTztvQkFDakIsY0FBYyxFQUFFLEVBQUU7b0JBQ2xCLGNBQWMsRUFBRSxLQUFLO29CQUNyQixxQkFBcUIsRUFBRSxJQUFJLENBQUMscUJBQXFCO2lCQUVwRCxDQUFDO2dCQUNGLHFCQUFTLENBQUMsYUFBYSxDQUFDLHVDQUE2QixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2xFLENBQUMsQ0FBQTtZQUdELDBCQUFxQixHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7Z0JBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVCLENBQUMsQ0FBQTtZQUVELDRCQUF1QixHQUFHLEdBQVksRUFBRTtnQkFDcEMsSUFBSSxNQUFNLEdBQUcscUJBQVMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDekMsSUFBSSxNQUFNLFlBQVksdUNBQTZCLEVBQUU7b0JBQ2pELElBQUksaUJBQWlCLEdBQUcsTUFBdUMsQ0FBQztvQkFDaEUsT0FBTyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7aUJBQzNDO2dCQUNE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QUksS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDN0QsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUU7NEJBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQzt5QkFDeEM7d0JBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7cUJBQ2xEO2dCQUNMLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDUDtRQUNMLENBQUM7S0FFSixDQUFBO0lBOUVVLDJCQUFJLEdBQUcsd0JBQXdCLENBQUM7SUFEOUIsc0JBQXNCO1FBRGxDLHFDQUFZLENBQUMsaUNBQWlCLENBQUM7T0FDbkIsc0JBQXNCLENBK0VsQztJQUFELDZCQUFDO0tBQUE7QUEvRVksd0RBQXNCIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlnTWFuYWdlciB9IGZyb20gXCJzaW1iYS1jb25maWctbWFuYWdlclwiO1xuaW1wb3J0IHsgRGVlcFJlYWRvbmx5IH0gZnJvbSBcInNpbWJhLXV0aWxzXCI7XG5pbXBvcnQgeyBQbG90TWFuYWdlciwgUmVhZG9ubHlQbG90cywgU2VudGVuY2VTZWxlY3RDb250ZW50IH0gZnJvbSBcIi4uLy4uLy4uL2F2Zy9BVkdcIjtcbmltcG9ydCB7IFByZXNlbnRlciB9IGZyb20gXCIuLi8uLi8uLi9jb21tb24vY2xhc3NiYXNlL1ByZXNlbnRlckJhc2VcIjtcbmltcG9ydCB7IFVJTWFuYWdlciB9IGZyb20gXCIuLi8uLi8uLi9jb21tb24vZ2FtZXBsYXkvbWFuYWdlcnMvVUlNYW5hZ2VyXCI7XG5pbXBvcnQgeyByb2xlIH0gZnJvbSBcIi4uLy4uLy4uL2NvbmZpZy9Sb2xlXCI7XG5pbXBvcnQgeyBQbG90U2NlbmVUeXBlIH0gZnJvbSBcIi4uLy4uL0VudW1zXCI7XG5pbXBvcnQgeyBHYW1lTW9kZWxNYW5hZ2VyIH0gZnJvbSBcIi4uLy4uL21vZGVsL0dhbWVNb2RlbE1hbmFnZXJcIjtcbmltcG9ydCB7IFJlZ1ByZXNlbnRlciB9IGZyb20gXCIuLi9QcmVzZW50ZXJDQ1ZpZXdGYWN0b3J5XCI7XG5pbXBvcnQgeyBQaG9uZUNhbGxJdGVtUHJvcHMsIFBob25lQ2FsbFZpZXcsIFBob25lQ2FsbFZpZXdQcm9wcywgUGhvbmVDYWxsVmlld1R5cGUgfSBmcm9tIFwiLi4vdmlldy90eXBlL1Bob25lQ2FsbFZpZXdcIjtcbmltcG9ydCB7IFNlbnRlbmNlU2VsZWN0b3JWaWV3UHJvcHMgfSBmcm9tIFwiLi4vdmlldy90eXBlL1NlbnRlbmNlU2VsZWN0b3JWaWV3XCI7XG5pbXBvcnQgU2VudGVuY2VTZWxlY3RvclZpZXdQcmVzZW50ZXIgZnJvbSBcIi4vU2VudGVuY2VTZWxlY3RvclZpZXdQcmVzZW50ZXJcIjtcblxuQFJlZ1ByZXNlbnRlcihQaG9uZUNhbGxWaWV3VHlwZSlcbmV4cG9ydCBjbGFzcyBQaG9uZUNhbGxWaWV3UHJlc2VudGVyIGV4dGVuZHMgUHJlc2VudGVyPHVuZGVmaW5lZCwgUGhvbmVDYWxsVmlldz4ge1xuICAgIHN0YXRpYyB1dWlkID0gXCJQaG9uZUNhbGxWaWV3UHJlc2VudGVyXCI7XG4gICAgcHJpdmF0ZSBfaXRlbXM6IFBob25lQ2FsbEl0ZW1Qcm9wc1tdID0gW107XG4gICAgcHJpdmF0ZSBfdmlld1Byb3BzOiBQaG9uZUNhbGxWaWV3UHJvcHM7XG5cbiAgICBvblNldENvbnRlbnQgPSAoY29udGVudDogRGVlcFJlYWRvbmx5PFNlbnRlbmNlU2VsZWN0Q29udGVudD4gfCB1bmRlZmluZWQpID0+IHtcbiAgICAgICAgbGV0IHByb3BzOiBTZW50ZW5jZVNlbGVjdG9yVmlld1Byb3BzID1cbiAgICAgICAge1xuICAgICAgICAgICAgc2VudGVuY2U6IGNvbnRlbnQsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kcGF0aDogXCJcIixcbiAgICAgICAgICAgIGNsaWNrY2F1c2VoaWRlOiBmYWxzZSxcbiAgICAgICAgICAgIG9uU2VsZWN0SW5kZXhDYWxsYmFjazogdGhpcy5vblNlbGVjdEluZGV4Q2FsbGJhY2tcblxuICAgICAgICB9O1xuICAgICAgICBVSU1hbmFnZXIucHVzaFByZXNlbnRlcihTZW50ZW5jZVNlbGVjdG9yVmlld1ByZXNlbnRlciwgcHJvcHMpO1xuICAgIH1cblxuXG4gICAgb25TZWxlY3RJbmRleENhbGxiYWNrID0gKGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgdGhpcy52aWV3LnNlbGVjdChpbmRleCk7XG4gICAgfVxuXG4gICAgaXNTZW50ZW5jZVNlbGVjdFZpc2libGUgPSAoKTogYm9vbGVhbiA9PiB7XG4gICAgICAgIGxldCBwcmVzZXQgPSBVSU1hbmFnZXIuZ2V0VG9wUHJlc2VudGVyKCk7XG4gICAgICAgIGlmIChwcmVzZXQgaW5zdGFuY2VvZiBTZW50ZW5jZVNlbGVjdG9yVmlld1ByZXNlbnRlcikge1xuICAgICAgICAgICAgbGV0IHNlbGVjdG9yUHJlc2VudGVyID0gcHJlc2V0IGFzIFNlbnRlbmNlU2VsZWN0b3JWaWV3UHJlc2VudGVyO1xuICAgICAgICAgICAgcmV0dXJuICFzZWxlY3RvclByZXNlbnRlci52aWV3LmlzSGlkZGVuO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBvbkdhbWVDaGFuZ2VkQ2xpY2tDYWxsYmFjayA9IChyZXQ6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgdGhpcy52aWV3LmFwcGxpY2F0aW9uQ2hhbmdlKHJldCk7XG4gICAgfVxuXG4gICAgYXN5bmMgb25PcGVuKCkge1xuICAgICAgICBzdXBlci5vbk9wZW4odW5kZWZpbmVkKTtcbiAgICAgICAgdGhpcy5fZGlzcG9zYWJsZS5hZGQoR2FtZU1vZGVsTWFuYWdlci5BcHBsaWNhaXRvbkdhbWVDaGFuZ2VkLm9uKHRoaXMub25HYW1lQ2hhbmdlZENsaWNrQ2FsbGJhY2spKTtcbiAgICAgICAgbGV0IHBsb3RzID0gYXdhaXQgR2FtZU1vZGVsTWFuYWdlci5yb2xsYmFja1Bob25lQ2FsbElmTmVlZGVkKCk7XG4gICAgICAgIHRoaXMuYW5hbHlzaXNQbG90cyhwbG90cyk7XG4gICAgfVxuXG4gICAgYW5hbHlzaXNQbG90cyhwbG90czogUmVhZG9ubHlQbG90cykge1xuICAgICAgICB0aGlzLl9pdGVtcyA9IFtdO1xuICAgICAgICBsZXQgcGxvdCA9IHBsb3RzWzBdO1xuICAgICAgICBpZiAocGxvdC5wbG90U2NlbmVUeXBlICE9PSBQbG90U2NlbmVUeXBlLlBob25lQ2FsbCkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIlBob25lIGNhbGwgcGxvdCBkYXRhIGVycm9yLlwiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxldCByb2xlRGF0YSA9IENvbmZpZ01hbmFnZXIuZ2V0Q29uZmlnKHJvbGUsIHBsb3QucGxvdFNjZW5lVHlwZUlkKTtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1zID0gW3sga2V5OiBwbG90LmlkICsgXCJcIiwgaXNTZWxmOiBwbG90LnNlbnRlbmNlc1swXS5yb2xlSWQgPT09IDIsIHNlbnRlbmNlOiBwbG90LnNlbnRlbmNlc1swXSB9XTtcbiAgICAgICAgICAgIHRoaXMuX3ZpZXdQcm9wcyA9XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogcm9sZURhdGEubmFtZSwgLy8gVE9ETyBpMThuXG4gICAgICAgICAgICAgICAgaWNvbjogR2FtZU1vZGVsTWFuYWdlci5nZXRSb2xlRGF0YShwbG90LnBsb3RTY2VuZVR5cGVJZCkhLmdldEhlYWRJY29uKCksXG4gICAgICAgICAgICAgICAgaXRlbXM6IHRoaXMuX2l0ZW1zLFxuICAgICAgICAgICAgICAgIG9uQ29tcGxldGVQbG90OiAoaW5kZXg/OiBudW1iZXIpID0+IFBsb3RNYW5hZ2VyLmNvbXBsZXRlUGxvdChwbG90LCBpbmRleCksXG4gICAgICAgICAgICAgICAgb25TZXRDb250ZW50OiB0aGlzLm9uU2V0Q29udGVudCxcbiAgICAgICAgICAgICAgICBpc1NlbnRlbmNlU2VsZWN0VmlzaWJsZTogdGhpcy5pc1NlbnRlbmNlU2VsZWN0VmlzaWJsZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMuX3ZpZXcuc2V0UHJvcHModGhpcy5fdmlld1Byb3BzKTtcblxuICAgICAgICAgICAgdGhpcy5fZGlzcG9zYWJsZS5jbGVhcigpO1xuICAgICAgICAgICAgdGhpcy5fZGlzcG9zYWJsZS5hZGQoUGxvdE1hbmFnZXIuUGxvdFN0YXJ0RXZlbnQub24oKHBsb3RzKSA9PiB7XG4gICAgICAgICAgICAgICAgcGxvdCA9IHBsb3RzWzBdO1xuICAgICAgICAgICAgICAgIGlmIChwbG90LnBsb3RTY2VuZVR5cGUgIT09IFBsb3RTY2VuZVR5cGUuUGhvbmVDYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIEdhbWVNb2RlbE1hbmFnZXIuZG90TWFpbkxpbmVQbG90RW5kKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3ZpZXcuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbSA9IHsga2V5OiBwbG90LmlkICsgXCJcIiwgaXNTZWxmOiBwbG90LnNlbnRlbmNlc1swXS5yb2xlSWQgPT09IDIsIHNlbnRlbmNlOiBwbG90LnNlbnRlbmNlc1swXSB9O1xuICAgICAgICAgICAgICAgICAgICBsZXQgaW5kZXggPSB0aGlzLl9pdGVtcy5maW5kSW5kZXgoKHYpID0+IHYua2V5ID09PSBpdGVtLmtleSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2l0ZW1zID0gWy4uLnRoaXMuX2l0ZW1zLCBpdGVtXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl92aWV3LnVwZGF0ZVByb3BzKHsgaXRlbXM6IHRoaXMuX2l0ZW1zIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgIH1cblxufSJdfQ==
\ No newline at end of file
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvZ2FtZS91aS9wcmVzZW50ZXIvUGhvbmVDYWxsVmlld1ByZXNlbnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrREFBcUQ7QUFFckQsMENBQXFGO0FBQ3JGLDJFQUFvRTtBQUNwRSwyRUFBd0U7QUFDeEUsK0NBQTRDO0FBQzVDLHVDQUE0QztBQUM1QyxtRUFBZ0U7QUFDaEUsc0VBQXlEO0FBQ3pELDhEQUFzSDtBQUV0SCxtRkFBNEU7QUFHNUU7SUFBQSxJQUFhLHNCQUFzQixHQUFuQyxNQUFhLHNCQUF1QixTQUFRLHlCQUFtQztRQUEvRTs7WUFFWSxXQUFNLEdBQXlCLEVBQUUsQ0FBQztZQUcxQyxpQkFBWSxHQUFHLENBQUMsT0FBd0QsRUFBRSxFQUFFO2dCQUN4RSxJQUFJLEtBQUssR0FDVDtvQkFDSSxRQUFRLEVBQUUsT0FBTztvQkFDakIsY0FBYyxFQUFFLEVBQUU7b0JBQ2xCLGNBQWMsRUFBRSxLQUFLO29CQUNyQixxQkFBcUIsRUFBRSxJQUFJLENBQUMscUJBQXFCO2lCQUVwRCxDQUFDO2dCQUNGLHFCQUFTLENBQUMsYUFBYSxDQUFDLHVDQUE2QixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2xFLENBQUMsQ0FBQTtZQUdELDBCQUFxQixHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7Z0JBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVCLENBQUMsQ0FBQTtZQUVELDRCQUF1QixHQUFHLEdBQVksRUFBRTtnQkFDcEMsSUFBSSxNQUFNLEdBQUcscUJBQVMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDekMsSUFBSSxNQUFNLFlBQVksdUNBQTZCLEVBQUU7b0JBQ2pELElBQUksaUJBQWlCLEdBQUcsTUFBdUMsQ0FBQztvQkFDaEUsT0FBTyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7aUJBQzNDO2dCQUNE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LENBQUMsQ0FBQzt3QkFDN0QsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUU7NEJBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQzt5QkFDeEM7d0JBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7cUJBQ2xEO2dCQUNMLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDUDtRQUNMLENBQUM7S0FFSixDQUFBO0lBN0VVLDJCQUFJLEdBQUcsd0JBQXdCLENBQUM7SUFEOUIsc0JBQXNCO1FBRGxDLHFDQUFZLENBQUMsaUNBQWlCLENBQUM7T0FDbkIsc0JBQXNCLENBOEVsQztJQUFELDZCQUFDO0tBQUE7QUE5RVksd0RBQXNCIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlnTWFuYWdlciB9IGZyb20gXCJzaW1iYS1jb25maWctbWFuYWdlclwiO1xuaW1wb3J0IHsgRGVlcFJlYWRvbmx5IH0gZnJvbSBcInNpbWJhLXV0aWxzXCI7XG5pbXBvcnQgeyBQbG90TWFuYWdlciwgUmVhZG9ubHlQbG90cywgU2VudGVuY2VTZWxlY3RDb250ZW50IH0gZnJvbSBcIi4uLy4uLy4uL2F2Zy9BVkdcIjtcbmltcG9ydCB7IFByZXNlbnRlciB9IGZyb20gXCIuLi8uLi8uLi9jb21tb24vY2xhc3NiYXNlL1ByZXNlbnRlckJhc2VcIjtcbmltcG9ydCB7IFVJTWFuYWdlciB9IGZyb20gXCIuLi8uLi8uLi9jb21tb24vZ2FtZXBsYXkvbWFuYWdlcnMvVUlNYW5hZ2VyXCI7XG5pbXBvcnQgeyByb2xlIH0gZnJvbSBcIi4uLy4uLy4uL2NvbmZpZy9Sb2xlXCI7XG5pbXBvcnQgeyBQbG90U2NlbmVUeXBlIH0gZnJvbSBcIi4uLy4uL0VudW1zXCI7XG5pbXBvcnQgeyBHYW1lTW9kZWxNYW5hZ2VyIH0gZnJvbSBcIi4uLy4uL21vZGVsL0dhbWVNb2RlbE1hbmFnZXJcIjtcbmltcG9ydCB7IFJlZ1ByZXNlbnRlciB9IGZyb20gXCIuLi9QcmVzZW50ZXJDQ1ZpZXdGYWN0b3J5XCI7XG5pbXBvcnQgeyBQaG9uZUNhbGxJdGVtUHJvcHMsIFBob25lQ2FsbFZpZXcsIFBob25lQ2FsbFZpZXdQcm9wcywgUGhvbmVDYWxsVmlld1R5cGUgfSBmcm9tIFwiLi4vdmlldy90eXBlL1Bob25lQ2FsbFZpZXdcIjtcbmltcG9ydCB7IFNlbnRlbmNlU2VsZWN0b3JWaWV3UHJvcHMgfSBmcm9tIFwiLi4vdmlldy90eXBlL1NlbnRlbmNlU2VsZWN0b3JWaWV3XCI7XG5pbXBvcnQgU2VudGVuY2VTZWxlY3RvclZpZXdQcmVzZW50ZXIgZnJvbSBcIi4vU2VudGVuY2VTZWxlY3RvclZpZXdQcmVzZW50ZXJcIjtcblxuQFJlZ1ByZXNlbnRlcihQaG9uZUNhbGxWaWV3VHlwZSlcbmV4cG9ydCBjbGFzcyBQaG9uZUNhbGxWaWV3UHJlc2VudGVyIGV4dGVuZHMgUHJlc2VudGVyPHVuZGVmaW5lZCwgUGhvbmVDYWxsVmlldz4ge1xuICAgIHN0YXRpYyB1dWlkID0gXCJQaG9uZUNhbGxWaWV3UHJlc2VudGVyXCI7XG4gICAgcHJpdmF0ZSBfaXRlbXM6IFBob25lQ2FsbEl0ZW1Qcm9wc1tdID0gW107XG4gICAgcHJpdmF0ZSBfdmlld1Byb3BzOiBQaG9uZUNhbGxWaWV3UHJvcHM7XG5cbiAgICBvblNldENvbnRlbnQgPSAoY29udGVudDogRGVlcFJlYWRvbmx5PFNlbnRlbmNlU2VsZWN0Q29udGVudD4gfCB1bmRlZmluZWQpID0+IHtcbiAgICAgICAgbGV0IHByb3BzOiBTZW50ZW5jZVNlbGVjdG9yVmlld1Byb3BzID1cbiAgICAgICAge1xuICAgICAgICAgICAgc2VudGVuY2U6IGNvbnRlbnQsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kcGF0aDogXCJcIixcbiAgICAgICAgICAgIGNsaWNrY2F1c2VoaWRlOiBmYWxzZSxcbiAgICAgICAgICAgIG9uU2VsZWN0SW5kZXhDYWxsYmFjazogdGhpcy5vblNlbGVjdEluZGV4Q2FsbGJhY2tcblxuICAgICAgICB9O1xuICAgICAgICBVSU1hbmFnZXIucHVzaFByZXNlbnRlcihTZW50ZW5jZVNlbGVjdG9yVmlld1ByZXNlbnRlciwgcHJvcHMpO1xuICAgIH1cblxuXG4gICAgb25TZWxlY3RJbmRleENhbGxiYWNrID0gKGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgdGhpcy52aWV3LnNlbGVjdChpbmRleCk7XG4gICAgfVxuXG4gICAgaXNTZW50ZW5jZVNlbGVjdFZpc2libGUgPSAoKTogYm9vbGVhbiA9PiB7XG4gICAgICAgIGxldCBwcmVzZXQgPSBVSU1hbmFnZXIuZ2V0VG9wUHJlc2VudGVyKCk7XG4gICAgICAgIGlmIChwcmVzZXQgaW5zdGFuY2VvZiBTZW50ZW5jZVNlbGVjdG9yVmlld1ByZXNlbnRlcikge1xuICAgICAgICAgICAgbGV0IHNlbGVjdG9yUHJlc2VudGVyID0gcHJlc2V0IGFzIFNlbnRlbmNlU2VsZWN0b3JWaWV3UHJlc2VudGVyO1xuICAgICAgICAgICAgcmV0dXJuICFzZWxlY3RvclByZXNlbnRlci52aWV3LmlzSGlkZGVuO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBvbkdhbWVDaGFuZ2VkQ2xpY2tDYWxsYmFjayA9IChyZXQ6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgdGhpcy52aWV3LmFwcGxpY2F0aW9uQ2hhbmdlKHJldCk7XG4gICAgfVxuXG4gICAgYXN5bmMgb25PcGVuKCkge1xuICAgICAgICBzdXBlci5vbk9wZW4odW5kZWZpbmVkKTtcbiAgICAgICAgbGV0IHBsb3RzID0gYXdhaXQgR2FtZU1vZGVsTWFuYWdlci5yb2xsYmFja1Bob25lQ2FsbElmTmVlZGVkKCk7XG4gICAgICAgIHRoaXMuYW5hbHlzaXNQbG90cyhwbG90cyk7XG4gICAgfVxuXG4gICAgYW5hbHlzaXNQbG90cyhwbG90czogUmVhZG9ubHlQbG90cykge1xuICAgICAgICB0aGlzLl9pdGVtcyA9IFtdO1xuICAgICAgICBsZXQgcGxvdCA9IHBsb3RzWzBdO1xuICAgICAgICBpZiAocGxvdC5wbG90U2NlbmVUeXBlICE9PSBQbG90U2NlbmVUeXBlLlBob25lQ2FsbCkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIlBob25lIGNhbGwgcGxvdCBkYXRhIGVycm9yLlwiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxldCByb2xlRGF0YSA9IENvbmZpZ01hbmFnZXIuZ2V0Q29uZmlnKHJvbGUsIHBsb3QucGxvdFNjZW5lVHlwZUlkKTtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1zID0gW3sga2V5OiBwbG90LmlkICsgXCJcIiwgaXNTZWxmOiBwbG90LnNlbnRlbmNlc1swXS5yb2xlSWQgPT09IDIsIHNlbnRlbmNlOiBwbG90LnNlbnRlbmNlc1swXSB9XTtcbiAgICAgICAgICAgIHRoaXMuX3ZpZXdQcm9wcyA9XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogcm9sZURhdGEubmFtZSwgLy8gVE9ETyBpMThuXG4gICAgICAgICAgICAgICAgaWNvbjogR2FtZU1vZGVsTWFuYWdlci5nZXRSb2xlRGF0YShwbG90LnBsb3RTY2VuZVR5cGVJZCkhLmdldEhlYWRJY29uKCksXG4gICAgICAgICAgICAgICAgaXRlbXM6IHRoaXMuX2l0ZW1zLFxuICAgICAgICAgICAgICAgIG9uQ29tcGxldGVQbG90OiAoaW5kZXg/OiBudW1iZXIpID0+IFBsb3RNYW5hZ2VyLmNvbXBsZXRlUGxvdChwbG90LCBpbmRleCksXG4gICAgICAgICAgICAgICAgb25TZXRDb250ZW50OiB0aGlzLm9uU2V0Q29udGVudCxcbiAgICAgICAgICAgICAgICBpc1NlbnRlbmNlU2VsZWN0VmlzaWJsZTogdGhpcy5pc1NlbnRlbmNlU2VsZWN0VmlzaWJsZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMuX3ZpZXcuc2V0UHJvcHModGhpcy5fdmlld1Byb3BzKTtcblxuICAgICAgICAgICAgdGhpcy5fZGlzcG9zYWJsZS5jbGVhcigpO1xuICAgICAgICAgICAgdGhpcy5fZGlzcG9zYWJsZS5hZGQoUGxvdE1hbmFnZXIuUGxvdFN0YXJ0RXZlbnQub24oKHBsb3RzKSA9PiB7XG4gICAgICAgICAgICAgICAgcGxvdCA9IHBsb3RzWzBdO1xuICAgICAgICAgICAgICAgIGlmIChwbG90LnBsb3RTY2VuZVR5cGUgIT09IFBsb3RTY2VuZVR5cGUuUGhvbmVDYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIEdhbWVNb2RlbE1hbmFnZXIuZG90TWFpbkxpbmVQbG90RW5kKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3ZpZXcuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbSA9IHsga2V5OiBwbG90LmlkICsgXCJcIiwgaXNTZWxmOiBwbG90LnNlbnRlbmNlc1swXS5yb2xlSWQgPT09IDIsIHNlbnRlbmNlOiBwbG90LnNlbnRlbmNlc1swXSB9O1xuICAgICAgICAgICAgICAgICAgICBsZXQgaW5kZXggPSB0aGlzLl9pdGVtcy5maW5kSW5kZXgoKHYpID0+IHYua2V5ID09PSBpdGVtLmtleSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2l0ZW1zID0gWy4uLnRoaXMuX2l0ZW1zLCBpdGVtXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl92aWV3LnVwZGF0ZVByb3BzKHsgaXRlbXM6IHRoaXMuX2l0ZW1zIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgIH1cblxufSJdfQ==
\ No newline at end of file
......@@ -174,7 +174,6 @@ let PhoneCallViewImpl = /** @class */ (() => {
this._isPlayMusic = false;
}
delete this._props;
GameModelManager_1.GameModelManager.CheckMainTabGuide.emit();
})));
}
onPropsLoad(props) {
......@@ -331,4 +330,4 @@ cc._RF.pop();
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvZ2FtZS91aS92aWV3L2ltcGwvUGhvbmVDYWxsVmlld0ltcGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsd0VBQTZFO0FBQzdFLHlEQUE0STtBQUM1SSx5RUFBdUQ7QUFDdkQsc0VBQXFIO0FBQ3JILDZDQUEwRjtBQUMxRix5REFBNkM7QUFDN0MsbUVBQXNEO0FBQ3RELG9GQUFpRjtBQUNqRixzRUFBbUU7QUFDbkUseUVBQWtFO0FBRWxFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQztBQUs1QztJQUFBLElBQWEsaUJBQWlCLEdBQTlCLE1BQWEsaUJBQWtCLFNBQVEsdUJBQThCO1FBQXJFOztZQUNJLHlCQUF5QjtZQUVqQixlQUFVLEdBQUcsZ0NBQWUsQ0FBQztZQUU3QixrQkFBYSxHQUFHLDRCQUFXLENBQUM7WUFFNUIsZ0JBQVcsR0FBRywwQkFBUyxDQUFDO1lBRXhCLGdCQUFXLEdBQUcsMEJBQVMsQ0FBQztZQUV4QixlQUFVLEdBQUcsMkJBQVUsQ0FBQztZQUV4QixlQUFVLEdBQUcsMkJBQVUsQ0FBQztZQUV4QixjQUFTLEdBQUcsNEJBQVcsQ0FBQztZQUV4QixjQUFTLEdBQUcsNEJBQVcsQ0FBQztZQUd4QixrQkFBYSxHQUFHLDBCQUFTLENBQUM7WUFFMUIsaUJBQVksR0FBRywwQkFBUyxDQUFDO1lBR3pCLGdCQUFXLEdBQUcsMkJBQVUsQ0FBQztZQUd6QixlQUFVLEdBQWUsU0FBa0MsQ0FBRTtZQUc3RCxpQkFBWSxHQUFZLEtBQUssQ0FBQztZQUU5QixjQUFTLEdBQVksS0FBSyxDQUFDO1lBa0JuQyxtQkFBYyxHQUFHLEtBQUssSUFBSSxFQUFFO2dCQUN4QixNQUFNLGlCQUFpQixHQUFHLDhCQUE4QixDQUFDO2dCQUN6RCxNQUFNLHFDQUFZLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDcEQsQ0FB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LENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQzt5REFDYTtJQUVoQztRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDO3dEQUNZO0lBRWhDO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7d0RBQ1k7SUFHaEM7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzs0REFDZ0I7SUFFbEM7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzsyREFDZTtJQUdqQztRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDOzBEQUNjO0lBR2pDO1FBREMsUUFBUSxDQUFDLG9CQUFVLENBQUM7eURBQ2dEO0lBNUI1RCxpQkFBaUI7UUFGN0IsT0FBTztRQUNQLGdDQUFPLENBQUMsaUNBQWlCLEVBQUUseUJBQXlCLENBQUM7T0FDekMsaUJBQWlCLENBb1I3QjtJQUFELHdCQUFDO0tBQUE7QUFwUlksOENBQWlCIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ0NQdXJlVmlldywgQ0NWaWV3IH0gZnJvbSBcIi4uLy4uLy4uLy4uL2NvbW1vbi9jbGFzc2Jhc2UvQ0NWaWV3QmFzZVwiO1xuaW1wb3J0IHsgUGhvbmVDYWxsVmlld1R5cGUsIFBob25lQ2FsbFZpZXdQcm9wcywgUGhvbmVDYWxsVmlldywgUGhvbmVDYWxsSXRlbVByb3BzLCBQaG9uZUNhbGxMaXN0QXV0b05leHRQbG90IH0gZnJvbSBcIi4uL3R5cGUvUGhvbmVDYWxsVmlld1wiO1xuaW1wb3J0IHsgUmVnVmlldyB9IGZyb20gXCIuLi8uLi9QcmVzZW50ZXJDQ1ZpZXdGYWN0b3J5XCI7XG5pbXBvcnQgeyBEdW1teVNjcm9sbFZpZXcsIER1bW15TGF5b3V0LCBEdW1teU5vZGUsIER1bW15TGFiZWwsIER1bW15U3ByaXRlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2NvbW1vbi9DQ0R1bW15T2JqZWN0c1wiO1xuaW1wb3J0IHsgU2VudGVuY2VUeXBlLCByaWNoTm9kZXNUb0NvY29zU3RyaW5nLCBBY3Rpb25NYW5hZ2VyIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2F2Zy9BVkdcIjtcbmltcG9ydCB7IFJlc1V0aWxzIH0gZnJvbSBcInNpbWJhLWNjLXJlc3V0aWxzXCI7XG5pbXBvcnQgeyBBdWRpb01hbmFnZXIgfSBmcm9tIFwic2ltYmEtY2MtYXVkaW8tbWFuYWdlclwiO1xuaW1wb3J0IHsgR2FtZVRleHREYXRhIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2NvbW1vbi9nYW1lcGxheS9nYW1lZGF0YS9HYW1lVGV4dERhdGFcIjtcbmltcG9ydCB7IEdhbWVNb2RlbE1hbmFnZXIgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWwvR2FtZU1vZGVsTWFuYWdlclwiO1xuaW1wb3J0IFR5cGV3cml0ZXIgZnJvbSBcIi4uLy4uLy4uLy4uL2NvbW1vbi9jb21wb25lbnRzL1R5cGV3cml0ZXJcIjtcblxuY29uc3QgeyBjY2NsYXNzLCBwcm9wZXJ0eSB9ID0gY2MuX2RlY29yYXRvcjtcblxuXG5AY2NjbGFzc1xuQFJlZ1ZpZXcoUGhvbmVDYWxsVmlld1R5cGUsIFwicHJlZmFiL3VpL1Bob25lQ2FsbFZpZXdcIilcbmV4cG9ydCBjbGFzcyBQaG9uZUNhbGxWaWV3SW1wbCBleHRlbmRzIENDUHVyZVZpZXc8UGhvbmVDYWxsVmlld1Byb3BzPiBpbXBsZW1lbnRzIFBob25lQ2FsbFZpZXcge1xuICAgIC8vI3JlZ2lvbiBlZGl0b3IgYmluZGluZ3NcbiAgICBAcHJvcGVydHkoY2MuU2Nyb2xsVmlldylcbiAgICBwcml2YXRlIHNjcm9sbFZpZXcgPSBEdW1teVNjcm9sbFZpZXc7XG4gICAgQHByb3BlcnR5KGNjLkxheW91dClcbiAgICBwcml2YXRlIGNvbnRlbnRMYXlvdXQgPSBEdW1teUxheW91dDtcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcbiAgICBwcml2YXRlIGNhbGxpbmdOb2RlID0gRHVtbXlOb2RlO1xuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxuICAgIHByaXZhdGUgbWVzc2FnZU5vZGUgPSBEdW1teU5vZGU7XG4gICAgQHByb3BlcnR5KGNjLkxhYmVsKVxuICAgIHByaXZhdGUgbmFtZUxhYmVsMSA9IER1bW15TGFiZWw7XG4gICAgQHByb3BlcnR5KGNjLkxhYmVsKVxuICAgIHByaXZhdGUgbmFtZUxhYmVsMiA9IER1bW15TGFiZWw7XG4gICAgQHByb3BlcnR5KGNjLlNwcml0ZSlcbiAgICBwcml2YXRlIGhlYWRJY29uMSA9IER1bW15U3ByaXRlO1xuICAgIEBwcm9wZXJ0eShjYy5TcHJpdGUpXG4gICAgcHJpdmF0ZSBoZWFkSWNvbjIgPSBEdW1teVNwcml0ZTtcblxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxuICAgIHByaXZhdGUgcmVqZWN0VGlwTm9kZSA9IER1bW15Tm9kZTtcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcbiAgICBwcml2YXRlIG5leHRQbG90Tm9kZSA9IER1bW15Tm9kZTtcblxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcbiAgICBwcml2YXRlIHN0YXR1c0xhYmVsID0gRHVtbXlMYWJlbDtcblxuICAgIEBwcm9wZXJ0eShUeXBld3JpdGVyKVxuICAgIHByaXZhdGUgdHlwZXdyaXRlcjogVHlwZXdyaXRlciA9IHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIFR5cGV3cml0ZXIgO1xuXG5cbiAgICBwcml2YXRlIF9pc1BsYXlNdXNpYzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBfZXhjdXRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIG9uUmVqZWN0Q2FsbCgpIHtcbiAgICAgICAgdGhpcy5ub2RlLmNoaWxkcmVuWzFdLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIHRoaXMucmVqZWN0VGlwTm9kZS5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2MuZmFkZUluKDAuMyksIGNjLmRlbGF5VGltZSgwLjMpLCBjYy5jYWxsRnVuYygoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlamVjdFRpcE5vZGUub3BhY2l0eSA9IDA7XG4gICAgICAgICAgICB0aGlzLm5vZGUuY2hpbGRyZW5bMF0ub3BhY2l0eSA9IDA7XG4gICAgICAgICAgICB0aGlzLnN0b3BQaG9uZU11c2ljKCk7XG4gICAgICAgICAgICB0aGlzLl9pc1BsYXlNdXNpYyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5zY2hlZHVsZU9uY2UoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubm9kZS5jaGlsZHJlblswXS5vcGFjaXR5ID0gMjU1O1xuICAgICAgICAgICAgICAgIHRoaXMubm9kZS5jaGlsZHJlblsxXS5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnBsYXlQaG9uZU11c2ljKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5faXNQbGF5TXVzaWMgPSB0cnVlO1xuICAgICAgICAgICAgfSwgMC44KTtcbiAgICAgICAgfSkpKTtcbiAgICB9XG5cbiAgICBwbGF5UGhvbmVNdXNpYyA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgUGhvbmVCZ21DYWxsU291bmQgPSBcIi9hdWRpby9iZ20vaVBob25lWFNDYWxsU291bmRcIjtcbiAgICAgICAgYXdhaXQgQXVkaW9NYW5hZ2VyLnBsYXlNdXNpYyhQaG9uZUJnbUNhbGxTb3VuZCk7XG4gICAgfVxuXG4gICAgc3RvcFBob25lTXVzaWMgPSAoKSA9PiB7XG4gICAgICAgIEF1ZGlvTWFuYWdlci5zdG9wTXVzaWMoKTtcbiAgICB9XG5cbiAgICBvbkFjY2VwdENhbGwoKSB7XG4gICAgICAgIHRoaXMuY2FsbGluZ05vZGUuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIHRoaXMubWVzc2FnZU5vZGUuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zdG9wUGhvbmVNdXNpYygpO1xuICAgICAgICB0aGlzLl9pc1BsYXlNdXNpYyA9IGZhbHNlO1xuICAgICAgICBHYW1lTW9kZWxNYW5hZ2VyLmRvdE1haW5MaW5lUGxvdFN0YXJ0KCk7XG4gICAgICAgIGlmIChQaG9uZUNhbGxMaXN0QXV0b05leHRQbG90KSB7XG4gICAgICAgICAgICB0aGlzLnNjaGVkdWxlT25jZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcHJvcHMub25Db21wbGV0ZVBsb3QoKTtcbiAgICAgICAgICAgIH0sIDAuNik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk5leHRQbG90QnRuQ2xpY2soKSB7XG4gICAgICAgIGlmKHRoaXMudHlwZXdyaXRlci5nZXRTaG93aW5nU3RyaW5nKCkgPT0gXCJcIil7XG4gICAgICAgICAgICBpZiAoIVBob25lQ2FsbExpc3RBdXRvTmV4dFBsb3QpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX2V4Y3V0aW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2V4Y3V0aW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcHJvcHMub25Db21wbGV0ZVBsb3QodGhpcy5fc2VsZWN0SW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RJbmRleCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zY2hlZHVsZU9uY2UoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fZXhjdXRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfSwgMC4zKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1lbHNlIHtcbiAgICAgICAgICAgIHRoaXMudHlwZXdyaXRlci5zdG9wVHlwZXJTaG93U3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgcHJpdmF0ZSBfbmV3Q2FsbCA9IHRydWU7XG4gICAgcHJpdmF0ZSBfc2VsZWN0SW5kZXg/OiBudW1iZXI7XG5cbiAgICBhcHBsaWNhdGlvbkNoYW5nZShmb3JjZTogYm9vbGVhbikge1xuXG4gICAgfVxuXG4gICAgb25Mb2FkKCkge1xuICAgICAgICB0aGlzLmJpbmRQcm9wKFwibmFtZVwiLCB0aGlzLm5hbWVMYWJlbDEsIFwic3RyaW5nXCIpO1xuICAgICAgICB0aGlzLmJpbmRQcm9wKFwibmFtZVwiLCB0aGlzLm5hbWVMYWJlbDIsIFwic3RyaW5nXCIpO1xuICAgICAgICB0aGlzLmJpbmRQcm9wKFwiaWNvblwiLCBhc3luYyAodikgPT4ge1xuICAgICAgICAgICAgaWYgKHYpIHtcbiAgICAgICAgICAgICAgICBsZXQgc2YgPSBhd2FpdCBSZXNVdGlscy5sb2FkUmVzKHYsIGNjLlNwcml0ZUZyYW1lLCAyKTtcbiAgICAgICAgICAgICAgICAvLyBpZiAodiA9PT0gdGhpcy5fcHJvcHMuaWNvbikgeyAvLyDnkIborrrkuIrov5nph4zmsqHlv4XopoFcbiAgICAgICAgICAgICAgICB0aGlzLmhlYWRJY29uMS5zcHJpdGVGcmFtZSA9IHNmO1xuICAgICAgICAgICAgICAgIHRoaXMuaGVhZEljb24yLnNwcml0ZUZyYW1lID0gc2Y7XG4gICAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuXG5cbiAgICAgICAgLy8gdGhpcy5iaW5kUHJvcChcInNlbGVjdFwiLCAodmFsdWUpID0+IHtcbiAgICAgICAgLy8gICAgIGlmICh2YWx1ZSA+PSAwKSB7XG4gICAgICAgIC8vICAgICAgICAgbGV0IGl0ZW0gPSB0aGlzLl9wcm9wcy5pdGVtc1t0aGlzLl9wcm9wcy5pdGVtcy5sZW5ndGggLSAxXTtcbiAgICAgICAgLy8gICAgICAgICBpdGVtLnNlbGVjdCA9IHZhbHVlO1xuICAgICAgICAvLyAgICAgICAgIHRoaXMucHJvY2Vzc0l0ZW0oaXRlbSk7XG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vIH0pO1xuXG4gICAgfVxuXG4gICAgc2VsZWN0KHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHZhbHVlID49IDApIHtcbiAgICAgICAgICAgIGxldCBpdGVtID0gdGhpcy5fcHJvcHMuaXRlbXNbdGhpcy5fcHJvcHMuaXRlbXMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICBpdGVtLnNlbGVjdCA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5wcm9jZXNzSXRlbShpdGVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNjcm9sbFRvVG9wKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNjcm9sbFZpZXcuc2Nyb2xsVG9Ub3AoKTtcbiAgICB9XG5cbiAgICBzY3JvbGxUb0JvdHRvbShhbmltYXRlID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250ZW50TGF5b3V0Lm5vZGUuaGVpZ2h0ID4gdGhpcy5zY3JvbGxWaWV3Lm5vZGUuaGVpZ2h0KSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbFZpZXcuc2Nyb2xsVG9Cb3R0b20oYW5pbWF0ZSA/IDAuMyA6IHVuZGVmaW5lZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBvcGVuKHBhcmVudDogQ0NWaWV3KSB7XG4gICAgICAgIHN1cGVyLm9wZW4ocGFyZW50KTtcblxuICAgICAgICB0aGlzLm5vZGUuY2hpbGRyZW5bMF0ub3BhY2l0eSA9IDA7XG4gICAgICAgIHRoaXMubm9kZS5jaGlsZHJlblsxXS5hY3RpdmUgPSB0cnVlO1xuICAgICAgICB0aGlzLmNhbGxpbmdOb2RlLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIHRoaXMubWVzc2FnZU5vZGUuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc3RvcFBob25lTXVzaWMoKTtcbiAgICAgICAgdGhpcy5faXNQbGF5TXVzaWMgPSBmYWxzZTtcbiAgICAgICAgYXdhaXQgdGhpcy5wbGF5UGhvbmVNdXNpYygpO1xuICAgICAgICB0aGlzLl9pc1BsYXlNdXNpYyA9IHRydWU7XG4gICAgICAgIHRoaXMubm9kZS5jaGlsZHJlblswXS5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2MuZGVsYXlUaW1lKDAuMiksIGNjLmZhZGVJbigwLjEpLCBjYy5jYWxsRnVuYygoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm5vZGUuY2hpbGRyZW5bMF0ub3BhY2l0eSA9IDI1NTtcbiAgICAgICAgICAgIHRoaXMubm9kZS5jaGlsZHJlblsxXS5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgfSkpKTtcbiAgICAgICAgdGhpcy51cGRhdGVDYWxsaW5nU3RhdHVzTGFiZWwoR2FtZU1vZGVsTWFuYWdlci5nZXRMYW5ndWFnZVR4dChHYW1lVGV4dERhdGEuR0FNRV9URVhUX0NBTExJTkdfVkFMVUUpKTtcbiAgICB9XG5cbiAgICBjbG9zZShjbGVhbj86IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5uZXh0UGxvdE5vZGUuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIHRoaXMudXBkYXRlQ2FsbGluZ1N0YXR1c0xhYmVsKEdhbWVNb2RlbE1hbmFnZXIuZ2V0TGFuZ3VhZ2VUeHQoR2FtZVRleHREYXRhLkdBTUVfVEVYVF9DQUxMRU5ERURfVkFMVUUpKTtcbiAgICAgICAgdGhpcy5ub2RlLnN0b3BBbGxBY3Rpb25zKCk7XG4gICAgICAgIHRoaXMubm9kZS5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2MuZGVsYXlUaW1lKDEuMiksIGNjLmNhbGxGdW5jKCgpID0+IHtcbiAgICAgICAgICAgIHN1cGVyLmNsb3NlKGNsZWFuKTtcbiAgICAgICAgICAgIC8vIOa4hemZpOWGheWuue+8jOmYsuatouS4i+asoeaJk+W8gOeahOaXtuWAmeWFiOaYvuekuuS4iuasoeeahOWGheWuuVxuICAgICAgICAgICAgdGhpcy5jb250ZW50TGF5b3V0Lm5vZGUucmVtb3ZlQWxsQ2hpbGRyZW4oKTtcbiAgICAgICAgICAgIHRoaXMuaGVhZEljb24xLnNwcml0ZUZyYW1lID0gdW5kZWZpbmVkIGFzIGFueTtcbiAgICAgICAgICAgIHRoaXMubmFtZUxhYmVsMS5zdHJpbmcgPSBcIlwiO1xuICAgICAgICAgICAgaWYgKHRoaXMubm9kZS5hY3RpdmUgJiYgdGhpcy5faXNQbGF5TXVzaWMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3BQaG9uZU11c2ljKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5faXNQbGF5TXVzaWMgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlbGV0ZSAodGhpcyBhcyBhbnkpLl9wcm9wcztcbiAgICAgICAgICAgIEdhbWVNb2RlbE1hbmFnZXIuQ2hlY2tNYWluVGFiR3VpZGUuZW1pdCgpO1xuICAgICAgICB9KSkpO1xuICAgIH1cblxuICAgIG9uUHJvcHNMb2FkKHByb3BzOiBQaG9uZUNhbGxWaWV3UHJvcHMpIHtcbiAgICAgICAgc3VwZXIub25Qcm9wc0xvYWQocHJvcHMpO1xuICAgICAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuX3Byb3BzLml0ZW1zKSB7IC8vIOW6lOivpeWPquacieS4gOadoVxuICAgICAgICAgICAgdGhpcy5wcm9jZXNzSXRlbShpdGVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUHJvcENoYW5nZShwcm9wTmFtZToga2V5b2YgUGhvbmVDYWxsVmlld1Byb3BzKSB7XG4gICAgICAgIHN1cGVyLm9uUHJvcENoYW5nZShwcm9wTmFtZSk7XG4gICAgICAgIGlmIChwcm9wTmFtZSA9PT0gXCJpdGVtc1wiKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gdGhpcy5jb250ZW50TGF5b3V0Lm5vZGUuY2hpbGRyZW4ubGVuZ3RoOyBpIDwgdGhpcy5fcHJvcHMuaXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NJdGVtKHRoaXMuX3Byb3BzLml0ZW1zW2ldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIHByb2Nlc3NJdGVtKGl0ZW06IFBob25lQ2FsbEl0ZW1Qcm9wcykge1xuICAgICAgICBsZXQgY29udGVudCA9IGl0ZW0uc2VudGVuY2UuY29udGVudCE7XG4gICAgICAgIGlmIChpdGVtLmlzU2VsZiAmJiBjb250ZW50LnR5cGUgPT09IFNlbnRlbmNlVHlwZS5TRUxFQ1QgJiYgaXRlbS5zZWxlY3QgPT09IHVuZGVmaW5lZCkgeyAvLyBzaG93IHNlbGVjdG9yXG4gICAgICAgICAgICB0aGlzLl9wcm9wcy5vblNldENvbnRlbnQoY29udGVudCk7XG4gICAgICAgICAgICB0aGlzLm5leHRQbG90Tm9kZS5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubmV4dFBsb3ROb2RlLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICBpZiAoY29udGVudC50eXBlID09PSBTZW50ZW5jZVR5cGUuU0VMRUNUICYmIGl0ZW0uc2VsZWN0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiU29tZXRoaW5nIHdlbnQgd3JvbmcuIFwiLCBpdGVtLnNlbnRlbmNlKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgbm9kZSA9IG5ldyBjYy5Ob2RlO1xuICAgICAgICAgICAgbGV0IHJpY2hMYWJlbCA9IG5vZGUuYWRkQ29tcG9uZW50KGNjLlJpY2hUZXh0KTtcbiAgICAgICAgICAgIHJpY2hMYWJlbC5mb250U2l6ZSA9IDMyO1xuICAgICAgICAgICAgcmljaExhYmVsLm1heFdpZHRoID0gNTg1O1xuICAgICAgICAgICAgaWYgKGl0ZW0uaXNTZWxmKSB7XG4gICAgICAgICAgICAgICAgbm9kZS5hbmNob3JYID0gMTtcbiAgICAgICAgICAgICAgICBub2RlLnggPSAzMDA7XG4gICAgICAgICAgICAgICAgbm9kZS5jb2xvciA9IGNjLmNvbG9yKDQ0LCA1MCwgOTgpO1xuICAgICAgICAgICAgICAgIHJpY2hMYWJlbC5ob3Jpem9udGFsQWxpZ24gPSBjYy5tYWNyby5UZXh0QWxpZ25tZW50LlJJR0hUO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBub2RlLmFuY2hvclggPSAwO1xuICAgICAgICAgICAgICAgIG5vZGUueCA9IC0zMDA7XG4gICAgICAgICAgICAgICAgcmljaExhYmVsLmhvcml6b250YWxBbGlnbiA9IGNjLm1hY3JvLlRleHRBbGlnbm1lbnQuTEVGVDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCB0ZXh0ID0gXCJcIjtcbiAgICAgICAgICAgIGlmIChjb250ZW50LnR5cGUgPT09IFNlbnRlbmNlVHlwZS5TRUxFQ1QpIHtcbiAgICAgICAgICAgICAgICBsZXQgb3B0aW9uID0gY29udGVudC52YWx1ZVtpdGVtLnNlbGVjdCFdO1xuICAgICAgICAgICAgICAgIGlmIChvcHRpb24uY29udGVudCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9uLmNvbnRlbnQudHlwZSA9PT0gU2VudGVuY2VUeXBlLlRFWFQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJpY2hMYWJlbC5zdHJpbmcgPSByaWNoTm9kZXNUb0NvY29zU3RyaW5nKG9wdGlvbi5jb250ZW50LnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQgPSByaWNoTm9kZXNUb0NvY29zU3RyaW5nKG9wdGlvbi5jb250ZW50LnZhbHVlKTtcblxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmljaExhYmVsLnN0cmluZyA9IGBTZW50ZW5jZVR5cGUoJHtvcHRpb24uY29udGVudC50eXBlfSkgbm90IHN1cHBvcnRlZCBpbiBwaG9uZSBjYWxsLmA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYFNlbnRlbmNlVHlwZSgke29wdGlvbi5jb250ZW50LnR5cGV9KSBub3Qgc3VwcG9ydGVkIGluIHBob25lIGNhbGwuYDtcblxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gcmljaExhYmVsLnN0cmluZyA9IG9wdGlvbi5zdW1tYXJ5O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gb3B0aW9uLnN1bW1hcnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChjb250ZW50LnR5cGUgPT09IFNlbnRlbmNlVHlwZS5URVhUKSB7XG4gICAgICAgICAgICAgICAgLy8gcmljaExhYmVsLnN0cmluZyA9IHJpY2hOb2Rlc1RvQ29jb3NTdHJpbmcoY29udGVudC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgdGV4dCA9IHJpY2hOb2Rlc1RvQ29jb3NTdHJpbmcoY29udGVudC52YWx1ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIHJpY2hMYWJlbC5zdHJpbmcgPSBgU2VudGVuY2VUeXBlKCR7Y29udGVudC50eXBlfSkgbm90IHN1cHBvcnRlZCBpbiBwaG9uZSBjYWxsLmA7XG4gICAgICAgICAgICAgICAgdGV4dCA9IGBTZW50ZW5jZVR5cGUoJHtjb250ZW50LnR5cGV9KSBub3Qgc3VwcG9ydGVkIGluIHBob25lIGNhbGwuYDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpdGVtLmlzU2VsZikge1xuICAgICAgICAgICAgICAgIHJpY2hMYWJlbC5zdHJpbmcgPSB0ZXh0O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnR5cGV3cml0ZXIuc2hvd1JpY2hUZXh0VHlwZXIocmljaExhYmVsLCB0ZXh0LCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudExheW91dC51cGRhdGVMYXlvdXQoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxUb0JvdHRvbSgpO1xuICAgICAgICAgICAgICAgIH0sICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50TGF5b3V0LnVwZGF0ZUxheW91dCgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFRvQm90dG9tKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBub2RlLnBhcmVudCA9IHRoaXMuY29udGVudExheW91dC5ub2RlO1xuXG4gICAgICAgIH1cbiAgICAgICAgaWYgKGl0ZW0uc2VudGVuY2UgJiYgaXRlbS5zZW50ZW5jZS5hY3Rpb25zKSB7XG4gICAgICAgICAgICBhd2FpdCBBY3Rpb25NYW5hZ2VyLmV4ZWN1dGVBY3Rpb25zKGl0ZW0uc2VudGVuY2UuYWN0aW9ucyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoUGhvbmVDYWxsTGlzdEF1dG9OZXh0UGxvdCAmJiB0aGlzLm1lc3NhZ2VOb2RlLmFjdGl2ZSAmJiAhdGhpcy5fcHJvcHMuaXNTZW50ZW5jZVNlbGVjdFZpc2libGUoKSkge1xuICAgICAgICAgICAgdGhpcy5zY2hlZHVsZU9uY2UoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Byb3BzLm9uQ29tcGxldGVQbG90KGl0ZW0uc2VsZWN0KTtcbiAgICAgICAgICAgIH0sIDEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0SW5kZXggPSBpdGVtLnNlbGVjdDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbnRlbnRMYXlvdXQudXBkYXRlTGF5b3V0KCk7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG9Cb3R0b20oKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDYWxsaW5nU3RhdHVzTGFiZWwoc3RhdHVzU3RyOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zdGF0dXNMYWJlbC5zdHJpbmcgPSBzdGF0dXNTdHI7XG4gICAgfVxufSJdfQ==
\ No newline at end of file
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvZ2FtZS91aS92aWV3L2ltcGwvUGhvbmVDYWxsVmlld0ltcGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsd0VBQTZFO0FBQzdFLHlEQUE0STtBQUM1SSx5RUFBdUQ7QUFDdkQsc0VBQXFIO0FBQ3JILDZDQUEwRjtBQUMxRix5REFBNkM7QUFDN0MsbUVBQXNEO0FBQ3RELG9GQUFpRjtBQUNqRixzRUFBbUU7QUFDbkUseUVBQWtFO0FBRWxFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQztBQUs1QztJQUFBLElBQWEsaUJBQWlCLEdBQTlCLE1BQWEsaUJBQWtCLFNBQVEsdUJBQThCO1FBQXJFOztZQUNJLHlCQUF5QjtZQUVqQixlQUFVLEdBQUcsZ0NBQWUsQ0FBQztZQUU3QixrQkFBYSxHQUFHLDRCQUFXLENBQUM7WUFFNUIsZ0JBQVcsR0FBRywwQkFBUyxDQUFDO1lBRXhCLGdCQUFXLEdBQUcsMEJBQVMsQ0FBQztZQUV4QixlQUFVLEdBQUcsMkJBQVUsQ0FBQztZQUV4QixlQUFVLEdBQUcsMkJBQVUsQ0FBQztZQUV4QixjQUFTLEdBQUcsNEJBQVcsQ0FBQztZQUV4QixjQUFTLEdBQUcsNEJBQVcsQ0FBQztZQUd4QixrQkFBYSxHQUFHLDBCQUFTLENBQUM7WUFFMUIsaUJBQVksR0FBRywwQkFBUyxDQUFDO1lBR3pCLGdCQUFXLEdBQUcsMkJBQVUsQ0FBQztZQUd6QixlQUFVLEdBQWUsU0FBa0MsQ0FBRTtZQUc3RCxpQkFBWSxHQUFZLEtBQUssQ0FBQztZQUU5QixjQUFTLEdBQVksS0FBSyxDQUFDO1lBa0JuQyxtQkFBYyxHQUFHLEtBQUssSUFBSSxFQUFFO2dCQUN4QixNQUFNLGlCQUFpQixHQUFHLDhCQUE4QixDQUFDO2dCQUN6RCxNQUFNLHFDQUFZLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDcEQsQ0FB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USxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7d0RBQ1k7SUFFaEM7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQzt3REFDWTtJQUdoQztRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzREQUNnQjtJQUVsQztRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzJEQUNlO0lBR2pDO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7MERBQ2M7SUFHakM7UUFEQyxRQUFRLENBQUMsb0JBQVUsQ0FBQzt5REFDZ0Q7SUE1QjVELGlCQUFpQjtRQUY3QixPQUFPO1FBQ1AsZ0NBQU8sQ0FBQyxpQ0FBaUIsRUFBRSx5QkFBeUIsQ0FBQztPQUN6QyxpQkFBaUIsQ0FtUjdCO0lBQUQsd0JBQUM7S0FBQTtBQW5SWSw4Q0FBaUIiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDQ1B1cmVWaWV3LCBDQ1ZpZXcgfSBmcm9tIFwiLi4vLi4vLi4vLi4vY29tbW9uL2NsYXNzYmFzZS9DQ1ZpZXdCYXNlXCI7XG5pbXBvcnQgeyBQaG9uZUNhbGxWaWV3VHlwZSwgUGhvbmVDYWxsVmlld1Byb3BzLCBQaG9uZUNhbGxWaWV3LCBQaG9uZUNhbGxJdGVtUHJvcHMsIFBob25lQ2FsbExpc3RBdXRvTmV4dFBsb3QgfSBmcm9tIFwiLi4vdHlwZS9QaG9uZUNhbGxWaWV3XCI7XG5pbXBvcnQgeyBSZWdWaWV3IH0gZnJvbSBcIi4uLy4uL1ByZXNlbnRlckNDVmlld0ZhY3RvcnlcIjtcbmltcG9ydCB7IER1bW15U2Nyb2xsVmlldywgRHVtbXlMYXlvdXQsIER1bW15Tm9kZSwgRHVtbXlMYWJlbCwgRHVtbXlTcHJpdGUgfSBmcm9tIFwiLi4vLi4vLi4vLi4vY29tbW9uL0NDRHVtbXlPYmplY3RzXCI7XG5pbXBvcnQgeyBTZW50ZW5jZVR5cGUsIHJpY2hOb2Rlc1RvQ29jb3NTdHJpbmcsIEFjdGlvbk1hbmFnZXIgfSBmcm9tIFwiLi4vLi4vLi4vLi4vYXZnL0FWR1wiO1xuaW1wb3J0IHsgUmVzVXRpbHMgfSBmcm9tIFwic2ltYmEtY2MtcmVzdXRpbHNcIjtcbmltcG9ydCB7IEF1ZGlvTWFuYWdlciB9IGZyb20gXCJzaW1iYS1jYy1hdWRpby1tYW5hZ2VyXCI7XG5pbXBvcnQgeyBHYW1lVGV4dERhdGEgfSBmcm9tIFwiLi4vLi4vLi4vLi4vY29tbW9uL2dhbWVwbGF5L2dhbWVkYXRhL0dhbWVUZXh0RGF0YVwiO1xuaW1wb3J0IHsgR2FtZU1vZGVsTWFuYWdlciB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbC9HYW1lTW9kZWxNYW5hZ2VyXCI7XG5pbXBvcnQgVHlwZXdyaXRlciBmcm9tIFwiLi4vLi4vLi4vLi4vY29tbW9uL2NvbXBvbmVudHMvVHlwZXdyaXRlclwiO1xuXG5jb25zdCB7IGNjY2xhc3MsIHByb3BlcnR5IH0gPSBjYy5fZGVjb3JhdG9yO1xuXG5cbkBjY2NsYXNzXG5AUmVnVmlldyhQaG9uZUNhbGxWaWV3VHlwZSwgXCJwcmVmYWIvdWkvUGhvbmVDYWxsVmlld1wiKVxuZXhwb3J0IGNsYXNzIFBob25lQ2FsbFZpZXdJbXBsIGV4dGVuZHMgQ0NQdXJlVmlldzxQaG9uZUNhbGxWaWV3UHJvcHM+IGltcGxlbWVudHMgUGhvbmVDYWxsVmlldyB7XG4gICAgLy8jcmVnaW9uIGVkaXRvciBiaW5kaW5nc1xuICAgIEBwcm9wZXJ0eShjYy5TY3JvbGxWaWV3KVxuICAgIHByaXZhdGUgc2Nyb2xsVmlldyA9IER1bW15U2Nyb2xsVmlldztcbiAgICBAcHJvcGVydHkoY2MuTGF5b3V0KVxuICAgIHByaXZhdGUgY29udGVudExheW91dCA9IER1bW15TGF5b3V0O1xuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxuICAgIHByaXZhdGUgY2FsbGluZ05vZGUgPSBEdW1teU5vZGU7XG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXG4gICAgcHJpdmF0ZSBtZXNzYWdlTm9kZSA9IER1bW15Tm9kZTtcbiAgICBAcHJvcGVydHkoY2MuTGFiZWwpXG4gICAgcHJpdmF0ZSBuYW1lTGFiZWwxID0gRHVtbXlMYWJlbDtcbiAgICBAcHJvcGVydHkoY2MuTGFiZWwpXG4gICAgcHJpdmF0ZSBuYW1lTGFiZWwyID0gRHVtbXlMYWJlbDtcbiAgICBAcHJvcGVydHkoY2MuU3ByaXRlKVxuICAgIHByaXZhdGUgaGVhZEljb24xID0gRHVtbXlTcHJpdGU7XG4gICAgQHByb3BlcnR5KGNjLlNwcml0ZSlcbiAgICBwcml2YXRlIGhlYWRJY29uMiA9IER1bW15U3ByaXRlO1xuXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXG4gICAgcHJpdmF0ZSByZWplY3RUaXBOb2RlID0gRHVtbXlOb2RlO1xuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxuICAgIHByaXZhdGUgbmV4dFBsb3ROb2RlID0gRHVtbXlOb2RlO1xuXG4gICAgQHByb3BlcnR5KGNjLkxhYmVsKVxuICAgIHByaXZhdGUgc3RhdHVzTGFiZWwgPSBEdW1teUxhYmVsO1xuXG4gICAgQHByb3BlcnR5KFR5cGV3cml0ZXIpXG4gICAgcHJpdmF0ZSB0eXBld3JpdGVyOiBUeXBld3JpdGVyID0gdW5kZWZpbmVkIGFzIHVua25vd24gYXMgVHlwZXdyaXRlciA7XG5cblxuICAgIHByaXZhdGUgX2lzUGxheU11c2ljOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIF9leGN1dGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgb25SZWplY3RDYWxsKCkge1xuICAgICAgICB0aGlzLm5vZGUuY2hpbGRyZW5bMV0uYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5yZWplY3RUaXBOb2RlLnJ1bkFjdGlvbihjYy5zZXF1ZW5jZShjYy5mYWRlSW4oMC4zKSwgY2MuZGVsYXlUaW1lKDAuMyksIGNjLmNhbGxGdW5jKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVqZWN0VGlwTm9kZS5vcGFjaXR5ID0gMDtcbiAgICAgICAgICAgIHRoaXMubm9kZS5jaGlsZHJlblswXS5vcGFjaXR5ID0gMDtcbiAgICAgICAgICAgIHRoaXMuc3RvcFBob25lTXVzaWMoKTtcbiAgICAgICAgICAgIHRoaXMuX2lzUGxheU11c2ljID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnNjaGVkdWxlT25jZShhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlLmNoaWxkcmVuWzBdLm9wYWNpdHkgPSAyNTU7XG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlLmNoaWxkcmVuWzFdLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucGxheVBob25lTXVzaWMoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9pc1BsYXlNdXNpYyA9IHRydWU7XG4gICAgICAgICAgICB9LCAwLjgpO1xuICAgICAgICB9KSkpO1xuICAgIH1cblxuICAgIHBsYXlQaG9uZU11c2ljID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCBQaG9uZUJnbUNhbGxTb3VuZCA9IFwiL2F1ZGlvL2JnbS9pUGhvbmVYU0NhbGxTb3VuZFwiO1xuICAgICAgICBhd2FpdCBBdWRpb01hbmFnZXIucGxheU11c2ljKFBob25lQmdtQ2FsbFNvdW5kKTtcbiAgICB9XG5cbiAgICBzdG9wUGhvbmVNdXNpYyA9ICgpID0+IHtcbiAgICAgICAgQXVkaW9NYW5hZ2VyLnN0b3BNdXNpYygpO1xuICAgIH1cblxuICAgIG9uQWNjZXB0Q2FsbCgpIHtcbiAgICAgICAgdGhpcy5jYWxsaW5nTm9kZS5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5tZXNzYWdlTm9kZS5hY3RpdmUgPSB0cnVlO1xuICAgICAgICB0aGlzLnN0b3BQaG9uZU11c2ljKCk7XG4gICAgICAgIHRoaXMuX2lzUGxheU11c2ljID0gZmFsc2U7XG4gICAgICAgIEdhbWVNb2RlbE1hbmFnZXIuZG90TWFpbkxpbmVQbG90U3RhcnQoKTtcbiAgICAgICAgaWYgKFBob25lQ2FsbExpc3RBdXRvTmV4dFBsb3QpIHtcbiAgICAgICAgICAgIHRoaXMuc2NoZWR1bGVPbmNlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9wcm9wcy5vbkNvbXBsZXRlUGxvdCgpO1xuICAgICAgICAgICAgfSwgMC42KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTmV4dFBsb3RCdG5DbGljaygpIHtcbiAgICAgICAgaWYodGhpcy50eXBld3JpdGVyLmdldFNob3dpbmdTdHJpbmcoKSA9PSBcIlwiKXtcbiAgICAgICAgICAgIGlmICghUGhvbmVDYWxsTGlzdEF1dG9OZXh0UGxvdCkge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5fZXhjdXRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZXhjdXRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9wcm9wcy5vbkNvbXBsZXRlUGxvdCh0aGlzLl9zZWxlY3RJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdEluZGV4ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNjaGVkdWxlT25jZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9leGN1dGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9LCAwLjMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfWVsc2Uge1xuICAgICAgICAgICAgdGhpcy50eXBld3JpdGVyLnN0b3BUeXBlclNob3dTdHJpbmcoKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICBwcml2YXRlIF9uZXdDYWxsID0gdHJ1ZTtcbiAgICBwcml2YXRlIF9zZWxlY3RJbmRleD86IG51bWJlcjtcblxuICAgIGFwcGxpY2F0aW9uQ2hhbmdlKGZvcmNlOiBib29sZWFuKSB7XG5cbiAgICB9XG5cbiAgICBvbkxvYWQoKSB7XG4gICAgICAgIHRoaXMuYmluZFByb3AoXCJuYW1lXCIsIHRoaXMubmFtZUxhYmVsMSwgXCJzdHJpbmdcIik7XG4gICAgICAgIHRoaXMuYmluZFByb3AoXCJuYW1lXCIsIHRoaXMubmFtZUxhYmVsMiwgXCJzdHJpbmdcIik7XG4gICAgICAgIHRoaXMuYmluZFByb3AoXCJpY29uXCIsIGFzeW5jICh2KSA9PiB7XG4gICAgICAgICAgICBpZiAodikge1xuICAgICAgICAgICAgICAgIGxldCBzZiA9IGF3YWl0IFJlc1V0aWxzLmxvYWRSZXModiwgY2MuU3ByaXRlRnJhbWUsIDIpO1xuICAgICAgICAgICAgICAgIC8vIGlmICh2ID09PSB0aGlzLl9wcm9wcy5pY29uKSB7IC8vIOeQhuiuuuS4iui/memHjOayoeW/heimgVxuICAgICAgICAgICAgICAgIHRoaXMuaGVhZEljb24xLnNwcml0ZUZyYW1lID0gc2Y7XG4gICAgICAgICAgICAgICAgdGhpcy5oZWFkSWNvbjIuc3ByaXRlRnJhbWUgPSBzZjtcbiAgICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG5cblxuICAgICAgICAvLyB0aGlzLmJpbmRQcm9wKFwic2VsZWN0XCIsICh2YWx1ZSkgPT4ge1xuICAgICAgICAvLyAgICAgaWYgKHZhbHVlID49IDApIHtcbiAgICAgICAgLy8gICAgICAgICBsZXQgaXRlbSA9IHRoaXMuX3Byb3BzLml0ZW1zW3RoaXMuX3Byb3BzLml0ZW1zLmxlbmd0aCAtIDFdO1xuICAgICAgICAvLyAgICAgICAgIGl0ZW0uc2VsZWN0ID0gdmFsdWU7XG4gICAgICAgIC8vICAgICAgICAgdGhpcy5wcm9jZXNzSXRlbShpdGVtKTtcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfSk7XG5cbiAgICB9XG5cbiAgICBzZWxlY3QodmFsdWU6IG51bWJlcikge1xuICAgICAgICBpZiAodmFsdWUgPj0gMCkge1xuICAgICAgICAgICAgbGV0IGl0ZW0gPSB0aGlzLl9wcm9wcy5pdGVtc1t0aGlzLl9wcm9wcy5pdGVtcy5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgIGl0ZW0uc2VsZWN0ID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NJdGVtKGl0ZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2Nyb2xsVG9Ub3AoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2Nyb2xsVmlldy5zY3JvbGxUb1RvcCgpO1xuICAgIH1cblxuICAgIHNjcm9sbFRvQm90dG9tKGFuaW1hdGUgPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRMYXlvdXQubm9kZS5oZWlnaHQgPiB0aGlzLnNjcm9sbFZpZXcubm9kZS5oZWlnaHQpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVmlldy5zY3JvbGxUb0JvdHRvbShhbmltYXRlID8gMC4zIDogdW5kZWZpbmVkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIG9wZW4ocGFyZW50OiBDQ1ZpZXcpIHtcbiAgICAgICAgc3VwZXIub3BlbihwYXJlbnQpO1xuXG4gICAgICAgIHRoaXMubm9kZS5jaGlsZHJlblswXS5vcGFjaXR5ID0gMDtcbiAgICAgICAgdGhpcy5ub2RlLmNoaWxkcmVuWzFdLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIHRoaXMuY2FsbGluZ05vZGUuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5tZXNzYWdlTm9kZS5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zdG9wUGhvbmVNdXNpYygpO1xuICAgICAgICB0aGlzLl9pc1BsYXlNdXNpYyA9IGZhbHNlO1xuICAgICAgICBhd2FpdCB0aGlzLnBsYXlQaG9uZU11c2ljKCk7XG4gICAgICAgIHRoaXMuX2lzUGxheU11c2ljID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5ub2RlLmNoaWxkcmVuWzBdLnJ1bkFjdGlvbihjYy5zZXF1ZW5jZShjYy5kZWxheVRpbWUoMC4yKSwgY2MuZmFkZUluKDAuMSksIGNjLmNhbGxGdW5jKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubm9kZS5jaGlsZHJlblswXS5vcGFjaXR5ID0gMjU1O1xuICAgICAgICAgICAgdGhpcy5ub2RlLmNoaWxkcmVuWzFdLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB9KSkpO1xuICAgICAgICB0aGlzLnVwZGF0ZUNhbGxpbmdTdGF0dXNMYWJlbChHYW1lTW9kZWxNYW5hZ2VyLmdldExhbmd1YWdlVHh0KEdhbWVUZXh0RGF0YS5HQU1FX1RFWFRfQ0FMTElOR19WQUxVRSkpO1xuICAgIH1cblxuICAgIGNsb3NlKGNsZWFuPzogYm9vbGVhbikge1xuICAgICAgICB0aGlzLm5leHRQbG90Tm9kZS5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy51cGRhdGVDYWxsaW5nU3RhdHVzTGFiZWwoR2FtZU1vZGVsTWFuYWdlci5nZXRMYW5ndWFnZVR4dChHYW1lVGV4dERhdGEuR0FNRV9URVhUX0NBTExFTkRFRF9WQUxVRSkpO1xuICAgICAgICB0aGlzLm5vZGUuc3RvcEFsbEFjdGlvbnMoKTtcbiAgICAgICAgdGhpcy5ub2RlLnJ1bkFjdGlvbihjYy5zZXF1ZW5jZShjYy5kZWxheVRpbWUoMS4yKSwgY2MuY2FsbEZ1bmMoKCkgPT4ge1xuICAgICAgICAgICAgc3VwZXIuY2xvc2UoY2xlYW4pO1xuICAgICAgICAgICAgLy8g5riF6Zmk5YaF5a6577yM6Ziy5q2i5LiL5qyh5omT5byA55qE5pe25YCZ5YWI5pi+56S65LiK5qyh55qE5YaF5a65XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRMYXlvdXQubm9kZS5yZW1vdmVBbGxDaGlsZHJlbigpO1xuICAgICAgICAgICAgdGhpcy5oZWFkSWNvbjEuc3ByaXRlRnJhbWUgPSB1bmRlZmluZWQgYXMgYW55O1xuICAgICAgICAgICAgdGhpcy5uYW1lTGFiZWwxLnN0cmluZyA9IFwiXCI7XG4gICAgICAgICAgICBpZiAodGhpcy5ub2RlLmFjdGl2ZSAmJiB0aGlzLl9pc1BsYXlNdXNpYykge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcFBob25lTXVzaWMoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9pc1BsYXlNdXNpYyA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVsZXRlICh0aGlzIGFzIGFueSkuX3Byb3BzO1xuICAgICAgICB9KSkpO1xuICAgIH1cblxuICAgIG9uUHJvcHNMb2FkKHByb3BzOiBQaG9uZUNhbGxWaWV3UHJvcHMpIHtcbiAgICAgICAgc3VwZXIub25Qcm9wc0xvYWQocHJvcHMpO1xuICAgICAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuX3Byb3BzLml0ZW1zKSB7IC8vIOW6lOivpeWPquacieS4gOadoVxuICAgICAgICAgICAgdGhpcy5wcm9jZXNzSXRlbShpdGVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUHJvcENoYW5nZShwcm9wTmFtZToga2V5b2YgUGhvbmVDYWxsVmlld1Byb3BzKSB7XG4gICAgICAgIHN1cGVyLm9uUHJvcENoYW5nZShwcm9wTmFtZSk7XG4gICAgICAgIGlmIChwcm9wTmFtZSA9PT0gXCJpdGVtc1wiKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gdGhpcy5jb250ZW50TGF5b3V0Lm5vZGUuY2hpbGRyZW4ubGVuZ3RoOyBpIDwgdGhpcy5fcHJvcHMuaXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NJdGVtKHRoaXMuX3Byb3BzLml0ZW1zW2ldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIHByb2Nlc3NJdGVtKGl0ZW06IFBob25lQ2FsbEl0ZW1Qcm9wcykge1xuICAgICAgICBsZXQgY29udGVudCA9IGl0ZW0uc2VudGVuY2UuY29udGVudCE7XG4gICAgICAgIGlmIChpdGVtLmlzU2VsZiAmJiBjb250ZW50LnR5cGUgPT09IFNlbnRlbmNlVHlwZS5TRUxFQ1QgJiYgaXRlbS5zZWxlY3QgPT09IHVuZGVmaW5lZCkgeyAvLyBzaG93IHNlbGVjdG9yXG4gICAgICAgICAgICB0aGlzLl9wcm9wcy5vblNldENvbnRlbnQoY29udGVudCk7XG4gICAgICAgICAgICB0aGlzLm5leHRQbG90Tm9kZS5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubmV4dFBsb3ROb2RlLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICBpZiAoY29udGVudC50eXBlID09PSBTZW50ZW5jZVR5cGUuU0VMRUNUICYmIGl0ZW0uc2VsZWN0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiU29tZXRoaW5nIHdlbnQgd3JvbmcuIFwiLCBpdGVtLnNlbnRlbmNlKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgbm9kZSA9IG5ldyBjYy5Ob2RlO1xuICAgICAgICAgICAgbGV0IHJpY2hMYWJlbCA9IG5vZGUuYWRkQ29tcG9uZW50KGNjLlJpY2hUZXh0KTtcbiAgICAgICAgICAgIHJpY2hMYWJlbC5mb250U2l6ZSA9IDMyO1xuICAgICAgICAgICAgcmljaExhYmVsLm1heFdpZHRoID0gNTg1O1xuICAgICAgICAgICAgaWYgKGl0ZW0uaXNTZWxmKSB7XG4gICAgICAgICAgICAgICAgbm9kZS5hbmNob3JYID0gMTtcbiAgICAgICAgICAgICAgICBub2RlLnggPSAzMDA7XG4gICAgICAgICAgICAgICAgbm9kZS5jb2xvciA9IGNjLmNvbG9yKDQ0LCA1MCwgOTgpO1xuICAgICAgICAgICAgICAgIHJpY2hMYWJlbC5ob3Jpem9udGFsQWxpZ24gPSBjYy5tYWNyby5UZXh0QWxpZ25tZW50LlJJR0hUO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBub2RlLmFuY2hvclggPSAwO1xuICAgICAgICAgICAgICAgIG5vZGUueCA9IC0zMDA7XG4gICAgICAgICAgICAgICAgcmljaExhYmVsLmhvcml6b250YWxBbGlnbiA9IGNjLm1hY3JvLlRleHRBbGlnbm1lbnQuTEVGVDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCB0ZXh0ID0gXCJcIjtcbiAgICAgICAgICAgIGlmIChjb250ZW50LnR5cGUgPT09IFNlbnRlbmNlVHlwZS5TRUxFQ1QpIHtcbiAgICAgICAgICAgICAgICBsZXQgb3B0aW9uID0gY29udGVudC52YWx1ZVtpdGVtLnNlbGVjdCFdO1xuICAgICAgICAgICAgICAgIGlmIChvcHRpb24uY29udGVudCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9uLmNvbnRlbnQudHlwZSA9PT0gU2VudGVuY2VUeXBlLlRFWFQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJpY2hMYWJlbC5zdHJpbmcgPSByaWNoTm9kZXNUb0NvY29zU3RyaW5nKG9wdGlvbi5jb250ZW50LnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQgPSByaWNoTm9kZXNUb0NvY29zU3RyaW5nKG9wdGlvbi5jb250ZW50LnZhbHVlKTtcblxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmljaExhYmVsLnN0cmluZyA9IGBTZW50ZW5jZVR5cGUoJHtvcHRpb24uY29udGVudC50eXBlfSkgbm90IHN1cHBvcnRlZCBpbiBwaG9uZSBjYWxsLmA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYFNlbnRlbmNlVHlwZSgke29wdGlvbi5jb250ZW50LnR5cGV9KSBub3Qgc3VwcG9ydGVkIGluIHBob25lIGNhbGwuYDtcblxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gcmljaExhYmVsLnN0cmluZyA9IG9wdGlvbi5zdW1tYXJ5O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gb3B0aW9uLnN1bW1hcnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChjb250ZW50LnR5cGUgPT09IFNlbnRlbmNlVHlwZS5URVhUKSB7XG4gICAgICAgICAgICAgICAgLy8gcmljaExhYmVsLnN0cmluZyA9IHJpY2hOb2Rlc1RvQ29jb3NTdHJpbmcoY29udGVudC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgdGV4dCA9IHJpY2hOb2Rlc1RvQ29jb3NTdHJpbmcoY29udGVudC52YWx1ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIHJpY2hMYWJlbC5zdHJpbmcgPSBgU2VudGVuY2VUeXBlKCR7Y29udGVudC50eXBlfSkgbm90IHN1cHBvcnRlZCBpbiBwaG9uZSBjYWxsLmA7XG4gICAgICAgICAgICAgICAgdGV4dCA9IGBTZW50ZW5jZVR5cGUoJHtjb250ZW50LnR5cGV9KSBub3Qgc3VwcG9ydGVkIGluIHBob25lIGNhbGwuYDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpdGVtLmlzU2VsZikge1xuICAgICAgICAgICAgICAgIHJpY2hMYWJlbC5zdHJpbmcgPSB0ZXh0O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnR5cGV3cml0ZXIuc2hvd1JpY2hUZXh0VHlwZXIocmljaExhYmVsLCB0ZXh0LCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudExheW91dC51cGRhdGVMYXlvdXQoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxUb0JvdHRvbSgpO1xuICAgICAgICAgICAgICAgIH0sICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50TGF5b3V0LnVwZGF0ZUxheW91dCgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFRvQm90dG9tKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBub2RlLnBhcmVudCA9IHRoaXMuY29udGVudExheW91dC5ub2RlO1xuXG4gICAgICAgIH1cbiAgICAgICAgaWYgKGl0ZW0uc2VudGVuY2UgJiYgaXRlbS5zZW50ZW5jZS5hY3Rpb25zKSB7XG4gICAgICAgICAgICBhd2FpdCBBY3Rpb25NYW5hZ2VyLmV4ZWN1dGVBY3Rpb25zKGl0ZW0uc2VudGVuY2UuYWN0aW9ucyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoUGhvbmVDYWxsTGlzdEF1dG9OZXh0UGxvdCAmJiB0aGlzLm1lc3NhZ2VOb2RlLmFjdGl2ZSAmJiAhdGhpcy5fcHJvcHMuaXNTZW50ZW5jZVNlbGVjdFZpc2libGUoKSkge1xuICAgICAgICAgICAgdGhpcy5zY2hlZHVsZU9uY2UoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Byb3BzLm9uQ29tcGxldGVQbG90KGl0ZW0uc2VsZWN0KTtcbiAgICAgICAgICAgIH0sIDEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0SW5kZXggPSBpdGVtLnNlbGVjdDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbnRlbnRMYXlvdXQudXBkYXRlTGF5b3V0KCk7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG9Cb3R0b20oKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDYWxsaW5nU3RhdHVzTGFiZWwoc3RhdHVzU3RyOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zdGF0dXNMYWJlbC5zdHJpbmcgPSBzdGF0dXNTdHI7XG4gICAgfVxufSJdfQ==
\ No newline at end of file
......@@ -60,7 +60,6 @@ let DatingSceneViewImpl = /** @class */ (() => {
this.arrowguideNode = CCDummyObjects_1.DummyNode;
this.otherNameSpr = CCDummyObjects_1.DummySprite;
this.typewriter = undefined;
this.chapterBtn = CCDummyObjects_1.DummyPrefab;
this.skipButtonNode = CCDummyObjects_1.DummyNode;
this.autoPlayButtonNode = CCDummyObjects_1.DummyNode;
this.autoPlaySpriteFrame = [];
......@@ -92,9 +91,6 @@ let DatingSceneViewImpl = /** @class */ (() => {
}
}
};
this.getChapterBtn = () => {
return this.chapterBtn;
};
}
/**
* 是否显示返回按钮
......@@ -495,9 +491,6 @@ let DatingSceneViewImpl = /** @class */ (() => {
property(Typewriter_1.default)
], DatingSceneViewImpl.prototype, "typewriter", void 0);
__decorate([
property(cc.Prefab)
], DatingSceneViewImpl.prototype, "chapterBtn", void 0);
__decorate([
property(cc.Node)
], DatingSceneViewImpl.prototype, "skipButtonNode", void 0);
__decorate([
......@@ -525,4 +518,4 @@ cc._RF.pop();
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvZ2FtZS91aS92aWV3L2ltcGwvZGF0aW5nL0RhdGluZ1NjZW5lVmlld0ltcGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkVBQW9FO0FBQ3BFLGdFQUFrRjtBQUNsRiw0RUFBMEQ7QUFDMUQseUVBQTJGO0FBQzNGLHlEQUE2QztBQUM3Qyw0RUFBcUU7QUFDckUsZ0dBQXlGO0FBQ3pGLDBEQUF1RDtBQUN2RCx5RUFBc0U7QUFFdEUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDO0FBRTVDLElBQVksYUFHWDtBQUhELFdBQVksYUFBYTtJQUNyQixtREFBUyxDQUFBO0lBQ1QseURBQVEsQ0FBQTtBQUNaLENBQUMsRUFIVyxhQUFhLEdBQWIscUJBQWEsS0FBYixxQkFBYSxRQUd4QjtBQUVELElBQVksWUFHWDtBQUhELFdBQVksWUFBWTtJQUNwQiwrQ0FBUSxDQUFBO0lBQ1IscURBQU8sQ0FBQTtBQUNYLENBQUMsRUFIVyxZQUFZLEdBQVosb0JBQVksS0FBWixvQkFBWSxRQUd2QjtBQUlEO0lBQUEsSUFBYSxtQkFBbUIsR0FBaEMsTUFBYSxtQkFBb0IsU0FBUSxtQkFBTTtRQUEvQzs7WUFDSSx5QkFBeUI7WUFFakIscUJBQWdCLEdBQUcsNEJBQVcsQ0FBQztZQUUvQiwyQkFBc0IsR0FBRyw0QkFBVyxDQUFDO1lBRXJDLG1CQUFjLEdBQUcsNEJBQVcsQ0FBQztZQUU3QixzQkFBaUIsR0FBRyw0QkFBVyxDQUFDO1lBRWhDLG9CQUFlLEdBQUcsMEJBQVMsQ0FBQztZQUU1QixtQkFBYyxHQUFHLDBCQUFTLENBQUM7WUFFM0IsdUJBQWtCLEdBQUcsMEJBQVMsQ0FBQztZQUUvQixlQUFVLEdBQUcsMEJBQVMsQ0FBQztZQUd2QixnQkFBVyxHQUFHLDBCQUFTLENBQUM7WUFHeEIsZUFBVSxHQUFHLDBCQUFTLENBQUM7WUFHdkIsbUJBQWMs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LEVBQUUsQ0FBQyxJQUFJLENBQUM7MkRBQ2E7SUFHL0I7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzsrREFDaUI7SUFHbkM7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQzs2REFDZTtJQUduQztRQURDLFFBQVEsQ0FBQyxvQkFBVSxDQUFDOzJEQUMrQztJQUdwRTtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDOzJEQUNhO0lBRWpDO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7K0RBQ2lCO0lBRW5DO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7bUVBQ3FCO0lBRXZDO1FBREMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDO29FQUNNO0lBekN4QixtQkFBbUI7UUFGL0IsT0FBTztRQUNQLGdDQUFPLENBQUMscUNBQW1CLEVBQUUsMkJBQTJCLENBQUM7T0FDN0MsbUJBQW1CLENBNmMvQjtJQUFELDBCQUFDO0tBQUE7QUE3Y1ksa0RBQW1CIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ0NWaWV3IH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL2NvbW1vbi9jbGFzc2Jhc2UvQ0NWaWV3QmFzZVwiO1xuaW1wb3J0IHsgRGF0aW5nU2NlbmVWaWV3LCBEYXRpbmdTY2VuZVZpZXdUeXBlIH0gZnJvbSBcIi4uLy4uL3R5cGUvRGF0aW5nU2NlbmVWaWV3XCI7XG5pbXBvcnQgeyBSZWdWaWV3IH0gZnJvbSBcIi4uLy4uLy4uL1ByZXNlbnRlckNDVmlld0ZhY3RvcnlcIjtcbmltcG9ydCB7IER1bW15U3ByaXRlLCBEdW1teU5vZGUsIER1bW15UHJlZmFiIH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL2NvbW1vbi9DQ0R1bW15T2JqZWN0c1wiO1xuaW1wb3J0IHsgUmVzVXRpbHMgfSBmcm9tIFwic2ltYmEtY2MtcmVzdXRpbHNcIjtcbmltcG9ydCBUeXBld3JpdGVyIGZyb20gXCIuLi8uLi8uLi8uLi8uLi9jb21tb24vY29tcG9uZW50cy9UeXBld3JpdGVyXCI7XG5pbXBvcnQgUG9ydHJhaXRGaXhDb21wb25lbnQgZnJvbSBcIi4uLy4uLy4uLy4uLy4uL2NvbW1vbi9jb21wb25lbnRzL1BvcnRyYWl0Rml4Q29tcG9uZW50XCI7XG5pbXBvcnQgeyBHYW1lQ29uZmlnIH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL0dhbWVDb25maWdcIjtcbmltcG9ydCB7IEdhbWVNb2RlbE1hbmFnZXIgfSBmcm9tIFwiLi4vLi4vLi4vLi4vbW9kZWwvR2FtZU1vZGVsTWFuYWdlclwiO1xuXG5jb25zdCB7IGNjY2xhc3MsIHByb3BlcnR5IH0gPSBjYy5fZGVjb3JhdG9yO1xuXG5leHBvcnQgZW51bSBBdXRvUGxheVN0YXRlIHtcbiAgICBDbG9zZSA9IDAsXG4gICAgQXV0b1BsYXlcbn1cblxuZXhwb3J0IGVudW0gQXV0b1BsYXlUeXBlIHtcbiAgICBTa2lwID0gMCxcbiAgICBTcGVlZHgxXG59XG5cbkBjY2NsYXNzXG5AUmVnVmlldyhEYXRpbmdTY2VuZVZpZXdUeXBlLCBcInByZWZhYi91aS9EYXRpbmdTY2VuZVZpZXdcIilcbmV4cG9ydCBjbGFzcyBEYXRpbmdTY2VuZVZpZXdJbXBsIGV4dGVuZHMgQ0NWaWV3IGltcGxlbWVudHMgRGF0aW5nU2NlbmVWaWV3IHtcbiAgICAvLyNyZWdpb24gZWRpdG9yIGJpbmRpbmdzXG4gICAgQHByb3BlcnR5KGNjLlNwcml0ZSlcbiAgICBwcml2YXRlIGJhY2tncm91bmRTcHJpdGUgPSBEdW1teVNwcml0ZTtcbiAgICBAcHJvcGVydHkoY2MuU3ByaXRlKVxuICAgIHByaXZhdGUgZWZmZWN0QmFja2dyb3VuZFNwcml0ZSA9IER1bW15U3ByaXRlO1xuICAgIEBwcm9wZXJ0eShjYy5TcHJpdGUpXG4gICAgcHJpdmF0ZSBwb3J0cmFpdFNwcml0ZSA9IER1bW15U3ByaXRlO1xuICAgIEBwcm9wZXJ0eShjYy5TcHJpdGUpXG4gICAgcHJpdmF0ZSBzZWxmU21hbGxQb3J0cmFpdCA9IER1bW15U3ByaXRlO1xuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxuICAgIHByaXZhdGUgb3RoZXJEaWFsb2dOb2RlID0gRHVtbXlOb2RlO1xuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxuICAgIHByaXZhdGUgc2VsZkRpYWxvZ05vZGUgPSBEdW1teU5vZGU7XG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXG4gICAgcHJpdmF0ZSBuYXJyYXRvckRpYWxvZ05vZGUgPSBEdW1teU5vZGU7XG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXG4gICAgcHJpdmF0ZSBiYWNrUmVkRG90ID0gRHVtbXlOb2RlO1xuXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXG4gICAgcHJpdmF0ZSBiYWNrQnRuTm9kZSA9IER1bW15Tm9kZTtcblxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxuICAgIHByaXZhdGUgZW5kVGlwTm9kZSA9IER1bW15Tm9kZTtcblxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxuICAgIHByaXZhdGUgYXJyb3dndWlkZU5vZGUgPSBEdW1teU5vZGU7XG5cbiAgICBAcHJvcGVydHkoY2MuU3ByaXRlKVxuICAgIHByaXZhdGUgb3RoZXJOYW1lU3ByID0gRHVtbXlTcHJpdGU7XG5cbiAgICBAcHJvcGVydHkoVHlwZXdyaXRlcilcbiAgICBwcml2YXRlIHR5cGV3cml0ZXI6IFR5cGV3cml0ZXIgPSB1bmRlZmluZWQgYXMgdW5rbm93biBhcyBUeXBld3JpdGVyO1xuXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcbiAgICBwcml2YXRlIGNoYXB0ZXJCdG4gPSBEdW1teVByZWZhYjtcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcbiAgICBwcml2YXRlIHNraXBCdXR0b25Ob2RlID0gRHVtbXlOb2RlO1xuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxuICAgIHByaXZhdGUgYXV0b1BsYXlCdXR0b25Ob2RlID0gRHVtbXlOb2RlO1xuICAgIEBwcm9wZXJ0eShbY2MuU3ByaXRlRnJhbWVdKVxuICAgIHByaXZhdGUgYXV0b1BsYXlTcHJpdGVGcmFtZSA9IFtdO1xuXG5cbiAgICBwcml2YXRlIF9vcmlnaW5Qb3M6IGNjLlZlYzMgPSBjYy52MygtMjY1LCA2OCwgMCk7XG5cbiAgICBwcml2YXRlIF9pc1J1bkNsb3NlQWN0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIF9pc1J1bm5pbmdBY3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByaXZhdGUgX2NvbnRlbnRUZXh0OiBzdHJpbmcgPSBcIlwiO1xuICAgIHByaXZhdGUgX2F1dG9QbGF5VGltZXI6IG51bWJlciA9IC0xO1xuICAgIHByaXZhdGUgX3NraXBCdXR0b25TdGF0ZTogbnVtYmVyID0gMDtcbiAgICBwcml2YXRlIF9hdXRvUGxheUJ1dHRvblN0YXRlOiBudW1iZXIgPSAwO1xuICAgIHByaXZhdGUgX2F1dG9QbGF5U3RhdGU6IG51bWJlciA9IC0xO1xuICAgIHByaXZhdGUgX2F1dG9QbGF5U3BlZWQ6IG51bWJlciA9IDE7XG4gICAgcHJpdmF0ZSBfdGV4dFR5cGVySXNPdmVyOiBib29sZWFuID0gdHJ1ZTtcbiAgICBwcml2YXRlIF9pc1NwZWNpYWxFZmZlY3Q6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaYvuekuui/lOWbnuaMiemSrlxuICAgICAqIEBwYXJhbSBzaG93IGJvb2xcbiAgICAgKi9cbiAgICBzaG93QmFja0J0bihzaG93OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuYmFja0J0bk5vZGUhLmFjdGl2ZSA9IHNob3c7XG4gICAgICAgIGlmIChzaG93KSB7XG4gICAgICAgICAgICB0aGlzLmJhY2tCdG5Ob2RlLmdldENvbXBvbmVudChjYy5XaWRnZXQpLnVwZGF0ZUFsaWdubWVudCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xvc2VBY3Rpb24oKSB7XG4gICAgICAgIEdhbWVNb2RlbE1hbmFnZXIuc2V0SXNNYWluUGxvdFNjZW5lVHlwZShmYWxzZSk7XG4gICAgICAgIEdhbWVDb25maWcuaXNWZXJiID0gZmFsc2U7XG4gICAgICAgIC8v5riF6Zmk6Ieq5Yqo5pKt5pS+6K6h5pe25ZmoXG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9hdXRvUGxheVRpbWVyKTtcbiAgICAgICAgaWYgKHRoaXMuX2lzUnVuQ2xvc2VBY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMucnVuQ2xvc2VBY3Rpb24oKTtcbiAgICAgICAgfSBlbHNlIGlmICghdGhpcy5faXNSdW5uaW5nQWN0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlVmlldygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0SXNSdW5uaW5nQWN0aW9uID0gKGlzUnVubmluZzogYm9vbGVhbikgPT4ge1xuICAgICAgICB0aGlzLl9pc1J1bm5pbmdBY3Rpb24gPSBpc1J1bm5pbmc7XG4gICAgfVxuXG4gICAgY2xvc2VWaWV3KCkge1xuICAgICAgICB0aGlzLmJhY2tncm91bmRTcHJpdGUuc3ByaXRlRnJhbWUgPSB1bmRlZmluZWQgYXMgYW55O1xuICAgICAgICB0aGlzLnBvcnRyYWl0U3ByaXRlLnNwcml0ZUZyYW1lID0gdW5kZWZpbmVkIGFzIGFueTtcbiAgICAgICAgdGhpcy5zZWxmU21hbGxQb3J0cmFpdC5zcHJpdGVGcmFtZSA9IHVuZGVmaW5lZCBhcyBhbnk7XG4gICAgICAgIHRoaXMub3RoZXJEaWFsb2dOb2RlLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGZEaWFsb2dOb2RlLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLm5hcnJhdG9yRGlhbG9nTm9kZS5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5iYWNrUmVkRG90LmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmJhY2tCdG5Ob2RlLmFjdGl2ZSA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5lbmRUaXBOb2RlLnN0b3BBbGxBY3Rpb25zKCk7XG4gICAgICAgIHRoaXMuZW5kVGlwTm9kZS5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5lbmRUaXBOb2RlLnBvc2l0aW9uID0gdGhpcy5fb3JpZ2luUG9zO1xuICAgICAgICB0aGlzLmVuZFRpcE5vZGUub3BhY2l0eSA9IDI1NTtcblxuICAgICAgICB0aGlzLl9pc1J1bkNsb3NlQWN0aW9uID0gZmFsc2U7XG4gICAgICAgIC8vIHRoaXMuY2xvc2VBY3ROb2RlLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9pc1J1bm5pbmdBY3Rpb24gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5hcnJvd2d1aWRlTm9kZS5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIGNvbXBsZXRlUGxvdENhbGxiYWNrOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICAgIG9uUmV2aWV3QnV0dG9uQ2xpY2tDYWxsYmFjazogKCkgPT4gdm9pZDtcblxuICAgIG9uRW5hYmxlKCkge1xuICAgICAgICB0aGlzLnJlc2V0QXV0b1BsYXlCdXR0b25TdGF0ZSgpO1xuICAgICAgICB0aGlzLm5vZGUub24oY2MuTm9kZS5FdmVudFR5cGUuVE9VQ0hfRU5ELCB0aGlzLnRvdWNoRW5kSGFuZGxlciwgdGhpcyk7XG4gICAgfVxuXG4gICAgb25EaXNhYmxlKCkge1xuICAgICAgICB0aGlzLm5vZGUub2ZmKGNjLk5vZGUuRXZlbnRUeXBlLlRPVUNIX0VORCwgdGhpcy50b3VjaEVuZEhhbmRsZXIsIHRoaXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiDjOaZr+ebkeWQrOWbnuiwg1xuICAgICAqL1xuICAgIHRvdWNoRW5kSGFuZGxlciA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX2F1dG9QbGF5U3RhdGUgPT0gQXV0b1BsYXlTdGF0ZS5DbG9zZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMudHlwZXdyaXRlci5nZXRTaG93aW5nU3RyaW5nKCkgPT0gXCJcIikge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbXBsZXRlUGxvdENhbGxiYWNrKSBhd2FpdCB0aGlzLmNvbXBsZXRlUGxvdENhbGxiYWNrKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMudHlwZXdyaXRlci5zdG9wVHlwZXJTaG93U3RyaW5nKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKuW8leWvvOi/lOWbniAqL1xuICAgIGd1aWRlQmFjaygpIHtcbiAgICAgICAgdGhpcy5ydW5FbmRUaXBBY3Rpb24oKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7nuqbkvJrlnLrmma/lhoXlrrlcbiAgICAgKiBAcGFyYW0gaXNTZWxmIOaYr+WQpuaYr+iHqui6q1xuICAgICAqIEBwYXJhbSB0ZXh0IOaWh+acrOWGheWuuVxuICAgICAqIEBwYXJhbSBuYW1lU3ByIFxuICAgICAqIEBwYXJhbSBuYW1lIOWIq+S6uuWQjeWtl1xuICAgICAqIEBwYXJhbSBwb3J0cmFpdEltZyDnq4vnu5jlm77lkI3lrZdcbiAgICAgKiBAcGFyYW0gb3RoZXJQb3J0cmFpdEltZyDlhbbku5bnq4vnu5jlm77lkI3lrZdcbiAgICAgKiBAcGFyYW0gc2hvd1JvdWdlIOaYr+WQpuaYvuekuuWPo+e6olxuICAgICAqL1xuICAgIGFzeW5jIHNldENvbnRlbnQoaXNTZWxmOiBib29sZWFuLCB0ZXh0OiBzdHJpbmcsIG5hbWVTcHI6IHN0cmluZywgbmFtZT86IHN0cmluZywgcG9ydHJhaXRJbWc/OiBzdHJpbmcsIG90aGVyUG9ydHJhaXRJbWc/OiBzdHJpbmcsIHNob3dSb3VnZT86IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgbGV0IHByb21pc2VzOiBQcm9taXNlPGFueT5bXSA9IFtdO1xuICAgICAgICBpZiAoISgoaXNTZWxmICYmIG90aGVyUG9ydHJhaXRJbWcpIHx8IHBvcnRyYWl0SW1nKSkgeyAvLyDpmLLmraLliIfmjaLov4fnqIvkuK3pl6pcbiAgICAgICAgICAgIHRoaXMucG9ydHJhaXRTcHJpdGUuc3ByaXRlRnJhbWUgPSB1bmRlZmluZWQgYXMgYW55O1xuICAgICAgICB9XG4gICAgICAgIGlmIChwb3J0cmFpdEltZykge1xuICAgICAgICAgICAgaWYgKGlzU2VsZikge1xuICAgICAgICAgICAgICAgIGxldCBwb3J0cmFpdFBhdGggPSBwb3J0cmFpdEltZy5zdWJzdHJpbmcoMCwgcG9ydHJhaXRJbWcubGFzdEluZGV4T2YoXCIvXCIpICsgMSk7XG4gICAgICAgICAgICAgICAgbGV0IGZhY2VJZCA9IHBvcnRyYWl0SW1nLnN1YnN0cmluZyhwb3J0cmFpdEltZy5sYXN0SW5kZXhPZihcIi9cIikgKyAxLCBwb3J0cmFpdEltZy5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIHBvcnRyYWl0SW1nID0gcG9ydHJhaXRQYXRoICsgXCIxL1wiICsgZmFjZUlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcHJvbWlzZXMucHVzaChSZXNVdGlscy5sb2FkUmVzKHBvcnRyYWl0SW1nLCBjYy5TcHJpdGVGcmFtZSkudGhlbigoc2YpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5ub2RlLmFjdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNTZWxmKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGZTbWFsbFBvcnRyYWl0LnNwcml0ZUZyYW1lID0gc2Y7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcnRyYWl0U3ByaXRlLnNwcml0ZUZyYW1lID0gc2Y7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpeFNjcmVlblNpemUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNTZWxmICYmIG90aGVyUG9ydHJhaXRJbWcpIHtcbiAgICAgICAgICAgIHByb21pc2VzLnB1c2goUmVzVXRpbHMubG9hZFJlcyhvdGhlclBvcnRyYWl0SW1nLCBjYy5TcHJpdGVGcmFtZSkudGhlbigoc2YpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnBvcnRyYWl0U3ByaXRlLnNwcml0ZUZyYW1lID0gc2Y7XG4gICAgICAgICAgICAgICAgdGhpcy5maXhTY3JlZW5TaXplKCk7XG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5hbWVTcHIgJiYgIWlzU2VsZiAmJiBcIlwiICE9PSBuYW1lU3ByLnRyaW0oKSkge1xuICAgICAgICAgICAgcHJvbWlzZXMucHVzaChSZXNVdGlscy5sb2FkUmVzKG5hbWVTcHIsIGNjLlNwcml0ZUZyYW1lKS50aGVuKChzZikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub3RoZXJOYW1lU3ByLnNwcml0ZUZyYW1lID0gc2Y7XG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vdGhlckRpYWxvZ05vZGUuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2VsZkRpYWxvZ05vZGUuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIHRoaXMubmFycmF0b3JEaWFsb2dOb2RlLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAvLyBsZXQgcm91Z2VOb2RlID0gdGhpcy5zZWxmRGlhbG9nTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJvdWdlXCIpO1xuICAgICAgICAvLyBsZXQgcGVyVGltZSA9IDAuMDU7XG4gICAgICAgIGlmICh0ZXh0KSB7XG4gICAgICAgICAgICAvLyBsZXQgdGltZSA9IHBlclRpbWUgKiB0ZXh0Lmxlbmd0aDtcbiAgICAgICAgICAgIHRoaXMuX2NvbnRlbnRUZXh0ID0gdGV4dDtcbiAgICAgICAgICAgIHRoaXMuX3RleHRUeXBlcklzT3ZlciA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKGlzU2VsZikgeyAvLyDoh6rlt7FcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGZEaWFsb2dOb2RlLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgLy8gdGhpcy5zZWxmRGlhbG9nTm9kZS5jaGlsZHJlblswXS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IG5hbWUhO1xuICAgICAgICAgICAgICAgIC8vIHRoaXMuc2VsZkRpYWxvZ05vZGUuY2hpbGRyZW5bMV0uZ2V0Q29tcG9uZW50KGNjLlJpY2hUZXh0KS5zdHJpbmcgPSB0ZXh0O1xuICAgICAgICAgICAgICAgIHRoaXMudHlwZXdyaXRlci5zaG93UmljaFRleHRUeXBlcih0aGlzLnNlbGZEaWFsb2dOb2RlLmNoaWxkcmVuWzBdLmdldENvbXBvbmVudChjYy5SaWNoVGV4dCksIHRleHQsXG4gICAgICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3RleHRUeXBlcklzT3ZlciA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH0sICgpID0+IHsgfSwgdGhpcy5fYXV0b1BsYXlTcGVlZFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgLy8gcHJvbWlzZXMucHVzaChBbmltYXRpb25VdGlscy5BY3Rpb25UeXBlV3JpdGVyKHRoaXMuc2VsZkRpYWxvZ05vZGUuY2hpbGRyZW5bMV0uZ2V0Q29tcG9uZW50KGNjLlJpY2hUZXh0KSwgdGV4dCwgdGltZSkpO1xuICAgICAgICAgICAgICAgIC8vIGlmIChyb3VnZU5vZGUpIHtcbiAgICAgICAgICAgICAgICAvLyAgICAgcm91Z2VOb2RlLmFjdGl2ZSA9IHNob3dSb3VnZSA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKG5hbWUpIHsgLy8g5Yir5Lq6XG4gICAgICAgICAgICAgICAgdGhpcy5vdGhlckRpYWxvZ05vZGUuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAvLyB0aGlzLm90aGVyRGlhbG9nTm9kZS5jaGlsZHJlblswXS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IG5hbWUhO1xuICAgICAgICAgICAgICAgIC8vIHRoaXMub3RoZXJEaWFsb2dOb2RlLmNoaWxkcmVuWzFdLmdldENvbXBvbmVudChjYy5SaWNoVGV4dCkuc3RyaW5nID0gdGV4dDtcbiAgICAgICAgICAgICAgICB0aGlzLnR5cGV3cml0ZXIuc2hvd1JpY2hUZXh0VHlwZXIodGhpcy5vdGhlckRpYWxvZ05vZGUuY2hpbGRyZW5bMF0uZ2V0Q29tcG9uZW50KGNjLlJpY2hUZXh0KSwgdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGV4dFR5cGVySXNPdmVyID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSwgKCkgPT4geyB9LCB0aGlzLl9hdXRvUGxheVNwZWVkXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAvLyBwcm9taXNlcy5wdXNoKEFuaW1hdGlvblV0aWxzLkFjdGlvblR5cGVXcml0ZXIodGhpcy5vdGhlckRpYWxvZ05vZGUuY2hpbGRyZW5bMV0uZ2V0Q29tcG9uZW50KGNjLlJpY2hUZXh0KSwgdGV4dCwgdGltZSkpO1xuICAgICAgICAgICAgfSBlbHNlIHsgLy8g5peB55m9XG4gICAgICAgICAgICAgICAgdGhpcy5uYXJyYXRvckRpYWxvZ05vZGUuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAvLyB0aGlzLm5hcnJhdG9yRGlhbG9nTm9kZS5jaGlsZHJlblswXS5nZXRDb21wb25lbnQoY2MuUmljaFRleHQpLnN0cmluZyA9IHRleHQ7XG4gICAgICAgICAgICAgICAgdGhpcy50eXBld3JpdGVyLnNob3dSaWNoVGV4dFR5cGVyKHRoaXMubmFycmF0b3JEaWFsb2dOb2RlLmNoaWxkcmVuWzBdLmdldENvbXBvbmVudChjYy5SaWNoVGV4dCksIHRleHQsXG4gICAgICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3RleHRUeXBlcklzT3ZlciA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH0sICgpID0+IHsgfSwgdGhpcy5fYXV0b1BsYXlTcGVlZFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgLy8gcHJvbWlzZXMucHVzaChBbmltYXRpb25VdGlscy5BY3Rpb25UeXBlV3JpdGVyKHRoaXMubmFycmF0b3JEaWFsb2dOb2RlLmNoaWxkcmVuWzBdLmdldENvbXBvbmVudChjYy5SaWNoVGV4dCksIHRleHQsIHRpbWUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVzZXRBdXRvUGxheUJ1dHRvblN0YXRlKCkge1xuICAgICAgICB0aGlzLl9hdXRvUGxheVNwZWVkID0gMTtcbiAgICAgICAgdGhpcy5fYXV0b1BsYXlTdGF0ZSA9IEF1dG9QbGF5U3RhdGUuQ2xvc2U7XG4gICAgICAgIHRoaXMuX3NraXBCdXR0b25TdGF0ZSA9IEF1dG9QbGF5U3RhdGUuQ2xvc2U7XG4gICAgICAgIHRoaXMuX2F1dG9QbGF5QnV0dG9uU3RhdGUgPSBBdXRvUGxheVN0YXRlLkNsb3NlO1xuICAgICAgICB0aGlzLmNoYW5nZVNraXBCdXR0b25TdGF0ZSh0aGlzLl9hdXRvUGxheVN0YXRlKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VBdXRvUGxheUJ1dHRvblN0YXRlKHRoaXMuX2F1dG9QbGF5U3RhdGUpO1xuICAgIH1cblxuICAgIGNoYW5nZVNraXBCdXR0b25TdGF0ZShzdGF0ZTogQXV0b1BsYXlTdGF0ZSkge1xuICAgICAgICBsZXQgc2tpcExhYmVsID0gdGhpcy5za2lwQnV0dG9uTm9kZS5nZXRDb21wb25lbnRJbkNoaWxkcmVuKGNjLlNwcml0ZSk7XG4gICAgICAgIGlmIChzdGF0ZSA9PSBBdXRvUGxheVN0YXRlLkNsb3NlKSB7XG4gICAgICAgICAgICBza2lwTGFiZWwuc3ByaXRlRnJhbWUgPSB0aGlzLmF1dG9QbGF5U3ByaXRlRnJhbWVbMl07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBza2lwTGFiZWwuc3ByaXRlRnJhbWUgPSB0aGlzLmF1dG9QbGF5U3ByaXRlRnJhbWVbM107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGFuZ2VBdXRvUGxheUJ1dHRvblN0YXRlKHN0YXRlOiBBdXRvUGxheVN0YXRlKSB7XG4gICAgICAgIGxldCBhdXRvUGxheVNwcml0ZSA9IHRoaXMuYXV0b1BsYXlCdXR0b25Ob2RlLmdldENvbXBvbmVudEluQ2hpbGRyZW4oY2MuU3ByaXRlKTtcbiAgICAgICAgaWYgKHN0YXRlID09IEF1dG9QbGF5U3RhdGUuQ2xvc2UpIHtcbiAgICAgICAgICAgIGF1dG9QbGF5U3ByaXRlLnNwcml0ZUZyYW1lID0gdGhpcy5hdXRvUGxheVNwcml0ZUZyYW1lWzBdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYXV0b1BsYXlTcHJpdGUuc3ByaXRlRnJhbWUgPSB0aGlzLmF1dG9QbGF5U3ByaXRlRnJhbWVbMV07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlvIDlp4voh6rliqjmkq3mlL7orqHml7blmahcbiAgICAgKiBAcGFyYW0gc3RhcnROb3cg5piv5ZCm5LiN6L+b6KGM5bu25pe277yM56uL5Y2z5omn6KGM5LiL5LiA5q2l77yM6YCC55So5LqO546p5a6254K55Ye76Ieq5Yqo5pKt5pS+5oyJ6ZKu5LmL5ZCO77yM5peg6ZyA562J5b6FXG4gICAgICovXG4gICAgc3RhcnRBdXRvUGxheVRpbWVyKHN0YXJ0Tm93OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgbGV0IGludGVydmFsOiBudW1iZXIgPSAwO1xuICAgICAgICBpZiAoIXN0YXJ0Tm93KSB7XG4gICAgICAgICAgICAvL+aXtumXtOmXtOmalOeahOiuoeeul+aWueazle+8jOWmguaenHN0YXJ0Tm935Li6dHJ1ZeeahOivne+8jOS4jei/m+ihjOW7tuaXtu+8jOaXtumXtOS4ujDvvIzlkKbliJnvvJpcbiAgICAgICAgICAgIC8v77yI5paH5pys6ZW/5bqmICogNTBtcyAvIHRoaXMuX2F1dG9QbGF5U3BlZWTvvInooajnpLrmlofmnKzotbDlrozmiZPlrZfmnLrmlYjmnpzmiYDpnIDopoHnmoTml7bpl7RcbiAgICAgICAgICAgIC8v77yI5paH5pys6ZW/5bqmICogNjBtcyAvIHRoaXMuX2F1dG9QbGF5U3BlZWTvvInooajnpLrmlofmnKzlrozlhajlsZXnpLrkuYvlkI7lsZXnpLrlgZznlZnnmoTml7bpl7RcbiAgICAgICAgICAgIGludGVydmFsID0gKCh0aGlzLl9jb250ZW50VGV4dC5sZW5ndGggKiA1MCkgLyB0aGlzLl9hdXRvUGxheVNwZWVkKSArICgodGhpcy5fY29udGVudFRleHQubGVuZ3RoICogNjApIC8gdGhpcy5fYXV0b1BsYXlTcGVlZCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fYXV0b1BsYXlUaW1lciA9IHdpbmRvdy5zZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9hdXRvUGxheVN0YXRlID09IEF1dG9QbGF5U3RhdGUuQXV0b1BsYXkpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fdGV4dFR5cGVySXNPdmVyICYmICF0aGlzLl9pc1NwZWNpYWxFZmZlY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY29tcGxldGVQbG90Q2FsbGJhY2spIGF3YWl0IHRoaXMuY29tcGxldGVQbG90Q2FsbGJhY2soKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5zdGFydEF1dG9QbGF5VGltZXIoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2F1dG9QbGF5VGltZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBpbnRlcnZhbCk7XG4gICAgfVxuXG4gICAgZml4U2NyZWVuU2l6ZSgpIHtcbiAgICAgICAgbGV0IGNvbXAgPSB0aGlzLnBvcnRyYWl0U3ByaXRlLm5vZGUuZ2V0Q29tcG9uZW50KFBvcnRyYWl0Rml4Q29tcG9uZW50KTtcbiAgICAgICAgaWYgKGNvbXApIHtcbiAgICAgICAgICAgIGNvbXAuZml4U2NyZWVuU2l6ZSh0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiuvue9ruiDjOaZr1xuICAgICAqIEBwYXJhbSBiZ0ltYWdlIOiDjOaZr+i3r+W+hFxuICAgICAqL1xuICAgIGFzeW5jIHNldEJhY2tncm91bmQoYmdJbWFnZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghYmdJbWFnZSkge1xuICAgICAgICAgICAgdGhpcy5iYWNrZ3JvdW5kU3ByaXRlLnNwcml0ZUZyYW1lID0gdW5kZWZpbmVkIGFzIGFueTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgdGhpcy5iYWNrZ3JvdW5kU3ByaXRlLm5vZGUub3BhY2l0eSA9IDI1NTtcbiAgICAgICAgICAgICAgICBsZXQgc2YgPSBhd2FpdCBSZXNVdGlscy5sb2FkUmVzKGJnSW1hZ2UsIGNjLlNwcml0ZUZyYW1lKTtcbiAgICAgICAgICAgICAgICB0aGlzLmJhY2tncm91bmRTcHJpdGUuc3ByaXRlRnJhbWUgPSBzZjtcbiAgICAgICAgICAgICAgICB0aGlzLmJhY2tncm91bmRTcHJpdGUubm9kZS5oZWlnaHQgPSB0aGlzLm5vZGUuaGVpZ2h0O1xuICAgICAgICAgICAgICAgIHRoaXMuYmFja2dyb3VuZFNwcml0ZS5ub2RlLndpZHRoID0gc2YuZ2V0T3JpZ2luYWxTaXplKCkud2lkdGggLyBzZi5nZXRPcmlnaW5hbFNpemUoKS5oZWlnaHQgKiB0aGlzLm5vZGUuaGVpZ2h0O1xuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7og4zmma8o54m55q6K5pWI5p6cKVxuICAgICAqIEBwYXJhbSBiZ0ltYWdlIOiDjOaZr+i3r+W+hFxuICAgICAqL1xuICAgIGFzeW5jIHNldEJhY2tncm91bmRFZmZlY3QoYmdJbWFnZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2lzU3BlY2lhbEVmZmVjdCA9IHRydWU7XG4gICAgICAgIGxldCBkaWFsb2dOb2Rlc0FjdGl2ZTogYm9vbGVhbltdID0gW3RoaXMub3RoZXJEaWFsb2dOb2RlLmFjdGl2ZSwgdGhpcy5zZWxmRGlhbG9nTm9kZS5hY3RpdmUsIHRoaXMubmFycmF0b3JEaWFsb2dOb2RlLmFjdGl2ZV07XG4gICAgICAgIHRoaXMub3RoZXJEaWFsb2dOb2RlLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGZEaWFsb2dOb2RlLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLm5hcnJhdG9yRGlhbG9nTm9kZS5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgaWYgKCFiZ0ltYWdlKSB7XG4gICAgICAgICAgICB0aGlzLmJhY2tncm91bmRTcHJpdGUubm9kZS5vcGFjaXR5ID0gMjU1O1xuICAgICAgICAgICAgY2MudHdlZW4odGhpcy5iYWNrZ3JvdW5kU3ByaXRlLm5vZGUpXG4gICAgICAgICAgICAgICAgLnRvKDEsIHsgb3BhY2l0eTogMCB9KVxuICAgICAgICAgICAgICAgIC5jYWxsKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWNrZ3JvdW5kU3ByaXRlLnNwcml0ZUZyYW1lID0gdW5kZWZpbmVkIGFzIGFueTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vdGhlckRpYWxvZ05vZGUuYWN0aXZlID0gZGlhbG9nTm9kZXNBY3RpdmVbMF07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZkRpYWxvZ05vZGUuYWN0aXZlID0gZGlhbG9nTm9kZXNBY3RpdmVbMV07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmFycmF0b3JEaWFsb2dOb2RlLmFjdGl2ZSA9IGRpYWxvZ05vZGVzQWN0aXZlWzJdO1xuICAgICAgICAgICAgICAgIH0pLnN0YXJ0KCk7XG4gICAgICAgICAgICBpZiAodGhpcy5iYWNrZ3JvdW5kU3ByaXRlLnNwcml0ZUZyYW1lKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lZmZlY3RCYWNrZ3JvdW5kU3ByaXRlLm5vZGUuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmVmZmVjdEJhY2tncm91bmRTcHJpdGUubm9kZS5vcGFjaXR5ID0gMjU1O1xuICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuZWZmZWN0QmFja2dyb3VuZFNwcml0ZS5ub2RlKVxuICAgICAgICAgICAgICAgICAgICAudG8oMSwgeyBvcGFjaXR5OiAwIH0pXG4gICAgICAgICAgICAgICAgICAgIC5jYWxsKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWZmZWN0QmFja2dyb3VuZFNwcml0ZS5ub2RlLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5faXNTcGVjaWFsRWZmZWN0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH0pLnN0YXJ0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHRoaXMuZWZmZWN0QmFja2dyb3VuZFNwcml0ZS5ub2RlLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5lZmZlY3RCYWNrZ3JvdW5kU3ByaXRlLm5vZGUub3BhY2l0eSA9IDA7XG4gICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5lZmZlY3RCYWNrZ3JvdW5kU3ByaXRlLm5vZGUpXG4gICAgICAgICAgICAgICAgICAgIC50bygxLCB7IG9wYWNpdHk6IDI1NSB9KVxuICAgICAgICAgICAgICAgICAgICAuY2FsbCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYy50d2Vlbih0aGlzLmVmZmVjdEJhY2tncm91bmRTcHJpdGUubm9kZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudG8oMSwgeyBvcGFjaXR5OiAwIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVmZmVjdEJhY2tncm91bmRTcHJpdGUubm9kZS5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5zdGFydCgpO1xuICAgICAgICAgICAgICAgICAgICB9KS5zdGFydCgpO1xuICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFja2dyb3VuZFNwcml0ZS5ub2RlKVxuICAgICAgICAgICAgICAgICAgICAudG8oMSwgeyBvcGFjaXR5OiAwIH0pXG4gICAgICAgICAgICAgICAgICAgIC5jYWxsKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzZiA9IGF3YWl0IFJlc1V0aWxzLmxvYWRSZXMoYmdJbWFnZSwgY2MuU3ByaXRlRnJhbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWNrZ3JvdW5kU3ByaXRlLnNwcml0ZUZyYW1lID0gc2Y7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhY2tncm91bmRTcHJpdGUubm9kZS5oZWlnaHQgPSB0aGlzLm5vZGUuaGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWNrZ3JvdW5kU3ByaXRlLm5vZGUud2lkdGggPSBzZi5nZXRPcmlnaW5hbFNpemUoKS53aWR0aCAvIHNmLmdldE9yaWdpbmFsU2l6ZSgpLmhlaWdodCAqIHRoaXMubm9kZS5oZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYy50d2Vlbih0aGlzLmJhY2tncm91bmRTcHJpdGUubm9kZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudG8oMSwgeyBvcGFjaXR5OiAyNTUgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY2FsbCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3RoZXJEaWFsb2dOb2RlLmFjdGl2ZSA9IGRpYWxvZ05vZGVzQWN0aXZlWzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGZEaWFsb2dOb2RlLmFjdGl2ZSA9IGRpYWxvZ05vZGVzQWN0aXZlWzFdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5hcnJhdG9yRGlhbG9nTm9kZS5hY3RpdmUgPSBkaWFsb2dOb2Rlc0FjdGl2ZVsyXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5faXNTcGVjaWFsRWZmZWN0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkuc3RhcnQoKTtcbiAgICAgICAgICAgICAgICAgICAgfSkuc3RhcnQoKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcnVuRW5kVGlwQWN0aW9uKCkge1xuICAgICAgICB0aGlzLnNldElzUnVubmluZ0FjdGlvbih0cnVlKTtcbiAgICAgICAgbGV0IG9mZnNldFk6IG51bWJlciA9IDMwMDtcbiAgICAgICAgbGV0IGFjdFRpbWU6IG51bWJlciA9IDEuNTtcbiAgICAgICAgdGhpcy5lbmRUaXBOb2RlLnN0b3BBbGxBY3Rpb25zKCk7XG4gICAgICAgIHRoaXMuZW5kVGlwTm9kZS5hY3RpdmUgPSB0cnVlO1xuICAgICAgICB0aGlzLmVuZFRpcE5vZGUuc2NhbGUgPSAxO1xuICAgICAgICB0aGlzLmVuZFRpcE5vZGUub3BhY2l0eSA9IDI1NTtcbiAgICAgICAgdGhpcy5lbmRUaXBOb2RlLnBvc2l0aW9uID0gY2MudjMoLTI2NSwgdGhpcy5fb3JpZ2luUG9zLnkgLSBvZmZzZXRZLCAwKTtcbiAgICAgICAgdGhpcy5lbmRUaXBOb2RlLm9wYWNpdHkgPSAwO1xuXG4gICAgICAgIGxldCBlYXNlID0gY2MuZWFzZVNpbmVJbk91dCgpO1xuICAgICAgICBsZXQgbW92ZUFjdCA9IGNjLm1vdmVUbyhhY3RUaW1lLCBjYy52MigtMjY1LCB0aGlzLl9vcmlnaW5Qb3MueSkpLmVhc2luZyhlYXNlKTtcbiAgICAgICAgbGV0IGZhZGVJbkFjdCA9IGNjLmZhZGVJbihhY3RUaW1lKS5lYXNpbmcoZWFzZSk7XG4gICAgICAgIGxldCBzcGF3biA9IGNjLnNwYXduKG1vdmVBY3QsIGZhZGVJbkFjdCk7XG5cbiAgICAgICAgbGV0IGNhbGwgPSBjYy5jYWxsRnVuYygoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmJhY2tSZWREb3QuYWN0aXZlID0gdHJ1ZTtcblxuICAgICAgICAgICAgLy8gaWYgKCF0aGlzLl9pc1J1bkNsb3NlQWN0aW9uKSB7XG4gICAgICAgICAgICAvLyAgICAgU0RLLnNob3dJbnRlcnN0aXRpYWxBZCgpO1xuICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgdGhpcy5zZXRJc1J1bm5pbmdBY3Rpb24oZmFsc2UpO1xuICAgICAgICB9KTtcblxuICAgICAgICBsZXQgc2hvd0Fycm93R3VpZGVDYWxsID0gY2MuY2FsbEZ1bmMoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hcnJvd2d1aWRlTm9kZS5hY3RpdmUgPSB0cnVlO1xuICAgICAgICB9KTtcbiAgICAgICAgbGV0IGFjdFRpbWUyOiBudW1iZXIgPSAyO1xuICAgICAgICBsZXQgc2VxID0gY2Muc2VxdWVuY2Uoc3Bhd24sIGNhbGwsIGNjLnNwYXduKGNjLm1vdmVUbygxLCBjYy52Mih0aGlzLmJhY2tCdG5Ob2RlLnBvc2l0aW9uLngsIHRoaXMuYmFja0J0bk5vZGUucG9zaXRpb24ueSkpLCBjYy5zY2FsZVRvKGFjdFRpbWUyLCAwKSksIHNob3dBcnJvd0d1aWRlQ2FsbCk7XG5cbiAgICAgICAgdGhpcy5lbmRUaXBOb2RlLnJ1bkFjdGlvbihzZXEpO1xuICAgIH1cblxuICAgIHNldFJ1bkNsb3NlQWN0aW9uKHJ1bjogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9pc1J1bkNsb3NlQWN0aW9uID0gcnVuO1xuICAgIH1cblxuICAgIHJ1bkNsb3NlQWN0aW9uKCkge1xuICAgICAgICB0aGlzLmNsb3NlVmlldygpO1xuICAgIH1cblxuXG4gICAgZ2V0Q2hhcHRlckJ0biA9ICgpOiBjYy5QcmVmYWIgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGFwdGVyQnRuO1xuICAgIH1cblxuICAgIG9uUmVmcmVzaEFsbFN0YXR1cygpIHtcbiAgICAgICAgdGhpcy5jbG9zZUFjdGlvbigpO1xuICAgIH1cblxuICAgIG9uUmV2aWV3QnV0dG9uQ2xpY2soKSB7XG4gICAgICAgIHRoaXMucmVzZXRBdXRvUGxheUJ1dHRvblN0YXRlKCk7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9hdXRvUGxheVRpbWVyKTtcbiAgICAgICAgdGhpcy5vblJldmlld0J1dHRvbkNsaWNrQ2FsbGJhY2soKTtcbiAgICB9XG5cbiAgICBvblNraXBCdXR0b25DbGljaygpIHtcbiAgICAgICAgdGhpcy5fc2tpcEJ1dHRvblN0YXRlID0gdGhpcy5fc2tpcEJ1dHRvblN0YXRlID09IEF1dG9QbGF5U3RhdGUuQ2xvc2UgPyBBdXRvUGxheVN0YXRlLkF1dG9QbGF5IDogQXV0b1BsYXlTdGF0ZS5DbG9zZTtcbiAgICAgICAgdGhpcy5fYXV0b1BsYXlTdGF0ZSA9IHRoaXMuX3NraXBCdXR0b25TdGF0ZTtcbiAgICAgICAgaWYgKHRoaXMuX2F1dG9QbGF5U3RhdGUgPT0gQXV0b1BsYXlTdGF0ZS5BdXRvUGxheSkge1xuICAgICAgICAgICAgdGhpcy5fYXV0b1BsYXlTcGVlZCA9IDIwO1xuICAgICAgICAgICAgdGhpcy5zdGFydEF1dG9QbGF5VGltZXIodHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZVNraXBCdXR0b25TdGF0ZSh0aGlzLl9hdXRvUGxheVN0YXRlKTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlQXV0b1BsYXlCdXR0b25TdGF0ZShBdXRvUGxheVN0YXRlLkNsb3NlKTtcbiAgICAgICAgICAgIHRoaXMuX2F1dG9QbGF5QnV0dG9uU3RhdGUgPSBBdXRvUGxheVN0YXRlLkNsb3NlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZXNldEF1dG9QbGF5QnV0dG9uU3RhdGUoKTtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9hdXRvUGxheVRpbWVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQXV0b1BsYXlCdXR0b25DbGljaygpIHtcbiAgICAgICAgdGhpcy5fYXV0b1BsYXlCdXR0b25TdGF0ZSA9IHRoaXMuX2F1dG9QbGF5QnV0dG9uU3RhdGUgPT0gQXV0b1BsYXlTdGF0ZS5DbG9zZSA/IEF1dG9QbGF5U3RhdGUuQXV0b1BsYXkgOiBBdXRvUGxheVN0YXRlLkNsb3NlO1xuICAgICAgICB0aGlzLl9hdXRvUGxheVN0YXRlID0gdGhpcy5fYXV0b1BsYXlCdXR0b25TdGF0ZTtcbiAgICAgICAgaWYgKHRoaXMuX2F1dG9QbGF5U3RhdGUgPT0gQXV0b1BsYXlTdGF0ZS5BdXRvUGxheSkge1xuICAgICAgICAgICAgdGhpcy5fYXV0b1BsYXlTcGVlZCA9IDE7XG4gICAgICAgICAgICB0aGlzLnN0YXJ0QXV0b1BsYXlUaW1lcih0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlU2tpcEJ1dHRvblN0YXRlKEF1dG9QbGF5U3RhdGUuQ2xvc2UpO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VBdXRvUGxheUJ1dHRvblN0YXRlKHRoaXMuX2F1dG9QbGF5U3RhdGUpO1xuICAgICAgICAgICAgdGhpcy5fc2tpcEJ1dHRvblN0YXRlID0gQXV0b1BsYXlTdGF0ZS5DbG9zZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVzZXRBdXRvUGxheUJ1dHRvblN0YXRlKCk7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fYXV0b1BsYXlUaW1lcik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
\ No newline at end of file
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvZ2FtZS91aS92aWV3L2ltcGwvZGF0aW5nL0RhdGluZ1NjZW5lVmlld0ltcGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkVBQW9FO0FBQ3BFLGdFQUFrRjtBQUNsRiw0RUFBMEQ7QUFDMUQseUVBQTJGO0FBQzNGLHlEQUE2QztBQUM3Qyw0RUFBcUU7QUFDckUsZ0dBQXlGO0FBQ3pGLDBEQUF1RDtBQUN2RCx5RUFBc0U7QUFFdEUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDO0FBRTVDLElBQVksYUFHWDtBQUhELFdBQVksYUFBYTtJQUNyQixtREFBUyxDQUFBO0lBQ1QseURBQVEsQ0FBQTtBQUNaLENBQUMsRUFIVyxhQUFhLEdBQWIscUJBQWEsS0FBYixxQkFBYSxRQUd4QjtBQUVELElBQVksWUFHWDtBQUhELFdBQVksWUFBWTtJQUNwQiwrQ0FBUSxDQUFBO0lBQ1IscURBQU8sQ0FBQTtBQUNYLENBQUMsRUFIVyxZQUFZLEdBQVosb0JBQVksS0FBWixvQkFBWSxRQUd2QjtBQUlEO0lBQUEsSUFBYSxtQkFBbUIsR0FBaEMsTUFBYSxtQkFBb0IsU0FBUSxtQkFBTTtRQUEvQzs7WUFDSSx5QkFBeUI7WUFFakIscUJBQWdCLEdBQUcsNEJBQVcsQ0FBQztZQUUvQiwyQkFBc0IsR0FBRyw0QkFBVyxDQUFDO1lBRXJDLG1CQUFjLEdBQUcsNEJBQVcsQ0FBQztZQUU3QixzQkFBaUIsR0FBRyw0QkFBVyxDQUFDO1lBRWhDLG9CQUFlLEdBQUcsMEJBQVMsQ0FBQztZQUU1QixtQkFBYyxHQUFHLDBCQUFTLENBQUM7WUFFM0IsdUJBQWtCLEdBQUcsMEJBQVMsQ0FBQztZQUUvQixlQUFVLEdBQUcsMEJBQVMsQ0FBQztZQUd2QixnQkFBVyxHQUFHLDBCQUFTLENBQUM7WUFHeEIsZUFBVSxHQUFHLDBCQUFTLENBQUM7WUFHdkIsbUJBQWMs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QUFDLE1BQU0sQ0FBQzs2REFDZTtJQUduQztRQURDLFFBQVEsQ0FBQyxvQkFBVSxDQUFDOzJEQUMrQztJQUdwRTtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOytEQUNpQjtJQUVuQztRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO21FQUNxQjtJQUV2QztRQURDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQztvRUFDTTtJQXZDeEIsbUJBQW1CO1FBRi9CLE9BQU87UUFDUCxnQ0FBTyxDQUFDLHFDQUFtQixFQUFFLDJCQUEyQixDQUFDO09BQzdDLG1CQUFtQixDQXNjL0I7SUFBRCwwQkFBQztLQUFBO0FBdGNZLGtEQUFtQiIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENDVmlldyB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9jb21tb24vY2xhc3NiYXNlL0NDVmlld0Jhc2VcIjtcbmltcG9ydCB7IERhdGluZ1NjZW5lVmlldywgRGF0aW5nU2NlbmVWaWV3VHlwZSB9IGZyb20gXCIuLi8uLi90eXBlL0RhdGluZ1NjZW5lVmlld1wiO1xuaW1wb3J0IHsgUmVnVmlldyB9IGZyb20gXCIuLi8uLi8uLi9QcmVzZW50ZXJDQ1ZpZXdGYWN0b3J5XCI7XG5pbXBvcnQgeyBEdW1teVNwcml0ZSwgRHVtbXlOb2RlLCBEdW1teVByZWZhYiB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9jb21tb24vQ0NEdW1teU9iamVjdHNcIjtcbmltcG9ydCB7IFJlc1V0aWxzIH0gZnJvbSBcInNpbWJhLWNjLXJlc3V0aWxzXCI7XG5pbXBvcnQgVHlwZXdyaXRlciBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vY29tbW9uL2NvbXBvbmVudHMvVHlwZXdyaXRlclwiO1xuaW1wb3J0IFBvcnRyYWl0Rml4Q29tcG9uZW50IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9jb21tb24vY29tcG9uZW50cy9Qb3J0cmFpdEZpeENvbXBvbmVudFwiO1xuaW1wb3J0IHsgR2FtZUNvbmZpZyB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9HYW1lQ29uZmlnXCI7XG5pbXBvcnQgeyBHYW1lTW9kZWxNYW5hZ2VyIH0gZnJvbSBcIi4uLy4uLy4uLy4uL21vZGVsL0dhbWVNb2RlbE1hbmFnZXJcIjtcblxuY29uc3QgeyBjY2NsYXNzLCBwcm9wZXJ0eSB9ID0gY2MuX2RlY29yYXRvcjtcblxuZXhwb3J0IGVudW0gQXV0b1BsYXlTdGF0ZSB7XG4gICAgQ2xvc2UgPSAwLFxuICAgIEF1dG9QbGF5XG59XG5cbmV4cG9ydCBlbnVtIEF1dG9QbGF5VHlwZSB7XG4gICAgU2tpcCA9IDAsXG4gICAgU3BlZWR4MVxufVxuXG5AY2NjbGFzc1xuQFJlZ1ZpZXcoRGF0aW5nU2NlbmVWaWV3VHlwZSwgXCJwcmVmYWIvdWkvRGF0aW5nU2NlbmVWaWV3XCIpXG5leHBvcnQgY2xhc3MgRGF0aW5nU2NlbmVWaWV3SW1wbCBleHRlbmRzIENDVmlldyBpbXBsZW1lbnRzIERhdGluZ1NjZW5lVmlldyB7XG4gICAgLy8jcmVnaW9uIGVkaXRvciBiaW5kaW5nc1xuICAgIEBwcm9wZXJ0eShjYy5TcHJpdGUpXG4gICAgcHJpdmF0ZSBiYWNrZ3JvdW5kU3ByaXRlID0gRHVtbXlTcHJpdGU7XG4gICAgQHByb3BlcnR5KGNjLlNwcml0ZSlcbiAgICBwcml2YXRlIGVmZmVjdEJhY2tncm91bmRTcHJpdGUgPSBEdW1teVNwcml0ZTtcbiAgICBAcHJvcGVydHkoY2MuU3ByaXRlKVxuICAgIHByaXZhdGUgcG9ydHJhaXRTcHJpdGUgPSBEdW1teVNwcml0ZTtcbiAgICBAcHJvcGVydHkoY2MuU3ByaXRlKVxuICAgIHByaXZhdGUgc2VsZlNtYWxsUG9ydHJhaXQgPSBEdW1teVNwcml0ZTtcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcbiAgICBwcml2YXRlIG90aGVyRGlhbG9nTm9kZSA9IER1bW15Tm9kZTtcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcbiAgICBwcml2YXRlIHNlbGZEaWFsb2dOb2RlID0gRHVtbXlOb2RlO1xuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxuICAgIHByaXZhdGUgbmFycmF0b3JEaWFsb2dOb2RlID0gRHVtbXlOb2RlO1xuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxuICAgIHByaXZhdGUgYmFja1JlZERvdCA9IER1bW15Tm9kZTtcblxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxuICAgIHByaXZhdGUgYmFja0J0bk5vZGUgPSBEdW1teU5vZGU7XG5cbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcbiAgICBwcml2YXRlIGVuZFRpcE5vZGUgPSBEdW1teU5vZGU7XG5cbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcbiAgICBwcml2YXRlIGFycm93Z3VpZGVOb2RlID0gRHVtbXlOb2RlO1xuXG4gICAgQHByb3BlcnR5KGNjLlNwcml0ZSlcbiAgICBwcml2YXRlIG90aGVyTmFtZVNwciA9IER1bW15U3ByaXRlO1xuXG4gICAgQHByb3BlcnR5KFR5cGV3cml0ZXIpXG4gICAgcHJpdmF0ZSB0eXBld3JpdGVyOiBUeXBld3JpdGVyID0gdW5kZWZpbmVkIGFzIHVua25vd24gYXMgVHlwZXdyaXRlcjtcblxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxuICAgIHByaXZhdGUgc2tpcEJ1dHRvbk5vZGUgPSBEdW1teU5vZGU7XG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXG4gICAgcHJpdmF0ZSBhdXRvUGxheUJ1dHRvbk5vZGUgPSBEdW1teU5vZGU7XG4gICAgQHByb3BlcnR5KFtjYy5TcHJpdGVGcmFtZV0pXG4gICAgcHJpdmF0ZSBhdXRvUGxheVNwcml0ZUZyYW1lID0gW107XG5cblxuICAgIHByaXZhdGUgX29yaWdpblBvczogY2MuVmVjMyA9IGNjLnYzKC0yNjUsIDY4LCAwKTtcblxuICAgIHByaXZhdGUgX2lzUnVuQ2xvc2VBY3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByaXZhdGUgX2lzUnVubmluZ0FjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBfY29udGVudFRleHQ6IHN0cmluZyA9IFwiXCI7XG4gICAgcHJpdmF0ZSBfYXV0b1BsYXlUaW1lcjogbnVtYmVyID0gLTE7XG4gICAgcHJpdmF0ZSBfc2tpcEJ1dHRvblN0YXRlOiBudW1iZXIgPSAwO1xuICAgIHByaXZhdGUgX2F1dG9QbGF5QnV0dG9uU3RhdGU6IG51bWJlciA9IDA7XG4gICAgcHJpdmF0ZSBfYXV0b1BsYXlTdGF0ZTogbnVtYmVyID0gLTE7XG4gICAgcHJpdmF0ZSBfYXV0b1BsYXlTcGVlZDogbnVtYmVyID0gMTtcbiAgICBwcml2YXRlIF90ZXh0VHlwZXJJc092ZXI6IGJvb2xlYW4gPSB0cnVlO1xuICAgIHByaXZhdGUgX2lzU3BlY2lhbEVmZmVjdDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5pi+56S66L+U5Zue5oyJ6ZKuXG4gICAgICogQHBhcmFtIHNob3cgYm9vbFxuICAgICAqL1xuICAgIHNob3dCYWNrQnRuKHNob3c6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5iYWNrQnRuTm9kZSEuYWN0aXZlID0gc2hvdztcbiAgICAgICAgaWYgKHNob3cpIHtcbiAgICAgICAgICAgIHRoaXMuYmFja0J0bk5vZGUuZ2V0Q29tcG9uZW50KGNjLldpZGdldCkudXBkYXRlQWxpZ25tZW50KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbG9zZUFjdGlvbigpIHtcbiAgICAgICAgR2FtZU1vZGVsTWFuYWdlci5zZXRJc01haW5QbG90U2NlbmVUeXBlKGZhbHNlKTtcbiAgICAgICAgR2FtZUNvbmZpZy5pc1ZlcmIgPSBmYWxzZTtcbiAgICAgICAgLy/muIXpmaToh6rliqjmkq3mlL7orqHml7blmahcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2F1dG9QbGF5VGltZXIpO1xuICAgICAgICBpZiAodGhpcy5faXNSdW5DbG9zZUFjdGlvbikge1xuICAgICAgICAgICAgdGhpcy5ydW5DbG9zZUFjdGlvbigpO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLl9pc1J1bm5pbmdBY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VWaWV3KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRJc1J1bm5pbmdBY3Rpb24gPSAoaXNSdW5uaW5nOiBib29sZWFuKSA9PiB7XG4gICAgICAgIHRoaXMuX2lzUnVubmluZ0FjdGlvbiA9IGlzUnVubmluZztcbiAgICB9XG5cbiAgICBjbG9zZVZpZXcoKSB7XG4gICAgICAgIHRoaXMuYmFja2dyb3VuZFNwcml0ZS5zcHJpdGVGcmFtZSA9IHVuZGVmaW5lZCBhcyBhbnk7XG4gICAgICAgIHRoaXMucG9ydHJhaXRTcHJpdGUuc3ByaXRlRnJhbWUgPSB1bmRlZmluZWQgYXMgYW55O1xuICAgICAgICB0aGlzLnNlbGZTbWFsbFBvcnRyYWl0LnNwcml0ZUZyYW1lID0gdW5kZWZpbmVkIGFzIGFueTtcbiAgICAgICAgdGhpcy5vdGhlckRpYWxvZ05vZGUuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2VsZkRpYWxvZ05vZGUuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIHRoaXMubmFycmF0b3JEaWFsb2dOb2RlLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmJhY2tSZWREb3QuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuYmFja0J0bk5vZGUuYWN0aXZlID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLmVuZFRpcE5vZGUuc3RvcEFsbEFjdGlvbnMoKTtcbiAgICAgICAgdGhpcy5lbmRUaXBOb2RlLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmVuZFRpcE5vZGUucG9zaXRpb24gPSB0aGlzLl9vcmlnaW5Qb3M7XG4gICAgICAgIHRoaXMuZW5kVGlwTm9kZS5vcGFjaXR5ID0gMjU1O1xuXG4gICAgICAgIHRoaXMuX2lzUnVuQ2xvc2VBY3Rpb24gPSBmYWxzZTtcbiAgICAgICAgLy8gdGhpcy5jbG9zZUFjdE5vZGUuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2lzUnVubmluZ0FjdGlvbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmFycm93Z3VpZGVOb2RlLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgY29tcGxldGVQbG90Q2FsbGJhY2s6ICgpID0+IFByb21pc2U8dm9pZD47XG4gICAgb25SZXZpZXdCdXR0b25DbGlja0NhbGxiYWNrOiAoKSA9PiB2b2lkO1xuXG4gICAgb25FbmFibGUoKSB7XG4gICAgICAgIHRoaXMucmVzZXRBdXRvUGxheUJ1dHRvblN0YXRlKCk7XG4gICAgICAgIHRoaXMubm9kZS5vbihjYy5Ob2RlLkV2ZW50VHlwZS5UT1VDSF9FTkQsIHRoaXMudG91Y2hFbmRIYW5kbGVyLCB0aGlzKTtcbiAgICB9XG5cbiAgICBvbkRpc2FibGUoKSB7XG4gICAgICAgIHRoaXMubm9kZS5vZmYoY2MuTm9kZS5FdmVudFR5cGUuVE9VQ0hfRU5ELCB0aGlzLnRvdWNoRW5kSGFuZGxlciwgdGhpcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6IOM5pmv55uR5ZCs5Zue6LCDXG4gICAgICovXG4gICAgdG91Y2hFbmRIYW5kbGVyID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fYXV0b1BsYXlTdGF0ZSA9PSBBdXRvUGxheVN0YXRlLkNsb3NlKSB7XG4gICAgICAgICAgICBpZiAodGhpcy50eXBld3JpdGVyLmdldFNob3dpbmdTdHJpbmcoKSA9PSBcIlwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29tcGxldGVQbG90Q2FsbGJhY2spIGF3YWl0IHRoaXMuY29tcGxldGVQbG90Q2FsbGJhY2soKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy50eXBld3JpdGVyLnN0b3BUeXBlclNob3dTdHJpbmcoKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoq5byV5a+86L+U5ZueICovXG4gICAgZ3VpZGVCYWNrKCkge1xuICAgICAgICB0aGlzLnJ1bkVuZFRpcEFjdGlvbigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiuvue9rue6puS8muWcuuaZr+WGheWuuVxuICAgICAqIEBwYXJhbSBpc1NlbGYg5piv5ZCm5piv6Ieq6LqrXG4gICAgICogQHBhcmFtIHRleHQg5paH5pys5YaF5a65XG4gICAgICogQHBhcmFtIG5hbWVTcHIgXG4gICAgICogQHBhcmFtIG5hbWUg5Yir5Lq65ZCN5a2XXG4gICAgICogQHBhcmFtIHBvcnRyYWl0SW1nIOeri+e7mOWbvuWQjeWtl1xuICAgICAqIEBwYXJhbSBvdGhlclBvcnRyYWl0SW1nIOWFtuS7lueri+e7mOWbvuWQjeWtl1xuICAgICAqIEBwYXJhbSBzaG93Um91Z2Ug5piv5ZCm5pi+56S65Y+j57qiXG4gICAgICovXG4gICAgYXN5bmMgc2V0Q29udGVudChpc1NlbGY6IGJvb2xlYW4sIHRleHQ6IHN0cmluZywgbmFtZVNwcjogc3RyaW5nLCBuYW1lPzogc3RyaW5nLCBwb3J0cmFpdEltZz86IHN0cmluZywgb3RoZXJQb3J0cmFpdEltZz86IHN0cmluZywgc2hvd1JvdWdlPzogYm9vbGVhbik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBsZXQgcHJvbWlzZXM6IFByb21pc2U8YW55PltdID0gW107XG4gICAgICAgIGlmICghKChpc1NlbGYgJiYgb3RoZXJQb3J0cmFpdEltZykgfHwgcG9ydHJhaXRJbWcpKSB7IC8vIOmYsuatouWIh+aNoui/h+eoi+S4remXqlxuICAgICAgICAgICAgdGhpcy5wb3J0cmFpdFNwcml0ZS5zcHJpdGVGcmFtZSA9IHVuZGVmaW5lZCBhcyBhbnk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBvcnRyYWl0SW1nKSB7XG4gICAgICAgICAgICBpZiAoaXNTZWxmKSB7XG4gICAgICAgICAgICAgICAgbGV0IHBvcnRyYWl0UGF0aCA9IHBvcnRyYWl0SW1nLnN1YnN0cmluZygwLCBwb3J0cmFpdEltZy5sYXN0SW5kZXhPZihcIi9cIikgKyAxKTtcbiAgICAgICAgICAgICAgICBsZXQgZmFjZUlkID0gcG9ydHJhaXRJbWcuc3Vic3RyaW5nKHBvcnRyYWl0SW1nLmxhc3RJbmRleE9mKFwiL1wiKSArIDEsIHBvcnRyYWl0SW1nLmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgcG9ydHJhaXRJbWcgPSBwb3J0cmFpdFBhdGggKyBcIjEvXCIgKyBmYWNlSWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwcm9taXNlcy5wdXNoKFJlc1V0aWxzLmxvYWRSZXMocG9ydHJhaXRJbWcsIGNjLlNwcml0ZUZyYW1lKS50aGVuKChzZikgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm5vZGUuYWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc1NlbGYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZlNtYWxsUG9ydHJhaXQuc3ByaXRlRnJhbWUgPSBzZjtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucG9ydHJhaXRTcHJpdGUuc3ByaXRlRnJhbWUgPSBzZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZml4U2NyZWVuU2l6ZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc1NlbGYgJiYgb3RoZXJQb3J0cmFpdEltZykge1xuICAgICAgICAgICAgcHJvbWlzZXMucHVzaChSZXNVdGlscy5sb2FkUmVzKG90aGVyUG9ydHJhaXRJbWcsIGNjLlNwcml0ZUZyYW1lKS50aGVuKChzZikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucG9ydHJhaXRTcHJpdGUuc3ByaXRlRnJhbWUgPSBzZjtcbiAgICAgICAgICAgICAgICB0aGlzLmZpeFNjcmVlblNpemUoKTtcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobmFtZVNwciAmJiAhaXNTZWxmICYmIFwiXCIgIT09IG5hbWVTcHIudHJpbSgpKSB7XG4gICAgICAgICAgICBwcm9taXNlcy5wdXNoKFJlc1V0aWxzLmxvYWRSZXMobmFtZVNwciwgY2MuU3ByaXRlRnJhbWUpLnRoZW4oKHNmKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vdGhlck5hbWVTcHIuc3ByaXRlRnJhbWUgPSBzZjtcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm90aGVyRGlhbG9nTm9kZS5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWxmRGlhbG9nTm9kZS5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5uYXJyYXRvckRpYWxvZ05vZGUuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIC8vIGxldCByb3VnZU5vZGUgPSB0aGlzLnNlbGZEaWFsb2dOb2RlLmdldENoaWxkQnlOYW1lKFwicm91Z2VcIik7XG4gICAgICAgIC8vIGxldCBwZXJUaW1lID0gMC4wNTtcbiAgICAgICAgaWYgKHRleHQpIHtcbiAgICAgICAgICAgIC8vIGxldCB0aW1lID0gcGVyVGltZSAqIHRleHQubGVuZ3RoO1xuICAgICAgICAgICAgdGhpcy5fY29udGVudFRleHQgPSB0ZXh0O1xuICAgICAgICAgICAgdGhpcy5fdGV4dFR5cGVySXNPdmVyID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAoaXNTZWxmKSB7IC8vIOiHquW3sVxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZkRpYWxvZ05vZGUuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnNlbGZEaWFsb2dOb2RlLmNoaWxkcmVuWzBdLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gbmFtZSE7XG4gICAgICAgICAgICAgICAgLy8gdGhpcy5zZWxmRGlhbG9nTm9kZS5jaGlsZHJlblsxXS5nZXRDb21wb25lbnQoY2MuUmljaFRleHQpLnN0cmluZyA9IHRleHQ7XG4gICAgICAgICAgICAgICAgdGhpcy50eXBld3JpdGVyLnNob3dSaWNoVGV4dFR5cGVyKHRoaXMuc2VsZkRpYWxvZ05vZGUuY2hpbGRyZW5bMF0uZ2V0Q29tcG9uZW50KGNjLlJpY2hUZXh0KSwgdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGV4dFR5cGVySXNPdmVyID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSwgKCkgPT4geyB9LCB0aGlzLl9hdXRvUGxheVNwZWVkXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAvLyBwcm9taXNlcy5wdXNoKEFuaW1hdGlvblV0aWxzLkFjdGlvblR5cGVXcml0ZXIodGhpcy5zZWxmRGlhbG9nTm9kZS5jaGlsZHJlblsxXS5nZXRDb21wb25lbnQoY2MuUmljaFRleHQpLCB0ZXh0LCB0aW1lKSk7XG4gICAgICAgICAgICAgICAgLy8gaWYgKHJvdWdlTm9kZSkge1xuICAgICAgICAgICAgICAgIC8vICAgICByb3VnZU5vZGUuYWN0aXZlID0gc2hvd1JvdWdlID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAobmFtZSkgeyAvLyDliKvkurpcbiAgICAgICAgICAgICAgICB0aGlzLm90aGVyRGlhbG9nTm9kZS5hY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIC8vIHRoaXMub3RoZXJEaWFsb2dOb2RlLmNoaWxkcmVuWzBdLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gbmFtZSE7XG4gICAgICAgICAgICAgICAgLy8gdGhpcy5vdGhlckRpYWxvZ05vZGUuY2hpbGRyZW5bMV0uZ2V0Q29tcG9uZW50KGNjLlJpY2hUZXh0KS5zdHJpbmcgPSB0ZXh0O1xuICAgICAgICAgICAgICAgIHRoaXMudHlwZXdyaXRlci5zaG93UmljaFRleHRUeXBlcih0aGlzLm90aGVyRGlhbG9nTm9kZS5jaGlsZHJlblswXS5nZXRDb21wb25lbnQoY2MuUmljaFRleHQpLCB0ZXh0LFxuICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90ZXh0VHlwZXJJc092ZXIgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9LCAoKSA9PiB7IH0sIHRoaXMuX2F1dG9QbGF5U3BlZWRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIC8vIHByb21pc2VzLnB1c2goQW5pbWF0aW9uVXRpbHMuQWN0aW9uVHlwZVdyaXRlcih0aGlzLm90aGVyRGlhbG9nTm9kZS5jaGlsZHJlblsxXS5nZXRDb21wb25lbnQoY2MuUmljaFRleHQpLCB0ZXh0LCB0aW1lKSk7XG4gICAgICAgICAgICB9IGVsc2UgeyAvLyDml4Hnmb1cbiAgICAgICAgICAgICAgICB0aGlzLm5hcnJhdG9yRGlhbG9nTm9kZS5hY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIC8vIHRoaXMubmFycmF0b3JEaWFsb2dOb2RlLmNoaWxkcmVuWzBdLmdldENvbXBvbmVudChjYy5SaWNoVGV4dCkuc3RyaW5nID0gdGV4dDtcbiAgICAgICAgICAgICAgICB0aGlzLnR5cGV3cml0ZXIuc2hvd1JpY2hUZXh0VHlwZXIodGhpcy5uYXJyYXRvckRpYWxvZ05vZGUuY2hpbGRyZW5bMF0uZ2V0Q29tcG9uZW50KGNjLlJpY2hUZXh0KSwgdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGV4dFR5cGVySXNPdmVyID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSwgKCkgPT4geyB9LCB0aGlzLl9hdXRvUGxheVNwZWVkXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAvLyBwcm9taXNlcy5wdXNoKEFuaW1hdGlvblV0aWxzLkFjdGlvblR5cGVXcml0ZXIodGhpcy5uYXJyYXRvckRpYWxvZ05vZGUuY2hpbGRyZW5bMF0uZ2V0Q29tcG9uZW50KGNjLlJpY2hUZXh0KSwgdGV4dCwgdGltZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcyk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXNldEF1dG9QbGF5QnV0dG9uU3RhdGUoKSB7XG4gICAgICAgIHRoaXMuX2F1dG9QbGF5U3BlZWQgPSAxO1xuICAgICAgICB0aGlzLl9hdXRvUGxheVN0YXRlID0gQXV0b1BsYXlTdGF0ZS5DbG9zZTtcbiAgICAgICAgdGhpcy5fc2tpcEJ1dHRvblN0YXRlID0gQXV0b1BsYXlTdGF0ZS5DbG9zZTtcbiAgICAgICAgdGhpcy5fYXV0b1BsYXlCdXR0b25TdGF0ZSA9IEF1dG9QbGF5U3RhdGUuQ2xvc2U7XG4gICAgICAgIHRoaXMuY2hhbmdlU2tpcEJ1dHRvblN0YXRlKHRoaXMuX2F1dG9QbGF5U3RhdGUpO1xuICAgICAgICB0aGlzLmNoYW5nZUF1dG9QbGF5QnV0dG9uU3RhdGUodGhpcy5fYXV0b1BsYXlTdGF0ZSk7XG4gICAgfVxuXG4gICAgY2hhbmdlU2tpcEJ1dHRvblN0YXRlKHN0YXRlOiBBdXRvUGxheVN0YXRlKSB7XG4gICAgICAgIGxldCBza2lwTGFiZWwgPSB0aGlzLnNraXBCdXR0b25Ob2RlLmdldENvbXBvbmVudEluQ2hpbGRyZW4oY2MuU3ByaXRlKTtcbiAgICAgICAgaWYgKHN0YXRlID09IEF1dG9QbGF5U3RhdGUuQ2xvc2UpIHtcbiAgICAgICAgICAgIHNraXBMYWJlbC5zcHJpdGVGcmFtZSA9IHRoaXMuYXV0b1BsYXlTcHJpdGVGcmFtZVsyXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNraXBMYWJlbC5zcHJpdGVGcmFtZSA9IHRoaXMuYXV0b1BsYXlTcHJpdGVGcmFtZVszXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoYW5nZUF1dG9QbGF5QnV0dG9uU3RhdGUoc3RhdGU6IEF1dG9QbGF5U3RhdGUpIHtcbiAgICAgICAgbGV0IGF1dG9QbGF5U3ByaXRlID0gdGhpcy5hdXRvUGxheUJ1dHRvbk5vZGUuZ2V0Q29tcG9uZW50SW5DaGlsZHJlbihjYy5TcHJpdGUpO1xuICAgICAgICBpZiAoc3RhdGUgPT0gQXV0b1BsYXlTdGF0ZS5DbG9zZSkge1xuICAgICAgICAgICAgYXV0b1BsYXlTcHJpdGUuc3ByaXRlRnJhbWUgPSB0aGlzLmF1dG9QbGF5U3ByaXRlRnJhbWVbMF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhdXRvUGxheVNwcml0ZS5zcHJpdGVGcmFtZSA9IHRoaXMuYXV0b1BsYXlTcHJpdGVGcmFtZVsxXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOW8gOWni+iHquWKqOaSreaUvuiuoeaXtuWZqFxuICAgICAqIEBwYXJhbSBzdGFydE5vdyDmmK/lkKbkuI3ov5vooYzlu7bml7bvvIznq4vljbPmiafooYzkuIvkuIDmraXvvIzpgILnlKjkuo7njqnlrrbngrnlh7voh6rliqjmkq3mlL7mjInpkq7kuYvlkI7vvIzml6DpnIDnrYnlvoVcbiAgICAgKi9cbiAgICBzdGFydEF1dG9QbGF5VGltZXIoc3RhcnROb3c6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICBsZXQgaW50ZXJ2YWw6IG51bWJlciA9IDA7XG4gICAgICAgIGlmICghc3RhcnROb3cpIHtcbiAgICAgICAgICAgIC8v5pe26Ze06Ze06ZqU55qE6K6h566X5pa55rOV77yM5aaC5p6cc3RhcnROb3fkuLp0cnVl55qE6K+d77yM5LiN6L+b6KGM5bu25pe277yM5pe26Ze05Li6MO+8jOWQpuWIme+8mlxuICAgICAgICAgICAgLy/vvIjmlofmnKzplb/luqYgKiA1MG1zIC8gdGhpcy5fYXV0b1BsYXlTcGVlZO+8ieihqOekuuaWh+acrOi1sOWujOaJk+Wtl+acuuaViOaenOaJgOmcgOimgeeahOaXtumXtFxuICAgICAgICAgICAgLy/vvIjmlofmnKzplb/luqYgKiA2MG1zIC8gdGhpcy5fYXV0b1BsYXlTcGVlZO+8ieihqOekuuaWh+acrOWujOWFqOWxleekuuS5i+WQjuWxleekuuWBnOeVmeeahOaXtumXtFxuICAgICAgICAgICAgaW50ZXJ2YWwgPSAoKHRoaXMuX2NvbnRlbnRUZXh0Lmxlbmd0aCAqIDUwKSAvIHRoaXMuX2F1dG9QbGF5U3BlZWQpICsgKCh0aGlzLl9jb250ZW50VGV4dC5sZW5ndGggKiA2MCkgLyB0aGlzLl9hdXRvUGxheVNwZWVkKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9hdXRvUGxheVRpbWVyID0gd2luZG93LnNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2F1dG9QbGF5U3RhdGUgPT0gQXV0b1BsYXlTdGF0ZS5BdXRvUGxheSkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl90ZXh0VHlwZXJJc092ZXIgJiYgIXRoaXMuX2lzU3BlY2lhbEVmZmVjdCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5jb21wbGV0ZVBsb3RDYWxsYmFjaykgYXdhaXQgdGhpcy5jb21wbGV0ZVBsb3RDYWxsYmFjaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0QXV0b1BsYXlUaW1lcigpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fYXV0b1BsYXlUaW1lcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIGludGVydmFsKTtcbiAgICB9XG5cbiAgICBmaXhTY3JlZW5TaXplKCkge1xuICAgICAgICBsZXQgY29tcCA9IHRoaXMucG9ydHJhaXRTcHJpdGUubm9kZS5nZXRDb21wb25lbnQoUG9ydHJhaXRGaXhDb21wb25lbnQpO1xuICAgICAgICBpZiAoY29tcCkge1xuICAgICAgICAgICAgY29tcC5maXhTY3JlZW5TaXplKHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6K6+572u6IOM5pmvXG4gICAgICogQHBhcmFtIGJnSW1hZ2Ug6IOM5pmv6Lev5b6EXG4gICAgICovXG4gICAgYXN5bmMgc2V0QmFja2dyb3VuZChiZ0ltYWdlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCFiZ0ltYWdlKSB7XG4gICAgICAgICAgICB0aGlzLmJhY2tncm91bmRTcHJpdGUuc3ByaXRlRnJhbWUgPSB1bmRlZmluZWQgYXMgYW55O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICB0aGlzLmJhY2tncm91bmRTcHJpdGUubm9kZS5vcGFjaXR5ID0gMjU1O1xuICAgICAgICAgICAgICAgIGxldCBzZiA9IGF3YWl0IFJlc1V0aWxzLmxvYWRSZXMoYmdJbWFnZSwgY2MuU3ByaXRlRnJhbWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuYmFja2dyb3VuZFNwcml0ZS5zcHJpdGVGcmFtZSA9IHNmO1xuICAgICAgICAgICAgICAgIHRoaXMuYmFja2dyb3VuZFNwcml0ZS5ub2RlLmhlaWdodCA9IHRoaXMubm9kZS5oZWlnaHQ7XG4gICAgICAgICAgICAgICAgdGhpcy5iYWNrZ3JvdW5kU3ByaXRlLm5vZGUud2lkdGggPSBzZi5nZXRPcmlnaW5hbFNpemUoKS53aWR0aCAvIHNmLmdldE9yaWdpbmFsU2l6ZSgpLmhlaWdodCAqIHRoaXMubm9kZS5oZWlnaHQ7XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiuvue9ruiDjOaZryjnibnmrormlYjmnpwpXG4gICAgICogQHBhcmFtIGJnSW1hZ2Ug6IOM5pmv6Lev5b6EXG4gICAgICovXG4gICAgYXN5bmMgc2V0QmFja2dyb3VuZEVmZmVjdChiZ0ltYWdlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5faXNTcGVjaWFsRWZmZWN0ID0gdHJ1ZTtcbiAgICAgICAgbGV0IGRpYWxvZ05vZGVzQWN0aXZlOiBib29sZWFuW10gPSBbdGhpcy5vdGhlckRpYWxvZ05vZGUuYWN0aXZlLCB0aGlzLnNlbGZEaWFsb2dOb2RlLmFjdGl2ZSwgdGhpcy5uYXJyYXRvckRpYWxvZ05vZGUuYWN0aXZlXTtcbiAgICAgICAgdGhpcy5vdGhlckRpYWxvZ05vZGUuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2VsZkRpYWxvZ05vZGUuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIHRoaXMubmFycmF0b3JEaWFsb2dOb2RlLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICBpZiAoIWJnSW1hZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuYmFja2dyb3VuZFNwcml0ZS5ub2RlLm9wYWNpdHkgPSAyNTU7XG4gICAgICAgICAgICBjYy50d2Vlbih0aGlzLmJhY2tncm91bmRTcHJpdGUubm9kZSlcbiAgICAgICAgICAgICAgICAudG8oMSwgeyBvcGFjaXR5OiAwIH0pXG4gICAgICAgICAgICAgICAgLmNhbGwoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJhY2tncm91bmRTcHJpdGUuc3ByaXRlRnJhbWUgPSB1bmRlZmluZWQgYXMgYW55O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm90aGVyRGlhbG9nTm9kZS5hY3RpdmUgPSBkaWFsb2dOb2Rlc0FjdGl2ZVswXTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxmRGlhbG9nTm9kZS5hY3RpdmUgPSBkaWFsb2dOb2Rlc0FjdGl2ZVsxXTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5uYXJyYXRvckRpYWxvZ05vZGUuYWN0aXZlID0gZGlhbG9nTm9kZXNBY3RpdmVbMl07XG4gICAgICAgICAgICAgICAgfSkuc3RhcnQoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmJhY2tncm91bmRTcHJpdGUuc3ByaXRlRnJhbWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmVmZmVjdEJhY2tncm91bmRTcHJpdGUubm9kZS5hY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuZWZmZWN0QmFja2dyb3VuZFNwcml0ZS5ub2RlLm9wYWNpdHkgPSAyNTU7XG4gICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5lZmZlY3RCYWNrZ3JvdW5kU3ByaXRlLm5vZGUpXG4gICAgICAgICAgICAgICAgICAgIC50bygxLCB7IG9wYWNpdHk6IDAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lZmZlY3RCYWNrZ3JvdW5kU3ByaXRlLm5vZGUuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9pc1NwZWNpYWxFZmZlY3QgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfSkuc3RhcnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lZmZlY3RCYWNrZ3JvdW5kU3ByaXRlLm5vZGUuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmVmZmVjdEJhY2tncm91bmRTcHJpdGUubm9kZS5vcGFjaXR5ID0gMDtcbiAgICAgICAgICAgICAgICBjYy50d2Vlbih0aGlzLmVmZmVjdEJhY2tncm91bmRTcHJpdGUubm9kZSlcbiAgICAgICAgICAgICAgICAgICAgLnRvKDEsIHsgb3BhY2l0eTogMjU1IH0pXG4gICAgICAgICAgICAgICAgICAgIC5jYWxsKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuZWZmZWN0QmFja2dyb3VuZFNwcml0ZS5ub2RlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50bygxLCB7IG9wYWNpdHk6IDAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY2FsbCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWZmZWN0QmFja2dyb3VuZFNwcml0ZS5ub2RlLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLnN0YXJ0KCk7XG4gICAgICAgICAgICAgICAgICAgIH0pLnN0YXJ0KCk7XG4gICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5iYWNrZ3JvdW5kU3ByaXRlLm5vZGUpXG4gICAgICAgICAgICAgICAgICAgIC50bygxLCB7IG9wYWNpdHk6IDAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNmID0gYXdhaXQgUmVzVXRpbHMubG9hZFJlcyhiZ0ltYWdlLCBjYy5TcHJpdGVGcmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhY2tncm91bmRTcHJpdGUuc3ByaXRlRnJhbWUgPSBzZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFja2dyb3VuZFNwcml0ZS5ub2RlLmhlaWdodCA9IHRoaXMubm9kZS5oZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhY2tncm91bmRTcHJpdGUubm9kZS53aWR0aCA9IHNmLmdldE9yaWdpbmFsU2l6ZSgpLndpZHRoIC8gc2YuZ2V0T3JpZ2luYWxTaXplKCkuaGVpZ2h0ICogdGhpcy5ub2RlLmhlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFja2dyb3VuZFNwcml0ZS5ub2RlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50bygxLCB7IG9wYWNpdHk6IDI1NSB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jYWxsKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vdGhlckRpYWxvZ05vZGUuYWN0aXZlID0gZGlhbG9nTm9kZXNBY3RpdmVbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZkRpYWxvZ05vZGUuYWN0aXZlID0gZGlhbG9nTm9kZXNBY3RpdmVbMV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmFycmF0b3JEaWFsb2dOb2RlLmFjdGl2ZSA9IGRpYWxvZ05vZGVzQWN0aXZlWzJdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9pc1NwZWNpYWxFZmZlY3QgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5zdGFydCgpO1xuICAgICAgICAgICAgICAgICAgICB9KS5zdGFydCgpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBydW5FbmRUaXBBY3Rpb24oKSB7XG4gICAgICAgIHRoaXMuc2V0SXNSdW5uaW5nQWN0aW9uKHRydWUpO1xuICAgICAgICBsZXQgb2Zmc2V0WTogbnVtYmVyID0gMzAwO1xuICAgICAgICBsZXQgYWN0VGltZTogbnVtYmVyID0gMS41O1xuICAgICAgICB0aGlzLmVuZFRpcE5vZGUuc3RvcEFsbEFjdGlvbnMoKTtcbiAgICAgICAgdGhpcy5lbmRUaXBOb2RlLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIHRoaXMuZW5kVGlwTm9kZS5zY2FsZSA9IDE7XG4gICAgICAgIHRoaXMuZW5kVGlwTm9kZS5vcGFjaXR5ID0gMjU1O1xuICAgICAgICB0aGlzLmVuZFRpcE5vZGUucG9zaXRpb24gPSBjYy52MygtMjY1LCB0aGlzLl9vcmlnaW5Qb3MueSAtIG9mZnNldFksIDApO1xuICAgICAgICB0aGlzLmVuZFRpcE5vZGUub3BhY2l0eSA9IDA7XG5cbiAgICAgICAgbGV0IGVhc2UgPSBjYy5lYXNlU2luZUluT3V0KCk7XG4gICAgICAgIGxldCBtb3ZlQWN0ID0gY2MubW92ZVRvKGFjdFRpbWUsIGNjLnYyKC0yNjUsIHRoaXMuX29yaWdpblBvcy55KSkuZWFzaW5nKGVhc2UpO1xuICAgICAgICBsZXQgZmFkZUluQWN0ID0gY2MuZmFkZUluKGFjdFRpbWUpLmVhc2luZyhlYXNlKTtcbiAgICAgICAgbGV0IHNwYXduID0gY2Muc3Bhd24obW92ZUFjdCwgZmFkZUluQWN0KTtcblxuICAgICAgICBsZXQgY2FsbCA9IGNjLmNhbGxGdW5jKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYmFja1JlZERvdC5hY3RpdmUgPSB0cnVlO1xuXG4gICAgICAgICAgICAvLyBpZiAoIXRoaXMuX2lzUnVuQ2xvc2VBY3Rpb24pIHtcbiAgICAgICAgICAgIC8vICAgICBTREsuc2hvd0ludGVyc3RpdGlhbEFkKCk7XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICB0aGlzLnNldElzUnVubmluZ0FjdGlvbihmYWxzZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGxldCBzaG93QXJyb3dHdWlkZUNhbGwgPSBjYy5jYWxsRnVuYygoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFycm93Z3VpZGVOb2RlLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgICAgICBsZXQgYWN0VGltZTI6IG51bWJlciA9IDI7XG4gICAgICAgIGxldCBzZXEgPSBjYy5zZXF1ZW5jZShzcGF3biwgY2FsbCwgY2Muc3Bhd24oY2MubW92ZVRvKDEsIGNjLnYyKHRoaXMuYmFja0J0bk5vZGUucG9zaXRpb24ueCwgdGhpcy5iYWNrQnRuTm9kZS5wb3NpdGlvbi55KSksIGNjLnNjYWxlVG8oYWN0VGltZTIsIDApKSwgc2hvd0Fycm93R3VpZGVDYWxsKTtcblxuICAgICAgICB0aGlzLmVuZFRpcE5vZGUucnVuQWN0aW9uKHNlcSk7XG4gICAgfVxuXG4gICAgc2V0UnVuQ2xvc2VBY3Rpb24ocnVuOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2lzUnVuQ2xvc2VBY3Rpb24gPSBydW47XG4gICAgfVxuXG4gICAgcnVuQ2xvc2VBY3Rpb24oKSB7XG4gICAgICAgIHRoaXMuY2xvc2VWaWV3KCk7XG4gICAgfVxuXG4gICAgb25SZWZyZXNoQWxsU3RhdHVzKCkge1xuICAgICAgICB0aGlzLmNsb3NlQWN0aW9uKCk7XG4gICAgfVxuXG4gICAgb25SZXZpZXdCdXR0b25DbGljaygpIHtcbiAgICAgICAgdGhpcy5yZXNldEF1dG9QbGF5QnV0dG9uU3RhdGUoKTtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2F1dG9QbGF5VGltZXIpO1xuICAgICAgICB0aGlzLm9uUmV2aWV3QnV0dG9uQ2xpY2tDYWxsYmFjaygpO1xuICAgIH1cblxuICAgIG9uU2tpcEJ1dHRvbkNsaWNrKCkge1xuICAgICAgICB0aGlzLl9za2lwQnV0dG9uU3RhdGUgPSB0aGlzLl9za2lwQnV0dG9uU3RhdGUgPT0gQXV0b1BsYXlTdGF0ZS5DbG9zZSA/IEF1dG9QbGF5U3RhdGUuQXV0b1BsYXkgOiBBdXRvUGxheVN0YXRlLkNsb3NlO1xuICAgICAgICB0aGlzLl9hdXRvUGxheVN0YXRlID0gdGhpcy5fc2tpcEJ1dHRvblN0YXRlO1xuICAgICAgICBpZiAodGhpcy5fYXV0b1BsYXlTdGF0ZSA9PSBBdXRvUGxheVN0YXRlLkF1dG9QbGF5KSB7XG4gICAgICAgICAgICB0aGlzLl9hdXRvUGxheVNwZWVkID0gMjA7XG4gICAgICAgICAgICB0aGlzLnN0YXJ0QXV0b1BsYXlUaW1lcih0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlU2tpcEJ1dHRvblN0YXRlKHRoaXMuX2F1dG9QbGF5U3RhdGUpO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VBdXRvUGxheUJ1dHRvblN0YXRlKEF1dG9QbGF5U3RhdGUuQ2xvc2UpO1xuICAgICAgICAgICAgdGhpcy5fYXV0b1BsYXlCdXR0b25TdGF0ZSA9IEF1dG9QbGF5U3RhdGUuQ2xvc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlc2V0QXV0b1BsYXlCdXR0b25TdGF0ZSgpO1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2F1dG9QbGF5VGltZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BdXRvUGxheUJ1dHRvbkNsaWNrKCkge1xuICAgICAgICB0aGlzLl9hdXRvUGxheUJ1dHRvblN0YXRlID0gdGhpcy5fYXV0b1BsYXlCdXR0b25TdGF0ZSA9PSBBdXRvUGxheVN0YXRlLkNsb3NlID8gQXV0b1BsYXlTdGF0ZS5BdXRvUGxheSA6IEF1dG9QbGF5U3RhdGUuQ2xvc2U7XG4gICAgICAgIHRoaXMuX2F1dG9QbGF5U3RhdGUgPSB0aGlzLl9hdXRvUGxheUJ1dHRvblN0YXRlO1xuICAgICAgICBpZiAodGhpcy5fYXV0b1BsYXlTdGF0ZSA9PSBBdXRvUGxheVN0YXRlLkF1dG9QbGF5KSB7XG4gICAgICAgICAgICB0aGlzLl9hdXRvUGxheVNwZWVkID0gMTtcbiAgICAgICAgICAgIHRoaXMuc3RhcnRBdXRvUGxheVRpbWVyKHRydWUpO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VTa2lwQnV0dG9uU3RhdGUoQXV0b1BsYXlTdGF0ZS5DbG9zZSk7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZUF1dG9QbGF5QnV0dG9uU3RhdGUodGhpcy5fYXV0b1BsYXlTdGF0ZSk7XG4gICAgICAgICAgICB0aGlzLl9za2lwQnV0dG9uU3RhdGUgPSBBdXRvUGxheVN0YXRlLkNsb3NlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZXNldEF1dG9QbGF5QnV0dG9uU3RhdGUoKTtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9hdXRvUGxheVRpbWVyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
\ No newline at end of file
......@@ -37,6 +37,8 @@ let NewNoticeViewImpl = /** @class */ (() => {
this.contentRichText = CCDummyObjects_1.DummyRichText;
this.activitiesContentNode = CCDummyObjects_1.DummyNode;
this.activitiesItemPrefab = CCDummyObjects_1.DummyPrefab;
this.tipsToggle = CCDummyObjects_1.DummyToggle;
this.closeTipsLabel = CCDummyObjects_1.DummyLabel;
}
getButtonSpriteFrames() {
return this.buttonSpriteFrames;
......@@ -113,4 +115,4 @@ cc._RF.pop();
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvZ2FtZS91aS92aWV3L2ltcGwvbm90aWNlL05ld05vdGljZVZpZXdJbXBsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlFQUE2RjtBQUM3RiwyRUFBd0U7QUFDeEUsNEVBQTBEO0FBQzFELG1FQUF1RztBQUV2RyxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUM7QUFHNUM7SUFBQSxJQUFhLGlCQUFpQixHQUE5QixNQUFhLGlCQUFrQixTQUFRLHVCQUE4QjtRQUFyRTs7WUFHSSx1QkFBa0IsR0FBcUIsRUFBRSxDQUFDO1lBRTFDLGtCQUFhLEdBQWdCLEVBQUUsQ0FBQztZQUVoQyxnQkFBVyxHQUFjLEVBQUUsQ0FBQztZQUU1QixvQkFBZSxHQUFnQiw4QkFBYSxDQUFDO1lBRTdDLDBCQUFxQixHQUFZLDBCQUFTLENBQUM7WUFFM0MseUJBQW9CLEdBQWMsNEJBQVcsQ0FBQztRQThDbEQsQ0FBQztRQXhDRyxxQkFBcUI7WUFDakIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDbkMsQ0FBQztRQUVELGdCQUFnQjtZQUNaLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUM5QixDQUFDO1FBRUQsY0FBYztZQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUM1QixDQUFDO1FBRUQsa0JBQWtCO1lBQ2QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ2hDLENBQUM7UUFFRCx3QkFBd0I7WUFDcEIsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFDdEMsQ0FBQztRQUVELHVCQUF1QjtZQUNuQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztRQUNyQyxDQUFDO1FBRUQsYUFBYTtZQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUMzQixDQUFDO1FBRUQsaUJBQWlCO1lBQ2IsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQy9CLENBQUM7UUFFRCxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsZUFBZTtZQUN0QyxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBRUQsa0JBQWtCO1lBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBQzVDLENBQUM7S0FDSixDQUFBO0lBeERHO1FBREMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFdBQVcsRUFBRSw0QkFBNEIsRUFBRSxDQUFDO2lFQUN0QztJQUUxQztRQURDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQzs0REFDL0I7SUFFaEM7UUFEQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxDQUFDOzBEQUMvQjtJQUU1QjtRQURDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxDQUFDOzhEQUNwQjtJQUU3QztRQURDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSx5QkFBeUIsRUFBRSxDQUFDO29FQUN6QjtJQUUzQztRQURDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSwrQkFBK0IsRUFBRSxDQUFDO21FQUM5QjtJQUU5QztRQURDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsQ0FBQzt5REFDcEM7SUFFdEI7UUFEQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQzs2REFDcEM7SUFqQmhCLGlCQUFpQjtRQUY3QixPQUFPO1FBQ1AsZ0NBQU8sQ0FBQyxpQ0FBaUIsRUFBRSxnQ0FBZ0MsQ0FBQztPQUNoRCxpQkFBaUIsQ0EyRDdCO0lBQUQsd0JBQUM7S0FBQTtBQTNEWSw4Q0FBaUIiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEdW1teU5vZGUsIER1bW15UHJlZmFiLCBEdW1teVJpY2hUZXh0IH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL2NvbW1vbi9DQ0R1bW15T2JqZWN0c1wiO1xyXG5pbXBvcnQgeyBDQ1B1cmVWaWV3IH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL2NvbW1vbi9jbGFzc2Jhc2UvQ0NWaWV3QmFzZVwiO1xyXG5pbXBvcnQgeyBSZWdWaWV3IH0gZnJvbSBcIi4uLy4uLy4uL1ByZXNlbnRlckNDVmlld0ZhY3RvcnlcIjtcclxuaW1wb3J0IHsgTmV3Tm90aWNlVmlld1R5cGUsIE5ld05vdGljZVZpZXdQcm9wcywgTmV3Tm90aWNlVmlldyB9IGZyb20gXCIuLi8uLi90eXBlL25vdGljZS9OZXdOb3RpY2VWaWV3XCI7XHJcblxyXG5jb25zdCB7IGNjY2xhc3MsIHByb3BlcnR5IH0gPSBjYy5fZGVjb3JhdG9yO1xyXG5AY2NjbGFzc1xyXG5AUmVnVmlldyhOZXdOb3RpY2VWaWV3VHlwZSwgXCJwcmVmYWIvdWkvbm90aWNlL05ld05vdGljZVZpZXdcIilcclxuZXhwb3J0IGNsYXNzIE5ld05vdGljZVZpZXdJbXBsIGV4dGVuZHMgQ0NQdXJlVmlldzxOZXdOb3RpY2VWaWV3UHJvcHM+IGltcGxlbWVudHMgTmV3Tm90aWNlVmlldyB7XHJcblxyXG4gICAgQHByb3BlcnR5KHsgdHlwZTogW2NjLlNwcml0ZUZyYW1lXSwgZGlzcGxheU5hbWU6IFwiTm90aWNlIGJ1dHRvbiBzcHJpdGVGcmFtZXNcIiB9KVxyXG4gICAgYnV0dG9uU3ByaXRlRnJhbWVzOiBjYy5TcHJpdGVGcmFtZVtdID0gW107XHJcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBbY2MuQnV0dG9uXSwgZGlzcGxheU5hbWU6IFwiTm90aWNlIGJ1dHRvbnNcIiB9KVxyXG4gICAgbm90aWNlQnV0dG9uczogY2MuQnV0dG9uW10gPSBbXTtcclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IFtjYy5Ob2RlXSwgZGlzcGxheU5hbWU6IFwiTm90aWNlIG5vZGVzXCIgfSlcclxuICAgIG5vdGljZU5vZGVzOiBjYy5Ob2RlW10gPSBbXTtcclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLlJpY2hUZXh0LCBkaXNwbGF5TmFtZTogXCJDb250ZW50IHJpY2h0ZXh0XCIgfSlcclxuICAgIGNvbnRlbnRSaWNoVGV4dDogY2MuUmljaFRleHQgPSBEdW1teVJpY2hUZXh0O1xyXG4gICAgQHByb3BlcnR5KHsgdHlwZTogY2MuTm9kZSwgZGlzcGxheU5hbWU6IFwiQWN0aXZpdGllcyBjb250ZW50IG5vZGVcIiB9KVxyXG4gICAgYWN0aXZpdGllc0NvbnRlbnROb2RlOiBjYy5Ob2RlID0gRHVtbXlOb2RlO1xyXG4gICAgQHByb3BlcnR5KHsgdHlwZTogY2MuUHJlZmFiLCBkaXNwbGF5TmFtZTogXCJBY3Rpdml0aWVzIG5vdGljZSBpdGVtIHByZWZhYlwiIH0pXHJcbiAgICBhY3Rpdml0aWVzSXRlbVByZWZhYjogY2MuUHJlZmFiID0gRHVtbXlQcmVmYWI7XHJcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBjYy5Ub2dnbGUsIGRpc3BsYXlOYW1lOiBcIlRpcHMgdG9nZ2xlXCIgfSlcclxuICAgIHRpcHNUb2dnbGU6IGNjLlRvZ2dsZTtcclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkxhYmVsLCBkaXNwbGF5TmFtZTogXCJDbG9zZVRpcHMgbGFiZWxcIiB9KVxyXG4gICAgY2xvc2VUaXBzTGFiZWw6IGNjLkxhYmVsO1xyXG5cclxuICAgIGdldEJ1dHRvblNwcml0ZUZyYW1lcygpOiBjYy5TcHJpdGVGcmFtZVtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5idXR0b25TcHJpdGVGcmFtZXM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Tm90aWNlQnV0dG9ucygpOiBjYy5CdXR0b25bXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubm90aWNlQnV0dG9ucztcclxuICAgIH1cclxuXHJcbiAgICBnZXROb3RpY2VOb2RlcygpOiBjYy5Ob2RlW10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5vdGljZU5vZGVzO1xyXG4gICAgfVxyXG5cclxuICAgIGdldENvbnRlbnRSaWNoVGV4dCgpOiBjYy5SaWNoVGV4dCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudFJpY2hUZXh0O1xyXG4gICAgfVxyXG5cclxuICAgIGdldEFjdGl2aXRpZXNDb250ZW50Tm9kZSgpOiBjYy5Ob2RlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hY3Rpdml0aWVzQ29udGVudE5vZGU7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0QWN0aXZpdGllc0l0ZW1QcmVmYWIoKTogY2MuUHJlZmFiIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hY3Rpdml0aWVzSXRlbVByZWZhYjtcclxuICAgIH1cclxuXHJcbiAgICBnZXRUaXBzVG9nZ2xlKCk6IGNjLlRvZ2dsZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudGlwc1RvZ2dsZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRDbG9zZVRpcHNMYWJlbCgpOiBjYy5MYWJlbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2xvc2VUaXBzTGFiZWw7XHJcbiAgICB9XHJcblxyXG4gICAgb25Ob3RpY2VCdXR0b25DbGljayhldmVudCwgY3VzdG9tRXZlbnREYXRhKSB7XHJcbiAgICAgICAgbGV0IGluZGV4ID0gTnVtYmVyKGN1c3RvbUV2ZW50RGF0YSk7XHJcbiAgICAgICAgdGhpcy5fcHJvcHMub25Ob3RpY2VCdXR0b25DbGlja0NhbGxiYWNrKGluZGV4KTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNsb3NlQnV0dG9uQ2xpY2soKSB7XHJcbiAgICAgICAgdGhpcy5fcHJvcHMub25DbG9zZUJ1dHRvbkNsaWNrQ2FsYmFjaygpO1xyXG4gICAgfVxyXG59Il19
\ No newline at end of file
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvZ2FtZS91aS92aWV3L2ltcGwvbm90aWNlL05ld05vdGljZVZpZXdJbXBsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlFQUFzSDtBQUN0SCwyRUFBd0U7QUFDeEUsNEVBQTBEO0FBQzFELG1FQUF1RztBQUV2RyxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUM7QUFHNUM7SUFBQSxJQUFhLGlCQUFpQixHQUE5QixNQUFhLGlCQUFrQixTQUFRLHVCQUE4QjtRQUFyRTs7WUFHSSx1QkFBa0IsR0FBcUIsRUFBRSxDQUFDO1lBRTFDLGtCQUFhLEdBQWdCLEVBQUUsQ0FBQztZQUVoQyxnQkFBVyxHQUFjLEVBQUUsQ0FBQztZQUU1QixvQkFBZSxHQUFnQiw4QkFBYSxDQUFDO1lBRTdDLDBCQUFxQixHQUFZLDBCQUFTLENBQUM7WUFFM0MseUJBQW9CLEdBQWMsNEJBQVcsQ0FBQztZQUU5QyxlQUFVLEdBQWMsNEJBQVcsQ0FBQztZQUVwQyxtQkFBYyxHQUFhLDJCQUFVLENBQUM7UUEwQzFDLENBQUM7UUF4Q0cscUJBQXFCO1lBQ2pCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQ25DLENBQUM7UUFFRCxnQkFBZ0I7WUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDOUIsQ0FBQztRQUVELGNBQWM7WUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDNUIsQ0FBQztRQUVELGtCQUFrQjtZQUNkLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUNoQyxDQUFDO1FBRUQsd0JBQXdCO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBQ3RDLENBQUM7UUFFRCx1QkFBdUI7WUFDbkIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7UUFDckMsQ0FBQztRQUVELGFBQWE7WUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDM0IsQ0FBQztRQUVELGlCQUFpQjtZQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMvQixDQUFDO1FBRUQsbUJBQW1CLENBQUMsS0FBSyxFQUFFLGVBQWU7WUFDdEMsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkQsQ0FBQztRQUVELGtCQUFrQjtZQUNkLElBQUksQ0FBQyxNQUFNLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUM1QyxDQUFDO0tBQ0osQ0FBQTtJQXhERztRQURDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxXQUFXLEVBQUUsNEJBQTRCLEVBQUUsQ0FBQztpRUFDdEM7SUFFMUM7UUFEQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLENBQUM7NERBQy9CO0lBRWhDO1FBREMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsQ0FBQzswREFDL0I7SUFFNUI7UUFEQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQzs4REFDcEI7SUFFN0M7UUFEQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUseUJBQXlCLEVBQUUsQ0FBQztvRUFDekI7SUFFM0M7UUFEQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsK0JBQStCLEVBQUUsQ0FBQzttRUFDOUI7SUFFOUM7UUFEQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLENBQUM7eURBQ3RCO0lBRXBDO1FBREMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLENBQUM7NkRBQ3ZCO0lBakI3QixpQkFBaUI7UUFGN0IsT0FBTztRQUNQLGdDQUFPLENBQUMsaUNBQWlCLEVBQUUsZ0NBQWdDLENBQUM7T0FDaEQsaUJBQWlCLENBMkQ3QjtJQUFELHdCQUFDO0tBQUE7QUEzRFksOENBQWlCIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHVtbXlMYWJlbCwgRHVtbXlOb2RlLCBEdW1teVByZWZhYiwgRHVtbXlSaWNoVGV4dCwgRHVtbXlUb2dnbGUgfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vY29tbW9uL0NDRHVtbXlPYmplY3RzXCI7XHJcbmltcG9ydCB7IENDUHVyZVZpZXcgfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vY29tbW9uL2NsYXNzYmFzZS9DQ1ZpZXdCYXNlXCI7XHJcbmltcG9ydCB7IFJlZ1ZpZXcgfSBmcm9tIFwiLi4vLi4vLi4vUHJlc2VudGVyQ0NWaWV3RmFjdG9yeVwiO1xyXG5pbXBvcnQgeyBOZXdOb3RpY2VWaWV3VHlwZSwgTmV3Tm90aWNlVmlld1Byb3BzLCBOZXdOb3RpY2VWaWV3IH0gZnJvbSBcIi4uLy4uL3R5cGUvbm90aWNlL05ld05vdGljZVZpZXdcIjtcclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcbkBjY2NsYXNzXHJcbkBSZWdWaWV3KE5ld05vdGljZVZpZXdUeXBlLCBcInByZWZhYi91aS9ub3RpY2UvTmV3Tm90aWNlVmlld1wiKVxyXG5leHBvcnQgY2xhc3MgTmV3Tm90aWNlVmlld0ltcGwgZXh0ZW5kcyBDQ1B1cmVWaWV3PE5ld05vdGljZVZpZXdQcm9wcz4gaW1wbGVtZW50cyBOZXdOb3RpY2VWaWV3IHtcclxuXHJcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBbY2MuU3ByaXRlRnJhbWVdLCBkaXNwbGF5TmFtZTogXCJOb3RpY2UgYnV0dG9uIHNwcml0ZUZyYW1lc1wiIH0pXHJcbiAgICBidXR0b25TcHJpdGVGcmFtZXM6IGNjLlNwcml0ZUZyYW1lW10gPSBbXTtcclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IFtjYy5CdXR0b25dLCBkaXNwbGF5TmFtZTogXCJOb3RpY2UgYnV0dG9uc1wiIH0pXHJcbiAgICBub3RpY2VCdXR0b25zOiBjYy5CdXR0b25bXSA9IFtdO1xyXG4gICAgQHByb3BlcnR5KHsgdHlwZTogW2NjLk5vZGVdLCBkaXNwbGF5TmFtZTogXCJOb3RpY2Ugbm9kZXNcIiB9KVxyXG4gICAgbm90aWNlTm9kZXM6IGNjLk5vZGVbXSA9IFtdO1xyXG4gICAgQHByb3BlcnR5KHsgdHlwZTogY2MuUmljaFRleHQsIGRpc3BsYXlOYW1lOiBcIkNvbnRlbnQgcmljaHRleHRcIiB9KVxyXG4gICAgY29udGVudFJpY2hUZXh0OiBjYy5SaWNoVGV4dCA9IER1bW15UmljaFRleHQ7XHJcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBjYy5Ob2RlLCBkaXNwbGF5TmFtZTogXCJBY3Rpdml0aWVzIGNvbnRlbnQgbm9kZVwiIH0pXHJcbiAgICBhY3Rpdml0aWVzQ29udGVudE5vZGU6IGNjLk5vZGUgPSBEdW1teU5vZGU7XHJcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBjYy5QcmVmYWIsIGRpc3BsYXlOYW1lOiBcIkFjdGl2aXRpZXMgbm90aWNlIGl0ZW0gcHJlZmFiXCIgfSlcclxuICAgIGFjdGl2aXRpZXNJdGVtUHJlZmFiOiBjYy5QcmVmYWIgPSBEdW1teVByZWZhYjtcclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLlRvZ2dsZSwgZGlzcGxheU5hbWU6IFwiVGlwcyB0b2dnbGVcIiB9KVxyXG4gICAgdGlwc1RvZ2dsZTogY2MuVG9nZ2xlID0gRHVtbXlUb2dnbGU7XHJcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBjYy5MYWJlbCwgZGlzcGxheU5hbWU6IFwiQ2xvc2VUaXBzIGxhYmVsXCIgfSlcclxuICAgIGNsb3NlVGlwc0xhYmVsOiBjYy5MYWJlbCA9IER1bW15TGFiZWw7XHJcblxyXG4gICAgZ2V0QnV0dG9uU3ByaXRlRnJhbWVzKCk6IGNjLlNwcml0ZUZyYW1lW10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJ1dHRvblNwcml0ZUZyYW1lcztcclxuICAgIH1cclxuXHJcbiAgICBnZXROb3RpY2VCdXR0b25zKCk6IGNjLkJ1dHRvbltdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5ub3RpY2VCdXR0b25zO1xyXG4gICAgfVxyXG5cclxuICAgIGdldE5vdGljZU5vZGVzKCk6IGNjLk5vZGVbXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubm90aWNlTm9kZXM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Q29udGVudFJpY2hUZXh0KCk6IGNjLlJpY2hUZXh0IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50UmljaFRleHQ7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0QWN0aXZpdGllc0NvbnRlbnROb2RlKCk6IGNjLk5vZGUge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2aXRpZXNDb250ZW50Tm9kZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRBY3Rpdml0aWVzSXRlbVByZWZhYigpOiBjYy5QcmVmYWIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2aXRpZXNJdGVtUHJlZmFiO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFRpcHNUb2dnbGUoKTogY2MuVG9nZ2xlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy50aXBzVG9nZ2xlO1xyXG4gICAgfVxyXG5cclxuICAgIGdldENsb3NlVGlwc0xhYmVsKCk6IGNjLkxhYmVsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jbG9zZVRpcHNMYWJlbDtcclxuICAgIH1cclxuXHJcbiAgICBvbk5vdGljZUJ1dHRvbkNsaWNrKGV2ZW50LCBjdXN0b21FdmVudERhdGEpIHtcclxuICAgICAgICBsZXQgaW5kZXggPSBOdW1iZXIoY3VzdG9tRXZlbnREYXRhKTtcclxuICAgICAgICB0aGlzLl9wcm9wcy5vbk5vdGljZUJ1dHRvbkNsaWNrQ2FsbGJhY2soaW5kZXgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQ2xvc2VCdXR0b25DbGljaygpIHtcclxuICAgICAgICB0aGlzLl9wcm9wcy5vbkNsb3NlQnV0dG9uQ2xpY2tDYWxiYWNrKCk7XHJcbiAgICB9XHJcbn0iXX0=
\ No newline at end of file
......@@ -29,4 +29,4 @@ cc._RF.pop();
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvZ2FtZS91aS92aWV3L3R5cGUvRGF0aW5nU2NlbmVWaWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdCYSxRQUFBLG1CQUFtQixHQUFHLGlCQUFpQixDQUFDIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmlldyB9IGZyb20gXCIuLi8uLi8uLi8uLi9jb21tb24vY2xhc3NiYXNlL1ZpZXdCYXNlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0aW5nU2NlbmVWaWV3IGV4dGVuZHMgVmlldyB7XG4gICAgLyoqXG4gICAgICog5a6M5oiQ5b2T5YmN5Ymn5oOF5Zue6LCD5Ye95pWwXG4gICAgICovXG4gICAgY29tcGxldGVQbG90Q2FsbGJhY2s6ICgpID0+IFByb21pc2U8dm9pZD47XG4gICAgc2V0Q29udGVudChpc1NlbGY6IGJvb2xlYW4sIHRleHQ6IHN0cmluZywgbmFtZVNwcjogc3RyaW5nLCBuYW1lPzogc3RyaW5nLCBwb3J0cmFpdEltZz86IHN0cmluZywgb3RoZXJQb3J0cmFpdEltZz86IHN0cmluZywgc2hvd1JvdWdlPzogYm9vbGVhbik6IFByb21pc2U8dm9pZD47XG4gICAgc2V0QmFja2dyb3VuZChwYXRoOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+O1xuICAgIHNldEJhY2tncm91bmRFZmZlY3QocGF0aDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcbiAgICBzZXRJc1J1bm5pbmdBY3Rpb246IChpc1J1bm5pbmc6IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgLyoq5byV5a+86L+U5ZueICovXG4gICAgZ3VpZGVCYWNrKCk6IHZvaWQ7XG4gICAgLyoq5piv5ZCm5pi+56S66L+U5Zue5oyJ6ZKuKi9cbiAgICBzaG93QmFja0J0bjogKHNob3c6IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgc2V0UnVuQ2xvc2VBY3Rpb246IChydW46IGJvb2xlYW4pID0+IHZvaWQ7XG5cbiAgICBnZXRDaGFwdGVyQnRuOiAoKSA9PiBjYy5QcmVmYWI7XG5cbiAgICAvKirlhbPpl611aSAqL1xuICAgIGNsb3NlVmlldzogKCkgPT4gdm9pZDtcbiAgICBvblJldmlld0J1dHRvbkNsaWNrQ2FsbGJhY2s6ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBEYXRpbmdTY2VuZVZpZXdUeXBlID0gXCJEYXRpbmdTY2VuZVZpZXdcIjsiXX0=
\ No newline at end of file
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvZ2FtZS91aS92aWV3L3R5cGUvRGF0aW5nU2NlbmVWaWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXNCYSxRQUFBLG1CQUFtQixHQUFHLGlCQUFpQixDQUFDIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmlldyB9IGZyb20gXCIuLi8uLi8uLi8uLi9jb21tb24vY2xhc3NiYXNlL1ZpZXdCYXNlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0aW5nU2NlbmVWaWV3IGV4dGVuZHMgVmlldyB7XG4gICAgLyoqXG4gICAgICog5a6M5oiQ5b2T5YmN5Ymn5oOF5Zue6LCD5Ye95pWwXG4gICAgICovXG4gICAgY29tcGxldGVQbG90Q2FsbGJhY2s6ICgpID0+IFByb21pc2U8dm9pZD47XG4gICAgc2V0Q29udGVudChpc1NlbGY6IGJvb2xlYW4sIHRleHQ6IHN0cmluZywgbmFtZVNwcjogc3RyaW5nLCBuYW1lPzogc3RyaW5nLCBwb3J0cmFpdEltZz86IHN0cmluZywgb3RoZXJQb3J0cmFpdEltZz86IHN0cmluZywgc2hvd1JvdWdlPzogYm9vbGVhbik6IFByb21pc2U8dm9pZD47XG4gICAgc2V0QmFja2dyb3VuZChwYXRoOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+O1xuICAgIHNldEJhY2tncm91bmRFZmZlY3QocGF0aDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcbiAgICBzZXRJc1J1bm5pbmdBY3Rpb246IChpc1J1bm5pbmc6IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgLyoq5byV5a+86L+U5ZueICovXG4gICAgZ3VpZGVCYWNrKCk6IHZvaWQ7XG4gICAgLyoq5piv5ZCm5pi+56S66L+U5Zue5oyJ6ZKuKi9cbiAgICBzaG93QmFja0J0bjogKHNob3c6IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgc2V0UnVuQ2xvc2VBY3Rpb246IChydW46IGJvb2xlYW4pID0+IHZvaWQ7XG5cbiAgICAvKirlhbPpl611aSAqL1xuICAgIGNsb3NlVmlldzogKCkgPT4gdm9pZDtcbiAgICBvblJldmlld0J1dHRvbkNsaWNrQ2FsbGJhY2s6ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBEYXRpbmdTY2VuZVZpZXdUeXBlID0gXCJEYXRpbmdTY2VuZVZpZXdcIjsiXX0=
\ No newline at end of file
......@@ -89,7 +89,6 @@ require('./assets/script/game/model/UnlockSpecialPlotModelManager');
require('./assets/script/game/network/HttpRequests');
require('./assets/script/game/ui/ActivitiesNoticeItem');
require('./assets/script/game/ui/BreathAction');
require('./assets/script/game/ui/ChapterBtn');
require('./assets/script/game/ui/ItemBaiFadeOut');
require('./assets/script/game/ui/ItemBreathAction');
require('./assets/script/game/ui/ItemFix');
......
......@@ -4,7 +4,7 @@ cc._RF.push(module, 'dd648huSTtHhpLDyKM/BSiI', 'CCDummyObjects');
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.DummyWidget = exports.DummyColor = exports.DummyPageView = exports.DummySpriteFrame = exports.DymmyToggle = exports.DymmyEditBox = exports.DummyToggleContainer = exports.DummyButton = exports.DummyProgressBar = exports.DummyPrefab = exports.DummyScrollView = exports.DummyRichText = exports.DummyLabel = exports.DummyLayout = exports.DummySprite = exports.DummyNode = void 0;
exports.DummyToggle = exports.DummyWidget = exports.DummyColor = exports.DummyPageView = exports.DummySpriteFrame = exports.DymmyToggle = exports.DymmyEditBox = exports.DummyToggleContainer = exports.DummyButton = exports.DummyProgressBar = exports.DummyPrefab = exports.DummyScrollView = exports.DummyRichText = exports.DummyLabel = exports.DummyLayout = exports.DummySprite = exports.DummyNode = void 0;
exports.DummyNode = undefined;
exports.DummySprite = undefined;
exports.DummyLayout = undefined;
......@@ -21,5 +21,6 @@ exports.DummySpriteFrame = undefined;
exports.DummyPageView = undefined;
exports.DummyColor = undefined;
exports.DummyWidget = undefined;
exports.DummyToggle = undefined;
cc._RF.pop();
\ No newline at end of file
......@@ -37,43 +37,18 @@ var GameModelManager;
let emitter = new simba_eventkit_1.Emitter;
GameModelManager.MessageSceneChanged = emitter.createEvent();
GameModelManager.MainDatingEventChanged = emitter.createEvent();
GameModelManager.ApplicaitonGameChanged = emitter.createEvent(); //进程发生切换
GameModelManager.MainTabForceClick = emitter.createEvent(); //主界面tab点击
GameModelManager.GiftItemForceClick = emitter.createEvent(); //商城界面指定item点击
GameModelManager.SininItemClick = emitter.createEvent(); //签到界面指定item点击
GameModelManager.CheckMainTabGuide = emitter.createEvent(); //主界面检测tab栏引导
GameModelManager.CheckDateGuide = emitter.createEvent(); //约会界面检测引导
GameModelManager.CheckMsgGuide = emitter.createEvent(); //消息列表界面检测引导
GameModelManager.UpdatePlayerData = emitter.createEvent(); //更新主角数据
GameModelManager.PlayerOptionSkin = emitter.createEvent(); //玩家操作了皮肤数据
GameModelManager.NeedAddCoin = emitter.createEvent(); //需要增加金币或者皮肤币
GameModelManager.RefreshDiscoverTabRed = emitter.createEvent(); //刷新发现页红点展示
GameModelManager.RefreshDateCostTipInfo = emitter.createEvent(); //刷新约会界面消耗信息节点数据
GameModelManager.RefreshDateSceneProgress = emitter.createEvent(); //刷新约会进度
GameModelManager.CheckDateSceneProgress = emitter.createEvent(); //检测约会进度
GameModelManager.ForceClickSendGiftBtn = emitter.createEvent(); //强制点击聊天中送礼按钮
GameModelManager.AutoPopView = emitter.createEvent(); //展示自动弹出界面
GameModelManager.NewPlayerReceiveBtn = emitter.createEvent(); //新人七天乐点击领取按钮
GameModelManager.ShowDatingEventArrowGuide = emitter.createEvent(); //约会列表界面展示箭头
GameModelManager.ShowPlotBlocked = emitter.createEvent(); //展示剧情阻断弹窗
GameModelManager.ForceEnterDiscoverSubView = emitter.createEvent(); //强制进入发现页面子页面
GameModelManager.PlotBlockedChanged = emitter.createEvent(); //剧情阻断改变
GameModelManager.WorkSpaceShowItemDesc = emitter.createEvent(); //工作区界面展示物品描述
GameModelManager.WorkSpaceSelectedStuff = emitter.createEvent(); //工作区选定完员工
GameModelManager.CheckMainTabWorkSpaceRedDot = emitter.createEvent(); //检测主界面tab栏下面工作区的红点
GameModelManager.ForceSetSpaceState = emitter.createEvent(); //强制改变指定工作区的状态
GameModelManager.UpdateMainTabArrowGuide = emitter.createEvent(); //更新主界面tab栏,商城和办公区箭头引导
GameModelManager.ForceClickMsgItem = emitter.createEvent();
GameModelManager.ForceClickDatingItem = emitter.createEvent();
/**报幕数据准备就绪事件 */
GameModelManager.ForceClickDataReady = emitter.createEvent();
/**传输掉落物品数据 */
GameModelManager.TransmitItemData = emitter.createEvent();
GameModelManager.UnlockItem = emitter.createEvent();
/**卧室返回点击UI事件 */
GameModelManager.BedroomViewBack = emitter.createEvent();
/**返回到卧室界面 */
GameModelManager.BackToBedRoom = emitter.createEvent();
/**回滚数据到指定剧情 */
GameModelManager.RollBackToPlot = emitter.createEvent();
/**回滚剧情数据完成刷新所有状态 */
......@@ -473,12 +448,10 @@ var GameModelManager;
cc.game.on(cc.game.EVENT_HIDE, () => {
// console.log("enter game background");
simba_cc_audio_manager_1.AudioManager.pauseMusic();
//ApplicaitonGameChanged.emit(false);
});
cc.game.on(cc.game.EVENT_SHOW, () => {
// console.log("enter game force");
simba_cc_audio_manager_1.AudioManager.resumeMusic();
// ApplicaitonGameChanged.emit(true);
});
}
if (initRet.length) {
......
"use strict";
cc._RF.push(module, 'daa19ZPfvRLLYFk4juWpU/P', 'ChapterBtn');
// script/game/ui/ChapterBtn.ts
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
Object.defineProperty(exports, "__esModule", { value: true });
const CCDummyObjects_1 = require("../../common/CCDummyObjects");
const GameModelManager_1 = require("../model/GameModelManager");
const { ccclass, property } = cc._decorator;
let ChapterBtn = /** @class */ (() => {
let ChapterBtn = class ChapterBtn extends cc.Component {
constructor() {
super(...arguments);
this.label = CCDummyObjects_1.DummyLabel;
this.pointSpr = CCDummyObjects_1.DummyNode;
this._pid = -1;
}
setData(chapterId, chapterName, pid) {
this._pid = pid;
this.label.string = chapterId.toString() + "." + GameModelManager_1.GameModelManager.getI18LanguageTxt(chapterName);
}
onItemClick() {
console.log("onItemClick pid = ", this._pid);
GameModelManager_1.GameModelManager.RollBackToPlot.emit(this._pid);
let sprites = this.node.parent.getComponentsInChildren(cc.Sprite);
for (let i = 0; i < sprites.length; i++) {
sprites[i].node.active = false;
}
this.pointSpr.active = true;
cc.tween(this.pointSpr)
.repeatForever(cc.tween()
.to(0.5, { scale: 1.15, x: -25 }, { easing: 'sineInOut' })
.to(0.5, { scale: 1, x: -30 }, { easing: 'sineInOut' }))
.start();
let labels = this.node.parent.getComponentsInChildren(cc.Label);
for (let i = 0; i < labels.length; i++) {
labels[i].node.color = cc.color(255, 255, 255, 255);
}
this.label.node.color = cc.color(255, 238, 149, 255);
}
};
__decorate([
property(cc.Label)
], ChapterBtn.prototype, "label", void 0);
__decorate([
property(cc.Node)
], ChapterBtn.prototype, "pointSpr", void 0);
ChapterBtn = __decorate([
ccclass
], ChapterBtn);
return ChapterBtn;
})();
exports.default = ChapterBtn;
cc._RF.pop();
\ No newline at end of file
......@@ -69,7 +69,6 @@ let ChatListViewPresenter = /** @class */ (() => {
UIManager_1.UIManager.popToPresenter(this);
this._view.closeAnimation().then(() => {
this._view.close();
GameModelManager_1.GameModelManager.CheckMainTabGuide.emit();
});
};
this.selectChapter = () => {
......
......@@ -185,9 +185,6 @@ let DatingEventSubpresenter = /** @class */ (() => {
this._curChapterIndex = tempIndex >= 1 && tempIndex <= this._maxChapterIndex ? tempIndex : this._curChapterIndex;
this.refreshItems();
};
this.onRefreshDateSceneProgress = () => {
this.refreshItems();
};
this.costEnergyCallBack = (type, ret, param) => {
if (ret) {
let oprType = this.isReview ? Enums_1.EventOperationType.memory : Enums_1.EventOperationType.event;
......@@ -473,7 +470,6 @@ let DatingEventSubpresenter = /** @class */ (() => {
onOpen() {
super.onOpen();
this._disposable.add(GameModelManager_1.GameModelManager.CheckDateGuide.on(this.checkGuideItem));
this._disposable.add(GameModelManager_1.GameModelManager.RefreshDateSceneProgress.on(this.onRefreshDateSceneProgress));
this._disposable.add(GameModelManager_1.GameModelManager.ForceClickDatingItem.on(this.onForceClickItem));
this._disposable.add(GameModelManager_1.GameModelManager.RefreshAllStatus.on(this.onRefreshAllStatus));
this._disposable.add(GameModelManager_1.GameModelManager.CloseDatingSceneView.on(this.onCloseDatingSceneView));
......
......@@ -25,7 +25,6 @@ const Enums_1 = require("../../Enums");
const CDKeyEventManager_1 = require("../../model/CDKeyEventManager");
const DatingEventSceneModel_1 = require("../../model/DatingEventSceneModel");
const GameModelManager_1 = require("../../model/GameModelManager");
const ChapterBtn_1 = require("../ChapterBtn");
const PresenterCCViewFactory_1 = require("../PresenterCCViewFactory");
const VerbView_1 = require("../VerbView");
const DatingSceneView_1 = require("../view/type/DatingSceneView");
......@@ -425,8 +424,6 @@ let DatingScenePresenter = /** @class */ (() => {
}
else {
GameModelManager_1.GameModelManager.dotMainLinePlotEnd();
// GameModelManager.setProgressDateScene(this._model.id);
GameModelManager_1.GameModelManager.CheckDateSceneProgress.emit();
}
}
}
......@@ -455,17 +452,6 @@ let DatingScenePresenter = /** @class */ (() => {
}
return portrait;
}
CreateOrUpdateChapterBtns() {
let ret = [];
let models = GameModelManager_1.GameModelManager.getMainDatingEventScenesModel();
for (let i = 0; i < models.length; i++) {
ret.push({ chapterId: i + 1, chapterName: models[i].config.name, chapterStartPlotId: models[i].config.start_plot_id });
}
for (let i = ret.length - 1; i >= 0; i--) {
let btn = cc.instantiate(this.view.getChapterBtn());
btn.getComponent(ChapterBtn_1.default).setData(ret[i].chapterId, ret[i].chapterName, ret[i].chapterStartPlotId);
}
}
getRetainVarKeyArr() {
let keyArr = [];
let branches = GameModelManager_1.GameModelManager.getAllStartedBranches();
......
......@@ -55,14 +55,6 @@ let DiscoverViewPresenter = /** @class */ (() => {
await simba_sdk_1.SDK.setClipboardData(this._viewProps.manId);
UIManager_1.UIManager.showToast("用户ID:" + this._viewProps.manId);
};
this.onForceEnterDiscoverSubView = (itemType) => {
this.itemClickCallBack(itemType);
};
this.onPlayerOptionSkin = () => {
this.initViewProps();
this.initItemConfig();
this._view.updateProps(this._viewProps);
};
}
static isShowRedDot() {
return false;
......@@ -88,8 +80,6 @@ let DiscoverViewPresenter = /** @class */ (() => {
}
onOpen() {
super.onOpen(undefined);
this._disposable.add(GameModelManager_1.GameModelManager.PlayerOptionSkin.on(this.onPlayerOptionSkin));
this._disposable.add(GameModelManager_1.GameModelManager.ForceEnterDiscoverSubView.on(this.onForceEnterDiscoverSubView));
this.onShow();
}
onShow() {
......
......@@ -70,7 +70,6 @@ let ExchangeCodeViewPresenter = /** @class */ (() => {
CDKeyEventManager_1.default.getInstance().changeRoleLike(roleId, count);
}
}
GameModelManager_1.GameModelManager.UpdatePlayerData.emit();
}
}
break;
......@@ -122,7 +121,6 @@ let ExchangeCodeViewPresenter = /** @class */ (() => {
CDKeyEventManager_1.default.getInstance().changeRoleLike(roleId, count);
}
}
GameModelManager_1.GameModelManager.UpdatePlayerData.emit();
}
else if (ret.code === "104001") { //错误的验证码
let content = GameModelManager_1.GameModelManager.getLanguageTxt(GameTextData_1.GameTextData.TEXT_CDKEYINVALID_VALUE);
......
......@@ -109,9 +109,6 @@ let ExtraPlotDatingEventSubViewPresenter = /** @class */ (() => {
this._curChapterIndex = tempIndex >= 1 && tempIndex <= this._maxChapterIndex ? tempIndex : this._curChapterIndex;
this.refreshItems();
};
this.onRefreshDateSceneProgress = () => {
this.refreshItems();
};
this.onForceClickItem = (id) => {
console.log("DatingEventSubpresenter onForceClickItem id = ", id);
let k = id + "";
......@@ -296,7 +293,6 @@ let ExtraPlotDatingEventSubViewPresenter = /** @class */ (() => {
onOpen() {
super.onOpen();
this._disposable.add(GameModelManager_1.GameModelManager.CheckDateGuide.on(this.checkGuideItem));
this._disposable.add(GameModelManager_1.GameModelManager.RefreshDateSceneProgress.on(this.onRefreshDateSceneProgress));
this._disposable.add(GameModelManager_1.GameModelManager.ForceClickDatingItem.on(this.onForceClickItem));
this._disposable.add(GameModelManager_1.GameModelManager.RefreshExtraPlotByType.on(this.onRefreshExtraPlotByType));
this.selectCurChapter();
......
......@@ -296,13 +296,6 @@ let MainViewPresenter = /** @class */ (() => {
UnlockItemModelManager_1.UnlockItemModelManager.saveItemIdToGameRecord(itemId);
}
};
/**
* 卧室返回点击UI事件
* @param index 返回具体tabIndex
*/
this.onBedroomViewBack = (index) => {
this._view.onTabButtonClick(null, `${index}`);
};
this.onRefreshAllStatus = async () => {
this.checkRedDot(AVG_1.PlotManager.getCurrentPlots());
GameConfig_1.GameConfig.showToBeContinue = false;
......@@ -366,7 +359,6 @@ let MainViewPresenter = /** @class */ (() => {
this._disposable.add(GameModelManager_1.GameModelManager.ShowPlotBlocked.on(this.onShowPlotBlocked));
this._disposable.add(GameModelManager_1.GameModelManager.AutoPopView.on(this.onAutoPopView));
this._disposable.add(GameModelManager_1.GameModelManager.UnlockItem.on(this.onUnlockItem));
this._disposable.add(GameModelManager_1.GameModelManager.BedroomViewBack.on(this.onBedroomViewBack));
this._disposable.add(GameModelManager_1.GameModelManager.RefreshAllStatus.on(this.onRefreshAllStatus));
this._disposable.add(GameModelManager_1.GameModelManager.JumpToViewInGame.on(this.onJumpToViewInGame));
this.checkRedDot(AVG_1.PlotManager.getCurrentPlots());
......
......@@ -52,7 +52,6 @@ let PhoneCallViewPresenter = /** @class */ (() => {
}
async onOpen() {
super.onOpen(undefined);
this._disposable.add(GameModelManager_1.GameModelManager.ApplicaitonGameChanged.on(this.onGameChangedClickCallback));
let plots = await GameModelManager_1.GameModelManager.rollbackPhoneCallIfNeeded();
this.analysisPlots(plots);
}
......
......@@ -163,7 +163,6 @@ let PhoneCallViewImpl = /** @class */ (() => {
this._isPlayMusic = false;
}
delete this._props;
GameModelManager_1.GameModelManager.CheckMainTabGuide.emit();
})));
}
onPropsLoad(props) {
......
......@@ -49,7 +49,6 @@ let DatingSceneViewImpl = /** @class */ (() => {
this.arrowguideNode = CCDummyObjects_1.DummyNode;
this.otherNameSpr = CCDummyObjects_1.DummySprite;
this.typewriter = undefined;
this.chapterBtn = CCDummyObjects_1.DummyPrefab;
this.skipButtonNode = CCDummyObjects_1.DummyNode;
this.autoPlayButtonNode = CCDummyObjects_1.DummyNode;
this.autoPlaySpriteFrame = [];
......@@ -81,9 +80,6 @@ let DatingSceneViewImpl = /** @class */ (() => {
}
}
};
this.getChapterBtn = () => {
return this.chapterBtn;
};
}
/**
* 是否显示返回按钮
......@@ -484,9 +480,6 @@ let DatingSceneViewImpl = /** @class */ (() => {
property(Typewriter_1.default)
], DatingSceneViewImpl.prototype, "typewriter", void 0);
__decorate([
property(cc.Prefab)
], DatingSceneViewImpl.prototype, "chapterBtn", void 0);
__decorate([
property(cc.Node)
], DatingSceneViewImpl.prototype, "skipButtonNode", void 0);
__decorate([
......
......@@ -26,6 +26,8 @@ let NewNoticeViewImpl = /** @class */ (() => {
this.contentRichText = CCDummyObjects_1.DummyRichText;
this.activitiesContentNode = CCDummyObjects_1.DummyNode;
this.activitiesItemPrefab = CCDummyObjects_1.DummyPrefab;
this.tipsToggle = CCDummyObjects_1.DummyToggle;
this.closeTipsLabel = CCDummyObjects_1.DummyLabel;
}
getButtonSpriteFrames() {
return this.buttonSpriteFrames;
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!