Playcontroler.js 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. (function() {
  2. var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
  3. var __module = nodeEnv ? module : {exports:{}};
  4. var __filename = 'preview-scripts/assets/Script/Playcontroler.js';
  5. var __require = nodeEnv ? function (request) {
  6. return cc.require(request);
  7. } : function (request) {
  8. return __quick_compile_project__.require(request, __filename);
  9. };
  10. function __define (exports, require, module) {
  11. if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict";
  12. cc._RF.push(module, 'bd769BizYREq7pMZmW+fkhf', 'Playcontroler');
  13. // Script/Playcontroler.ts
  14. "use strict";
  15. var __extends = (this && this.__extends) || (function () {
  16. var extendStatics = function (d, b) {
  17. extendStatics = Object.setPrototypeOf ||
  18. ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
  19. function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
  20. return extendStatics(d, b);
  21. };
  22. return function (d, b) {
  23. extendStatics(d, b);
  24. function __() { this.constructor = d; }
  25. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  26. };
  27. })();
  28. var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
  29. var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
  30. if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
  31. 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;
  32. return c > 3 && r && Object.defineProperty(target, key, r), r;
  33. };
  34. Object.defineProperty(exports, "__esModule", { value: true });
  35. var Global_1 = require("./Global");
  36. var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
  37. var Playcontroler = /** @class */ (function (_super) {
  38. __extends(Playcontroler, _super);
  39. function Playcontroler() {
  40. // LIFE-CYCLE CALLBACKS:
  41. var _this = _super !== null && _super.apply(this, arguments) || this;
  42. // parent:cc.Node = null;
  43. _this.MainScene = null;
  44. return _this;
  45. }
  46. Playcontroler.prototype.onLoad = function () {
  47. // this.parent = this.node.parent;
  48. this.MainScene = Global_1.default.instance.getMN();
  49. };
  50. Playcontroler.prototype.start = function () {
  51. };
  52. Playcontroler.prototype.update = function (dt) {
  53. if (Global_1.default.instance.OverFlag) {
  54. this.enabled = false;
  55. }
  56. else {
  57. if (!Global_1.default.instance.CollisionFlag) {
  58. this.node.y -= Global_1.default.instance.InitSpeed;
  59. }
  60. else {
  61. var name = Global_1.default.instance.TheHolder.name;
  62. if (name == "") {
  63. return;
  64. }
  65. this.node.y = Global_1.default.instance.TheHolder.y
  66. + Global_1.default.instance.TheHolder.getComponent(name).NodeH - 10; //here ,this way isnot a good Processing method,should be optimizated
  67. }
  68. }
  69. if (Global_1.default.instance.CollisionWithDing) {
  70. this.node.stopAllActions();
  71. Global_1.default.instance.CollisionWithDing = false;
  72. Global_1.default.instance.CollisionFlag = false;
  73. }
  74. };
  75. /**
  76. * player与墙壁的碰撞检测
  77. * @param other 被撞物体
  78. * @param self 碰撞体
  79. */
  80. Playcontroler.prototype.onCollisionEnter = function (other, self) {
  81. var rootSelf = this;
  82. switch (other.node.name) {
  83. case "Bg_0CollisionR": {
  84. self.node.x = 180;
  85. break;
  86. }
  87. case "Bg_0CollisionL": {
  88. self.node.x = -180;
  89. break;
  90. }
  91. case "Bg_1CollisionR": {
  92. self.node.x = 180;
  93. break;
  94. }
  95. case "Bg_1CollisionL": {
  96. self.node.x = -180;
  97. break;
  98. }
  99. // case "tanhuang":{
  100. // if(other.node.x+75>self.node.x&&other.node.x-75<self.node.x){
  101. // let main = Global.instance.getMN();
  102. // main.getChildByName("output").getComponent(cc.Label).string = "tanhuang";
  103. // }
  104. // }
  105. case "ding": {
  106. Global_1.default.instance.CollisionWithDing = true;
  107. self.node.stopAllActions();
  108. rootSelf.LifeZero();
  109. Global_1.default.instance.CollisionFlag = false;
  110. self.node.getComponent(cc.BoxCollider).enabled = false;
  111. rootSelf.scheduleOnce(function (err) {
  112. self.node.getComponent(cc.BoxCollider).enabled = true;
  113. }, 0.3);
  114. break;
  115. }
  116. default: {
  117. // this.MainScene.getComponent("MainScene").Score();//得分
  118. break;
  119. }
  120. }
  121. };
  122. Playcontroler.prototype.LifeZero = function () {
  123. var main = Global_1.default.instance.getMN();
  124. var lifeChil = main.getChildByName("BgNode").getChildByName("LifeDing").children;
  125. var life = new Array();
  126. var lifeNum = 0;
  127. for (var i = 0; i < lifeChil.length; i++) {
  128. if (lifeChil[i].name == "lifeBG") {
  129. life.push(lifeChil[i]);
  130. }
  131. }
  132. for (var i = 0; i < life.length; i++) {
  133. if (life[i].active) {
  134. lifeNum++;
  135. }
  136. }
  137. if (lifeNum == 0) {
  138. return;
  139. }
  140. };
  141. Playcontroler = __decorate([
  142. ccclass
  143. ], Playcontroler);
  144. return Playcontroler;
  145. }(cc.Component));
  146. exports.default = Playcontroler;
  147. /**
  148. * 1.下落速度加快;
  149. * 2.玻璃:先停一会在碎掉;
  150. * 3.传送带速度快一点;
  151. * 4.
  152. */
  153. cc._RF.pop();
  154. }
  155. if (nodeEnv) {
  156. __define(__module.exports, __require, __module);
  157. }
  158. else {
  159. __quick_compile_project__.registerModuleFunc(__filename, function () {
  160. __define(__module.exports, __require, __module);
  161. });
  162. }
  163. })();
  164. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxQbGF5Y29udHJvbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1DQUE4QjtBQUV4QixJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUEyQyxpQ0FBWTtJQUF2RDtRQUVJLHdCQUF3QjtRQUY1QixxRUE0R0M7UUF4R0cseUJBQXlCO1FBQ3pCLGVBQVMsR0FBZ0IsSUFBSSxDQUFDOztJQXVHbEMsQ0FBQztJQXRHRyw4QkFBTSxHQUFOO1FBQ0ksa0NBQWtDO1FBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsZ0JBQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELDZCQUFLLEdBQUw7SUFFQSxDQUFDO0lBRUQsOEJBQU0sR0FBTixVQUFRLEVBQUU7UUFDTixJQUFHLGdCQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBQztZQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN4QjthQUNHO1lBQ0EsSUFBRyxDQUFDLGdCQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBQztnQkFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksZ0JBQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO2FBQzVDO2lCQUNHO2dCQUNBLElBQUksSUFBSSxHQUFHLGdCQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7Z0JBQzFDLElBQUcsSUFBSSxJQUFJLEVBQUUsRUFBQztvQkFDVixPQUFPO2lCQUNWO2dCQUNELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLGdCQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO3NCQUNuQyxnQkFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssR0FBQyxFQUFFLENBQUMsQ0FBQSxxRUFBcUU7YUFDcEk7U0FDSjtRQUNELElBQUcsZ0JBQU0sQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEVBQUM7WUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMzQixnQkFBTSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7WUFDMUMsZ0JBQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztTQUN6QztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsd0NBQWdCLEdBQWhCLFVBQWlCLEtBQUssRUFBQyxJQUFJO1FBQ3ZCLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQztRQUVwQixRQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFDO1lBQ25CLEtBQUssZ0JBQWdCLENBQUMsQ0FBQTtnQkFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO2dCQUNsQixNQUFNO2FBQ1Q7WUFDRCxLQUFLLGdCQUFnQixDQUFDLENBQUE7Z0JBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO2dCQUNuQixNQUFNO2FBQ1Q7WUFDRCxLQUFLLGdCQUFnQixDQUFDLENBQUE7Z0JBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztnQkFDbEIsTUFBTTthQUNUO1lBQ0QsS0FBSyxnQkFBZ0IsQ0FBQyxDQUFBO2dCQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztnQkFDbkIsTUFBTTthQUNUO1lBQ0Qsb0JBQW9CO1lBQ3BCLG9FQUFvRTtZQUNwRSw4Q0FBOEM7WUFDOUMsb0ZBQW9GO1lBRXBGLFFBQVE7WUFDUixJQUFJO1lBQ0osS0FBSyxNQUFNLENBQUMsQ0FBQTtnQkFDUixnQkFBTSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQzNCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDcEIsZ0JBQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztnQkFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3ZELFFBQVEsQ0FBQyxZQUFZLENBQUMsVUFBUyxHQUFHO29CQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztnQkFDMUQsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNQLE1BQU07YUFDVDtZQUNELE9BQU8sQ0FBQyxDQUFBO2dCQUNKLHdEQUF3RDtnQkFDeEQsTUFBTTthQUNUO1NBQ0o7SUFDTCxDQUFDO0lBRUQsZ0NBQVEsR0FBUjtRQUNJLElBQUksSUFBSSxHQUFHLGdCQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ25DLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUNqRixJQUFJLElBQUksR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLElBQUksT0FBTyxHQUFDLENBQUMsQ0FBQztRQUNkLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxRQUFRLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO1lBQzlCLElBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxRQUFRLEVBQUM7Z0JBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDMUI7U0FDSjtRQUNELEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO1lBQzFCLElBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQztnQkFDZCxPQUFPLEVBQUUsQ0FBQzthQUNiO1NBQ0o7UUFDRCxJQUFHLE9BQU8sSUFBRSxDQUFDLEVBQUM7WUFDVixPQUFPO1NBQ1Y7SUFDTCxDQUFDO0lBM0dnQixhQUFhO1FBRGpDLE9BQU87T0FDYSxhQUFhLENBNEdqQztJQUFELG9CQUFDO0NBNUdELEFBNEdDLENBNUcwQyxFQUFFLENBQUMsU0FBUyxHQTRHdEQ7a0JBNUdvQixhQUFhO0FBOEdsQzs7Ozs7R0FLRyIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBHbG9iYWwgZnJvbSBcIi4vR2xvYmFsXCI7XHJcblxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBsYXljb250cm9sZXIgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG5cclxuICAgIC8vIExJRkUtQ1lDTEUgQ0FMTEJBQ0tTOlxyXG5cclxuICAgIC8vIHBhcmVudDpjYy5Ob2RlID0gbnVsbDtcclxuICAgIE1haW5TY2VuZTpjYy5Db21wb25lbnQgPSBudWxsO1xyXG4gICAgb25Mb2FkICgpIHtcclxuICAgICAgICAvLyB0aGlzLnBhcmVudCA9IHRoaXMubm9kZS5wYXJlbnQ7XHJcbiAgICAgICAgdGhpcy5NYWluU2NlbmUgPSBHbG9iYWwuaW5zdGFuY2UuZ2V0TU4oKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydCAoKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZSAoZHQpIHtcclxuICAgICAgICBpZihHbG9iYWwuaW5zdGFuY2UuT3ZlckZsYWcpe1xyXG4gICAgICAgICAgICB0aGlzLmVuYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgaWYoIUdsb2JhbC5pbnN0YW5jZS5Db2xsaXNpb25GbGFnKXtcclxuICAgICAgICAgICAgICAgIHRoaXMubm9kZS55IC09IEdsb2JhbC5pbnN0YW5jZS5Jbml0U3BlZWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGxldCBuYW1lID0gR2xvYmFsLmluc3RhbmNlLlRoZUhvbGRlci5uYW1lO1xyXG4gICAgICAgICAgICAgICAgaWYobmFtZSA9PSBcIlwiKXtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUueSA9IEdsb2JhbC5pbnN0YW5jZS5UaGVIb2xkZXIueSBcclxuICAgICAgICAgICAgICAgICAgICArIEdsb2JhbC5pbnN0YW5jZS5UaGVIb2xkZXIuZ2V0Q29tcG9uZW50KG5hbWUpLk5vZGVILTEwOy8vaGVyZSAsdGhpcyB3YXkgaXNub3QgYSBnb29kIFByb2Nlc3NpbmcgbWV0aG9kLHNob3VsZCBiZSBvcHRpbWl6YXRlZFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKEdsb2JhbC5pbnN0YW5jZS5Db2xsaXNpb25XaXRoRGluZyl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5zdG9wQWxsQWN0aW9ucygpO1xyXG4gICAgICAgICAgICBHbG9iYWwuaW5zdGFuY2UuQ29sbGlzaW9uV2l0aERpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgR2xvYmFsLmluc3RhbmNlLkNvbGxpc2lvbkZsYWcgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBwbGF5ZXLkuI7lopnlo4HnmoTnorDmkp7mo4DmtYtcclxuICAgICAqIEBwYXJhbSBvdGhlciDooqvmkp7niankvZNcclxuICAgICAqIEBwYXJhbSBzZWxmIOeisOaSnuS9k1xyXG4gICAgICovXHJcbiAgICBvbkNvbGxpc2lvbkVudGVyKG90aGVyLHNlbGYpe1xyXG4gICAgICAgIGxldCByb290U2VsZiA9IHRoaXM7XHJcblxyXG4gICAgICAgIHN3aXRjaChvdGhlci5ub2RlLm5hbWUpe1xyXG4gICAgICAgICAgICBjYXNlIFwiQmdfMENvbGxpc2lvblJcIjp7XHJcbiAgICAgICAgICAgICAgICBzZWxmLm5vZGUueCA9IDE4MDtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhc2UgXCJCZ18wQ29sbGlzaW9uTFwiOntcclxuICAgICAgICAgICAgICAgIHNlbGYubm9kZS54ID0gLTE4MDtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhc2UgXCJCZ18xQ29sbGlzaW9uUlwiOntcclxuICAgICAgICAgICAgICAgIHNlbGYubm9kZS54ID0gMTgwO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSBcIkJnXzFDb2xsaXNpb25MXCI6e1xyXG4gICAgICAgICAgICAgICAgc2VsZi5ub2RlLnggPSAtMTgwO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gY2FzZSBcInRhbmh1YW5nXCI6e1xyXG4gICAgICAgICAgICAvLyAgICAgaWYob3RoZXIubm9kZS54Kzc1PnNlbGYubm9kZS54JiZvdGhlci5ub2RlLngtNzU8c2VsZi5ub2RlLngpe1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIGxldCBtYWluID0gR2xvYmFsLmluc3RhbmNlLmdldE1OKCk7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgbWFpbi5nZXRDaGlsZEJ5TmFtZShcIm91dHB1dFwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IFwidGFuaHVhbmdcIjtcclxuXHJcbiAgICAgICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgY2FzZSBcImRpbmdcIjp7XHJcbiAgICAgICAgICAgICAgICBHbG9iYWwuaW5zdGFuY2UuQ29sbGlzaW9uV2l0aERpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgc2VsZi5ub2RlLnN0b3BBbGxBY3Rpb25zKCk7XHJcbiAgICAgICAgICAgICAgICByb290U2VsZi5MaWZlWmVybygpO1xyXG4gICAgICAgICAgICAgICAgR2xvYmFsLmluc3RhbmNlLkNvbGxpc2lvbkZsYWcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHNlbGYubm9kZS5nZXRDb21wb25lbnQoY2MuQm94Q29sbGlkZXIpLmVuYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHJvb3RTZWxmLnNjaGVkdWxlT25jZShmdW5jdGlvbihlcnIpe1xyXG4gICAgICAgICAgICAgICAgICAgIHNlbGYubm9kZS5nZXRDb21wb25lbnQoY2MuQm94Q29sbGlkZXIpLmVuYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfSwwLjMpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZGVmYXVsdDp7XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLk1haW5TY2VuZS5nZXRDb21wb25lbnQoXCJNYWluU2NlbmVcIikuU2NvcmUoKTsvL+W+l+WIhlxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgTGlmZVplcm8oKXtcclxuICAgICAgICBsZXQgbWFpbiA9IEdsb2JhbC5pbnN0YW5jZS5nZXRNTigpO1xyXG4gICAgICAgIGxldCBsaWZlQ2hpbCA9IG1haW4uZ2V0Q2hpbGRCeU5hbWUoXCJCZ05vZGVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJMaWZlRGluZ1wiKS5jaGlsZHJlbjtcclxuICAgICAgICBsZXQgbGlmZSA9IG5ldyBBcnJheSgpO1xyXG4gICAgICAgIGxldCBsaWZlTnVtPTA7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7aTxsaWZlQ2hpbC5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgaWYobGlmZUNoaWxbaV0ubmFtZSA9PSBcImxpZmVCR1wiKXtcclxuICAgICAgICAgICAgICAgIGxpZmUucHVzaChsaWZlQ2hpbFtpXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZm9yKGxldCBpPTA7aTxsaWZlLmxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICBpZihsaWZlW2ldLmFjdGl2ZSl7XHJcbiAgICAgICAgICAgICAgICBsaWZlTnVtKys7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYobGlmZU51bT09MCl7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLuS4i+iQvemAn+W6puWKoOW/q++8m1xyXG4gKiAyLueOu+eSg++8muWFiOWBnOS4gOS8muWcqOeijuaOie+8m1xyXG4gKiAzLuS8oOmAgeW4pumAn+W6puW/q+S4gOeCue+8m1xyXG4gKiA0LlxyXG4gKi8iXX0=