# ExtraBoardActivity_Model_ExtraBoardActivityBoardModel_992.luac
; fn @ExtraBoardActivityBoardModel.lua  line 0-0 np=0 va=1 ms=3 code=63 consts=23 upvals=1 protos=18
;   K[0]='ExtraBoardActivityBoardModel'
;   K[1]='setmetatable'
;   K[2]='BaseUIBoardModel'
;   K[3]='__index'
;   K[4]='Create'
;   K[5]='ExtraBoardActivityBoardModel'
;   K[6]='Init'
;   K[7]='_CreateItemLayerModel'
;   K[8]='Destroy'
;   K[9]='_LoadCobwebItemIds'
;   K[10]='GetCobwebItemCodes'
;   K[11]='GetCobwebItems'
;   K[12]='IsCobwebItem'
;   K[13]='IsCobwebOpen'
;   K[14]='HasFinishedAllMainCobweb'
;   K[15]='EnterNextCobwebRound'
;   K[16]='GetCobwebItemByPosition'
;   K[17]='GetMergeAllIgnoreItems'
;   K[18]='GetBoardItemsForMerge'
;   K[19]='_MergeCobwebItem'
;   K[20]='_RemoveCobwebItem'
;   K[21]='Drag2CobwebItem'
;   K[22]='DragItem'
;   upvals: _ENV
0000  GETTABUP  R0 = _ENV[K1('setmetatable')]
0001  NEWTABLE  R1 = {} (0 items)
0002  GETTABUP  R2 = _ENV[K2('BaseUIBoardModel')]
0003  CALL      R0 = call(R0, 1 args, 2 rets)
0004  SETTABUP  _ENV[K0('ExtraBoardActivityBoardModel')] = R0
0005  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityBoardModel')]
0006  GETTABUP  R1 = _ENV[K0('ExtraBoardActivityBoardModel')]
0007  SETTABLE  R0[K3('__index')] = R1
0008  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityBoardModel')]
0009  CLOSURE   R1 = closure proto0
0010  SETTABLE  R0[K4('Create')] = R1
0011  GETTABUP  R0 = _ENV[K5('ExtraBoardActivityBoardModel')]
0012  CLOSURE   R1 = closure proto1
0013  SETTABLE  R0[K6('Init')] = R1
0014  GETTABUP  R0 = _ENV[K5('ExtraBoardActivityBoardModel')]
0015  CLOSURE   R1 = closure proto2
0016  SETTABLE  R0[K7('_CreateItemLayerModel')] = R1
0017  GETTABUP  R0 = _ENV[K5('ExtraBoardActivityBoardModel')]
0018  CLOSURE   R1 = closure proto3
0019  SETTABLE  R0[K8('Destroy')] = R1
0020  GETTABUP  R0 = _ENV[K5('ExtraBoardActivityBoardModel')]
0021  CLOSURE   R1 = closure proto4
0022  SETTABLE  R0[K9('_LoadCobwebItemIds')] = R1
0023  GETTABUP  R0 = _ENV[K5('ExtraBoardActivityBoardModel')]
0024  CLOSURE   R1 = closure proto5
0025  SETTABLE  R0[K10('GetCobwebItemCodes')] = R1
0026  GETTABUP  R0 = _ENV[K5('ExtraBoardActivityBoardModel')]
0027  CLOSURE   R1 = closure proto6
0028  SETTABLE  R0[K11('GetCobwebItems')] = R1
0029  GETTABUP  R0 = _ENV[K5('ExtraBoardActivityBoardModel')]
0030  CLOSURE   R1 = closure proto7
0031  SETTABLE  R0[K12('IsCobwebItem')] = R1
0032  GETTABUP  R0 = _ENV[K5('ExtraBoardActivityBoardModel')]
0033  CLOSURE   R1 = closure proto8
0034  SETTABLE  R0[K13('IsCobwebOpen')] = R1
0035  GETTABUP  R0 = _ENV[K5('ExtraBoardActivityBoardModel')]
0036  CLOSURE   R1 = closure proto9
0037  SETTABLE  R0[K14('HasFinishedAllMainCobweb')] = R1
0038  GETTABUP  R0 = _ENV[K5('ExtraBoardActivityBoardModel')]
0039  CLOSURE   R1 = closure proto10
0040  SETTABLE  R0[K15('EnterNextCobwebRound')] = R1
0041  GETTABUP  R0 = _ENV[K5('ExtraBoardActivityBoardModel')]
0042  CLOSURE   R1 = closure proto11
0043  SETTABLE  R0[K16('GetCobwebItemByPosition')] = R1
0044  GETTABUP  R0 = _ENV[K5('ExtraBoardActivityBoardModel')]
0045  CLOSURE   R1 = closure proto12
0046  SETTABLE  R0[K17('GetMergeAllIgnoreItems')] = R1
0047  GETTABUP  R0 = _ENV[K5('ExtraBoardActivityBoardModel')]
0048  CLOSURE   R1 = closure proto13
0049  SETTABLE  R0[K18('GetBoardItemsForMerge')] = R1
0050  GETTABUP  R0 = _ENV[K5('ExtraBoardActivityBoardModel')]
0051  CLOSURE   R1 = closure proto14
0052  SETTABLE  R0[K19('_MergeCobwebItem')] = R1
0053  GETTABUP  R0 = _ENV[K5('ExtraBoardActivityBoardModel')]
0054  CLOSURE   R1 = closure proto15
0055  SETTABLE  R0[K20('_RemoveCobwebItem')] = R1
0056  GETTABUP  R0 = _ENV[K5('ExtraBoardActivityBoardModel')]
0057  CLOSURE   R1 = closure proto16
0058  SETTABLE  R0[K21('Drag2CobwebItem')] = R1
0059  GETTABUP  R0 = _ENV[K5('ExtraBoardActivityBoardModel')]
0060  CLOSURE   R1 = closure proto17
0061  SETTABLE  R0[K22('DragItem')] = R1
0062  RETURN    return R0..R-1
; ---------- proto0 [Create] ----------
  ; fn ?  line 8-12 np=1 va=0 ms=5 code=9 consts=3 upvals=1 protos=0
  ;   K[0]='setmetatable'
  ;   K[1]='ExtraBoardActivityBoardModel'
  ;   K[2]='Init'
  ;   upvals: _ENV
  ;   locals: args(0-9), boardModel(4-9)
  0000  GETTABUP  R1 = _ENV[K0('setmetatable')]
  0001  NEWTABLE  R2 = {} (0 items)
  0002  GETTABUP  R3 = _ENV[K1('ExtraBoardActivityBoardModel')]
  0003  CALL      R1 = call(R1, 1 args, 2 rets)
  0004  SELF      R3 = R1[K2('Init')] (self)
  0005  MOVE      R4 = R0
  0006  CALL      R2 = call(R2, 0 args, 2 rets)
  0007  RETURN    return R1..R0
  0008  RETURN    return R0..R-1
; ---------- proto1 [Init] ----------
  ; fn ?  line 15-24 np=2 va=0 ms=6 code=24 consts=16 upvals=1 protos=0
  ;   K[0]='m_activityModel'
  ;   K[1]='GM'
  ;   K[2]='ActivityManager'
  ;   K[3]='GetModel'
  ;   K[4]='activityType'
  ;   K[5]='_LoadCobwebItemIds'
  ;   K[6]='gameMode'
  ;   K[7]='EGameMode'
  ;   K[8]='ExtraBoard'
  ;   K[9]='BaseUIBoardModel'
  ;   K[10]='Init'
  ;   K[11]='EventDispatcher'
  ;   K[12]='AddListener'
  ;   K[13]='EEventType'
  ;   K[14]='ExtraBoardEnterNextCobwebRound'
  ;   K[15]='EnterNextCobwebRound'
  ;   upvals: _ENV
  ;   locals: self(0-24), args(0-24)
  0000  GETTABUP  R2 = _ENV[K1('GM')]
  0001  GETTABLE  R2 = R2[K2('ActivityManager')]
  0002  SELF      R3 = R2[K3('GetModel')] (self)
  0003  GETTABLE  R4 = R1[K4('activityType')]
  0004  CALL      R2 = call(R2, 1 args, 2 rets)
  0005  SETTABLE  R0[K0('m_activityModel')] = R2
  0006  SELF      R3 = R0[K5('_LoadCobwebItemIds')] (self)
  0007  CALL      R2 = call(R2, 0 args, 1 rets)
  0008  GETTABUP  R2 = _ENV[K7('EGameMode')]
  0009  GETTABLE  R2 = R2[K8('ExtraBoard')]
  0010  SETTABLE  R1[K6('gameMode')] = R2
  0011  GETTABUP  R2 = _ENV[K9('BaseUIBoardModel')]
  0012  GETTABLE  R2 = R2[K10('Init')]
  0013  MOVE      R3 = R0
  0014  MOVE      R4 = R0
  0015  CALL      R2 = call(R2, 0 args, 2 rets)
  0016  GETTABUP  R2 = _ENV[K11('EventDispatcher')]
  0017  GETTABLE  R2 = R2[K12('AddListener')]
  0018  GETTABUP  R3 = _ENV[K13('EEventType')]
  0019  GETTABLE  R3 = R3[K14('ExtraBoardEnterNextCobwebRound')]
  0020  MOVE      R4 = R0
  0021  GETTABLE  R5 = R0[K15('EnterNextCobwebRound')]
  0022  CALL      R2 = call(R2, 0 args, 3 rets)
  0023  RETURN    return R0..R-1
; ---------- proto2 [_CreateItemLayerModel] ----------
  ; fn ?  line 26-28 np=1 va=0 ms=6 code=9 consts=5 upvals=1 protos=0
  ;   K[0]='ExtraBoardItemLayerModel'
  ;   K[1]='Create'
  ;   K[2]='m_itemLayerDataTable'
  ;   K[3]='m_itemManager'
  ;   K[4]='m_initCodeMap'
  ;   upvals: _ENV
  ;   locals: self(0-9)
  0000  GETTABUP  R1 = _ENV[K0('ExtraBoardItemLayerModel')]
  0001  GETTABLE  R1 = R1[K1('Create')]
  0002  MOVE      R2 = R0
  0003  GETTABLE  R3 = R0[K2('m_itemLayerDataTable')]
  0004  GETTABLE  R4 = R0[K3('m_itemManager')]
  0005  GETTABLE  R5 = R0[K4('m_initCodeMap')]
  0006  TAILCALL  tailcall(R1, 0)
  0007  RETURN    return R1..R0
  0008  RETURN    return R0..R-1
; ---------- proto3 [Destroy] ----------
  ; fn ?  line 30-33 np=1 va=0 ms=3 code=8 consts=3 upvals=1 protos=0
  ;   K[0]='BaseUIBoardModel'
  ;   K[1]='Destroy'
  ;   K[2]='m_itemLayerModel'
  ;   upvals: _ENV
  ;   locals: self(0-8)
  0000  GETTABUP  R1 = _ENV[K0('BaseUIBoardModel')]
  0001  GETTABLE  R1 = R1[K1('Destroy')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  GETTABLE  R1 = R0[K2('m_itemLayerModel')]
  0005  SELF      R2 = R1[K1('Destroy')] (self)
  0006  CALL      R1 = call(R1, 0 args, 1 rets)
  0007  RETURN    return R0..R-1
; ---------- proto4 [_LoadCobwebItemIds] ----------
  ; fn ?  line 38-42 np=1 va=0 ms=3 code=10 consts=3 upvals=0 protos=0
  ;   K[0]='m_activityModel'
  ;   K[1]=nil
  ;   K[2]='IsCobwebOpen'
  ;   locals: self(0-10)
  0000  GETTABLE  R1 = R0[K0('m_activityModel')]
  0001  EQ        if R1 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 8
  0003  GETTABLE  R1 = R0[K0('m_activityModel')]
  0004  SELF      R2 = R1[K2('IsCobwebOpen')] (self)
  0005  CALL      R1 = call(R1, 1 args, 1 rets)
  0006  TEST      if not R1 then   -> -131063
  0007  JMP       (jump)   -> 9
  0008  RETURN    return R0..R-1
  0009  RETURN    return R0..R-1
; ---------- proto5 [GetCobwebItemCodes] ----------
  ; fn ?  line 44-46 np=1 va=0 ms=3 code=8 consts=2 upvals=0 protos=0
  ;   K[0]='m_activityModel'
  ;   K[1]='GetCobwebItemList'
  ;   locals: self(0-8)
  0000  GETTABLE  R1 = R0[K0('m_activityModel')]
  0001  TEST      if not R1 then   -> -131069
  0002  JMP       (jump)   -> 6
  0003  GETTABLE  R1 = R0[K0('m_activityModel')]
  0004  SELF      R2 = R1[K1('GetCobwebItemList')] (self)
  0005  CALL      R1 = call(R1, 1 args, 1 rets)
  0006  RETURN    return R1..R0
  0007  RETURN    return R0..R-1
; ---------- proto6 [GetCobwebItems] ----------
  ; fn ?  line 48-50 np=1 va=0 ms=3 code=5 consts=2 upvals=0 protos=0
  ;   K[0]='m_itemLayerModel'
  ;   K[1]='GetCobwebItems'
  ;   locals: self(0-5)
  0000  GETTABLE  R1 = R0[K0('m_itemLayerModel')]
  0001  SELF      R2 = R1[K1('GetCobwebItems')] (self)
  0002  TAILCALL  tailcall(R1, 0)
  0003  RETURN    return R1..R0
  0004  RETURN    return R0..R-1
; ---------- proto7 [IsCobwebItem] ----------
  ; fn ?  line 52-54 np=2 va=0 ms=5 code=6 consts=2 upvals=0 protos=0
  ;   K[0]='m_itemLayerModel'
  ;   K[1]='IsCobwebItem'
  ;   locals: self(0-6), item(0-6)
  0000  GETTABLE  R2 = R0[K0('m_itemLayerModel')]
  0001  SELF      R3 = R2[K1('IsCobwebItem')] (self)
  0002  MOVE      R4 = R0
  0003  TAILCALL  tailcall(R2, 0)
  0004  RETURN    return R2..R1
  0005  RETURN    return R0..R-1
; ---------- proto8 [IsCobwebOpen] ----------
  ; fn ?  line 56-58 np=1 va=0 ms=4 code=8 consts=3 upvals=1 protos=0
  ;   K[0]='Table'
  ;   K[1]='IsEmpty'
  ;   K[2]='GetCobwebItemCodes'
  ;   upvals: _ENV
  ;   locals: self(0-8)
  0000  GETTABUP  R1 = _ENV[K0('Table')]
  0001  GETTABLE  R1 = R1[K1('IsEmpty')]
  0002  SELF      R3 = R0[K2('GetCobwebItemCodes')] (self)
  0003  CALL      R2 = call(R2, -1 args, 1 rets)
  0004  CALL      R1 = call(R1, 1 args, -1 rets)
  0005  NOT       R1 = not R0
  0006  RETURN    return R1..R0
  0007  RETURN    return R0..R-1
; ---------- proto9 [HasFinishedAllMainCobweb] ----------
  ; fn ?  line 61-67 np=1 va=0 ms=5 code=10 consts=4 upvals=1 protos=1
  ;   K[0]='FilterItems'
  ;   K[1]=1
  ;   K[2]='Table'
  ;   K[3]='IsEmpty'
  ;   upvals: _ENV
  ;   locals: self(0-10), items(4-10)
  0000  SELF      R2 = R0[K0('FilterItems')] (self)
  0001  CLOSURE   R3 = closure proto0
  0002  LOADK     R4 = K1 1
  0003  CALL      R1 = call(R1, 1 args, 3 rets)
  0004  GETTABUP  R2 = _ENV[K2('Table')]
  0005  GETTABLE  R2 = R2[K3('IsEmpty')]
  0006  MOVE      R3 = R0
  0007  TAILCALL  tailcall(R2, 0)
  0008  RETURN    return R2..R1
  0009  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 62-64 np=1 va=0 ms=4 code=14 consts=4 upvals=1 protos=0
    ;   K[0]='GetComponent'
    ;   K[1]='ItemCobweb'
    ;   K[2]=nil
    ;   K[3]='ItemPaperBox'
    ;   upvals: _ENV
    ;   locals: item(0-14)
    0000  SELF      R2 = R0[K0('GetComponent')] (self)
    0001  GETTABUP  R3 = _ENV[K1('ItemCobweb')]
    0002  CALL      R1 = call(R1, 1 args, 2 rets)
    0003  EQ        if R0 eq K2(nil)   -> -130297
    0004  JMP       (jump)   -> 11
    0005  SELF      R2 = R0[K0('GetComponent')] (self)
    0006  GETTABUP  R3 = _ENV[K3('ItemPaperBox')]
    0007  CALL      R1 = call(R1, 1 args, 2 rets)
    0008  EQ        if R0 eq K2(nil)   -> -130292
    0009  JMP       (jump)   -> 11
    0010  LOADBOOL  R1 = false
    0011  LOADBOOL  R1 = true
    0012  RETURN    return R1..R0
    0013  RETURN    return R0..R-1
; ---------- proto10 [EnterNextCobwebRound] ----------
  ; fn ?  line 70-73 np=1 va=0 ms=3 code=6 consts=3 upvals=0 protos=0
  ;   K[0]='_LoadCobwebItemIds'
  ;   K[1]='m_itemLayerModel'
  ;   K[2]='LoadCobwebItems'
  ;   locals: self(0-6)
  0000  SELF      R2 = R0[K0('_LoadCobwebItemIds')] (self)
  0001  CALL      R1 = call(R1, 0 args, 1 rets)
  0002  GETTABLE  R1 = R0[K1('m_itemLayerModel')]
  0003  SELF      R2 = R1[K2('LoadCobwebItems')] (self)
  0004  CALL      R1 = call(R1, 0 args, 1 rets)
  0005  RETURN    return R0..R-1
; ---------- proto11 [GetCobwebItemByPosition] ----------
  ; fn ?  line 76-78 np=2 va=0 ms=5 code=6 consts=2 upvals=0 protos=0
  ;   K[0]='m_itemLayerModel'
  ;   K[1]='GetCobwebItem'
  ;   locals: self(0-6), position(0-6)
  0000  GETTABLE  R2 = R0[K0('m_itemLayerModel')]
  0001  SELF      R3 = R2[K1('GetCobwebItem')] (self)
  0002  MOVE      R4 = R0
  0003  TAILCALL  tailcall(R2, 0)
  0004  RETURN    return R2..R1
  0005  RETURN    return R0..R-1
; ---------- proto12 [GetMergeAllIgnoreItems] ----------
  ; fn ?  line 80-90 np=1 va=0 ms=9 code=21 consts=7 upvals=1 protos=0
  ;   K[0]='BaseUIBoardModel'
  ;   K[1]='GetMergeAllIgnoreItems'
  ;   K[2]='GetCobwebItems'
  ;   K[3]='Table'
  ;   K[4]='IsEmpty'
  ;   K[5]='ipairs'
  ;   K[6]=true
  ;   upvals: _ENV
  ;   locals: self(0-21), mergeAllIgnoredItems(4-21), cobwebItems(6-21), (for generator)(15-19), (for state)(15-19), (for control)(15-19), _(16-17), item(16-17)
  0000  GETTABUP  R1 = _ENV[K0('BaseUIBoardModel')]
  0001  GETTABLE  R1 = R1[K1('GetMergeAllIgnoreItems')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  SELF      R3 = R0[K2('GetCobwebItems')] (self)
  0005  CALL      R2 = call(R2, 1 args, 1 rets)
  0006  GETTABUP  R3 = _ENV[K3('Table')]
  0007  GETTABLE  R3 = R3[K4('IsEmpty')]
  0008  MOVE      R4 = R0
  0009  CALL      R3 = call(R3, 1 args, 1 rets)
  0010  TEST      if not R3 then   -> -131059
  0011  JMP       (jump)   -> 19
  0012  GETTABUP  R3 = _ENV[K5('ipairs')]
  0013  MOVE      R4 = R0
  0014  CALL      R3 = call(R3, 3 args, 1 rets)
  0015  JMP       (jump)   -> 17
  0016  SETTABLE  R1[R7] = K6(true)
  0017  TFORCALL  tforcall R3
  0018  TFORLOOP  tforloop R5(sBx=-3)   -> 16
  0019  RETURN    return R1..R0
  0020  RETURN    return R0..R-1
; ---------- proto13 [GetBoardItemsForMerge] ----------
  ; fn ?  line 93-99 np=1 va=0 ms=3 code=18 consts=6 upvals=1 protos=0
  ;   K[0]='IsCobwebOpen'
  ;   K[1]='HasFinishedAllMainCobweb'
  ;   K[2]='BaseUIBoardModel'
  ;   K[3]='GetBoardItemsForMerge'
  ;   K[4]='m_itemLayerModel'
  ;   K[5]='GetAllItemsWithCobweb'
  ;   upvals: _ENV
  ;   locals: self(0-18)
  0000  SELF      R2 = R0[K0('IsCobwebOpen')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131068
  0003  JMP       (jump)   -> 8
  0004  SELF      R2 = R0[K1('HasFinishedAllMainCobweb')] (self)
  0005  CALL      R1 = call(R1, 1 args, 1 rets)
  0006  TEST      if not R1 then   -> -131063
  0007  JMP       (jump)   -> 13
  0008  GETTABUP  R1 = _ENV[K2('BaseUIBoardModel')]
  0009  GETTABLE  R1 = R1[K3('GetBoardItemsForMerge')]
  0010  MOVE      R2 = R0
  0011  TAILCALL  tailcall(R1, 0)
  0012  RETURN    return R1..R0
  0013  GETTABLE  R1 = R0[K4('m_itemLayerModel')]
  0014  SELF      R2 = R1[K5('GetAllItemsWithCobweb')] (self)
  0015  TAILCALL  tailcall(R1, 0)
  0016  RETURN    return R1..R0
  0017  RETURN    return R0..R-1
; ---------- proto14 [_MergeCobwebItem] ----------
  ; fn ?  line 101-129 np=3 va=0 ms=13 code=55 consts=31 upvals=1 protos=0
  ;   K[0]='ReplaceItem'
  ;   K[1]='GetMergedType'
  ;   K[2]='ItemModelHelper'
  ;   K[3]='MergeCost'
  ;   K[4]='_RemoveCobwebItem'
  ;   K[5]='Source'
  ;   K[6]='Target'
  ;   K[7]='New'
  ;   K[8]='event'
  ;   K[9]='Call'
  ;   K[10]='BoardEventType'
  ;   K[11]='MergeCobwebItem'
  ;   K[12]='GameMode'
  ;   K[13]='GetGameMode'
  ;   K[14]='EventDispatcher'
  ;   K[15]='DispatchEvent'
  ;   K[16]='EEventType'
  ;   K[17]='ItemMerged'
  ;   K[18]='extraCobweb'
  ;   K[19]=1
  ;   K[20]='PlatformInterface'
  ;   K[21]='Vibrate'
  ;   K[22]='EVibrationType'
  ;   K[23]='Medium'
  ;   K[24]='GM'
  ;   K[25]='BIManager'
  ;   K[26]='LogMerge'
  ;   K[27]='GetType'
  ;   K[28]='GetCode'
  ;   K[29]='m_activityModel'
  ;   K[30]='TryEnterNextCobwebRound'
  ;   upvals: _ENV
  ;   locals: self(0-55), item(0-55), targetItem(0-55), newItem(11-55), mergeMessage(18-55), ext(35-55)
  0000  SELF      R4 = R0[K0('ReplaceItem')] (self)
  0001  MOVE      R5 = R0
  0002  SELF      R7 = R1[K1('GetMergedType')] (self)
  0003  CALL      R6 = call(R6, 1 args, 1 rets)
  0004  GETTABUP  R7 = _ENV[K2('ItemModelHelper')]
  0005  GETTABLE  R7 = R7[K3('MergeCost')]
  0006  MOVE      R8 = R0
  0007  NEWTABLE  R9 = {} (0 items)
  0008  CALL      R7 = call(R7, 1 args, 2 rets)
  0009  LOADBOOL  R8 = false
  0010  CALL      R3 = call(R3, 1 args, 5 rets)
  0011  SELF      R5 = R0[K4('_RemoveCobwebItem')] (self)
  0012  MOVE      R6 = R0
  0013  CALL      R4 = call(R4, 0 args, 2 rets)
  0014  NEWTABLE  R4 = {} (0 items)
  0015  SETTABLE  R4[K5('Source')] = R1
  0016  SETTABLE  R4[K6('Target')] = R2
  0017  SETTABLE  R4[K7('New')] = R3
  0018  GETTABLE  R5 = R0[K8('event')]
  0019  SELF      R6 = R5[K9('Call')] (self)
  0020  GETTABUP  R7 = _ENV[K10('BoardEventType')]
  0021  GETTABLE  R7 = R7[K11('MergeCobwebItem')]
  0022  MOVE      R8 = R0
  0023  CALL      R5 = call(R5, 0 args, 3 rets)
  0024  SELF      R6 = R0[K13('GetGameMode')] (self)
  0025  CALL      R5 = call(R5, 1 args, 1 rets)
  0026  SETTABLE  R4[K12('GameMode')] = R5
  0027  GETTABUP  R5 = _ENV[K14('EventDispatcher')]
  0028  GETTABLE  R5 = R5[K15('DispatchEvent')]
  0029  GETTABUP  R6 = _ENV[K16('EEventType')]
  0030  GETTABLE  R6 = R6[K17('ItemMerged')]
  0031  MOVE      R7 = R0
  0032  CALL      R5 = call(R5, 0 args, 2 rets)
  0033  NEWTABLE  R5 = {} (0 items)
  0034  SETTABLE  R5[K18('extraCobweb')] = K19(1)
  0035  GETTABUP  R6 = _ENV[K20('PlatformInterface')]
  0036  GETTABLE  R6 = R6[K21('Vibrate')]
  0037  GETTABUP  R7 = _ENV[K22('EVibrationType')]
  0038  GETTABLE  R7 = R7[K23('Medium')]
  0039  CALL      R6 = call(R6, 0 args, 1 rets)
  0040  GETTABUP  R6 = _ENV[K24('GM')]
  0041  GETTABLE  R6 = R6[K25('BIManager')]
  0042  SELF      R7 = R6[K26('LogMerge')] (self)
  0043  SELF      R9 = R1[K27('GetType')] (self)
  0044  CALL      R8 = call(R8, 1 args, 1 rets)
  0045  SELF      R10 = R3[K28('GetCode')] (self)
  0046  CALL      R9 = call(R9, 1 args, 1 rets)
  0047  MOVE      R10 = R0
  0048  SELF      R12 = R0[K13('GetGameMode')] (self)
  0049  CALL      R11 = call(R11, -1 args, 1 rets)
  0050  CALL      R6 = call(R6, 0 args, -1 rets)
  0051  GETTABLE  R6 = R0[K29('m_activityModel')]
  0052  SELF      R7 = R6[K30('TryEnterNextCobwebRound')] (self)
  0053  CALL      R6 = call(R6, 0 args, 1 rets)
  0054  RETURN    return R0..R-1
; ---------- proto15 [_RemoveCobwebItem] ----------
  ; fn ?  line 131-135 np=2 va=0 ms=6 code=12 consts=5 upvals=0 protos=0
  ;   K[0]='m_itemLayerModel'
  ;   K[1]='RemoveCobwebItem'
  ;   K[2]='m_activityModel'
  ;   K[3]='GetPosition'
  ;   K[4]='GetX'
  ;   locals: self(0-12), item(0-12)
  0000  GETTABLE  R2 = R0[K0('m_itemLayerModel')]
  0001  SELF      R3 = R2[K1('RemoveCobwebItem')] (self)
  0002  MOVE      R4 = R0
  0003  CALL      R2 = call(R2, 0 args, 2 rets)
  0004  GETTABLE  R2 = R0[K2('m_activityModel')]
  0005  SELF      R3 = R2[K1('RemoveCobwebItem')] (self)
  0006  SELF      R5 = R1[K3('GetPosition')] (self)
  0007  CALL      R4 = call(R4, 1 args, 1 rets)
  0008  SELF      R5 = R4[K4('GetX')] (self)
  0009  CALL      R4 = call(R4, -1 args, 1 rets)
  0010  CALL      R2 = call(R2, 0 args, -1 rets)
  0011  RETURN    return R0..R-1
; ---------- proto16 [Drag2CobwebItem] ----------
  ; fn ?  line 137-180 np=3 va=0 ms=14 code=79 consts=34 upvals=1 protos=2
  ;   K[0]='CanTwoItemsMerge'
  ;   K[1]='pairs'
  ;   K[2]='GetComponent'
  ;   K[3]='ItemSpread'
  ;   K[4]=nil
  ;   K[5]='IsSpreadFinish'
  ;   K[6]='GM'
  ;   K[7]='UIManager'
  ;   K[8]='OpenView'
  ;   K[9]='UIPrefabConfigName'
  ;   K[10]='TwoButtonWindow'
  ;   K[11]='extraboard_tip1_title'
  ;   K[12]='extraboard_tip1_desc'
  ;   K[13]='common_button_ok'
  ;   K[14]='common_button_cancel'
  ;   K[15]='_MergeCobwebItem'
  ;   K[16]='SetPosition'
  ;   K[17]='GetPosition'
  ;   K[18]='AudioModel'
  ;   K[19]='PlayEffect'
  ;   K[20]='AudioFileConfigName'
  ;   K[21]='sfxDragItemEnd'
  ;   K[22]='PlatformInterface'
  ;   K[23]='Vibrate'
  ;   K[24]='EVibrationType'
  ;   K[25]='Medium'
  ;   K[26]='BIManager'
  ;   K[27]='LogAction'
  ;   K[28]='EBIType'
  ;   K[29]='ItemSwapFailed'
  ;   K[30]='from'
  ;   K[31]='GetCode'
  ;   K[32]='to'
  ;   K[33]='GetGameMode'
  ;   upvals: _ENV
  ;   locals: self(0-79), item(0-79), targetItem(0-79), bItemSpreadFinished(7-48), (for generator)(13-27), (for state)(13-27), (for control)(13-27), _(14-25), v(14-25), itemSpread(17-25)
  0000  SELF      R4 = R0[K0('CanTwoItemsMerge')] (self)
  0001  MOVE      R5 = R0
  0002  MOVE      R6 = R0
  0003  CALL      R3 = call(R3, 1 args, 3 rets)
  0004  TEST      if not R3 then   -> -131066
  0005  JMP       (jump)   -> 48
  0006  LOADBOOL  R3 = true
  0007  GETTABUP  R4 = _ENV[K1('pairs')]
  0008  NEWTABLE  R5 = {} (2 items)
  0009  MOVE      R6 = R0
  0010  MOVE      R7 = R0
  0011  SETLIST   setlist R5[B=1,C=2]
  0012  CALL      R4 = call(R4, 3 args, 1 rets)
  0013  JMP       (jump)   -> 25
  0014  SELF      R10 = R8[K2('GetComponent')] (self)
  0015  GETTABUP  R11 = _ENV[K3('ItemSpread')]
  0016  CALL      R9 = call(R9, 1 args, 2 rets)
  0017  EQ        if R1 eq K4(nil)   -> -126185
  0018  JMP       (jump)   -> 25
  0019  SELF      R11 = R9[K5('IsSpreadFinish')] (self)
  0020  CALL      R10 = call(R10, 1 args, 1 rets)
  0021  TEST      if not R10 then   -> -131048
  0022  JMP       (jump)   -> 25
  0023  LOADBOOL  R3 = false
  0024  JMP       (jump)   -> 27
  0025  TFORCALL  tforcall R4
  0026  TFORLOOP  tforloop R6(sBx=-13)   -> 14
  0027  TEST      if not R3 then   -> -131042
  0028  JMP       (jump)   -> 43
  0029  GETTABUP  R4 = _ENV[K6('GM')]
  0030  GETTABLE  R4 = R4[K7('UIManager')]
  0031  SELF      R5 = R4[K8('OpenView')] (self)
  0032  GETTABUP  R6 = _ENV[K9('UIPrefabConfigName')]
  0033  GETTABLE  R6 = R6[K10('TwoButtonWindow')]
  0034  LOADK     R7 = K11 'extraboard_tip1_title'
  0035  LOADK     R8 = K12 'extraboard_tip1_desc'
  0036  LOADK     R9 = K13 'common_button_ok'
  0037  LOADK     R10 = K14 'common_button_cancel'
  0038  CLOSURE   R11 = closure proto0
  0039  CLOSURE   R12 = closure proto1
  0040  LOADBOOL  R13 = false
  0041  CALL      R4 = call(R4, 0 args, 9 rets)
  0042  JMP       (jump)   -> 47
  0043  SELF      R5 = R0[K15('_MergeCobwebItem')] (self)
  0044  MOVE      R6 = R0
  0045  MOVE      R7 = R0
  0046  CALL      R4 = call(R4, 0 args, 3 rets)
  0047  RETURN    return R0..R-1
  0048  SELF      R4 = R1[K16('SetPosition')] (self)
  0049  SELF      R6 = R1[K17('GetPosition')] (self)
  0050  CALL      R5 = call(R5, -1 args, 1 rets)
  0051  CALL      R3 = call(R3, 0 args, -1 rets)
  0052  GETTABUP  R3 = _ENV[K6('GM')]
  0053  GETTABLE  R3 = R3[K18('AudioModel')]
  0054  SELF      R4 = R3[K19('PlayEffect')] (self)
  0055  GETTABUP  R5 = _ENV[K20('AudioFileConfigName')]
  0056  GETTABLE  R5 = R5[K21('sfxDragItemEnd')]
  0057  CALL      R3 = call(R3, 0 args, 2 rets)
  0058  GETTABUP  R3 = _ENV[K22('PlatformInterface')]
  0059  GETTABLE  R3 = R3[K23('Vibrate')]
  0060  GETTABUP  R4 = _ENV[K24('EVibrationType')]
  0061  GETTABLE  R4 = R4[K25('Medium')]
  0062  CALL      R3 = call(R3, 0 args, 1 rets)
  0063  GETTABUP  R3 = _ENV[K6('GM')]
  0064  GETTABLE  R3 = R3[K26('BIManager')]
  0065  SELF      R4 = R3[K27('LogAction')] (self)
  0066  GETTABUP  R5 = _ENV[K28('EBIType')]
  0067  GETTABLE  R5 = R5[K29('ItemSwapFailed')]
  0068  NEWTABLE  R6 = {} (0 items)
  0069  SELF      R8 = R1[K31('GetCode')] (self)
  0070  CALL      R7 = call(R7, 1 args, 1 rets)
  0071  SETTABLE  R6[K30('from')] = R7
  0072  SELF      R8 = R2[K31('GetCode')] (self)
  0073  CALL      R7 = call(R7, 1 args, 1 rets)
  0074  SETTABLE  R6[K32('to')] = R7
  0075  SELF      R8 = R0[K33('GetGameMode')] (self)
  0076  CALL      R7 = call(R7, -1 args, 1 rets)
  0077  CALL      R3 = call(R3, 0 args, -1 rets)
  0078  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 153-158 np=1 va=0 ms=5 code=14 consts=3 upvals=3 protos=0
    ;   K[0]='CheckItemStillInPosition'
    ;   K[1]='_MergeCobwebItem'
    ;   K[2]='Close'
    ;   upvals: self, item, targetItem
    ;   locals: window(0-14)
    0000  GETUPVAL  R1 = self
    0001  SELF      R2 = R1[K0('CheckItemStillInPosition')] (self)
    0002  GETUPVAL  R3 = self
    0003  CALL      R1 = call(R1, 1 args, 2 rets)
    0004  TEST      if not R1 then   -> -131066
    0005  JMP       (jump)   -> 11
    0006  GETUPVAL  R1 = self
    0007  SELF      R2 = R1[K1('_MergeCobwebItem')] (self)
    0008  GETUPVAL  R3 = self
    0009  GETUPVAL  R4 = self
    0010  CALL      R1 = call(R1, 0 args, 3 rets)
    0011  SELF      R2 = R0[K2('Close')] (self)
    0012  CALL      R1 = call(R1, 0 args, 1 rets)
    0013  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 159-164 np=1 va=0 ms=5 code=15 consts=4 upvals=2 protos=0
    ;   K[0]='CheckItemStillInPosition'
    ;   K[1]='SetPosition'
    ;   K[2]='GetPosition'
    ;   K[3]='Close'
    ;   upvals: self, item
    ;   locals: window(0-15)
    0000  GETUPVAL  R1 = self
    0001  SELF      R2 = R1[K0('CheckItemStillInPosition')] (self)
    0002  GETUPVAL  R3 = self
    0003  CALL      R1 = call(R1, 1 args, 2 rets)
    0004  TEST      if not R1 then   -> -131066
    0005  JMP       (jump)   -> 12
    0006  GETUPVAL  R1 = self
    0007  SELF      R2 = R1[K1('SetPosition')] (self)
    0008  GETUPVAL  R3 = self
    0009  SELF      R4 = R3[K2('GetPosition')] (self)
    0010  CALL      R3 = call(R3, -1 args, 1 rets)
    0011  CALL      R1 = call(R1, 0 args, -1 rets)
    0012  SELF      R2 = R0[K3('Close')] (self)
    0013  CALL      R1 = call(R1, 0 args, 1 rets)
    0014  RETURN    return R0..R-1
; ---------- proto17 [DragItem] ----------
  ; fn ?  line 184-192 np=3 va=0 ms=8 code=17 consts=6 upvals=1 protos=0
  ;   K[0]='BaseUIBoardModel'
  ;   K[1]='DragItem'
  ;   K[2]='m_itemLayerModel'
  ;   K[3]='GetCobwebItem'
  ;   K[4]=nil
  ;   K[5]='Drag2CobwebItem'
  ;   upvals: _ENV
  ;   locals: self(0-17), item(0-17), targetPosition(0-17), cbItem(10-17)
  0000  GETTABUP  R3 = _ENV[K0('BaseUIBoardModel')]
  0001  GETTABLE  R3 = R3[K1('DragItem')]
  0002  MOVE      R4 = R0
  0003  MOVE      R5 = R0
  0004  MOVE      R6 = R0
  0005  CALL      R3 = call(R3, 0 args, 3 rets)
  0006  GETTABLE  R3 = R0[K2('m_itemLayerModel')]
  0007  SELF      R4 = R3[K3('GetCobwebItem')] (self)
  0008  MOVE      R5 = R0
  0009  CALL      R3 = call(R3, 1 args, 2 rets)
  0010  EQ        if R1 eq K4(nil)   -> -129264
  0011  JMP       (jump)   -> 16
  0012  SELF      R5 = R0[K5('Drag2CobwebItem')] (self)
  0013  MOVE      R6 = R0
  0014  MOVE      R7 = R0
  0015  CALL      R4 = call(R4, 0 args, 3 rets)
  0016  RETURN    return R0..R-1
