瀏覽代碼

Merge branch 'dev' of http://47.96.66.225:10080/chelios/xsdmx-CocosCreator into dev

chelios 3 年之前
父節點
當前提交
d751a6dfc0

+ 142 - 0
assets/Script/game/element/JG0108.ts

@@ -0,0 +1,142 @@
+import BaseEvent from "../fight/evnet/base/BaseEvent";
+import FSprite from "../fight/object/FSprite";
+
+/**
+ * 地刺
+ */
+const { ccclass, property } = cc._decorator;
+
+interface ThornSprite {
+    isAtk: boolean,
+    sprite: FSprite
+}
+
+
+@ccclass
+export default class JG0108 extends BaseEvent {
+
+    @property({
+        displayName: '数值(怪物id)'
+    })
+    public monsterId = 1001;
+
+    @property({
+        displayName: '地刺出现间隔时间'
+    })
+    public interval = 2;
+
+    @property({
+        type: sp.Skeleton,
+        displayName: '地刺动画'
+    })
+    public spine: sp.Skeleton = null;
+
+    private isAtk = false;
+    private isPause = false;
+
+    //当前处于碰撞区域的对象
+    private spriteList: Array<ThornSprite> = [];
+
+    start() {
+        this.run();
+    }
+    update(dt) {
+        if (!this.ff.lockCamera) {
+            if (!this.ff.lockCamera != this.isPause) {
+                this.isPause = true;
+                if (this.spine) {
+                    this.spine.paused = true;
+                }
+                return
+            }
+        } else {
+            if (!this.ff.lockCamera != this.isPause) {
+                this.isPause = false;
+                if (this.spine) {
+                    this.spine.paused = false;
+                }
+            }
+        }
+        if (this.isAtk) {
+            this.spriteList.forEach(element => {
+                this.rmHP(element);
+            });
+        }
+    }
+    private rmHP(thornSprite: ThornSprite) {
+        if (thornSprite.isAtk) {
+            return;
+        }
+        if (thornSprite.sprite.hp <= 0) {
+            return;
+        }
+        thornSprite.isAtk = true;
+        let main = this.ff.main;
+        let attrData = main.sManage.getMonsterData(this.monsterId);
+        thornSprite.sprite.bAtkjs(attrData);
+    }
+
+    private run() {
+        this.spriteList.forEach(element => {
+            element.isAtk = false;
+        });
+
+        if (!this.interval) {
+            this.isAtk = true;
+        } else {
+            cc.tween(this).sequence(
+                cc.delayTime(this.interval),
+                cc.callFunc(() => {
+                    this.playAtk();
+                })
+            ).start()
+        }
+    }
+
+    private playAtk() {
+        this.isAtk = true;
+        this.spine.setAnimation(0, 'atk', false);
+        this.spine.setCompleteListener(() => {
+            this.isAtk = false;
+            this.spine.setCompleteListener(null);
+            this.spine.setAnimation(0, 'idle', true);
+            this.run()
+        });
+    }
+    onBeginContact(contact: cc.PhysicsContact, selfCollider: cc.PhysicsCollider, other: cc.PhysicsCollider) {
+        if (other.node.group == 'A') {
+            let obj = other.node.getComponent(FSprite);
+            this.ff = obj.ff;
+            this.pushSprite(obj);
+        }
+    }
+    onEndContact(contact: cc.PhysicsContact, selfCollider: cc.PhysicsCollider, other: cc.PhysicsCollider) {
+        if (other.node.group == 'A') {
+            let obj = other.node.getComponent(FSprite);
+            this.removeSprite(obj);
+        }
+    }
+
+    private pushSprite(sprite: FSprite) {
+        for (let i = 0; i < this.spriteList.length; i++) {
+            const element = this.spriteList[i];
+            if (element.sprite == sprite) {
+                return
+            }
+        }
+        this.spriteList.push({
+            isAtk: false,
+            sprite: sprite
+        })
+    }
+    private removeSprite(sprite: FSprite) {
+        for (let i = 0; i < this.spriteList.length; i++) {
+            const element = this.spriteList[i];
+            if (element.sprite == sprite) {
+                this.spriteList.splice(i, 1);
+                break
+            }
+        }
+    }
+
+}

+ 9 - 0
assets/Script/game/element/JG0108.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.0.8",
+  "uuid": "aa206f5e-4276-4a43-96f1-d605b551bc09",
+  "isPlugin": false,
+  "loadPluginInWeb": true,
+  "loadPluginInNative": true,
+  "loadPluginInEditor": false,
+  "subMetas": {}
+}

+ 2 - 2
assets/Script/game/element/JG0120.ts

@@ -15,7 +15,7 @@ const SpineName = {
 const { ccclass, property } = cc._decorator;
 
 @ccclass
-export default class JG0120 extends BaseEvent {
+export default class JG0111 extends BaseEvent {
 
     @property({
         displayName: '替换的图片',
@@ -112,7 +112,7 @@ export default class JG0120 extends BaseEvent {
         //检查其它开关是否打开
         for (let i = 0; i < this.mButtons.length; i++) {
             const element = this.mButtons[i];
-            let fdb = element.getComponent(JG0120)
+            let fdb = element.getComponent(JG0111)
             if (!fdb.isHang) return
         }
         this.isOver = true;

assets/Script/game/element/JG0120.ts.meta → assets/Script/game/element/JG0111.ts.meta


+ 151 - 108
assets/Script/game/fight/evnet/FFenceTrigger.ts

@@ -10,7 +10,7 @@ import WOneByone from "./map1/WOneByone";
  * 激活怪物
  * 栅栏事件
  */
-const {ccclass, property} = cc._decorator;
+const { ccclass, property } = cc._decorator;
 
 @ccclass
 export default class FFenceTrigger extends cc.Component {
@@ -18,7 +18,7 @@ export default class FFenceTrigger extends cc.Component {
      * 伙伴初始化区域
      */
     @property({
-        type:cc.Node,
+        type: cc.Node,
         displayName: '远程初始位置'
     })
     mInitA: cc.Node = null;
@@ -26,7 +26,7 @@ export default class FFenceTrigger extends cc.Component {
      * 伙伴初始化区域
      */
     @property({
-        type:cc.Node,
+        type: cc.Node,
         displayName: '近战初始位置'
     })
     mInitB: cc.Node = null;
@@ -34,7 +34,7 @@ export default class FFenceTrigger extends cc.Component {
      * 伙伴初始化区域
      */
     @property({
-        type:cc.Node,
+        type: cc.Node,
         displayName: '摄像机移动的目标位置'
     })
     mCameraPos: cc.Node = null;
@@ -42,7 +42,7 @@ export default class FFenceTrigger extends cc.Component {
      * 怪物出现动画
      */
     @property({
-        type:cc.Prefab,
+        type: cc.Prefab,
         displayName: '怪物出现动画'
     })
     mAppear: cc.Prefab = null;
@@ -77,12 +77,21 @@ export default class FFenceTrigger extends cc.Component {
     @property([FSprite])
     mMonster5: Array<FSprite> = [];
 
+    /**
+     * 控制的栅栏
+     */
+    @property({
+        type: cc.Node,
+        displayName: '结束后开启的栅栏'
+    })
+    mFenceTrigger2: Array<cc.Node> = [];
+
     @property(cc.Prefab)
     mMapDialog: cc.Prefab = null;
 
     @property([cc.String])
     text: Array<string> = [];
-    
+
     @property({
         displayName: '是否开始就显示boss'
     })
@@ -93,40 +102,40 @@ export default class FFenceTrigger extends cc.Component {
     })
     countDown = -1;
 
-    public ff:FF;
+    public ff: FF;
     private isOver = false;
 
     private mIndex = 0
     /**
      * 怪物分组
      */
-    private groupMonster:Array<Array<FSprite>> = []
+    private groupMonster: Array<Array<FSprite>> = []
 
-    private mMonster:Array<FSprite> = null
+    private mMonster: Array<FSprite> = null
 
-    onLoad(){
+    onLoad() {
         this.groupMonster.push(this.mMonster1)
-        if(this.mMonster2.length > 0){
+        if (this.mMonster2.length > 0) {
             this.groupMonster.push(this.mMonster2)
         }
-        if(this.mMonster3.length > 0){
+        if (this.mMonster3.length > 0) {
             this.groupMonster.push(this.mMonster3)
         }
 
-        if(this.mMonster4.length > 0){
+        if (this.mMonster4.length > 0) {
             this.groupMonster.push(this.mMonster4)
         }
-        if(this.mMonster5.length > 0){
+        if (this.mMonster5.length > 0) {
             this.groupMonster.push(this.mMonster5)
         }
     }
-    start(){
+    start() {
         for (let i = 0; i < this.groupMonster.length; i++) {
-            const element:Array<FSprite> = this.groupMonster[i];
+            const element: Array<FSprite> = this.groupMonster[i];
             for (let j = 0; j < element.length; j++) {
                 const monster = element[j];
                 monster.isActive = false
-                if(i > 0){
+                if (i > 0) {
                     monster.node.active = false
                 }
             }
@@ -134,61 +143,61 @@ export default class FFenceTrigger extends cc.Component {
         this.mMonster = this.groupMonster[0]
     }
 
-    onBeginContact(contact: cc.PhysicsContact, selfCollider: cc.PhysicsCollider, otherCollider: cc.PhysicsCollider){
-        if(this.isOver){
+    onBeginContact(contact: cc.PhysicsContact, selfCollider: cc.PhysicsCollider, otherCollider: cc.PhysicsCollider) {
+        if (this.isOver) {
             return;
         }
-        if(otherCollider.node.group == 'A'){//主角踩到机关
+        if (otherCollider.node.group == 'A') {//主角踩到机关
             let obj = otherCollider.node.getComponent(FSprite);
             this.ff = obj.ff;
-            if(obj == this.ff.mainSprite){
+            if (obj == this.ff.mainSprite) {
                 this.node.removeComponent(cc.PhysicsBoxCollider);
                 this.node.removeComponent(cc.PhysicsBoxCollider);
                 this.ff = obj.ff;
-               
-                this.ff.regRemoveCallback((f:FSprite)=>{
+
+                this.ff.regRemoveCallback((f: FSprite) => {
                     this.removeCallback(f);
                 });
                 this.isOver = true;
                 this.startFight();
 
-                FqLogin.commitEvent(this.node.name,'','')
+                FqLogin.commitEvent(this.node.name, '', '')
             }
         }
     }
     /**
      * 开始战斗
      */
-    private startFight(){
+    private startFight() {
         this.ff.pauseSprite(true);
-        this.moveCamera(()=>{
+        this.moveCamera(this.node, () => {
             this.dialog(0);
         })
     }
-    private dialog(index:number){
-        if(index >= this.text.length){
+    private dialog(index: number) {
+        if (index >= this.text.length) {
             this.startFight1();
             return;
         }
         let texts = this.text[index].split('|')
         let mid = parseInt(texts.shift());
-        if(mid == -1){//主角
+        if (mid == -1) {//主角
 
             let my = this.ff.mainSprite.node;
-            this.showDialog(my,texts,()=>{
-                index ++;
+            this.showDialog(my, texts, () => {
+                index++;
                 this.dialog(index);
             });
-        }else{
+        } else {
             let my = this.mMonster[mid].node;
-            this.showDialog(my,texts,()=>{
-                index ++;
+            this.showDialog(my, texts, () => {
+                index++;
                 this.dialog(index);
             });
         }
-        
+
     }
-    private showDialog(my:cc.Node,dialogs,fCallback:()=>void){
+    private showDialog(my: cc.Node, dialogs, fCallback: () => void) {
         this.ff.mBlockInputEvents.active = true;
         let node = cc.instantiate(this.mMapDialog);
         node.group = 'map'
@@ -197,38 +206,38 @@ export default class FFenceTrigger extends cc.Component {
         node.y = my.y + my.height;
         node.parent = this.ff.mMap.mSprites;
         let obo = node.getComponent(WOneByone);
-        
+
         obo.dialogs = dialogs;
-        obo.setCallback(()=>{
+        obo.setCallback(() => {
             node.destroy();
             this.ff.setBlockInputCallback(null);
-           
+
             fCallback();
         });
-        this.ff.setBlockInputCallback(()=>{
+        this.ff.setBlockInputCallback(() => {
             obo.jump();
         });
         obo._start();
     }
 
-    private startFight1(){
+    private startFight1() {
         this.addMark();
         // this.moveTo();
-        if(this.isBoss){
+        if (this.isBoss) {
             this.ff.flushHP(this.mMonster[0]);
         }
-        if(this.countDown != -1){
+        if (this.countDown != -1) {
             this.ff.mCountDown.startCountDown(this.countDown);
         }
         cc.tween(this).sequence(
             cc.delayTime(0.6),
-            cc.callFunc(()=>{
+            cc.callFunc(() => {
                 this.playSkill(1);
                 this.playSkill(2);
                 this.playSkill(3);
             }),
             cc.delayTime(1.5),
-            cc.callFunc(()=>{
+            cc.callFunc(() => {
                 this.ff.pauseSprite(false);
                 this.ff.mBlockInputEvents.active = false;
 
@@ -239,7 +248,7 @@ export default class FFenceTrigger extends cc.Component {
                     let nodes = element.children;
                     nodes.forEach(tmp => {
                         let spine = tmp.getComponent(sp.Skeleton);
-                        if(spine){
+                        if (spine) {
                             spine.setAnimation(0, 'close', false);
                         }
                     });
@@ -252,7 +261,7 @@ export default class FFenceTrigger extends cc.Component {
         ).start()
     }
     //添加怪物标记
-    private addMark(){
+    private addMark() {
         for (let i = 0; i < this.mMonster.length; i++) {
             const element = this.mMonster[i];
             let node = element.addActiveIcon();
@@ -260,17 +269,17 @@ export default class FFenceTrigger extends cc.Component {
         }
     }
 
-    private actionMark(node:cc.Node){
+    private actionMark(node: cc.Node) {
         node.scale = 0;
         cc.tween(node).sequence(
             cc.delayTime(1),
-            cc.scaleTo(0.2,1.2,1.2),
-            cc.scaleTo(0.2,0.9,0.9),
-            cc.scaleTo(0.2,1.1,1.1),
-            cc.scaleTo(0.2,0.9,0.9),
-            cc.scaleTo(0.2,1.1,1.1),
-            cc.scaleTo(0.2,1,1),
-            cc.blink(1,3),
+            cc.scaleTo(0.2, 1.2, 1.2),
+            cc.scaleTo(0.2, 0.9, 0.9),
+            cc.scaleTo(0.2, 1.1, 1.1),
+            cc.scaleTo(0.2, 0.9, 0.9),
+            cc.scaleTo(0.2, 1.1, 1.1),
+            cc.scaleTo(0.2, 1, 1),
+            cc.blink(1, 3),
             cc.fadeOut(1.5),
             // cc.spawn(
             //     cc.blink(2,5),
@@ -280,8 +289,8 @@ export default class FFenceTrigger extends cc.Component {
         ).start();
     }
 
-    private moveCamera(finishCallback:()=>void){
-        if(!this.mCameraPos){
+    private moveCamera(node: cc.Node, finishCallback: () => void) {
+        if (!this.mCameraPos) {
             finishCallback();
             return;
         }
@@ -290,12 +299,11 @@ export default class FFenceTrigger extends cc.Component {
 
         let pos = cc.v2();
         let winsize = cc.winSize;
-        pos.x = this.node.x + this.mCameraPos.x-winsize.width/2;
-        pos.y = this.node.y + this.mCameraPos.y-winsize.height/2;
-
+        pos.x = node.x + this.mCameraPos.x - winsize.width / 2;
+        pos.y = node.y + this.mCameraPos.y - winsize.height / 2;
         cc.tween(camera.node).sequence(
-            cc.moveTo(1,pos),
-            cc.callFunc(()=>{
+            cc.moveTo(1, pos),
+            cc.callFunc(() => {
                 finishCallback();
             })
         ).start()
@@ -304,84 +312,85 @@ export default class FFenceTrigger extends cc.Component {
      * 移动伙伴
      * @param sprite 
      */
-    private moveTo(){
+    private moveTo() {
         let ffs = this.ff.getGroupBy(GroupType.A);
         for (let i = 0; i < ffs.length; i++) {
             const element = ffs[i];
-            if(element){
+            if (element) {
                 // element.setRuning(false);
                 // element.setDir({x:0,y:0});
-                element.playAction(SpriteActionType.run,true)
+                element.playAction(SpriteActionType.run, true)
                 let attrData = element.attrData;
                 let pos = cc.v2();
-                if(attrData.post == 3){
-                    pos.x = this.node.x + this.mInitB.x + CMath.getRandom(-this.mInitB.width,this.mInitB.width);
-                    pos.y = this.node.y + this.mInitB.y+ CMath.getRandom(-this.mInitB.height,this.mInitB.height);
-                }else{
-                    pos.x = this.node.x + this.mInitA.x + CMath.getRandom(-this.mInitA.width,this.mInitA.width);
-                    pos.y = this.node.y + this.mInitA.y+ CMath.getRandom(-this.mInitA.height,this.mInitA.height);
+                if (attrData.post == 3) {
+                    pos.x = this.node.x + this.mInitB.x + CMath.getRandom(-this.mInitB.width, this.mInitB.width);
+                    pos.y = this.node.y + this.mInitB.y + CMath.getRandom(-this.mInitB.height, this.mInitB.height);
+                } else {
+                    pos.x = this.node.x + this.mInitA.x + CMath.getRandom(-this.mInitA.width, this.mInitA.width);
+                    pos.y = this.node.y + this.mInitA.y + CMath.getRandom(-this.mInitA.height, this.mInitA.height);
                 }
-    
+
                 cc.tween(element.node).sequence(
-                    cc.moveTo(0.5,pos),
-                    cc.callFunc(()=>{
-                        element.playAction(SpriteActionType.stand,true);
+                    cc.moveTo(0.5, pos),
+                    cc.callFunc(() => {
+                        element.playAction(SpriteActionType.stand, true);
                     })
                 ).start();
             }
-           
+
         }
     }
 
-    public removeCallback(f:FSprite){
+    public removeCallback(f: FSprite) {
         for (let i = 0; i < this.mMonster.length; i++) {
             const element = this.mMonster[i];
-            if(element == f){
-                this.mMonster.splice(i,1);
+            if (element == f) {
+                this.mMonster.splice(i, 1);
                 break;
             }
         }
-        if(this.mMonster.length <= 0){
-            this.mIndex ++
-            if(this.mIndex < this.groupMonster.length){
+        if (this.mMonster.length <= 0) {
+            this.mIndex++
+            if (this.mIndex < this.groupMonster.length) {
                 this.mMonster = this.groupMonster[this.mIndex]
                 this.playAppear()
-            }else{
+            } else {
                 for (let i = 0; i < this.mFenceTrigger.length; i++) {
                     const element = this.mFenceTrigger[i];
                     // element.active = false;
                     this.playCancelFence(element);
                 }
                 this.ff.regRemoveCallback(null);
-    
                 //主角减速等待伙伴
                 // let t1 = this.ff.mainSprite.SPEED_WALK;
                 // let t2 = this.ff.mainSprite.SPEED_RUN;
-    
+
                 // let mainFSprite = this.ff.mainSprite;
                 // mainFSprite.SPEED_WALK = 100;
                 // mainFSprite.SPEED_RUN = 100;
                 this.ff.mainSprite.setPause(true);
                 cc.tween(this.node).sequence(
                     cc.delayTime(0.5),
-                    cc.callFunc(()=>{
+                    cc.callFunc(() => {
                         this.ff.mainSprite.setPause(false);
                     })
                 ).start()
+
+                this.checkOpen();
             }
 
-            
+
 
         }
     }
     /**
      * 播放怪物出现
      */
-    private playAppear(){
+    private playAppear() {
         for (let i = 0; i < this.mMonster.length; i++) {
             const element = this.mMonster[i];
             element.node.active = true
-            if(this.mAppear){
+            if (this.mAppear) {
                 let node = cc.instantiate(this.mAppear)
                 node.parent = element.node
                 node.group = element.node.group
@@ -391,18 +400,18 @@ export default class FFenceTrigger extends cc.Component {
                     element.isActive = true
                 });
                 spine.setAnimation(0, 'animation', false);
-            }else{
+            } else {
                 element.isActive = true
             }
-            
+
         }
 
     }
     /**
      * 播放消失动画
      */
-    private playCancelFence(node:cc.Node){
-        if(this.countDown != -1){
+    private playCancelFence(node: cc.Node) {
+        if (this.countDown != -1) {
             this.ff.mCountDown.stopCountDown();
         }
 
@@ -410,11 +419,11 @@ export default class FFenceTrigger extends cc.Component {
         let count = 0;
         nodes.forEach(element => {
             let spine = element.getComponent(sp.Skeleton);
-            if(spine){
-                spine.setCompleteListener(()=>{
+            if (spine) {
+                spine.setCompleteListener(() => {
                     element.active = false;
-                    count ++;
-                    if(count >= nodes.length){
+                    count++;
+                    if (count >= nodes.length) {
                         node.active = false;
                     }
                 });
@@ -427,28 +436,28 @@ export default class FFenceTrigger extends cc.Component {
      * @param sprite 
      * @param path 
      */
-    private playSkill(id){
-        cc.resources.load('prefab/role/skills/skills_'+id, cc.Prefab, (err, prefab:cc.Prefab) =>{
-            if(err){
+    private playSkill(id) {
+        cc.resources.load('prefab/role/skills/skills_' + id, cc.Prefab, (err, prefab: cc.Prefab) => {
+            if (err) {
                 cc.error(err);
-            }else{
+            } else {
                 let fss = this.ff.getGroupBy(GroupType.A);
                 for (let i = 0; i < fss.length; i++) {
                     const element = fss[i];
-                    if(element){
+                    if (element) {
                         let node = cc.instantiate(prefab);
                         node.parent = element.node;
                         node.zIndex = 9999;
                         let spine = node.getComponent(sp.Skeleton);
-                        if(id != 3){
-                            spine.setCompleteListener(()=>{
-                                    node.destroy();
+                        if (id != 3) {
+                            spine.setCompleteListener(() => {
+                                node.destroy();
                             });
-                        }else{
+                        } else {
                             element.hasDun = true;
                             cc.tween(node).sequence(
                                 cc.delayTime(10),
-                                cc.callFunc(()=>{
+                                cc.callFunc(() => {
                                     element.hasDun = false
                                 }),
                                 cc.destroySelf()
@@ -457,8 +466,42 @@ export default class FFenceTrigger extends cc.Component {
                     }
                 }
             }
-        } );
+        });
     }
 
 
+    private checkOpen() {
+        //检查其它开关是否打开
+        if (!this.mFenceTrigger2.length) return
+        this.ff.pauseSprite(true);
+        this.moveCamera(this.mFenceTrigger2[0], () => {
+            cc.tween(this.node).sequence(
+                cc.callFunc(() => {
+                    for (let i = 0; i < this.mFenceTrigger2.length; i++) {
+                        const element = this.mFenceTrigger2[i];
+                        this.showFence(element, "open");
+                    }
+                }),
+                cc.delayTime(1),
+                cc.callFunc(() => {
+                    for (let i = 0; i < this.mFenceTrigger2.length; i++) {
+                        const element = this.mFenceTrigger2[i];
+                        element.getComponent(cc.PhysicsBoxCollider).enabled = false;
+                    }
+                    this.ff.pauseSprite(false);
+                })
+            ).start();
+        })
+    }
+    private showFence(element, action) {
+        let nodes = element.children;
+        for (let i = 0; i < nodes.length; i++) {
+            const element = nodes[i];
+            let spine: sp.Skeleton = element.getComponent(sp.Skeleton);
+            if (spine) {
+                spine.setAnimation(0, action, false);
+            }
+        }
+    }
+
 }

+ 1 - 0
assets/Script/game/fight/evnet/altar/FAltarGear.ts

@@ -53,6 +53,7 @@ export default class FAltarGear extends cc.Component {
         let ff = this.map.ff;
         ff.pauseSprite(true);
         this.moveCamera(() => {
+            this.node.zIndex = -9999;
             let nodes = this.node.children;
             nodes.forEach(element => {
                 let spine = element.children[0].getComponent(sp.Skeleton);

二進制
assets/resources/element_spine/ZA0105.png


+ 36 - 0
assets/resources/element_spine/ZA0105.png.meta

@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.5",
+  "uuid": "0ff0f492-7c85-49b5-abcf-28313d406e4e",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 32,
+  "height": 64,
+  "platformSettings": {},
+  "subMetas": {
+    "ZA0105": {
+      "ver": "1.0.4",
+      "uuid": "990a98b9-898e-4977-b44f-4d68be19fb65",
+      "rawTextureUuid": "0ff0f492-7c85-49b5-abcf-28313d406e4e",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 32,
+      "height": 64,
+      "rawWidth": 32,
+      "rawHeight": 64,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

+ 12 - 0
assets/resources/element_spine/ZA105.meta

@@ -0,0 +1,12 @@
+{
+  "ver": "1.1.2",
+  "uuid": "10dd2548-21f4-4369-b382-c7371b025f7f",
+  "isBundle": false,
+  "bundleName": "",
+  "priority": 1,
+  "compressionType": {},
+  "optimizeHotUpdate": {},
+  "inlineSpriteFrames": {},
+  "isRemoteBundle": {},
+  "subMetas": {}
+}

+ 176 - 0
assets/resources/prefab/element/JG0108.prefab

@@ -0,0 +1,176 @@
+[
+  {
+    "__type__": "cc.Prefab",
+    "_name": "",
+    "_objFlags": 0,
+    "_native": "",
+    "data": {
+      "__id__": 1
+    },
+    "optimizationPolicy": 0,
+    "asyncLoadAssets": false,
+    "readonly": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "dici",
+    "_objFlags": 0,
+    "_parent": null,
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 2
+      },
+      {
+        "__id__": 3
+      },
+      {
+        "__id__": 4
+      }
+    ],
+    "_prefab": {
+      "__id__": 5
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 32,
+      "height": 64
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.4
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        2.1,
+        2.1,
+        2
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 1,
+    "groupIndex": 1,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "990a98b9-898e-4977-b44f-4d68be19fb65"
+    },
+    "_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.RigidBody",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "_type": 0,
+    "_allowSleep": true,
+    "_gravityScale": 0,
+    "_linearDamping": 0,
+    "_angularDamping": 0,
+    "_linearVelocity": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_angularVelocity": 0,
+    "_fixedRotation": false,
+    "enabledContactListener": true,
+    "bullet": false,
+    "awakeOnLoad": false,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PhysicsBoxCollider",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "tag": 1,
+    "_density": 8,
+    "_sensor": true,
+    "_friction": 0,
+    "_restitution": 0,
+    "body": null,
+    "_offset": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 6.6
+    },
+    "_size": {
+      "__type__": "cc.Size",
+      "width": 32,
+      "height": 64
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "13452eaf-a0d0-4b0a-82d2-f5fc7cf793bb"
+    },
+    "fileId": "",
+    "sync": false
+  }
+]

+ 8 - 0
assets/resources/prefab/element/JG0108.prefab.meta

@@ -0,0 +1,8 @@
+{
+  "ver": "1.2.9",
+  "uuid": "13452eaf-a0d0-4b0a-82d2-f5fc7cf793bb",
+  "optimizationPolicy": "AUTO",
+  "asyncLoadAssets": false,
+  "readonly": false,
+  "subMetas": {}
+}

+ 1 - 1
assets/resources/prefab/element/JG0109.prefab.meta

@@ -1,6 +1,6 @@
 {
   "ver": "1.2.9",
-  "uuid": "13452eaf-a0d0-4b0a-82d2-f5fc7cf793bb",
+  "uuid": "45502707-7b13-4ee2-934a-1eaf3254b1c1",
   "optimizationPolicy": "AUTO",
   "asyncLoadAssets": false,
   "readonly": false,

+ 8 - 8
assets/resources/prefab/element/JG0113.prefab

@@ -13,7 +13,7 @@
   },
   {
     "__type__": "cc.Node",
-    "_name": "JG0124",
+    "_name": "JG0113",
     "_objFlags": 0,
     "_parent": null,
     "_children": [
@@ -46,8 +46,8 @@
     },
     "_contentSize": {
       "__type__": "cc.Size",
-      "width": 0,
-      "height": 0
+      "width": 32,
+      "height": 32
     },
     "_anchorPoint": {
       "__type__": "cc.Vec2",
@@ -58,8 +58,8 @@
       "__type__": "TypedArray",
       "ctor": "Float64Array",
       "array": [
-        0,
-        0,
+        1694.97,
+        737.685,
         0,
         0,
         0,
@@ -222,7 +222,7 @@
     "_fixedRotation": false,
     "enabledContactListener": true,
     "bullet": false,
-    "awakeOnLoad": true,
+    "awakeOnLoad": false,
     "_id": ""
   },
   {
@@ -235,7 +235,7 @@
     "_enabled": true,
     "tag": 0,
     "_density": 1,
-    "_sensor": false,
+    "_sensor": true,
     "_friction": 0.2,
     "_restitution": 0,
     "body": null,
@@ -259,7 +259,7 @@
       "__id__": 1
     },
     "_enabled": true,
-    "goodId": 2001,
+    "goodId": 2002,
     "_id": ""
   },
   {

+ 2 - 2
assets/resources/prefab/element/JG0117.prefab

@@ -13,7 +13,7 @@
   },
   {
     "__type__": "cc.Node",
-    "_name": "JG0102",
+    "_name": "JG0117",
     "_objFlags": 0,
     "_parent": null,
     "_children": [],
@@ -199,7 +199,7 @@
       "__id__": 1
     },
     "asset": {
-      "__uuid__": "e18cbf3b-5ab8-4c87-871a-a2c51ce55790"
+      "__uuid__": "2777c629-901f-467d-b9c5-838129207240"
     },
     "fileId": "",
     "sync": false

+ 199 - 0
assets/resources/prefab/element/ZA0103.prefab

@@ -0,0 +1,199 @@
+[
+  {
+    "__type__": "cc.Prefab",
+    "_name": "",
+    "_objFlags": 0,
+    "_native": "",
+    "data": {
+      "__id__": 1
+    },
+    "optimizationPolicy": 0,
+    "asyncLoadAssets": false,
+    "readonly": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "tree",
+    "_objFlags": 0,
+    "_parent": null,
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 2
+      },
+      {
+        "__id__": 3
+      },
+      {
+        "__id__": 4
+      },
+      {
+        "__id__": 5
+      }
+    ],
+    "_prefab": {
+      "__id__": 6
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 34,
+      "height": 44.69
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        2,
+        2,
+        2
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 1,
+    "groupIndex": 1,
+    "_id": ""
+  },
+  {
+    "__type__": "sp.Skeleton",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "7afd064b-113f-480e-b793-8817d19f63c3"
+      }
+    ],
+    "paused": false,
+    "defaultSkin": "default",
+    "defaultAnimation": "",
+    "_preCacheMode": 0,
+    "_cacheMode": 0,
+    "loop": true,
+    "premultipliedAlpha": true,
+    "timeScale": 1,
+    "_accTime": 0,
+    "_playCount": 0,
+    "_frameCache": null,
+    "_curFrame": null,
+    "_skeletonCache": null,
+    "_animationName": "",
+    "_animationQueue": [],
+    "_headAniInfo": null,
+    "_playTimes": 0,
+    "_isAniComplete": true,
+    "_N$skeletonData": {
+      "__uuid__": "effa6889-0b4c-4f72-9a43-2fc0a1e776c8"
+    },
+    "_N$_defaultCacheMode": 0,
+    "_N$debugSlots": false,
+    "_N$debugBones": false,
+    "_N$debugMesh": false,
+    "_N$useTint": false,
+    "_N$enableBatch": false,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.RigidBody",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "_type": 0,
+    "_allowSleep": true,
+    "_gravityScale": 1,
+    "_linearDamping": 0,
+    "_angularDamping": 0,
+    "_linearVelocity": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_angularVelocity": 0,
+    "_fixedRotation": false,
+    "enabledContactListener": true,
+    "bullet": false,
+    "awakeOnLoad": true,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PhysicsBoxCollider",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "tag": 104,
+    "_density": 1,
+    "_sensor": true,
+    "_friction": 0.2,
+    "_restitution": 0,
+    "body": null,
+    "_offset": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 12
+    },
+    "_size": {
+      "__type__": "cc.Size",
+      "width": 34,
+      "height": 44
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "60ff7xlztpPIaYzRCAOl6BJ",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "9ae25294-b58f-4060-a268-785d5e039fd2"
+    },
+    "fileId": "",
+    "sync": false
+  }
+]

+ 8 - 0
assets/resources/prefab/element/ZA0103.prefab.meta

@@ -0,0 +1,8 @@
+{
+  "ver": "1.2.9",
+  "uuid": "9ae25294-b58f-4060-a268-785d5e039fd2",
+  "optimizationPolicy": "AUTO",
+  "asyncLoadAssets": false,
+  "readonly": false,
+  "subMetas": {}
+}

文件差異過大導致無法顯示
+ 16029 - 4615
assets/resources/prefab/map/map1.prefab


+ 448 - 0
assets/resources/prefab/map/monster2.prefab

@@ -0,0 +1,448 @@
+[
+  {
+    "__type__": "cc.Prefab",
+    "_name": "",
+    "_objFlags": 0,
+    "_native": "",
+    "data": {
+      "__id__": 1
+    },
+    "optimizationPolicy": 0,
+    "asyncLoadAssets": false,
+    "readonly": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "monster2",
+    "_objFlags": 0,
+    "_parent": null,
+    "_children": [
+      {
+        "__id__": 2
+      },
+      {
+        "__id__": 4
+      },
+      {
+        "__id__": 6
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 8
+      },
+      {
+        "__id__": 9
+      },
+      {
+        "__id__": 10
+      },
+      {
+        "__id__": 11
+      }
+    ],
+    "_prefab": {
+      "__id__": 12
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 800,
+      "height": 600
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        5522.731,
+        3009.612,
+        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": 6,
+    "groupIndex": 6,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "initA",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [],
+    "_prefab": {
+      "__id__": 3
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 10,
+      "height": 50
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        -69.224,
+        14.763,
+        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.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "21Af6wfsNAZIV4ixZrcfKO",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "initB",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [],
+    "_prefab": {
+      "__id__": 5
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 20,
+      "height": 50
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        -165.556,
+        3.346,
+        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.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "e8nOUfZptHIpeDZjGsCkdi",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "camera",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [],
+    "_prefab": {
+      "__id__": 7
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        -89.341,
+        32.222,
+        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.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "4aB5ykZkREnpslVj1302ss",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": null,
+    "_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.RigidBody",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "_type": 0,
+    "_allowSleep": true,
+    "_gravityScale": 1,
+    "_linearDamping": 0,
+    "_angularDamping": 0,
+    "_linearVelocity": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_angularVelocity": 0,
+    "_fixedRotation": true,
+    "enabledContactListener": true,
+    "bullet": false,
+    "awakeOnLoad": true,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PhysicsBoxCollider",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "tag": 0,
+    "_density": 1,
+    "_sensor": true,
+    "_friction": 0.2,
+    "_restitution": 0,
+    "body": null,
+    "_offset": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_size": {
+      "__type__": "cc.Size",
+      "width": 800,
+      "height": 600
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "aa67cinkn1NAahhotVQTywj",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "mInitA": {
+      "__id__": 4
+    },
+    "mInitB": {
+      "__id__": 2
+    },
+    "mCameraPos": {
+      "__id__": 6
+    },
+    "mAppear": {
+      "__uuid__": "015ac756-d9c4-4e86-9b25-0df561edf635"
+    },
+    "mFenceTrigger": [
+      null,
+      null
+    ],
+    "mMonster1": [
+      null,
+      null
+    ],
+    "mMonster2": [
+      null,
+      null,
+      null
+    ],
+    "mMonster3": [],
+    "mMonster4": [],
+    "mMonster5": [],
+    "mMapDialog": {
+      "__uuid__": "004b58bd-79fd-43fd-91d3-fda0f9f4f1c5"
+    },
+    "text": [
+      "1|看什么看,没见过这么飘逸的发型么?我是树界第一大帅哥",
+      "-1|你当我是眼瞎么?",
+      "1|小丫头不要给脸不要脸"
+    ],
+    "isBoss": false,
+    "countDown": -1,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "",
+    "sync": false
+  }
+]

+ 8 - 0
assets/resources/prefab/map/monster2.prefab.meta

@@ -0,0 +1,8 @@
+{
+  "ver": "1.2.9",
+  "uuid": "d2d2cbe3-4b99-414c-869c-f9a78a80e252",
+  "optimizationPolicy": "AUTO",
+  "asyncLoadAssets": false,
+  "readonly": false,
+  "subMetas": {}
+}

+ 3 - 3
assets/resources/prefab/role/1002.prefab

@@ -3239,10 +3239,10 @@
     "body": null,
     "_offset": {
       "__type__": "cc.Vec2",
-      "x": 0,
-      "y": 40
+      "x": 1,
+      "y": 5
     },
-    "_radius": 30,
+    "_radius": 25,
     "_id": ""
   },
   {

+ 21 - 10
local/local.json

@@ -3,9 +3,7 @@
   "recent-items": [
     "c9487f27-70f0-4012-bf79-ce48f9814dcb",
     "9fb099ea-142d-418f-a1e8-f5a46e4f27ee",
-    "54e0cd76-2c63-4e23-b81c-97efe2699791",
     "b20fa46e-e493-40ba-a335-7379ec86a2cb",
-    "51a7178b-1133-44d1-92b5-5f5e1e2348a4",
     "a972bb11-bb49-4d02-898f-7c2e78f109d1",
     "ed2eb25b-c86d-45e1-af89-df8acbd7b3f0",
     "2576e95c-82ed-42b3-8927-2e79aa6486b0",
@@ -16,6 +14,7 @@
     "aa4d574e-420c-47ae-bfa1-768309e25aa0",
     "3d970ea4-c1a7-4b5e-a794-be2a897474f0",
     "1fbc18b8-3bde-4f5f-8f1d-e7ce637b6616",
+    "00e7d7b2-4a8c-47e2-be29-2a79dee2c720",
     "2d2f792f-a40c-49bb-a189-ed176a246e49",
     "45bf96c6-d384-4b20-acce-9ce392c137ac",
     "17ad2a77-62ab-4903-ac54-252be1792308",
@@ -30,23 +29,34 @@
     "d1a2ef47-969e-4cde-a796-a3cd475d8bed",
     "1051392c-148f-41a1-9267-9ef5f129a6e9",
     "41ffe928-29fe-4bd7-933b-6deda3500016",
-    "d109550d-0d11-4e32-90e1-bf0c2e80f637",
-    "2777c629-901f-467d-b9c5-838129207240",
-    "949937c7-bc7c-4a3e-9ac5-10b8c12ff78c",
-    "4fa20b44-a925-4cf5-b13a-14c21e455b02",
-    "39a60824-c678-4b33-a8e7-c5c2f8f7bb9e",
     "7ac1727a-906d-447e-84b1-ca14a649311c",
+    "bacf0829-5e61-4fa9-b3bd-cb3472b1cb42",
+    "7657f40d-bece-48f6-bcf3-9df3840fb551",
+    "1dd1b738-6fcc-472c-aef0-635d214a6118",
+    "165d9521-f2fa-40d9-bbe9-1d4f4c5d4775",
+    "54e0cd76-2c63-4e23-b81c-97efe2699791",
+    "51a7178b-1133-44d1-92b5-5f5e1e2348a4",
     "81823765-7aef-47ac-b793-287673d47aa3",
     "c1fa2217-e454-46ca-ad7b-31c2afa8adc4",
     "1cc87fa7-097b-4f10-aecb-49dcb1713bac",
     "4445850f-898f-47e8-a574-c2c63a1e36a7",
-    "35b14081-9e0f-45a5-a804-a787c942ff47",
-    "69b3a8ee-9d9c-4120-8fa0-0e9aba59b472",
     "af111354-8962-48b7-93db-eee87d40b1fe",
     "147ce141-b17c-4434-87f7-2b12cb885bb7",
-    "13452eaf-a0d0-4b0a-82d2-f5fc7cf793bb",
     "fb1460ea-e74b-47b2-8467-efbbba57a4ca",
     "686bd299-de37-43fe-b735-f5a6dd1f9e13",
+<<<<<<< HEAD
+    "39a60824-c678-4b33-a8e7-c5c2f8f7bb9e",
+    "949937c7-bc7c-4a3e-9ac5-10b8c12ff78c",
+    "2777c629-901f-467d-b9c5-838129207240",
+    "d109550d-0d11-4e32-90e1-bf0c2e80f637",
+    "9ae25294-b58f-4060-a268-785d5e039fd2",
+    "35b14081-9e0f-45a5-a804-a787c942ff47",
+    "69b3a8ee-9d9c-4120-8fa0-0e9aba59b472",
+    "13452eaf-a0d0-4b0a-82d2-f5fc7cf793bb",
+    "45502707-7b13-4ee2-934a-1eaf3254b1c1",
+    "4fa20b44-a925-4cf5-b13a-14c21e455b02",
+    "891e36f9-7931-427e-b549-e16b827a1fb2"
+=======
     "00e7d7b2-4a8c-47e2-be29-2a79dee2c720",
     "1dd1b738-6fcc-472c-aef0-635d214a6118",
     "891e36f9-7931-427e-b549-e16b827a1fb2",
@@ -76,5 +86,6 @@
     "ff982981-097a-4e0e-8734-bfc340c5f129",
     "17c158b8-f108-4d60-8a10-7c3bccd19762",
     "165d9521-f2fa-40d9-bbe9-1d4f4c5d4775"
+>>>>>>> 4aab6976f042310b3f82a22a4a96734d5a0b0dfb
   ]
 }

+ 498 - 1
local/node-tree-state.json

@@ -1,5 +1,293 @@
 {
   "nodeFoldStates": [
+<<<<<<< HEAD
+    "74vOxDNbRI+q0GibXjZJJ2",
+    "36iGgJSOZBb4eHJUpkkAVQ",
+    "77F12DZMxKQ7+a5jxNx9zF",
+    "40rLUXK39FZ5QD/XFdldig",
+    "98qoTYtVBJMI3ZQEUFsoEM",
+    "bclDk7HsdPTIT10NKl0u1O",
+    "637pDuuUFEKaRmqJeDQHW1",
+    "85/rNas8RD0KxQGLo+bQsD",
+    "ea6gxSxXxBu7Rw9HB6EAF/",
+    "c036MaCeZMUKVOOjF+5KrX",
+    "2c0M/ThbJEuJcXFUysUiz+",
+    "a00OpcmLxL+4bRnx6n5opq",
+    "e0+00ceyRJqoLdqteo9IrU",
+    "58O+0miOJCxYBP7gc3ehRK",
+    "b8YUvf2jxB0rxYf921CUmK",
+    "30im7I7PVBY5wlyJYhfKdd",
+    "baeJFtmexLVoh3gYfQe0sC",
+    "48oXsiQvdBHIUS/spckQIP",
+    "2f1RDL4tROya8LquJRTEW6",
+    "6fa3RUYQhEOKZ8rP0Toezu",
+    "3b83vHVD9KhodvA0VdzDqn",
+    "d6bUw4qp5GwoBk0l0IMcWh",
+    "61WPycHGlCHpGnLmTWFqaZ",
+    "97bbsmLxVPSrQsA4cdZjAu",
+    "86DASwWpNDDZybSNpRJGct",
+    "0eC9EMJalCfJscMNq8omm7",
+    "cb9lo9xVxIhKcKP+gaLgvS",
+    "3ajaYCN/tBNIx1B+EGi+58",
+    "69ntJoctJNFZ/m8zaq2rhg",
+    "5aV/BExVVN7rQ9mwh1NFYp",
+    "429MEg5nBMZrFTU05V50yO",
+    "de22Hy4wpFdJ/6SAODDYk1",
+    "90l2iZZTlA95+azF+KLcFD",
+    "19WCsWZsJOw6COVYgM+tsM",
+    "b7ot2TOIFGZ5ZaSQGktUMh",
+    "75v140/nVG9453CU8WB82D",
+    "1eD6Of6JZE26eNuSMM3D4S",
+    "6cVtK9LE1OC50uzN4BZv4z",
+    "a4vNe0/K1P5I5bNPSPJ8u7",
+    "3d8zyQHAVIu5VVyMZdp6tJ",
+    "abCvLSH8hLFJWaKxv/rTHM",
+    "bftwFDim9EcooDqm07xq9t",
+    "26gtybsIhHD64hSskeOLxO",
+    "2fHHDqhAZB566zk1u/xV04",
+    "4f/OwmLjFIxLEmMonFqUz1",
+    "bbBDb3duNJlZG+hFdsiEeP",
+    "e9kJfpmvBFKrSc70hGqdb1",
+    "1dveWhuQdGSbjZCJ3WE0/v",
+    "2e92ltWHhCMJSQlojO0bd6",
+    "69KhfnXlhKP6JfolW42eqb",
+    "5bgy7MvWpGl78UT7o7iS2n",
+    "81SfEu85VBI4ZBQv+xbvrm",
+    "db/OHPKeZOpZ6QpLL9kW5t",
+    "96ZWYLJyVBxpd8RVUIBgk3",
+    "a3rM0YKzhH7odp+23oLrSz",
+    "e65/gcKYdA9q9Q5aZDLgaJ",
+    "41S1fDpSRJLo7PnPj4lcvc",
+    "83RsP1B4hA86zOF/Hmp8bW",
+    "b0AeScx+dN85K79xOuxJVU",
+    "1aeiqLPHhMiK9CxU9657Eo",
+    "7aeRMpXBhBFqTAgRjKD1DP",
+    "c1MSi0IZlLS79J+jMz9/A+",
+    "a9DPr6QNNMT6mhD0A0l08s",
+    "80eEg2sJdMXre9rP3A4124",
+    "78cD3a6W5MSKmiEhrL11A1",
+    "dcJ8khwMVHF5tW56gGFw5a",
+    "f8ez5+mFpGj46K76QIIqy3",
+    "9eOmggD8pLcY+A58hclIW4",
+    "b1cP7NWHlIK5jENYu69RGt",
+    "15asrUdfZNN6nWfXCUJkC/",
+    "4cqh1O8QdGXpG0pi2v4cHX",
+    "b7ejciFAlG1Kt2YvNFV/Fc",
+    "d7zjUuyWBGpr3lmyVMHMd+",
+    "c3GJqXjLJP4b+ELLg/KeNL",
+    "82haYuRuFAS4T5bvcvgF24",
+    "75uNFBHiBFpoX8K8KDq/H/",
+    "dfAgJEE2RLdrYmQ/sWvKjN",
+    "98Vj0bC3lPeIpcSv29zXsv",
+    "cbWgQ4s1lNyYf/Db+GG5Q7",
+    "180UPQkylON7dMCLIdgqsb",
+    "0dlCQumJBLyar/9PhfGcbo",
+    "afPAiKrvFKhLTNAOxgljtQ",
+    "a3b5ktrSBEC6xwsdYpwDYm",
+    "1cWXT8F/VD4oV3XzWgLvHU",
+    "ebuS65S3JM1ap17hUAALfu",
+    "85EBRULp1BFYvczQ4pHmgv",
+    "27qt66ZKJGy5NWWjJxiZjG",
+    "fcxSSve/FDzJra44OeDwsj",
+    "c3FC8c1mtF8bjPp89t+nKv",
+    "cev0ahocdD3pESmDGxs6Ct",
+    "d1u15OablKQ4q6K6jDli2w",
+    "b1/mM3b0BCW4bjEcKcP1Mp",
+    "96TevSg/hPv7VgAUu7tgHi",
+    "04RdN11hlJnbv88W+dcEGE",
+    "d2hZxBMopOZJTfHNhGmjL0",
+    "6foMnqbn1POLPBDVLXHotC",
+    "a9Xlz4dl9AUp8DZFmw0ewc",
+    "05SoIfeHFMfoB6nlFeQVLe",
+    "833ddoHX9AspfQ5S9TD7+R",
+    "4crbTw+qdDkLKdN72s77gq",
+    "30rseFLnFKO75pIxmHOrec",
+    "2eUyPej5NDC5OGwfxQFayA",
+    "25Vguj4n9Dobw0KIoRhTNm",
+    "90Y1B+6JtG6qy2yL6V2KYo",
+    "5dCRNdUxJNCZChXt2jIJbE",
+    "3ciQUPqyxBsLh45YkyzJnF",
+    "09Z1AqJftFuZBizQRVgfdZ",
+    "f5sBiZWAtDBLAmW4aVDWhE",
+    "5bcTqfgfRPe5LyxB7YM9Q2",
+    "76Wi8fG0VFI5DmiCuNS8UZ",
+    "44ivUXcfdBv49oATbYpfGK",
+    "3aYeyXEk9LBZW1FmtEDw0Y",
+    "da5jL1kblDHK6A22euDFsE",
+    "56ywX6jpVEw5QMB/Y30plP",
+    "07woVkz6hElKwBLmzbe4Od",
+    "04Xdvdyk1PZrqQDCu/YRQK",
+    "d2bk/cnTdLAZcDccpNjJdQ",
+    "95uLFLcGFOJq2ZVCIt3YiA",
+    "950mTDOhJFirMz0bBDJ2w2",
+    "7f6QJ5dspJF5WYpPGuzQHW",
+    "c5kQhz1yhEc5m2BDWKmR25",
+    "1dw9nA2IhNNopvg+oAf975",
+    "0dw028oSVEk78TquJuT7Dg",
+    "73P8j9fHNFuZRg9/L1aaYD",
+    "69BGkhDhZMyJdnWpjPuIeH",
+    "d99/PkMLxHdo7/6DPI3AMx",
+    "84XJJbf1JBg5r+R/k0us5S",
+    "e5K/8xhMdJ5p3X2ZsGJDpE",
+    "66VDP9Xx9FoYOVeNfVxJFh",
+    "baKAq5vOBJQZp9lxUsXqHk",
+    "59SmEfiThFM6RjAmM5uk5Y",
+    "ffxlkbD8hLu6ERlflrITeg",
+    "60NHLQRJhPNbALrdZYddhe",
+    "2bRS7wjodJMp83C6qiAHxr",
+    "6740XFA7VIW5cIg2ezndyZ",
+    "c9Cyr/BoxGzoLkg6W8XzSd",
+    "04eOgT1O1AQJN1xCrL9MqU",
+    "f1rFhXOldDn7O40CA1NhyA",
+    "06J6J4Y3JAoJ35HrLT+lkf",
+    "14hC0dfQRBbJFtTARb1Kez",
+    "dcurDxkxlNno7pB8vaZlPn",
+    "8dXvBc2TFNwrpcOJgsz/al",
+    "6cNNGtDQFAzKQbvjNHzqAZ",
+    "aeNAee17pHHJdXTtTlsf5b",
+    "edGS0oop9Enqwj7uawWxpn",
+    "f0Tk7RFVpPXoVxoPnMojAi",
+    "5fHCdvpF9N0JSDUSsRFMsI",
+    "f5WdVzMbhPx7z5QQBxwTIv",
+    "7d/env8NdKloX5wIvg/9Rg",
+    "4fsApuPmpDXpGFg5QVnO11",
+    "d7mIBrlOJGi7rrQikNbi+n",
+    "48nGHj4sxGtqCukcv8Trsl",
+    "2f2gQCyR1PzIbrIW9KZI1B",
+    "84t8lj5n1PG7E4tn34MprT",
+    "b03sk5oPRBLKShD3N+Fsex",
+    "62XUFy/vtMSIyzptGggkYx",
+    "a6Vq2qXM9JEbWUfSnbM8+c",
+    "45CjjWr4FOJ4i89D7Zsoyc",
+    "69fhNOnO1NP7NuesIRHRq9",
+    "abYjezrAxMV6PcgE9rNw+H",
+    "fcj5Cz4+ZF8pKD/6DhIvAE",
+    "6dgnSzf4FAL7bgQkKmZmJF",
+    "f96IlXGkRMopKBGj83PP5S",
+    "c0CMEoNxJNLYXLJhXk5/pq",
+    "9aXi2Bq0hE2ZYMFwtdfFNE",
+    "79w1Xb9ipIbqaZBJvVDgnx",
+    "d609qV1TdCbqau1857jvTP",
+    "6c5jJNwKhMfLdFakNpmOb6",
+    "a4wWM3p9xGKaDe6fjmZRsm",
+    "0dMBDF6pxIQYjW28eVSgap",
+    "cd0MQYwo1LhbcoRk+q34C0",
+    "00VPuFW7JLO7eq/Sc2h4SY",
+    "f4AP14MGlEf57ByrL9RHBj",
+    "868vp3eRdIAZMZD/1rXzjN",
+    "e7Ai1hjt1MD5pI2+yaQXFb",
+    "38ZpQwWf9LvqGevBQMQKE/",
+    "2cSCiz5zBIlJF5gdwk9Aj9",
+    "68dBIlKiZE96wi3AzGZxcu",
+    "ad3lVvOhZO34dnzufjd8uB",
+    "efBjBphjFPhaXK6VLkQkWy",
+    "a5HLP1pYtLdIALgHrqDmoA",
+    "58vHe4yUBLiq50Hc84NxxU",
+    "21Pc2hZC5BNYZ1IxZXow3R",
+    "52bjbbUVFFfaoyOkreVceq",
+    "7bEiSZ82pPqL5GqsrGiwEH",
+    "97yBOMVEZNToBT7YynVEOZ",
+    "95fj+gkcRF3JbKEPAWNBos",
+    "2d0z+Xt+xASL5+YDSDIN17",
+    "e8f9VNAhpOGIsv7MA1l2li",
+    "2aQTab4+9NMYOj0O/+8qvX",
+    "ceKtzdAtNIUINphIbP1yFg",
+    "e5KiBzWUpI2JOCfHbLyAMt",
+    "41mZaZRJNAsKOHArWHMkck",
+    "4dkrqqg3ROMoVjZu/PLOW+",
+    "b7b/XbhzNLPImQISUR+9Ng",
+    "2ddDY9uHtPLIViJC3FhvqX",
+    "14quTjueVKcqGqgh5Fnf4d",
+    "a6kBqGaZ5GfJuv9uqR+Soz",
+    "d4UN+YBX5HtaQEW0YRzS+F",
+    "d0ZmjU3BZB2KGKoHbaN8uQ",
+    "ffFNZq41lDOZhooE9ku2dW",
+    "01CQsfIGdL5a39M5+DaHkd",
+    "adt5x2DudOo6Lphe8wt3v3",
+    "c2XCIPqr5MQr9GJVvDcA9H",
+    "3eQwGisvBJP5/9TJl0p/Lo",
+    "94iOxBDQFIHoFJ7wQ8vqJ+",
+    "e4t58WUG9BXLFbi/DlgiP2",
+    "fckCte2NNHoaZY937AE3mo",
+    "04d3JCOIBBNqS3i7VjClvC",
+    "bfYbyDuHJHhZTUKOBTrLMh",
+    "c6Jjpa/nFPMIQjgh+54Y/i",
+    "a4ML7ySnJIHb4Xg9fKi9D6",
+    "03xBYJmnpGzLPb+JDRswzh",
+    "45l9XSPT5DNrSL/tsSaoXy",
+    "63IU1n9v9LBaqGTwQxHs0k",
+    "66uq5iu95Du52oHFNLpbUD",
+    "ees9b2LP5Ncoh6OZMtRbfk",
+    "ccSHaYqhdBlZJETKspE0xh",
+    "9eAbAHRi5GGLDodvNwyJnr",
+    "f60vGfRC5EcLAUYzVgh7l7",
+    "77eBidPqBNXZ7Wv6gLBj9w",
+    "f5WjABT7pISqRWuUbZx7Wn",
+    "43qfn6dDJMWLMrAE2IM8WK",
+    "1b+Q3Zu11ACoymEQA3v9im",
+    "efzN6TmdJMh5wOCCPxR9gT",
+    "5a04IMd3lEjan403kociCL",
+    "b4275Yy9lG/qdZ+q4h1bPq",
+    "38d2hmmH5Bl6oicVIZ9avZ",
+    "efB3UFBl5B0rmlhFPbFm3Y",
+    "2dLRqPVjNGV6FitjWporm1",
+    "8bmPvdt5JFcrQGyT8bAZwf",
+    "4aVISVX89J1qqiELtxrkBb",
+    "5avzyssTJEDo3Gjs5YHgEw",
+    "aa53fKegxCVJO6xweCpuSL",
+    "77qEiuRGZHQ4BvoNh21UUp",
+    "b75ISF/LRNFadRzOUAcUsQ",
+    "46F/vxElVM37aGd3zMWkvt",
+    "e0N3jwzUBPvrm/dMbwYm6v",
+    "845kbrhS9Dg7SYmPRn6cIB",
+    "a9BpysMphMjqRbxCEhtGAW",
+    "3bUA9KIEFGgZziqtEDfV43",
+    "284xDbge1I6pkxlCLYT+uk",
+    "9bUx5rJapEda6shEEp4wB/",
+    "b6Z7zgUnhK2aiQ/ZoBYj0H",
+    "f7U3gCnJVO24E3gIRQtl4D",
+    "c263TzS+5FB6ZccvFmh3HF",
+    "a3McpQtlhA04dzI9sfNf+5",
+    "93W7ect51NiqlVygrA7bkC",
+    "cdJlgtD1lN8rLS8W36U0Jd",
+    "29pkuBCf1Ad7poiP72lNVP",
+    "72/5nhjPRFQK99coOkpGYw",
+    "ccfV7vAzBPu7HZZQZvr8uI",
+    "a5ExBgDeBO45Qje2HOD0kI",
+    "eezuFFIaJKWo1OB1WniFBQ",
+    "e1j8G1zldNjINUWgNi+i4R",
+    "d756gFTuxDj6FXqbjRRDVW",
+    "cf/WIQ1sdOkq6BfGeMcG4D",
+    "ce5L8e/89JT6QDfQXO+p+d",
+    "66GWo6DQpElLSZoqB8AN9U",
+    "c4GzyfAmZNJp80ntSgfn8O",
+    "d3bLYk+VBOkKNwEAjDD5tV",
+    "400YIMxp1F74xAFZfqw+zE",
+    "72ejakVWFPwbEVHPt0Qhj9",
+    "f9tPDu0A5NfZeffO5QtP/I",
+    "famnWgp9lIGZrxCMwdCe+K",
+    "2cSjAOwTBMTJ8+DiY59gG7",
+    "b0iTL9U59HXIHSDc6r/4rB",
+    "1flQycud9FAqXIFDyCV4i4",
+    "02m8TwXw5EjaOpwg5/6Krw",
+    "00VIBfTjFIjpnbHpNbzgRN",
+    "e1/X883s5BS4ZzjREzkyHV",
+    "f88Mm+V11Cc7msOy/qQUJC",
+    "16L1DvtrNNMKzvSHIrdRlb",
+    "5dznraFaBJOZwA+lxhiqFp",
+    "a4Gp6AqKVH5pumjJDPtTcz",
+    "6ef9DrNE1C46Gg7iFSaIlh",
+    "0b2LZApJ9LPJ8LNWm49dKS",
+    "83IJmBboRFvbSJOOaFTp/d",
+    "40NldYjalB8oTHc8j66Wv8",
+    "29WDTOE6hMVLhXDZ0EdGZR",
+    "89Nbb9ZjhG/LM1xT0Sco2r",
+    "cdUL4vrcJC3Jmgj8XmaLsm",
+    "22pADCwJFPJJYzyOMtbBHC",
+    "9fFxD1bbdMnpaySAo38VkA",
+    "9b+E6GhOdCaqf9O3OZ7M2R",
+    "afgkvinTBBQ4qh+TyTDWYM",
+=======
     "33P4tZ3UlPd7exosfXcUJ3",
     "65rv534NRKcaiAof5iRtUt",
     "61APuQBWNNf44HpBoaW9Zw",
@@ -59,8 +347,8 @@
     "a63cTvPzJOsKF4KOUk5oDx",
     "fcRgETx1JPJKE9QDDRduaD",
     "68h+IeTeJD/5pNCr6x7gYJ",
+>>>>>>> 4aab6976f042310b3f82a22a4a96734d5a0b0dfb
     "a286bbGknJLZpRpxROV6M94",
-    "cd/cdP3C1HZJf0NyGmy9Ec",
     "4fc4EEhuhDLaYWrICTuaL8",
     "289njrlZBG5btm0gsqpsma",
     "bcWhMkzFBKNJxS8tEvGa7b",
@@ -68,6 +356,214 @@
     "db9BOnopRG+JcNc35V19/R",
     "efXtp/KtxPc4hfE711xe4K",
     "c6IKj1jhhJv7oYrD2BBmSN",
+<<<<<<< HEAD
+    "47WmfN1EdBmKoD5PeWXVSx",
+    "beTvaIDQJI24SP8/doGvbq",
+    "bc7/+sFRFNfLY1p/LvSG4F",
+    "d5TVXQ+1xIVZwPocaZ2tL6",
+    "04P8ITtnhOEqfPhXdYinlS",
+    "ebY3xR0HdO36GQW+DVWstZ",
+    "2b3QO1xJZAk57Uq9AcblhI",
+    "80YMaMK3FHWbRyKshelyS5",
+    "c6ljExkDZKk6a/fzjd7pDe",
+    "70d4BfnsxL1pOYUXSKuCTQ",
+    "ffcnIPfIZJFryv5I9WKELB",
+    "4a8+W8lX5GcaHBYhEeZRrK",
+    "eaRNroGARMab486IsHQdFe",
+    "65k0228a9M9YI9IVO070NB",
+    "9dRtuKCmtPEJxrfgkL6wVH",
+    "e0V/IjMu1Har4KxBovhuAb",
+    "de2n1pRiVD35nh4RS6fnIq",
+    "f4XBl7VllLn6d7N3VJ4mvR",
+    "2b978M1x9O/YGd8tDLRLM0",
+    "d2sreSVp1CKp50w6gWsNgm",
+    "69WUbiBBFDmIvOx7xr5mXD",
+    "c14uQJyeNF277FoSFG5B4R",
+    "7cBcZlpeRIeZSsGpsXuDUN",
+    "c8TJDAdKNNWrDbxEQg7dd3",
+    "bev/5ex4lH344cN+Uh74Rm",
+    "derSj3Y0ZOVJnX4FGM8wvy",
+    "09KL3BpntPc6h8I3ITSp3x",
+    "b64KGXq9dPfaXktuxc2fRZ",
+    "244/0o/9pFj5XSLbQ0MDUp",
+    "68AtH9SCNOKqUoHUp72wkJ",
+    "52OZv3uG5KsphJ7EMdjOpf",
+    "19r/tncIxPzKCrqVvpTjJL",
+    "2dS8gTfp9A3Jec0eNW9SA+",
+    "1eXEzGx4dN/bsY3X8ybxaJ",
+    "01Bwv2NkFAH6iaH2/BSs5F",
+    "e1GGPcY/hNEZBmcbbU6k4R",
+    "11/fKMoNlDXr+EM53dlc64",
+    "bdxcndsRNIAYOJYNYmLdl+",
+    "cbkWUI9gFLe66aIjMcgbtF",
+    "fdDWhA+45Ei7RWpppT5aQc",
+    "c4u/A+rjhAxIN2LI9SUcJJ",
+    "0fQdppEQFKRYuXqwtonNTz",
+    "95qjLV1/1BooVdOGdqunRU",
+    "c2VbChm4tIsI3OBXtjS8m0",
+    "9ccAFtrIlD/J6uxUpyTwQg",
+    "83/nmS++BAErlvlENDB8OK",
+    "fet9hFSWNJZZcZdlH3H99O",
+    "63xp5c5xJEXZRghlQrSm2X",
+    "27UhwNaLNOl5MRXJO9DElA",
+    "6fKctfuhtKOJ99xHmTBNHz",
+    "9dZyjlLMFAU6FNe9Y9Nz6x",
+    "68k72OwDFCOrVPaAf8habI",
+    "a2NVrSCFZEA4nzdEYUBjeG",
+    "57k7ssszRGzIvZprvoFc1P",
+    "5dLv0s1B5POb1Hr0/5oY+r",
+    "612TIFDiFBn5kSP/ymzc3z",
+    "cbJE8Js+9GKagojBfB/8DH",
+    "9aPHEJNSZIVZqIX19S8ZhC",
+    "a5nm3nSURHO7/UJzaBsVEI",
+    "dcnImGn7dF5pcC8BG5XCHI",
+    "aaZnDgb/9AXqgIHIPHkKqp",
+    "66kEfPKtFG9bMGhJZl/8Cp",
+    "c2LYjrZFhH1pmuAMKflPdy",
+    "9d/5f/455LHLu/rtiFcFV0",
+    "94EC2X9fFCtrS9tFE29nf4",
+    "faeLAyB7RD0q9qTqGsBfk2",
+    "e0qgrqyRlHuZlFdBFucQ19",
+    "e7LWFqMjpKQanxes6e2yRD",
+    "a7qxPfqIFJeINaDuOwZ8l8",
+    "c0jdAgiTND2457Yx7iLuiE",
+    "ecEYnOOl5NK7TXCqaGzdiR",
+    "acEUIPdJNNy6mov5/H5mNy",
+    "19wTgJdtNIS4h83WdsAs25",
+    "eft3d0RlRFxbpRVw5AFAr/",
+    "bakGEzF29PmZjpPHjNMIb4",
+    "abmoVrZLpJIonwMpSrkadt",
+    "c5qOnIsXJFUrEQRgZMAcB0",
+    "28/0Xv15tOZb9WAlXdsGi1",
+    "95gxF72OdGU7bazRkPRxYA",
+    "4fsLfzYvpB/pRNPONWcRN9",
+    "11fB4KVoJPJ6IPmSR312T4",
+    "92tpD2jOhLarEYndQvBCqS",
+    "4ewre4yJZGC73a1pQy3xqZ",
+    "a3+fWuMvpLeLSe7pSFnDTW",
+    "23atVwhsZJjJhu8tJE1jYa",
+    "017tHBRSVEVpeelzUJ3LmI",
+    "3fpvUuQy5KE6N9VjLnU3nT",
+    "419RXiWudON7AKmJUb3e7Y",
+    "62IxhbNVBOKZ8Nup9AplW/",
+    "fcBLleTYtI04U5QD6fD4By",
+    "46JWIaaElGPbp+wMEPPpOd",
+    "a4sntH42tEHoGQHe/NHCsc",
+    "1cSsVw92tDy6LOdF1DOXmH",
+    "8fGgXeYQ1L6bJX0AwjRbRd",
+    "a7JoUGS8FCZorJZID55VL7",
+    "35g27DewxCzKrmgg9unMC2",
+    "662HhS5U5KwITEU9DojwyB",
+    "84sw6WtsRGnaVqvjI+8dNL",
+    "8a2e4ts5FK15jGrFhN6O9T",
+    "adg3tEqXpCdozC34Cl8XLD",
+    "a4Y59130JKTrKyo7rRAfJR",
+    "01Vz1EwXZCoYl/hCq11Uul",
+    "2cV8SUfC5IPKwpvHpBbhWI",
+    "f2CeTBb/lN86Lrw4WuZ8OD",
+    "b8KxI1N/BEXY99PD1H3Vm3",
+    "0bRjHqPtRMp4f2YZHPorGJ",
+    "f8DagHAhtOf5Qeap2dty6q",
+    "22eGvjsOBMsYSAOcOvTWqk",
+    "4bUvEc949Gv53lTc43+oY1",
+    "cf1oTFmJROQY1+4QwRz4ur",
+    "bbz8AbFGRGfbwAbVRuSj0q",
+    "5bnWqws/1IX4A69xIdGdsK",
+    "59D5bTbTlGLLB5/RxOny3H",
+    "60NYXJmaRFxaOMSdROkzbf",
+    "11Gmbd3Q9CiZ0vIhrnBHF9",
+    "fdRS/dktJFmKoGxJGdGJho",
+    "cbqwN8LdxEkIzPF6e0gGWa",
+    "d1gsZkc+dFU48TBG5WTFVO",
+    "b9hqjnElxGT7fywS+JX1G2",
+    "222DWsQOVCnLuivSFKbllU",
+    "59XQtRGOZHoatF4TUznmEq",
+    "67z7S0tSZNoosBdisB8dWF",
+    "7f6V1289tCLoQedXT77l0D",
+    "e97QA6EwxKcpkbtHUQT7sq",
+    "22GvcUiRRO15aVUCKDr9cX",
+    "01/a7ZH+hIcJ9ogbTIehtX",
+    "ddmlOIuStCraFU2GKdefmT",
+    "d7qIVYyhZFMZv7cPHRs3Gg",
+    "85uLqTf81KvaY/zP40auU2",
+    "b8O6KjkJNDjJMxj6mJTWaE",
+    "13l81JbktMtL52KUKqIQQE",
+    "bfGAP6cB5PB7j+wTyMpr6a",
+    "78G4p+EVhGX7Sb0BW0vavX",
+    "c0TYxV+qZNxYhXYC75yGoz",
+    "b38uXV4RtCRaqVfOBhZ47S",
+    "08f+6hbvNClqro0OhxbwLc",
+    "0chhb0OQlIDbVHV9r1DiPm",
+    "caIvDqAtFN3qAxG4JLS9aI",
+    "18SwrX7BFPjrvp+4PHvxeg",
+    "ec4ObYQ6BO8K3prFgsvIgl",
+    "cddSj+ZGpAoqb6fI30abG1",
+    "ff/Z64DdZN1Z4y9JmjlXeX",
+    "11v3EVECNIC4kCNOk0HqVX",
+    "80bak6yAtGQafHjOUQrygP",
+    "212x4tTsNPsakr9eDEScWV",
+    "1fluMebWNN35W5WkYsco90",
+    "69O9jIA4dKN4jDPN3G+enD",
+    "dfUn2zrZlAP7QHtpSdXzoI",
+    "b09kntqs9I6qKf0cc+Vdt4",
+    "ac7iky6d1Dwqf6e3RQE9Ac",
+    "41ouMWIzNHh7+p8yyMPUZg",
+    "cd/cdP3C1HZJf0NyGmy9Ec",
+    "6dCeDGBHNHDqUyw9NjTCBp",
+    "9e1+663QlCib1k/hcFOWzm",
+    "6aVlPUjphLk5iWZQ+hNbNg",
+    "05J6ryYMJCZ4hduNYOmpbL",
+    "7ec1+JfIpGCZikAqx8lOEc",
+    "6a5G8glGxMto8K0Bup0xaV",
+    "e8z/sAQclHCoc4E3CnZSH1",
+    "e8R7GgN55Eh5cSpND8JcBV",
+    "fdb/PyEW9BtIneGh5o8wXU",
+    "3c7W1HHpVDjr0Z22q3fEO9",
+    "ebshSKV4VB3II12v0rPpJ/",
+    "184UA+0f5GRpCqgf5G5Z1Q",
+    "73KkKDrGVCP4y0iFYvfohT",
+    "4cCxFHtVZAga22rMFzqNNa",
+    "8cQjx2WIJBNJoKm+KJHg8i",
+    "2cI8+irIpKkpLj/YnUVtFo",
+    "3dsACCdJNP37mTNtxivKhx",
+    "83aZHtpxBKbpkP4JfsCZkQ",
+    "d9K2Vh7bRB65cwtkQ0MFrS",
+    "96Cs9TCV5JN4loTNj5dquz",
+    "74D/zIY5pEY4Hqrw/cANz6",
+    "ceZlrcByxN67DPaPtpejA+",
+    "680lUIY55EDb67at5Vu35U",
+    "1bDdVIdiJLWoAIj8xjw0IE",
+    "deKXvAyR1MeJ0/f9IsuHLG",
+    "610jjC/eJONr+yE3WRldP5",
+    "99JJs7oY1D7LxCCUw82eIU",
+    "5aowyTEdVAC7CobnOgYLEx",
+    "59P6JZ3DdGioz+NpV0ofJc",
+    "a0aaJG4dNDkplaeaCoQyZo",
+    "aaJN1VakJIcaK+TsppZV6u",
+    "a8vMc2y6BL9qs6EwS+3kBW",
+    "b3+gecCwVLNZJkEqhIFOCh",
+    "57Sl/ocX1K35xj+bCp7/uW",
+    "210vCB3YFDaZP+NolhQ8H4",
+    "eaV4EVdaBDr5Q3wsh1rxzm",
+    "33uQXm0xJFoZERo92YY/oR",
+    "dd9MZ3JDVP5KbQUfd4gxdG",
+    "d7gK44835Lr4PRbuFWnSkt",
+    "4eFKpDKg5K6IOMNafezVgj",
+    "60uEkzZRFLioTzWmODsao5",
+    "54JvFTy9RN2JSxzVSPHQHX",
+    "9eFdXCAohOMKMrem/pw7re",
+    "a1xAfgd2JKK5hKURYvolBM",
+    "9bdoqu3G9O66Pufy/hkJfU",
+    "ebVfIVyeRKUoV2NGiC2fZf",
+    "5eRCeFreRFkK8LB1Q5vqIS",
+    "8eAb+mX3VHlZGiuSbgxAMu",
+    "cfInnfiXpCj45N9HxA/OOb",
+    "9cNr3PeY5Jx4bUW5xBuvK5",
+    "b0bfHGXepGMYfCgBoHL+fi",
+    "a6krxCOa1GYY1SjiX5Rf1a",
+    "07QjuU/FNKlJ/IjWTfcBPx",
+    "41RclF4f5Hb6YNghlayvMe"
+=======
     "b4aW9WZMlJB4k8A+urC1yl",
     "04ptL+kvpB1pE3Hoc96smG",
     "16Hvn/SupAW4eEJp5E+yev",
@@ -481,5 +977,6 @@
     "e8iSnnVaNNU5MPku9fK24b",
     "86sWiOMv5OSbFQ9KFJkr2r",
     "008SLPZ0ZFBKu78Qrh2+bG"
+>>>>>>> 4aab6976f042310b3f82a22a4a96734d5a0b0dfb
   ]
 }