# DigActivity_View_DigActivityBoardView_951.luac
; fn @DigActivityBoardView.lua  line 0-0 np=0 va=1 ms=7 code=167 consts=62 upvals=1 protos=45
;   K[0]='DigActivityBoardView'
;   K[1]='__index'
;   K[2]='Left'
;   K[3]=90
;   K[4]='Right'
;   K[5]=270
;   K[6]='Up'
;   K[7]=0
;   K[8]='Down'
;   K[9]=180
;   K[10]='Init'
;   K[11]='OnDestroy'
;   K[12]='SetGridLayout'
;   K[13]='ClearLastBoardView'
;   K[14]='UpdateContent'
;   K[15]='UpdateContentbyDiggedGrid'
;   K[16]='UpdateScore'
;   K[17]='UpdateTiles'
;   K[18]='UpdateDigGrids'
;   K[19]='UpdateDigGaps'
;   K[20]='TryLoadEdgeGap'
;   K[21]='LoadEdgeGap'
;   K[22]='GetEdgeGapAnchoredPos'
;   K[23]='TryLoadMiddleGap'
;   K[24]='LoadMiddleGap'
;   K[25]='GetMiddleGapAnchoredPos'
;   K[26]='UpdateItems'
;   K[27]='GetActivityDefinition'
;   K[28]='GetGridRectTrans'
;   K[29]='GetGridAnchoredPos'
;   K[30]='GetGridWorldPos'
;   K[31]='GetDigItem'
;   K[32]='OnDigGridClicked'
;   K[33]='TryDigItemFlyToGroove'
;   K[34]='_GetFlyItemBackOffset'
;   K[35]='IsPlayingAnimation'
;   K[36]='XY2Index'
;   K[37]='Index2XY'
;   K[38]='GetRealBoardFrameSize'
;   K[39]='SetTargetGridForTutorial'
;   K[40]='GetTwoValidGridPos'
;   K[41]='GetHudButton'
;   K[42]='HideAllGrids'
;   K[43]=0.2
;   K[44]=0.1
;   K[45]=0.5
;   K[46]='PlayGridEnterAnim'
;   K[47]='GetEnterAnimTime'
;   K[48]='GetDelayEnterTime'
;   K[49]='DigGrid'
;   K[50]='Init'
;   K[51]='OnBtnClicked'
;   K[52]='PlayDisappearAnim'
;   K[53]='PlayEnterAnim'
;   K[54]='HideForAnim'
;   K[55]='InitForTest'
;   K[56]='DigItem'
;   K[57]='Init'
;   K[58]='DigHudButton'
;   K[59]='setmetatable'
;   K[60]='HudPropertyButton'
;   K[61]='UpdateValueText'
;   upvals: _ENV
;   locals: DirRotate(10-167), maxDelayEnterTime(110-167), minDelayEnterTime(111-167), enterTime(112-167)
0000  NEWTABLE  R0 = {} (0 items)
0001  SETTABUP  _ENV[K0('DigActivityBoardView')] = R0
0002  GETTABUP  R0 = _ENV[K0('DigActivityBoardView')]
0003  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0004  SETTABLE  R0[K1('__index')] = R1
0005  NEWTABLE  R0 = {} (0 items)
0006  SETTABLE  R0[K2('Left')] = K3(90)
0007  SETTABLE  R0[K4('Right')] = K5(270)
0008  SETTABLE  R0[K6('Up')] = K7(0)
0009  SETTABLE  R0[K8('Down')] = K9(180)
0010  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0011  CLOSURE   R2 = closure proto0
0012  SETTABLE  R1[K10('Init')] = R2
0013  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0014  CLOSURE   R2 = closure proto1
0015  SETTABLE  R1[K11('OnDestroy')] = R2
0016  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0017  CLOSURE   R2 = closure proto2
0018  SETTABLE  R1[K12('SetGridLayout')] = R2
0019  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0020  CLOSURE   R2 = closure proto3
0021  SETTABLE  R1[K13('ClearLastBoardView')] = R2
0022  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0023  CLOSURE   R2 = closure proto4
0024  SETTABLE  R1[K14('UpdateContent')] = R2
0025  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0026  CLOSURE   R2 = closure proto5
0027  SETTABLE  R1[K15('UpdateContentbyDiggedGrid')] = R2
0028  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0029  CLOSURE   R2 = closure proto6
0030  SETTABLE  R1[K16('UpdateScore')] = R2
0031  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0032  CLOSURE   R2 = closure proto7
0033  SETTABLE  R1[K17('UpdateTiles')] = R2
0034  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0035  CLOSURE   R2 = closure proto8
0036  SETTABLE  R1[K18('UpdateDigGrids')] = R2
0037  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0038  CLOSURE   R2 = closure proto9
0039  SETTABLE  R1[K19('UpdateDigGaps')] = R2
0040  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0041  CLOSURE   R2 = closure proto10
0042  SETTABLE  R1[K20('TryLoadEdgeGap')] = R2
0043  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0044  CLOSURE   R2 = closure proto11
0045  SETTABLE  R1[K21('LoadEdgeGap')] = R2
0046  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0047  CLOSURE   R2 = closure proto12
0048  SETTABLE  R1[K22('GetEdgeGapAnchoredPos')] = R2
0049  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0050  CLOSURE   R2 = closure proto13
0051  SETTABLE  R1[K23('TryLoadMiddleGap')] = R2
0052  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0053  CLOSURE   R2 = closure proto14
0054  SETTABLE  R1[K24('LoadMiddleGap')] = R2
0055  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0056  CLOSURE   R2 = closure proto15
0057  SETTABLE  R1[K25('GetMiddleGapAnchoredPos')] = R2
0058  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0059  CLOSURE   R2 = closure proto16
0060  SETTABLE  R1[K26('UpdateItems')] = R2
0061  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0062  CLOSURE   R2 = closure proto17
0063  SETTABLE  R1[K27('GetActivityDefinition')] = R2
0064  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0065  CLOSURE   R2 = closure proto18
0066  SETTABLE  R1[K28('GetGridRectTrans')] = R2
0067  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0068  CLOSURE   R2 = closure proto19
0069  SETTABLE  R1[K29('GetGridAnchoredPos')] = R2
0070  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0071  CLOSURE   R2 = closure proto20
0072  SETTABLE  R1[K30('GetGridWorldPos')] = R2
0073  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0074  CLOSURE   R2 = closure proto21
0075  SETTABLE  R1[K31('GetDigItem')] = R2
0076  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0077  CLOSURE   R2 = closure proto22
0078  SETTABLE  R1[K32('OnDigGridClicked')] = R2
0079  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0080  CLOSURE   R2 = closure proto23
0081  SETTABLE  R1[K33('TryDigItemFlyToGroove')] = R2
0082  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0083  CLOSURE   R2 = closure proto24
0084  SETTABLE  R1[K34('_GetFlyItemBackOffset')] = R2
0085  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0086  CLOSURE   R2 = closure proto25
0087  SETTABLE  R1[K35('IsPlayingAnimation')] = R2
0088  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0089  CLOSURE   R2 = closure proto26
0090  SETTABLE  R1[K36('XY2Index')] = R2
0091  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0092  CLOSURE   R2 = closure proto27
0093  SETTABLE  R1[K37('Index2XY')] = R2
0094  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0095  CLOSURE   R2 = closure proto28
0096  SETTABLE  R1[K38('GetRealBoardFrameSize')] = R2
0097  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0098  CLOSURE   R2 = closure proto29
0099  SETTABLE  R1[K39('SetTargetGridForTutorial')] = R2
0100  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0101  CLOSURE   R2 = closure proto30
0102  SETTABLE  R1[K40('GetTwoValidGridPos')] = R2
0103  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0104  CLOSURE   R2 = closure proto31
0105  SETTABLE  R1[K41('GetHudButton')] = R2
0106  GETTABUP  R1 = _ENV[K0('DigActivityBoardView')]
0107  CLOSURE   R2 = closure proto32
0108  SETTABLE  R1[K42('HideAllGrids')] = R2
0109  LOADK     R1 = K43 0.2
0110  LOADK     R2 = K44 0.1
0111  LOADK     R3 = K45 0.5
0112  GETTABUP  R4 = _ENV[K0('DigActivityBoardView')]
0113  CLOSURE   R5 = closure proto33
0114  SETTABLE  R4[K46('PlayGridEnterAnim')] = R5
0115  GETTABUP  R4 = _ENV[K0('DigActivityBoardView')]
0116  CLOSURE   R5 = closure proto34
0117  SETTABLE  R4[K47('GetEnterAnimTime')] = R5
0118  GETTABUP  R4 = _ENV[K0('DigActivityBoardView')]
0119  CLOSURE   R5 = closure proto35
0120  SETTABLE  R4[K48('GetDelayEnterTime')] = R5
0121  NEWTABLE  R4 = {} (0 items)
0122  SETTABUP  _ENV[K49('DigGrid')] = R4
0123  GETTABUP  R4 = _ENV[K49('DigGrid')]
0124  GETTABUP  R5 = _ENV[K49('DigGrid')]
0125  SETTABLE  R4[K1('__index')] = R5
0126  GETTABUP  R4 = _ENV[K49('DigGrid')]
0127  CLOSURE   R5 = closure proto36
0128  SETTABLE  R4[K50('Init')] = R5
0129  GETTABUP  R4 = _ENV[K49('DigGrid')]
0130  CLOSURE   R5 = closure proto37
0131  SETTABLE  R4[K51('OnBtnClicked')] = R5
0132  GETTABUP  R4 = _ENV[K49('DigGrid')]
0133  CLOSURE   R5 = closure proto38
0134  SETTABLE  R4[K52('PlayDisappearAnim')] = R5
0135  GETTABUP  R4 = _ENV[K49('DigGrid')]
0136  CLOSURE   R5 = closure proto39
0137  SETTABLE  R4[K11('OnDestroy')] = R5
0138  GETTABUP  R4 = _ENV[K49('DigGrid')]
0139  CLOSURE   R5 = closure proto40
0140  SETTABLE  R4[K53('PlayEnterAnim')] = R5
0141  GETTABUP  R4 = _ENV[K49('DigGrid')]
0142  CLOSURE   R5 = closure proto41
0143  SETTABLE  R4[K54('HideForAnim')] = R5
0144  GETTABUP  R4 = _ENV[K49('DigGrid')]
0145  CLOSURE   R5 = closure proto42
0146  SETTABLE  R4[K55('InitForTest')] = R5
0147  NEWTABLE  R4 = {} (0 items)
0148  SETTABUP  _ENV[K56('DigItem')] = R4
0149  GETTABUP  R4 = _ENV[K56('DigItem')]
0150  GETTABUP  R5 = _ENV[K56('DigItem')]
0151  SETTABLE  R4[K1('__index')] = R5
0152  GETTABUP  R4 = _ENV[K56('DigItem')]
0153  CLOSURE   R5 = closure proto43
0154  SETTABLE  R4[K57('Init')] = R5
0155  GETTABUP  R4 = _ENV[K59('setmetatable')]
0156  NEWTABLE  R5 = {} (0 items)
0157  GETTABUP  R6 = _ENV[K60('HudPropertyButton')]
0158  CALL      R4 = call(R4, 1 args, 2 rets)
0159  SETTABUP  _ENV[K58('DigHudButton')] = R4
0160  GETTABUP  R4 = _ENV[K58('DigHudButton')]
0161  GETTABUP  R5 = _ENV[K58('DigHudButton')]
0162  SETTABLE  R4[K1('__index')] = R5
0163  GETTABUP  R4 = _ENV[K58('DigHudButton')]
0164  CLOSURE   R5 = closure proto44
0165  SETTABLE  R4[K61('UpdateValueText')] = R5
0166  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 14-44 np=3 va=0 ms=11 code=78 consts=35 upvals=1 protos=0
  ;   K[0]=nil
  ;   K[1]='m_window'
  ;   K[2]='m_model'
  ;   K[3]='m_activityDefinition'
  ;   K[4]='GetActivityDefinition'
  ;   K[5]='m_levelConfig'
  ;   K[6]='GetCurLevelConfig'
  ;   K[7]='m_gridAnimNum'
  ;   K[8]=0
  ;   K[9]='m_mapFlySequence'
  ;   K[10]='UIUtil'
  ;   K[11]='SetSizeDelta'
  ;   K[12]='m_boardFrameRootRect'
  ;   K[13]='GetRealBoardFrameSize'
  ;   K[14]='ClearLastBoardView'
  ;   K[15]='mapScale'
  ;   K[16]=1
  ;   K[17]='SetLocalScale'
  ;   K[18]='m_scaleRootRect'
  ;   K[19]='SetGridLayout'
  ;   K[20]='m_tileGridLayout'
  ;   K[21]='GridSize'
  ;   K[22]='width'
  ;   K[23]='SpacingOffsetX'
  ;   K[24]='SpacingOffsetY'
  ;   K[25]='m_digGridLayout'
  ;   K[26]='UpdateContent'
  ;   K[27]='SetLocalPosition'
  ;   K[28]='transform'
  ;   K[29]='BoardBottomMargin'
  ;   K[30]=2
  ;   K[31]='EventDispatcher'
  ;   K[32]='AddListener'
  ;   K[33]='ScoreChangedEvent'
  ;   K[34]='UpdateScore'
  ;   upvals: _ENV
  ;   locals: self(0-78), model(0-78), window(0-78), targetScale(27-78)
  0000  EQ        if R0 eq K0(nil)   -> -130302
  0001  JMP       (jump)   -> 3
  0002  RETURN    return R0..R-1
  0003  SETTABLE  R0[K1('m_window')] = R2
  0004  SETTABLE  R0[K2('m_model')] = R1
  0005  SELF      R4 = R1[K4('GetActivityDefinition')] (self)
  0006  CALL      R3 = call(R3, 1 args, 1 rets)
  0007  SETTABLE  R0[K3('m_activityDefinition')] = R3
  0008  SELF      R4 = R1[K6('GetCurLevelConfig')] (self)
  0009  CALL      R3 = call(R3, 1 args, 1 rets)
  0010  SETTABLE  R0[K5('m_levelConfig')] = R3
  0011  SETTABLE  R0[K7('m_gridAnimNum')] = K8(0)
  0012  NEWTABLE  R3 = {} (0 items)
  0013  SETTABLE  R0[K9('m_mapFlySequence')] = R3
  0014  GETTABUP  R3 = _ENV[K10('UIUtil')]
  0015  GETTABLE  R3 = R3[K11('SetSizeDelta')]
  0016  GETTABLE  R4 = R0[K12('m_boardFrameRootRect')]
  0017  SELF      R6 = R0[K13('GetRealBoardFrameSize')] (self)
  0018  CALL      R5 = call(R5, -1 args, 1 rets)
  0019  CALL      R3 = call(R3, 0 args, -1 rets)
  0020  SELF      R4 = R0[K14('ClearLastBoardView')] (self)
  0021  CALL      R3 = call(R3, 0 args, 1 rets)
  0022  GETTABLE  R3 = R0[K5('m_levelConfig')]
  0023  GETTABLE  R3 = R3[K15('mapScale')]
  0024  TEST      if not R3 then   -> -131045
  0025  JMP       (jump)   -> 27
  0026  LOADK     R3 = K16 1
  0027  GETTABUP  R4 = _ENV[K10('UIUtil')]
  0028  GETTABLE  R4 = R4[K17('SetLocalScale')]
  0029  GETTABLE  R5 = R0[K18('m_scaleRootRect')]
  0030  MOVE      R6 = R0
  0031  MOVE      R7 = R0
  0032  LOADK     R8 = K16 1
  0033  CALL      R4 = call(R4, 0 args, 4 rets)
  0034  SELF      R5 = R0[K19('SetGridLayout')] (self)
  0035  GETTABLE  R6 = R0[K20('m_tileGridLayout')]
  0036  GETTABLE  R7 = R0[K3('m_activityDefinition')]
  0037  GETTABLE  R7 = R7[K21('GridSize')]
  0038  GETTABLE  R8 = R0[K5('m_levelConfig')]
  0039  GETTABLE  R8 = R8[K22('width')]
  0040  GETTABLE  R9 = R0[K3('m_activityDefinition')]
  0041  GETTABLE  R9 = R9[K23('SpacingOffsetX')]
  0042  GETTABLE  R10 = R0[K3('m_activityDefinition')]
  0043  GETTABLE  R10 = R10[K24('SpacingOffsetY')]
  0044  CALL      R4 = call(R4, 0 args, 6 rets)
  0045  SELF      R5 = R0[K19('SetGridLayout')] (self)
  0046  GETTABLE  R6 = R0[K25('m_digGridLayout')]
  0047  GETTABLE  R7 = R0[K3('m_activityDefinition')]
  0048  GETTABLE  R7 = R7[K21('GridSize')]
  0049  GETTABLE  R8 = R0[K5('m_levelConfig')]
  0050  GETTABLE  R8 = R8[K22('width')]
  0051  GETTABLE  R9 = R0[K3('m_activityDefinition')]
  0052  GETTABLE  R9 = R9[K23('SpacingOffsetX')]
  0053  GETTABLE  R10 = R0[K3('m_activityDefinition')]
  0054  GETTABLE  R10 = R10[K24('SpacingOffsetY')]
  0055  CALL      R4 = call(R4, 0 args, 6 rets)
  0056  SELF      R5 = R0[K26('UpdateContent')] (self)
  0057  CALL      R4 = call(R4, 0 args, 1 rets)
  0058  GETTABUP  R4 = _ENV[K10('UIUtil')]
  0059  GETTABLE  R4 = R4[K27('SetLocalPosition')]
  0060  GETTABLE  R5 = R0[K28('transform')]
  0061  LOADNIL   R6..R6 = nil
  0062  GETTABLE  R7 = R0[K3('m_activityDefinition')]
  0063  GETTABLE  R7 = R7[K29('BoardBottomMargin')]
  0064  TEST      if not R7 then   -> -131005
  0065  JMP       (jump)   -> 67
  0066  LOADK     R7 = K8 0
  0067  DIV       R7 = K30(2) div R7
  0068  CALL      R4 = call(R4, 0 args, 3 rets)
  0069  GETTABUP  R4 = _ENV[K31('EventDispatcher')]
  0070  GETTABLE  R4 = R4[K32('AddListener')]
  0071  GETTABLE  R5 = R0[K3('m_activityDefinition')]
  0072  GETTABLE  R5 = R5[K33('ScoreChangedEvent')]
  0073  MOVE      R6 = R0
  0074  GETTABLE  R7 = R0[K34('UpdateScore')]
  0075  LOADBOOL  R8 = true
  0076  CALL      R4 = call(R4, 0 args, 4 rets)
  0077  RETURN    return R0..R-1
; ---------- proto1 [OnDestroy] ----------
  ; fn ?  line 46-61 np=1 va=0 ms=8 code=34 consts=14 upvals=1 protos=0
  ;   K[0]='Table'
  ;   K[1]='IsEmpty'
  ;   K[2]='m_mapFlySequence'
  ;   K[3]='pairs'
  ;   K[4]='Kill'
  ;   K[5]='m_eventLockedDigItemIndex'
  ;   K[6]=nil
  ;   K[7]='GM'
  ;   K[8]='UIManager'
  ;   K[9]='SetEventLock'
  ;   K[10]='EventDispatcher'
  ;   K[11]='RemoveTarget'
  ;   K[12]='Scheduler'
  ;   K[13]='UnscheduleTarget'
  ;   upvals: _ENV
  ;   locals: self(0-34), (for generator)(9-14), (for state)(9-14), (for control)(9-14), seq(10-12), _(10-12)
  0000  GETTABUP  R1 = _ENV[K0('Table')]
  0001  GETTABLE  R1 = R1[K1('IsEmpty')]
  0002  GETTABLE  R2 = R0[K2('m_mapFlySequence')]
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  TEST      if not R1 then   -> -131065
  0005  JMP       (jump)   -> 16
  0006  GETTABUP  R1 = _ENV[K3('pairs')]
  0007  GETTABLE  R2 = R0[K2('m_mapFlySequence')]
  0008  CALL      R1 = call(R1, 3 args, 1 rets)
  0009  JMP       (jump)   -> 12
  0010  SELF      R7 = R4[K4('Kill')] (self)
  0011  CALL      R6 = call(R6, 0 args, 1 rets)
  0012  TFORCALL  tforcall R1
  0013  TFORLOOP  tforloop R3(sBx=-4)   -> 10
  0014  NEWTABLE  R1 = {} (0 items)
  0015  SETTABLE  R0[K2('m_mapFlySequence')] = R1
  0016  GETTABLE  R1 = R0[K5('m_eventLockedDigItemIndex')]
  0017  EQ        if R1 eq K6(nil)   -> -130279
  0018  JMP       (jump)   -> 25
  0019  SETTABLE  R0[K5('m_eventLockedDigItemIndex')] = K6(nil)
  0020  GETTABUP  R1 = _ENV[K7('GM')]
  0021  GETTABLE  R1 = R1[K8('UIManager')]
  0022  SELF      R2 = R1[K9('SetEventLock')] (self)
  0023  LOADBOOL  R3 = false
  0024  CALL      R1 = call(R1, 0 args, 2 rets)
  0025  GETTABUP  R1 = _ENV[K10('EventDispatcher')]
  0026  GETTABLE  R1 = R1[K11('RemoveTarget')]
  0027  MOVE      R2 = R0
  0028  CALL      R1 = call(R1, 0 args, 1 rets)
  0029  GETTABUP  R1 = _ENV[K12('Scheduler')]
  0030  GETTABLE  R1 = R1[K13('UnscheduleTarget')]
  0031  MOVE      R2 = R0
  0032  CALL      R1 = call(R1, 0 args, 1 rets)
  0033  RETURN    return R0..R-1
; ---------- proto2 [SetGridLayout] ----------
  ; fn ?  line 63-67 np=6 va=0 ms=9 code=16 consts=5 upvals=1 protos=0
  ;   K[0]='constraintCount'
  ;   K[1]='cellSize'
  ;   K[2]='Vector2'
  ;   K[3]='spacing'
  ;   K[4]=0
  ;   upvals: _ENV
  ;   locals: self(0-16), layout(0-16), gridSize(0-16), constraintCount(0-16), spacingX(0-16), spacingY(0-16)
  0000  SETTABLE  R1[K0('constraintCount')] = R3
  0001  GETTABUP  R6 = _ENV[K2('Vector2')]
  0002  MOVE      R7 = R0
  0003  MOVE      R8 = R0
  0004  CALL      R6 = call(R6, 1 args, 2 rets)
  0005  SETTABLE  R1[K1('cellSize')] = R6
  0006  GETTABUP  R6 = _ENV[K2('Vector2')]
  0007  TESTSET   if R1 then R7   -> -129014
  0008  JMP       (jump)   -> 10
  0009  LOADK     R7 = K4 0
  0010  TESTSET   if R1 then R8   -> -128499
  0011  JMP       (jump)   -> 13
  0012  LOADK     R8 = K4 0
  0013  CALL      R6 = call(R6, 1 args, 2 rets)
  0014  SETTABLE  R1[K3('spacing')] = R6
  0015  RETURN    return R0..R-1
; ---------- proto3 [ClearLastBoardView] ----------
  ; fn ?  line 70-88 np=1 va=0 ms=9 code=61 consts=9 upvals=1 protos=0
  ;   K[0]='ipairs'
  ;   K[1]='m_arrTiles'
  ;   K[2]='UIUtil'
  ;   K[3]='SetActive'
  ;   K[4]='GameObject'
  ;   K[5]='Destroy'
  ;   K[6]='m_arrDigGrids'
  ;   K[7]='gameObject'
  ;   K[8]='m_arrDigItems'
  ;   upvals: _ENV
  ;   locals: self(0-61), (for generator)(6-18), (for state)(6-18), (for control)(6-18), _(7-16), tileGo(7-16), (for generator)(24-36), (for state)(24-36), (for control)(24-36), _(25-34), digGrid(25-34), (for generator)(42-54), (for state)(42-54), (for control)(42-54), _(43-52), digItem(43-52)
  0000  GETTABUP  R1 = _ENV[K0('ipairs')]
  0001  GETTABLE  R2 = R0[K1('m_arrTiles')]
  0002  TEST      if not R2 then   -> -131067
  0003  JMP       (jump)   -> 5
  0004  NEWTABLE  R2 = {} (0 items)
  0005  CALL      R1 = call(R1, 3 args, 1 rets)
  0006  JMP       (jump)   -> 16
  0007  GETTABUP  R6 = _ENV[K2('UIUtil')]
  0008  GETTABLE  R6 = R6[K3('SetActive')]
  0009  MOVE      R7 = R0
  0010  LOADBOOL  R8 = false
  0011  CALL      R6 = call(R6, 0 args, 2 rets)
  0012  GETTABUP  R6 = _ENV[K4('GameObject')]
  0013  GETTABLE  R6 = R6[K5('Destroy')]
  0014  MOVE      R7 = R0
  0015  CALL      R6 = call(R6, 0 args, 1 rets)
  0016  TFORCALL  tforcall R1
  0017  TFORLOOP  tforloop R3(sBx=-11)   -> 7
  0018  GETTABUP  R1 = _ENV[K0('ipairs')]
  0019  GETTABLE  R2 = R0[K6('m_arrDigGrids')]
  0020  TEST      if not R2 then   -> -131049
  0021  JMP       (jump)   -> 23
  0022  NEWTABLE  R2 = {} (0 items)
  0023  CALL      R1 = call(R1, 3 args, 1 rets)
  0024  JMP       (jump)   -> 34
  0025  GETTABUP  R6 = _ENV[K2('UIUtil')]
  0026  GETTABLE  R6 = R6[K3('SetActive')]
  0027  GETTABLE  R7 = R5[K7('gameObject')]
  0028  LOADBOOL  R8 = false
  0029  CALL      R6 = call(R6, 0 args, 2 rets)
  0030  GETTABUP  R6 = _ENV[K4('GameObject')]
  0031  GETTABLE  R6 = R6[K5('Destroy')]
  0032  GETTABLE  R7 = R5[K7('gameObject')]
  0033  CALL      R6 = call(R6, 0 args, 1 rets)
  0034  TFORCALL  tforcall R1
  0035  TFORLOOP  tforloop R3(sBx=-11)   -> 25
  0036  GETTABUP  R1 = _ENV[K0('ipairs')]
  0037  GETTABLE  R2 = R0[K8('m_arrDigItems')]
  0038  TEST      if not R2 then   -> -131031
  0039  JMP       (jump)   -> 41
  0040  NEWTABLE  R2 = {} (0 items)
  0041  CALL      R1 = call(R1, 3 args, 1 rets)
  0042  JMP       (jump)   -> 52
  0043  GETTABUP  R6 = _ENV[K2('UIUtil')]
  0044  GETTABLE  R6 = R6[K3('SetActive')]
  0045  GETTABLE  R7 = R5[K7('gameObject')]
  0046  LOADBOOL  R8 = false
  0047  CALL      R6 = call(R6, 0 args, 2 rets)
  0048  GETTABUP  R6 = _ENV[K4('GameObject')]
  0049  GETTABLE  R6 = R6[K5('Destroy')]
  0050  GETTABLE  R7 = R5[K7('gameObject')]
  0051  CALL      R6 = call(R6, 0 args, 1 rets)
  0052  TFORCALL  tforcall R1
  0053  TFORLOOP  tforloop R3(sBx=-11)   -> 43
  0054  NEWTABLE  R1 = {} (0 items)
  0055  SETTABLE  R0[K1('m_arrTiles')] = R1
  0056  NEWTABLE  R1 = {} (0 items)
  0057  SETTABLE  R0[K6('m_arrDigGrids')] = R1
  0058  NEWTABLE  R1 = {} (0 items)
  0059  SETTABLE  R0[K8('m_arrDigItems')] = R1
  0060  RETURN    return R0..R-1
; ---------- proto4 [UpdateContent] ----------
  ; fn ?  line 90-96 np=1 va=0 ms=4 code=13 consts=6 upvals=0 protos=0
  ;   K[0]='UpdateTiles'
  ;   K[1]='UpdateDigGrids'
  ;   K[2]='UpdateItems'
  ;   K[3]='UpdateDigGaps'
  ;   K[4]='UpdateScore'
  ;   K[5]=true
  ;   locals: self(0-13)
  0000  SELF      R2 = R0[K0('UpdateTiles')] (self)
  0001  CALL      R1 = call(R1, 0 args, 1 rets)
  0002  SELF      R2 = R0[K1('UpdateDigGrids')] (self)
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  SELF      R2 = R0[K2('UpdateItems')] (self)
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  SELF      R2 = R0[K3('UpdateDigGaps')] (self)
  0007  CALL      R1 = call(R1, 0 args, 1 rets)
  0008  SELF      R2 = R0[K4('UpdateScore')] (self)
  0009  NEWTABLE  R3 = {} (0 items)
  0010  SETTABLE  R3[K4('UpdateScore')] = K5(true)
  0011  CALL      R1 = call(R1, 0 args, 2 rets)
  0012  RETURN    return R0..R-1
; ---------- proto5 [UpdateContentbyDiggedGrid] ----------
  ; fn ?  line 98-125 np=3 va=0 ms=18 code=79 consts=26 upvals=1 protos=0
  ;   K[0]='x'
  ;   K[1]='y'
  ;   K[2]='UIUtil'
  ;   K[3]='SetActive'
  ;   K[4]='m_arrDigItems'
  ;   K[5]='gameObject'
  ;   K[6]='m_model'
  ;   K[7]='HasAcquiredItem'
  ;   K[8]='GetCurDigItemDataList'
  ;   K[9]='GetOccupancyGrids'
  ;   K[10]='m_activityDefinition'
  ;   K[11]='TileValidImageName'
  ;   K[12]=nil
  ;   K[13]='ipairs'
  ;   K[14]='m_arrTiles'
  ;   K[15]='XY2Index'
  ;   K[16]='IsValidGrid'
  ;   K[17]=2
  ;   K[18]=0
  ;   K[19]='TileDarkImageName'
  ;   K[20]='TileLightImageName'
  ;   K[21]='SpriteUtil'
  ;   K[22]='SetImage'
  ;   K[23]='GetComponent'
  ;   K[24]='typeof'
  ;   K[25]='Image'
  ;   upvals: _ENV
  ;   locals: self(0-79), digGrid(0-79), digItemIndex(0-79), x(1-79), y(2-79), arrPos(3-79), arrDigItemData(19-23), digItemData(20-23), tileGo(31-79), imgKey(31-79), (for generator)(38-78), (for state)(38-78), (for control)(38-78), _(39-76), pos(39-76)
  0000  GETTABLE  R3 = R1[K0('x')]
  0001  GETTABLE  R4 = R1[K1('y')]
  0002  LOADNIL   R5..R5 = nil
  0003  TEST      if not R2 then   -> -131067
  0004  JMP       (jump)   -> 24
  0005  GETTABUP  R6 = _ENV[K2('UIUtil')]
  0006  GETTABLE  R6 = R6[K3('SetActive')]
  0007  GETTABLE  R7 = R0[K4('m_arrDigItems')]
  0008  GETTABLE  R7 = R7[R2]
  0009  GETTABLE  R7 = R7[K5('gameObject')]
  0010  GETTABLE  R8 = R0[K6('m_model')]
  0011  SELF      R9 = R8[K7('HasAcquiredItem')] (self)
  0012  MOVE      R10 = R0
  0013  CALL      R8 = call(R8, 1 args, 2 rets)
  0014  NOT       R8 = not R0
  0015  CALL      R6 = call(R6, 0 args, 2 rets)
  0016  GETTABLE  R6 = R0[K6('m_model')]
  0017  SELF      R7 = R6[K8('GetCurDigItemDataList')] (self)
  0018  CALL      R6 = call(R6, 1 args, 1 rets)
  0019  GETTABLE  R7 = R6[R2]
  0020  SELF      R9 = R7[K9('GetOccupancyGrids')] (self)
  0021  CALL      R8 = call(R8, 1 args, 1 rets)
  0022  MOVE      R5 = R0
  0023  JMP       (jump)   -> 30
  0024  NEWTABLE  R6 = {} (1 items)
  0025  NEWTABLE  R7 = {} (0 items)
  0026  SETTABLE  R7[K0('x')] = R3
  0027  SETTABLE  R7[K1('y')] = R4
  0028  SETLIST   setlist R6[B=1,C=1]
  0029  MOVE      R5 = R0
  0030  LOADNIL   R6..R6 = nil
  0031  GETTABLE  R8 = R0[K10('m_activityDefinition')]
  0032  GETTABLE  R8 = R8[K11('TileValidImageName')]
  0033  EQ        if R1 eq K12(nil)   -> -126673
  0034  JMP       (jump)   -> 78
  0035  GETTABUP  R8 = _ENV[K13('ipairs')]
  0036  MOVE      R9 = R0
  0037  CALL      R8 = call(R8, 3 args, 1 rets)
  0038  JMP       (jump)   -> 76
  0039  GETTABLE  R13 = R0[K14('m_arrTiles')]
  0040  SELF      R15 = R0[K15('XY2Index')] (self)
  0041  GETTABLE  R16 = R12[K0('x')]
  0042  GETTABLE  R17 = R12[K1('y')]
  0043  CALL      R14 = call(R14, 1 args, 3 rets)
  0044  GETTABLE  R6 = R13[R14]
  0045  GETTABLE  R13 = R0[K10('m_activityDefinition')]
  0046  GETTABLE  R7 = R13[K11('TileValidImageName')]
  0047  GETTABLE  R13 = R0[K6('m_model')]
  0048  SELF      R14 = R13[K16('IsValidGrid')] (self)
  0049  GETTABLE  R15 = R12[K0('x')]
  0050  GETTABLE  R16 = R12[K1('y')]
  0051  LOADBOOL  R17 = true
  0052  CALL      R13 = call(R13, 1 args, 4 rets)
  0053  TEST      if not R13 then   -> -131016
  0054  JMP       (jump)   -> 67
  0055  GETTABLE  R13 = R12[K0('x')]
  0056  GETTABLE  R14 = R12[K1('y')]
  0057  ADD       R13 = R14 add R13
  0058  MOD       R13 = K17(2) mod R13
  0059  EQ        if R0 eq K18(0)   -> -124081
  0060  JMP       (jump)   -> 65
  0061  GETTABLE  R13 = R0[K10('m_activityDefinition')]
  0062  GETTABLE  R13 = R13[K19('TileDarkImageName')]
  0063  TESTSET   if R1 then R7   -> -124350
  0064  JMP       (jump)   -> 67
  0065  GETTABLE  R13 = R0[K10('m_activityDefinition')]
  0066  GETTABLE  R7 = R13[K20('TileLightImageName')]
  0067  GETTABUP  R13 = _ENV[K21('SpriteUtil')]
  0068  GETTABLE  R13 = R13[K22('SetImage')]
  0069  SELF      R15 = R6[K23('GetComponent')] (self)
  0070  GETTABUP  R16 = _ENV[K24('typeof')]
  0071  GETTABUP  R17 = _ENV[K25('Image')]
  0072  CALL      R16 = call(R16, -1 args, 1 rets)
  0073  CALL      R14 = call(R14, 1 args, -1 rets)
  0074  MOVE      R15 = R0
  0075  CALL      R13 = call(R13, 0 args, 2 rets)
  0076  TFORCALL  tforcall R8
  0077  TFORLOOP  tforloop R10(sBx=-39)   -> 39
  0078  RETURN    return R0..R-1
; ---------- proto6 [UpdateScore] ----------
  ; fn ?  line 127-132 np=2 va=0 ms=5 code=11 consts=5 upvals=0 protos=0
  ;   K[0]='UpdateScore'
  ;   K[1]='m_hudDigButton'
  ;   K[2]='Init'
  ;   K[3]='m_activityDefinition'
  ;   K[4]='ActivityTokenPropertyType'
  ;   locals: self(0-11), msg(0-11)
  0000  TEST      if not R1 then   -> -131070
  0001  JMP       (jump)   -> 10
  0002  GETTABLE  R2 = R1[K0('UpdateScore')]
  0003  TEST      if not R2 then   -> -131067
  0004  JMP       (jump)   -> 10
  0005  GETTABLE  R2 = R0[K1('m_hudDigButton')]
  0006  SELF      R3 = R2[K2('Init')] (self)
  0007  GETTABLE  R4 = R0[K3('m_activityDefinition')]
  0008  GETTABLE  R4 = R4[K4('ActivityTokenPropertyType')]
  0009  CALL      R2 = call(R2, 0 args, 2 rets)
  0010  RETURN    return R0..R-1
; ---------- proto7 [UpdateTiles] ----------
  ; fn ?  line 135-157 np=1 va=0 ms=20 code=78 consts=30 upvals=1 protos=0
  ;   K[0]='m_activityDefinition'
  ;   K[1]='TileDarkImageName'
  ;   K[2]='TileLightImageName'
  ;   K[3]='TileValidImageName'
  ;   K[4]=1
  ;   K[5]='m_levelConfig'
  ;   K[6]='height'
  ;   K[7]='width'
  ;   K[8]='XY2Index'
  ;   K[9]='m_arrTiles'
  ;   K[10]=nil
  ;   K[11]='GameObject'
  ;   K[12]='Instantiate'
  ;   K[13]='m_tileGo'
  ;   K[14]='transform'
  ;   K[15]='parent'
  ;   K[16]='m_model'
  ;   K[17]='IsValidGrid'
  ;   K[18]=2
  ;   K[19]=0
  ;   K[20]='SpriteUtil'
  ;   K[21]='SetImage'
  ;   K[22]='GetComponent'
  ;   K[23]='typeof'
  ;   K[24]='Image'
  ;   K[25]='UIUtil'
  ;   K[26]='SetActive'
  ;   K[27]='LayoutRebuilder'
  ;   K[28]='ForceRebuildLayoutImmediate'
  ;   K[29]='m_tileGridLayout'
  ;   upvals: _ENV
  ;   locals: self(0-78), tileImg1(2-78), tileImg2(4-78), tileImg3(6-78), tileGo(7-78), imgKey(7-78), index(7-78), (for index)(11-72), (for limit)(11-72), (for step)(11-72), y(12-71), (for index)(16-71), (for limit)(16-71), (for step)(16-71), x(17-70)
  0000  GETTABLE  R1 = R0[K0('m_activityDefinition')]
  0001  GETTABLE  R1 = R1[K1('TileDarkImageName')]
  0002  GETTABLE  R2 = R0[K0('m_activityDefinition')]
  0003  GETTABLE  R2 = R2[K2('TileLightImageName')]
  0004  GETTABLE  R3 = R0[K0('m_activityDefinition')]
  0005  GETTABLE  R3 = R3[K3('TileValidImageName')]
  0006  LOADNIL   R4..R4 = nil
  0007  LOADK     R7 = K4 1
  0008  GETTABLE  R8 = R0[K5('m_levelConfig')]
  0009  GETTABLE  R8 = R8[K6('height')]
  0010  LOADK     R9 = K4 1
  0011  FORPREP   forprep R7(sBx=59)   -> 71
  0012  LOADK     R11 = K4 1
  0013  GETTABLE  R12 = R0[K5('m_levelConfig')]
  0014  GETTABLE  R12 = R12[K7('width')]
  0015  LOADK     R13 = K4 1
  0016  FORPREP   forprep R11(sBx=53)   -> 70
  0017  SELF      R16 = R0[K8('XY2Index')] (self)
  0018  MOVE      R17 = R0
  0019  MOVE      R18 = R0
  0020  CALL      R15 = call(R15, 1 args, 3 rets)
  0021  MOVE      R6 = R0
  0022  GETTABLE  R15 = R0[K9('m_arrTiles')]
  0023  GETTABLE  R15 = R15[R6]
  0024  EQ        if R0 eq K10(nil)   -> -123100
  0025  JMP       (jump)   -> 35
  0026  GETTABLE  R15 = R0[K9('m_arrTiles')]
  0027  GETTABUP  R16 = _ENV[K11('GameObject')]
  0028  GETTABLE  R16 = R16[K12('Instantiate')]
  0029  GETTABLE  R17 = R0[K13('m_tileGo')]
  0030  GETTABLE  R18 = R0[K13('m_tileGo')]
  0031  GETTABLE  R18 = R18[K14('transform')]
  0032  GETTABLE  R18 = R18[K15('parent')]
  0033  CALL      R16 = call(R16, 1 args, 2 rets)
  0034  SETTABLE  R15[R6] = R16
  0035  GETTABLE  R15 = R0[K9('m_arrTiles')]
  0036  GETTABLE  R4 = R15[R6]
  0037  GETTABLE  R15 = R0[K16('m_model')]
  0038  SELF      R16 = R15[K17('IsValidGrid')] (self)
  0039  MOVE      R17 = R0
  0040  MOVE      R18 = R0
  0041  LOADBOOL  R19 = true
  0042  CALL      R15 = call(R15, 1 args, 4 rets)
  0043  TEST      if not R15 then   -> -131027
  0044  JMP       (jump)   -> 49
  0045  EQ        if R1 eq K10(nil)   -> -129223
  0046  JMP       (jump)   -> 49
  0047  MOVE      R5 = R0
  0048  JMP       (jump)   -> 56
  0049  ADD       R15 = R10 add R14
  0050  MOD       R15 = K18(2) mod R15
  0051  EQ        if R0 eq K19(0)   -> -123064
  0052  JMP       (jump)   -> 55
  0053  TESTSET   if R1 then R5   -> -130504
  0054  JMP       (jump)   -> 56
  0055  MOVE      R5 = R0
  0056  GETTABUP  R15 = _ENV[K20('SpriteUtil')]
  0057  GETTABLE  R15 = R15[K21('SetImage')]
  0058  SELF      R17 = R4[K22('GetComponent')] (self)
  0059  GETTABUP  R18 = _ENV[K23('typeof')]
  0060  GETTABUP  R19 = _ENV[K24('Image')]
  0061  CALL      R18 = call(R18, -1 args, 1 rets)
  0062  CALL      R16 = call(R16, 1 args, -1 rets)
  0063  MOVE      R17 = R0
  0064  CALL      R15 = call(R15, 0 args, 2 rets)
  0065  GETTABUP  R15 = _ENV[K25('UIUtil')]
  0066  GETTABLE  R15 = R15[K26('SetActive')]
  0067  MOVE      R16 = R0
  0068  LOADBOOL  R17 = true
  0069  CALL      R15 = call(R15, 0 args, 2 rets)
  0070  FORLOOP   forloop R11(sBx=-54)   -> 17
  0071  FORLOOP   forloop R7(sBx=-60)   -> 12
  0072  GETTABUP  R7 = _ENV[K27('LayoutRebuilder')]
  0073  GETTABLE  R7 = R7[K28('ForceRebuildLayoutImmediate')]
  0074  GETTABLE  R8 = R0[K29('m_tileGridLayout')]
  0075  GETTABLE  R8 = R8[K14('transform')]
  0076  CALL      R7 = call(R7, 0 args, 1 rets)
  0077  RETURN    return R0..R-1
; ---------- proto8 [UpdateDigGrids] ----------
  ; fn ?  line 160-176 np=1 va=0 ms=17 code=52 consts=20 upvals=1 protos=0
  ;   K[0]=1
  ;   K[1]='m_levelConfig'
  ;   K[2]='height'
  ;   K[3]='width'
  ;   K[4]=-1
  ;   K[5]='XY2Index'
  ;   K[6]='m_arrDigGrids'
  ;   K[7]=nil
  ;   K[8]='GameObject'
  ;   K[9]='Instantiate'
  ;   K[10]='m_digGridGo'
  ;   K[11]='m_digGridLayout'
  ;   K[12]='transform'
  ;   K[13]='UIUtil'
  ;   K[14]='SetActive'
  ;   K[15]='GetLuaTable'
  ;   K[16]='Init'
  ;   K[17]='m_model'
  ;   K[18]='LayoutRebuilder'
  ;   K[19]='ForceRebuildLayoutImmediate'
  ;   upvals: _ENV
  ;   locals: self(0-52), digGridGo(1-52), index(1-52), (for index)(5-46), (for limit)(5-46), (for step)(5-46), y(6-45), (for index)(10-45), (for limit)(10-45), (for step)(10-45), x(11-44)
  0000  LOADNIL   R1..R1 = nil
  0001  LOADK     R3 = K0 1
  0002  GETTABLE  R4 = R0[K1('m_levelConfig')]
  0003  GETTABLE  R4 = R4[K2('height')]
  0004  LOADK     R5 = K0 1
  0005  FORPREP   forprep R3(sBx=39)   -> 45
  0006  GETTABLE  R7 = R0[K1('m_levelConfig')]
  0007  GETTABLE  R7 = R7[K3('width')]
  0008  LOADK     R8 = K0 1
  0009  LOADK     R9 = K4 -1
  0010  FORPREP   forprep R7(sBx=33)   -> 44
  0011  SELF      R12 = R0[K5('XY2Index')] (self)
  0012  MOVE      R13 = R0
  0013  MOVE      R14 = R0
  0014  CALL      R11 = call(R11, 1 args, 3 rets)
  0015  MOVE      R2 = R0
  0016  GETTABLE  R11 = R0[K6('m_arrDigGrids')]
  0017  GETTABLE  R11 = R11[R2]
  0018  EQ        if R0 eq K7(nil)   -> -125157
  0019  JMP       (jump)   -> 36
  0020  GETTABUP  R11 = _ENV[K8('GameObject')]
  0021  GETTABLE  R11 = R11[K9('Instantiate')]
  0022  GETTABLE  R12 = R0[K10('m_digGridGo')]
  0023  GETTABLE  R13 = R0[K11('m_digGridLayout')]
  0024  GETTABLE  R13 = R13[K12('transform')]
  0025  CALL      R11 = call(R11, 1 args, 2 rets)
  0026  MOVE      R1 = R0
  0027  GETTABUP  R11 = _ENV[K13('UIUtil')]
  0028  GETTABLE  R11 = R11[K14('SetActive')]
  0029  MOVE      R12 = R0
  0030  LOADBOOL  R13 = true
  0031  CALL      R11 = call(R11, 0 args, 2 rets)
  0032  GETTABLE  R11 = R0[K6('m_arrDigGrids')]
  0033  SELF      R13 = R1[K15('GetLuaTable')] (self)
  0034  CALL      R12 = call(R12, 1 args, 1 rets)
  0035  SETTABLE  R11[R2] = R12
  0036  GETTABLE  R11 = R0[K6('m_arrDigGrids')]
  0037  GETTABLE  R11 = R11[R2]
  0038  SELF      R12 = R11[K16('Init')] (self)
  0039  GETTABLE  R13 = R0[K17('m_model')]
  0040  MOVE      R14 = R0
  0041  MOVE      R15 = R0
  0042  MOVE      R16 = R0
  0043  CALL      R11 = call(R11, 0 args, 5 rets)
  0044  FORLOOP   forloop R7(sBx=-34)   -> 11
  0045  FORLOOP   forloop R3(sBx=-40)   -> 6
  0046  GETTABUP  R3 = _ENV[K18('LayoutRebuilder')]
  0047  GETTABLE  R3 = R3[K19('ForceRebuildLayoutImmediate')]
  0048  GETTABLE  R4 = R0[K11('m_digGridLayout')]
  0049  GETTABLE  R4 = R4[K12('transform')]
  0050  CALL      R3 = call(R3, 0 args, 1 rets)
  0051  RETURN    return R0..R-1
; ---------- proto9 [UpdateDigGaps] ----------
  ; fn ?  line 179-213 np=1 va=0 ms=19 code=89 consts=19 upvals=2 protos=1
  ;   K[0]='ipairs'
  ;   K[1]='m_arrDigGaps'
  ;   K[2]='GetComponent'
  ;   K[3]='typeof'
  ;   K[4]='Image'
  ;   K[5]='DOFade'
  ;   K[6]=0
  ;   K[7]=0.4
  ;   K[8]='OnComplete'
  ;   K[9]='m_levelConfig'
  ;   K[10]='height'
  ;   K[11]='width'
  ;   K[12]=1
  ;   K[13]='Right'
  ;   K[14]='Left'
  ;   K[15]='TryLoadEdgeGap'
  ;   K[16]='Down'
  ;   K[17]='Up'
  ;   K[18]='TryLoadMiddleGap'
  ;   upvals: _ENV, DirRotate
  ;   locals: self(0-89), (for generator)(6-22), (for state)(6-22), (for control)(6-22), _(7-20), go(7-20), img(12-19), height(26-89), width(28-89), (for index)(31-88), (for limit)(31-88), (for step)(31-88), y(32-87), (for index)(35-87), (for limit)(35-87), (for step)(35-87), x(36-86), dir(49-56), dir(69-76)
  0000  GETTABUP  R1 = _ENV[K0('ipairs')]
  0001  GETTABLE  R2 = R0[K1('m_arrDigGaps')]
  0002  TEST      if not R2 then   -> -131067
  0003  JMP       (jump)   -> 5
  0004  NEWTABLE  R2 = {} (0 items)
  0005  CALL      R1 = call(R1, 3 args, 1 rets)
  0006  JMP       (jump)   -> 20
  0007  SELF      R7 = R5[K2('GetComponent')] (self)
  0008  GETTABUP  R8 = _ENV[K3('typeof')]
  0009  GETTABUP  R9 = _ENV[K4('Image')]
  0010  CALL      R8 = call(R8, -1 args, 1 rets)
  0011  CALL      R6 = call(R6, 1 args, -1 rets)
  0012  SELF      R8 = R6[K5('DOFade')] (self)
  0013  LOADK     R9 = K6 0
  0014  LOADK     R10 = K7 0.4
  0015  CALL      R7 = call(R7, 1 args, 3 rets)
  0016  SELF      R8 = R7[K8('OnComplete')] (self)
  0017  CLOSURE   R9 = closure proto0
  0018  CALL      R7 = call(R7, 0 args, 2 rets)
  0019  JMP       (jump)   -> 20
  0020  TFORCALL  tforcall R1
  0021  TFORLOOP  tforloop R3(sBx=-15)   -> 7
  0022  NEWTABLE  R1 = {} (0 items)
  0023  SETTABLE  R0[K1('m_arrDigGaps')] = R1
  0024  GETTABLE  R1 = R0[K9('m_levelConfig')]
  0025  GETTABLE  R1 = R1[K10('height')]
  0026  GETTABLE  R2 = R0[K9('m_levelConfig')]
  0027  GETTABLE  R2 = R2[K11('width')]
  0028  LOADK     R3 = K12 1
  0029  MOVE      R4 = R0
  0030  LOADK     R5 = K12 1
  0031  FORPREP   forprep R3(sBx=55)   -> 87
  0032  LOADK     R7 = K12 1
  0033  MOVE      R8 = R0
  0034  LOADK     R9 = K12 1
  0035  FORPREP   forprep R7(sBx=50)   -> 86
  0036  EQ        if R1 eq K12(1)   -> -125646
  0037  JMP       (jump)   -> 40
  0038  EQ        if R0 eq R2   -> -125910
  0039  JMP       (jump)   -> 56
  0040  ADD       R11 = K12(1) add R6
  0041  LE        if R0 le R1   -> -125396
  0042  JMP       (jump)   -> 56
  0043  EQ        if R0 eq K12(1)   -> -125639
  0044  JMP       (jump)   -> 48
  0045  GETTABUP  R11 = DirRotate[K13('Right')]
  0046  TEST      if not R11 then   -> -131023
  0047  JMP       (jump)   -> 49
  0048  GETTABUP  R11 = DirRotate[K14('Left')]
  0049  SELF      R13 = R0[K15('TryLoadEdgeGap')] (self)
  0050  MOVE      R14 = R0
  0051  MOVE      R15 = R0
  0052  MOVE      R16 = R0
  0053  ADD       R17 = K12(1) add R6
  0054  MOVE      R18 = R0
  0055  CALL      R12 = call(R12, 0 args, 6 rets)
  0056  EQ        if R1 eq K12(1)   -> -127674
  0057  JMP       (jump)   -> 60
  0058  EQ        if R0 eq R1   -> -127939
  0059  JMP       (jump)   -> 76
  0060  ADD       R11 = K12(1) add R10
  0061  LE        if R0 le R2   -> -125375
  0062  JMP       (jump)   -> 76
  0063  EQ        if R0 eq K12(1)   -> -127667
  0064  JMP       (jump)   -> 68
  0065  GETTABUP  R11 = DirRotate[K16('Down')]
  0066  TEST      if not R11 then   -> -131003
  0067  JMP       (jump)   -> 69
  0068  GETTABUP  R11 = DirRotate[K17('Up')]
  0069  SELF      R13 = R0[K15('TryLoadEdgeGap')] (self)
  0070  MOVE      R14 = R0
  0071  MOVE      R15 = R0
  0072  ADD       R16 = K12(1) add R10
  0073  MOVE      R17 = R0
  0074  MOVE      R18 = R0
  0075  CALL      R12 = call(R12, 0 args, 6 rets)
  0076  SUB       R11 = K12(1) sub R10
  0077  LE        if R0 le R11   -> 6234
  0078  JMP       (jump)   -> 86
  0079  SUB       R11 = K12(1) sub R6
  0080  LE        if R0 le R11   -> 6237
  0081  JMP       (jump)   -> 86
  0082  SELF      R12 = R0[K18('TryLoadMiddleGap')] (self)
  0083  MOVE      R13 = R0
  0084  MOVE      R14 = R0
  0085  CALL      R11 = call(R11, 0 args, 3 rets)
  0086  FORLOOP   forloop R7(sBx=-51)   -> 36
  0087  FORLOOP   forloop R3(sBx=-56)   -> 32
  0088  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 184-186 np=0 va=0 ms=2 code=5 consts=2 upvals=2 protos=0
    ;   K[0]='GameObject'
    ;   K[1]='Destroy'
    ;   upvals: _ENV, go
    0000  GETTABUP  R0 = _ENV[K0('GameObject')]
    0001  GETTABLE  R0 = R0[K1('Destroy')]
    0002  GETUPVAL  R1 = _ENV
    0003  CALL      R0 = call(R0, 0 args, 1 rets)
    0004  RETURN    return R0..R-1
; ---------- proto10 [TryLoadEdgeGap] ----------
  ; fn ?  line 215-221 np=6 va=0 ms=14 code=26 consts=3 upvals=0 protos=0
  ;   K[0]='m_model'
  ;   K[1]='IsGridDig'
  ;   K[2]='LoadEdgeGap'
  ;   locals: self(0-26), x1(0-26), y1(0-26), x2(0-26), y2(0-26), dirRot(0-26), bShow(16-26)
  0000  GETTABLE  R6 = R0[K0('m_model')]
  0001  SELF      R7 = R6[K1('IsGridDig')] (self)
  0002  MOVE      R8 = R0
  0003  MOVE      R9 = R0
  0004  CALL      R6 = call(R6, 1 args, 3 rets)
  0005  TEST      if not R6 then   -> -131064
  0006  JMP       (jump)   -> 14
  0007  GETTABLE  R6 = R0[K0('m_model')]
  0008  SELF      R7 = R6[K1('IsGridDig')] (self)
  0009  MOVE      R8 = R0
  0010  MOVE      R9 = R0
  0011  CALL      R6 = call(R6, 1 args, 3 rets)
  0012  NOT       R6 = not R0
  0013  JMP       (jump)   -> 16
  0014  LOADBOOL  R6 = false
  0015  LOADBOOL  R6 = true
  0016  TEST      if not R6 then   -> -131054
  0017  JMP       (jump)   -> 25
  0018  SELF      R8 = R0[K2('LoadEdgeGap')] (self)
  0019  MOVE      R9 = R0
  0020  MOVE      R10 = R0
  0021  MOVE      R11 = R0
  0022  MOVE      R12 = R0
  0023  MOVE      R13 = R0
  0024  CALL      R7 = call(R7, 0 args, 6 rets)
  0025  RETURN    return R0..R-1
; ---------- proto11 [LoadEdgeGap] ----------
  ; fn ?  line 223-236 np=6 va=0 ms=15 code=49 consts=22 upvals=2 protos=0
  ;   K[0]='Down'
  ;   K[1]='m_gapEdgeGo'
  ;   K[2]='m_gapEdgeGo2'
  ;   K[3]='GameObject'
  ;   K[4]='Instantiate'
  ;   K[5]='transform'
  ;   K[6]='parent'
  ;   K[7]='localRotation'
  ;   K[8]='Quaternion'
  ;   K[9]='Euler'
  ;   K[10]='Vector3'
  ;   K[11]=0
  ;   K[12]='GetEdgeGapAnchoredPos'
  ;   K[13]='Up'
  ;   K[14]='y'
  ;   K[15]=12
  ;   K[16]='anchoredPosition'
  ;   K[17]='table'
  ;   K[18]='insert'
  ;   K[19]='m_arrDigGaps'
  ;   K[20]='UIUtil'
  ;   K[21]='SetActive'
  ;   upvals: DirRotate, _ENV
  ;   locals: self(0-49), x1(0-49), y1(0-49), x2(0-49), y2(0-49), dirRot(0-49), prefab(7-49), go(13-49), anchoredPosition(30-49)
  0000  GETTABUP  R6 = DirRotate[K0('Down')]
  0001  EQ        if R0 eq R6   -> -128503
  0002  JMP       (jump)   -> 6
  0003  GETTABLE  R6 = R0[K1('m_gapEdgeGo')]
  0004  TEST      if not R6 then   -> -131065
  0005  JMP       (jump)   -> 7
  0006  GETTABLE  R6 = R0[K2('m_gapEdgeGo2')]
  0007  GETTABUP  R7 = _ENV[K3('GameObject')]
  0008  GETTABLE  R7 = R7[K4('Instantiate')]
  0009  MOVE      R8 = R0
  0010  GETTABLE  R9 = R6[K5('transform')]
  0011  GETTABLE  R9 = R9[K6('parent')]
  0012  CALL      R7 = call(R7, 1 args, 2 rets)
  0013  GETTABLE  R8 = R7[K5('transform')]
  0014  GETTABUP  R9 = _ENV[K8('Quaternion')]
  0015  GETTABLE  R9 = R9[K9('Euler')]
  0016  GETTABUP  R10 = _ENV[K10('Vector3')]
  0017  LOADK     R11 = K11 0
  0018  LOADK     R12 = K11 0
  0019  MOVE      R13 = R0
  0020  CALL      R10 = call(R10, -1 args, 3 rets)
  0021  CALL      R9 = call(R9, 1 args, -1 rets)
  0022  SETTABLE  R8[K7('localRotation')] = R9
  0023  SELF      R9 = R0[K12('GetEdgeGapAnchoredPos')] (self)
  0024  MOVE      R10 = R0
  0025  MOVE      R11 = R0
  0026  MOVE      R12 = R0
  0027  MOVE      R13 = R0
  0028  MOVE      R14 = R0
  0029  CALL      R8 = call(R8, 1 args, 6 rets)
  0030  GETTABUP  R9 = DirRotate[K13('Up')]
  0031  EQ        if R0 eq R9   -> -128470
  0032  JMP       (jump)   -> 36
  0033  GETTABLE  R9 = R8[K14('y')]
  0034  SUB       R9 = K15(12) sub R9
  0035  SETTABLE  R8[K14('y')] = R9
  0036  GETTABLE  R9 = R7[K5('transform')]
  0037  SETTABLE  R9[K16('anchoredPosition')] = R8
  0038  GETTABUP  R9 = _ENV[K17('table')]
  0039  GETTABLE  R9 = R9[K18('insert')]
  0040  GETTABLE  R10 = R0[K19('m_arrDigGaps')]
  0041  MOVE      R11 = R0
  0042  CALL      R9 = call(R9, 0 args, 2 rets)
  0043  GETTABUP  R9 = _ENV[K20('UIUtil')]
  0044  GETTABLE  R9 = R9[K21('SetActive')]
  0045  MOVE      R10 = R0
  0046  LOADBOOL  R11 = true
  0047  CALL      R9 = call(R9, 0 args, 2 rets)
  0048  RETURN    return R0..R-1
; ---------- proto12 [GetEdgeGapAnchoredPos] ----------
  ; fn ?  line 239-251 np=6 va=0 ms=15 code=46 consts=11 upvals=2 protos=0
  ;   K[0]='m_activityDefinition'
  ;   K[1]='GridSize'
  ;   K[2]='GetGridAnchoredPos'
  ;   K[3]=2
  ;   K[4]='Right'
  ;   K[5]=-1
  ;   K[6]=1
  ;   K[7]='Vector2'
  ;   K[8]='x'
  ;   K[9]='y'
  ;   K[10]='Down'
  ;   upvals: DirRotate, _ENV
  ;   locals: self(0-46), x1(0-46), y1(0-46), x2(0-46), y2(0-46), dirRot(0-46), gridSize(2-46), pos1(6-46), pos2(10-46), targetPos(12-46), dir(21-29), dir(37-45)
  0000  GETTABLE  R6 = R0[K0('m_activityDefinition')]
  0001  GETTABLE  R6 = R6[K1('GridSize')]
  0002  SELF      R8 = R0[K2('GetGridAnchoredPos')] (self)
  0003  MOVE      R9 = R0
  0004  MOVE      R10 = R0
  0005  CALL      R7 = call(R7, 1 args, 3 rets)
  0006  SELF      R9 = R0[K2('GetGridAnchoredPos')] (self)
  0007  MOVE      R10 = R0
  0008  MOVE      R11 = R0
  0009  CALL      R8 = call(R8, 1 args, 3 rets)
  0010  ADD       R9 = R8 add R7
  0011  DIV       R9 = K3(2) div R9
  0012  EQ        if R0 eq R3   -> -130543
  0013  JMP       (jump)   -> 30
  0014  GETTABUP  R10 = DirRotate[K4('Right')]
  0015  EQ        if R0 eq R10   -> -128485
  0016  JMP       (jump)   -> 20
  0017  LOADK     R10 = K5 -1
  0018  TEST      if not R10 then   -> -131051
  0019  JMP       (jump)   -> 21
  0020  LOADK     R10 = K6 1
  0021  GETTABUP  R11 = _ENV[K7('Vector2')]
  0022  GETTABLE  R12 = R9[K8('x')]
  0023  MUL       R13 = R10 mul R6
  0024  DIV       R13 = K3(2) div R13
  0025  ADD       R12 = R13 add R12
  0026  GETTABLE  R13 = R9[K9('y')]
  0027  TAILCALL  tailcall(R11, 0)
  0028  RETURN    return R11..R10
  0029  JMP       (jump)   -> 45
  0030  GETTABUP  R10 = DirRotate[K10('Down')]
  0031  EQ        if R0 eq R10   -> -128469
  0032  JMP       (jump)   -> 36
  0033  LOADK     R10 = K6 1
  0034  TEST      if not R10 then   -> -131035
  0035  JMP       (jump)   -> 37
  0036  LOADK     R10 = K5 -1
  0037  GETTABUP  R11 = _ENV[K7('Vector2')]
  0038  GETTABLE  R12 = R9[K8('x')]
  0039  GETTABLE  R13 = R9[K9('y')]
  0040  MUL       R14 = R10 mul R6
  0041  DIV       R14 = K3(2) div R14
  0042  ADD       R13 = R14 add R13
  0043  TAILCALL  tailcall(R11, 0)
  0044  RETURN    return R11..R10
  0045  RETURN    return R0..R-1
; ---------- proto13 [TryLoadMiddleGap] ----------
  ; fn ?  line 253-278 np=3 va=0 ms=15 code=86 consts=9 upvals=1 protos=0
  ;   K[0]='m_model'
  ;   K[1]='IsGridDig'
  ;   K[2]=1
  ;   K[3]='LoadMiddleGap'
  ;   K[4]='LoadEdgeGap'
  ;   K[5]='Up'
  ;   K[6]='Down'
  ;   K[7]='Left'
  ;   K[8]='Right'
  ;   upvals: DirRotate
  ;   locals: self(0-86), x(0-86), y(0-86), bLT(6-86), bLB(12-86), bRT(18-86), bRB(24-86), bShowMiddle(31-86)
  0000  GETTABLE  R3 = R0[K0('m_model')]
  0001  SELF      R4 = R3[K1('IsGridDig')] (self)
  0002  SUB       R5 = K2(1) sub R1
  0003  SUB       R6 = K2(1) sub R2
  0004  CALL      R3 = call(R3, 1 args, 3 rets)
  0005  NOT       R3 = not R0
  0006  GETTABLE  R4 = R0[K0('m_model')]
  0007  SELF      R5 = R4[K1('IsGridDig')] (self)
  0008  SUB       R6 = K2(1) sub R1
  0009  MOVE      R7 = R0
  0010  CALL      R4 = call(R4, 1 args, 3 rets)
  0011  NOT       R4 = not R0
  0012  GETTABLE  R5 = R0[K0('m_model')]
  0013  SELF      R6 = R5[K1('IsGridDig')] (self)
  0014  MOVE      R7 = R0
  0015  SUB       R8 = K2(1) sub R2
  0016  CALL      R5 = call(R5, 1 args, 3 rets)
  0017  NOT       R5 = not R0
  0018  GETTABLE  R6 = R0[K0('m_model')]
  0019  SELF      R7 = R6[K1('IsGridDig')] (self)
  0020  MOVE      R8 = R0
  0021  MOVE      R9 = R0
  0022  CALL      R6 = call(R6, 1 args, 3 rets)
  0023  NOT       R6 = not R0
  0024  TEST      if not R3 then   -> -131046
  0025  JMP       (jump)   -> 28
  0026  TESTSET   if R1 then R7   -> -127971
  0027  JMP       (jump)   -> 31
  0028  TESTSET   if R0 then R7   -> -128994
  0029  JMP       (jump)   -> 31
  0030  MOVE      R7 = R0
  0031  TEST      if not R7 then   -> -131039
  0032  JMP       (jump)   -> 38
  0033  SELF      R9 = R0[K3('LoadMiddleGap')] (self)
  0034  MOVE      R10 = R0
  0035  MOVE      R11 = R0
  0036  CALL      R8 = call(R8, 0 args, 3 rets)
  0037  JMP       (jump)   -> 85
  0038  TEST      if not R3 then   -> -131032
  0039  JMP       (jump)   -> 50
  0040  TEST      if not R5 then   -> -131030
  0041  JMP       (jump)   -> 50
  0042  SELF      R9 = R0[K4('LoadEdgeGap')] (self)
  0043  SUB       R10 = K2(1) sub R1
  0044  SUB       R11 = K2(1) sub R2
  0045  MOVE      R12 = R0
  0046  SUB       R13 = K2(1) sub R2
  0047  GETTABUP  R14 = DirRotate[K5('Up')]
  0048  CALL      R8 = call(R8, 0 args, 6 rets)
  0049  JMP       (jump)   -> 85
  0050  TEST      if not R4 then   -> -131020
  0051  JMP       (jump)   -> 62
  0052  TEST      if not R6 then   -> -131018
  0053  JMP       (jump)   -> 62
  0054  SELF      R9 = R0[K4('LoadEdgeGap')] (self)
  0055  SUB       R10 = K2(1) sub R1
  0056  MOVE      R11 = R0
  0057  MOVE      R12 = R0
  0058  MOVE      R13 = R0
  0059  GETTABUP  R14 = DirRotate[K6('Down')]
  0060  CALL      R8 = call(R8, 0 args, 6 rets)
  0061  JMP       (jump)   -> 85
  0062  TEST      if not R3 then   -> -131008
  0063  JMP       (jump)   -> 74
  0064  TEST      if not R4 then   -> -131006
  0065  JMP       (jump)   -> 74
  0066  SELF      R9 = R0[K4('LoadEdgeGap')] (self)
  0067  SUB       R10 = K2(1) sub R1
  0068  SUB       R11 = K2(1) sub R2
  0069  SUB       R12 = K2(1) sub R1
  0070  MOVE      R13 = R0
  0071  GETTABUP  R14 = DirRotate[K7('Left')]
  0072  CALL      R8 = call(R8, 0 args, 6 rets)
  0073  JMP       (jump)   -> 85
  0074  TEST      if not R5 then   -> -130996
  0075  JMP       (jump)   -> 85
  0076  TEST      if not R6 then   -> -130994
  0077  JMP       (jump)   -> 85
  0078  SELF      R9 = R0[K4('LoadEdgeGap')] (self)
  0079  MOVE      R10 = R0
  0080  SUB       R11 = K2(1) sub R2
  0081  MOVE      R12 = R0
  0082  MOVE      R13 = R0
  0083  GETTABUP  R14 = DirRotate[K8('Right')]
  0084  CALL      R8 = call(R8, 0 args, 6 rets)
  0085  RETURN    return R0..R-1
; ---------- proto14 [LoadMiddleGap] ----------
  ; fn ?  line 280-291 np=3 va=0 ms=11 code=51 consts=24 upvals=1 protos=0
  ;   K[0]='GameObject'
  ;   K[1]='Instantiate'
  ;   K[2]='m_gapMiddleGo'
  ;   K[3]='transform'
  ;   K[4]='parent'
  ;   K[5]='m_activityDefinition'
  ;   K[6]='SpacingOffsetX'
  ;   K[7]=0
  ;   K[8]='SpacingOffsetY'
  ;   K[9]='Vector2'
  ;   K[10]='math'
  ;   K[11]='abs'
  ;   K[12]=2
  ;   K[13]='GetMiddleGapAnchoredPos'
  ;   K[14]='x'
  ;   K[15]=1
  ;   K[16]='y'
  ;   K[17]=6
  ;   K[18]='anchoredPosition'
  ;   K[19]='table'
  ;   K[20]='insert'
  ;   K[21]='m_arrDigGaps'
  ;   K[22]='UIUtil'
  ;   K[23]='SetActive'
  ;   upvals: _ENV
  ;   locals: self(0-51), x(0-51), y(0-51), middleGo(7-51), offsetX(12-51), offsetY(17-51), offset(27-51), anchoredPosition(32-51)
  0000  GETTABUP  R3 = _ENV[K0('GameObject')]
  0001  GETTABLE  R3 = R3[K1('Instantiate')]
  0002  GETTABLE  R4 = R0[K2('m_gapMiddleGo')]
  0003  GETTABLE  R5 = R0[K2('m_gapMiddleGo')]
  0004  GETTABLE  R5 = R5[K3('transform')]
  0005  GETTABLE  R5 = R5[K4('parent')]
  0006  CALL      R3 = call(R3, 1 args, 2 rets)
  0007  GETTABLE  R4 = R0[K5('m_activityDefinition')]
  0008  GETTABLE  R4 = R4[K6('SpacingOffsetX')]
  0009  TEST      if not R4 then   -> -131060
  0010  JMP       (jump)   -> 12
  0011  LOADK     R4 = K7 0
  0012  GETTABLE  R5 = R0[K5('m_activityDefinition')]
  0013  GETTABLE  R5 = R5[K8('SpacingOffsetY')]
  0014  TEST      if not R5 then   -> -131055
  0015  JMP       (jump)   -> 17
  0016  LOADK     R5 = K7 0
  0017  GETTABUP  R6 = _ENV[K9('Vector2')]
  0018  GETTABUP  R7 = _ENV[K10('math')]
  0019  GETTABLE  R7 = R7[K11('abs')]
  0020  DIV       R8 = K12(2) div R4
  0021  CALL      R7 = call(R7, 1 args, 1 rets)
  0022  GETTABUP  R8 = _ENV[K10('math')]
  0023  GETTABLE  R8 = R8[K11('abs')]
  0024  DIV       R9 = K12(2) div R5
  0025  CALL      R8 = call(R8, -1 args, 1 rets)
  0026  CALL      R6 = call(R6, 1 args, -1 rets)
  0027  SELF      R8 = R0[K13('GetMiddleGapAnchoredPos')] (self)
  0028  MOVE      R9 = R0
  0029  MOVE      R10 = R0
  0030  CALL      R7 = call(R7, 1 args, 3 rets)
  0031  ADD       R7 = R6 add R7
  0032  GETTABLE  R8 = R7[K14('x')]
  0033  ADD       R8 = K15(1) add R8
  0034  SETTABLE  R7[K14('x')] = R8
  0035  GETTABLE  R8 = R7[K16('y')]
  0036  SUB       R8 = K17(6) sub R8
  0037  SETTABLE  R7[K16('y')] = R8
  0038  GETTABLE  R8 = R3[K3('transform')]
  0039  SETTABLE  R8[K18('anchoredPosition')] = R7
  0040  GETTABUP  R8 = _ENV[K19('table')]
  0041  GETTABLE  R8 = R8[K20('insert')]
  0042  GETTABLE  R9 = R0[K21('m_arrDigGaps')]
  0043  MOVE      R10 = R0
  0044  CALL      R8 = call(R8, 0 args, 2 rets)
  0045  GETTABUP  R8 = _ENV[K22('UIUtil')]
  0046  GETTABLE  R8 = R8[K23('SetActive')]
  0047  MOVE      R9 = R0
  0048  LOADBOOL  R10 = true
  0049  CALL      R8 = call(R8, 0 args, 2 rets)
  0050  RETURN    return R0..R-1
; ---------- proto15 [GetMiddleGapAnchoredPos] ----------
  ; fn ?  line 293-304 np=3 va=0 ms=10 code=22 consts=3 upvals=0 protos=0
  ;   K[0]='GetGridAnchoredPos'
  ;   K[1]=1
  ;   K[2]=4
  ;   locals: self(0-22), x(0-22), y(0-22), posRB(4-22), posLB(8-22), posLT(12-22), posRT(16-22)
  0000  SELF      R4 = R0[K0('GetGridAnchoredPos')] (self)
  0001  MOVE      R5 = R0
  0002  MOVE      R6 = R0
  0003  CALL      R3 = call(R3, 1 args, 3 rets)
  0004  SELF      R5 = R0[K0('GetGridAnchoredPos')] (self)
  0005  SUB       R6 = K1(1) sub R1
  0006  MOVE      R7 = R0
  0007  CALL      R4 = call(R4, 1 args, 3 rets)
  0008  SELF      R6 = R0[K0('GetGridAnchoredPos')] (self)
  0009  SUB       R7 = K1(1) sub R1
  0010  SUB       R8 = K1(1) sub R2
  0011  CALL      R5 = call(R5, 1 args, 3 rets)
  0012  SELF      R7 = R0[K0('GetGridAnchoredPos')] (self)
  0013  MOVE      R8 = R0
  0014  SUB       R9 = K1(1) sub R2
  0015  CALL      R6 = call(R6, 1 args, 3 rets)
  0016  ADD       R7 = R4 add R3
  0017  ADD       R7 = R5 add R7
  0018  ADD       R7 = R6 add R7
  0019  DIV       R7 = K2(4) div R7
  0020  RETURN    return R7..R6
  0021  RETURN    return R0..R-1
; ---------- proto16 [UpdateItems] ----------
  ; fn ?  line 307-318 np=1 va=0 ms=12 code=43 consts=16 upvals=1 protos=0
  ;   K[0]='m_model'
  ;   K[1]='GetCurDigItemDataList'
  ;   K[2]=1
  ;   K[3]='m_arrDigItems'
  ;   K[4]=nil
  ;   K[5]='GameObject'
  ;   K[6]='Instantiate'
  ;   K[7]='m_digItemGo'
  ;   K[8]='transform'
  ;   K[9]='parent'
  ;   K[10]='GetLuaTable'
  ;   K[11]='Init'
  ;   K[12]='UIUtil'
  ;   K[13]='SetActive'
  ;   K[14]='gameObject'
  ;   K[15]='HasAcquiredItem'
  ;   upvals: _ENV
  ;   locals: self(0-43), arrDigItemData(3-43), digItemGo(4-43), (for index)(7-42), (for limit)(7-42), (for step)(7-42), i(8-41)
  0000  GETTABLE  R1 = R0[K0('m_model')]
  0001  SELF      R2 = R1[K1('GetCurDigItemDataList')] (self)
  0002  CALL      R1 = call(R1, 1 args, 1 rets)
  0003  LOADNIL   R2..R2 = nil
  0004  LOADK     R3 = K2 1
  0005  LEN       R4 = len R0
  0006  LOADK     R5 = K2 1
  0007  FORPREP   forprep R3(sBx=33)   -> 41
  0008  GETTABLE  R7 = R0[K3('m_arrDigItems')]
  0009  GETTABLE  R7 = R7[R6]
  0010  EQ        if R0 eq K4(nil)   -> -127216
  0011  JMP       (jump)   -> 24
  0012  GETTABUP  R7 = _ENV[K5('GameObject')]
  0013  GETTABLE  R7 = R7[K6('Instantiate')]
  0014  GETTABLE  R8 = R0[K7('m_digItemGo')]
  0015  GETTABLE  R9 = R0[K7('m_digItemGo')]
  0016  GETTABLE  R9 = R9[K8('transform')]
  0017  GETTABLE  R9 = R9[K9('parent')]
  0018  CALL      R7 = call(R7, 1 args, 2 rets)
  0019  MOVE      R2 = R0
  0020  GETTABLE  R7 = R0[K3('m_arrDigItems')]
  0021  SELF      R9 = R2[K10('GetLuaTable')] (self)
  0022  CALL      R8 = call(R8, 1 args, 1 rets)
  0023  SETTABLE  R7[R6] = R8
  0024  GETTABLE  R7 = R0[K3('m_arrDigItems')]
  0025  GETTABLE  R7 = R7[R6]
  0026  SELF      R8 = R7[K11('Init')] (self)
  0027  GETTABLE  R9 = R1[R6]
  0028  MOVE      R10 = R0
  0029  CALL      R7 = call(R7, 0 args, 3 rets)
  0030  GETTABUP  R7 = _ENV[K12('UIUtil')]
  0031  GETTABLE  R7 = R7[K13('SetActive')]
  0032  GETTABLE  R8 = R0[K3('m_arrDigItems')]
  0033  GETTABLE  R8 = R8[R6]
  0034  GETTABLE  R8 = R8[K14('gameObject')]
  0035  GETTABLE  R9 = R0[K0('m_model')]
  0036  SELF      R10 = R9[K15('HasAcquiredItem')] (self)
  0037  MOVE      R11 = R0
  0038  CALL      R9 = call(R9, 1 args, 2 rets)
  0039  NOT       R9 = not R0
  0040  CALL      R7 = call(R7, 0 args, 2 rets)
  0041  FORLOOP   forloop R3(sBx=-34)   -> 8
  0042  RETURN    return R0..R-1
; ---------- proto17 [GetActivityDefinition] ----------
  ; fn ?  line 320-322 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_activityDefinition'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_activityDefinition')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto18 [GetGridRectTrans] ----------
  ; fn ?  line 324-327 np=3 va=0 ms=7 code=9 consts=3 upvals=0 protos=0
  ;   K[0]='XY2Index'
  ;   K[1]='m_arrTiles'
  ;   K[2]='transform'
  ;   locals: self(0-9), x(0-9), y(0-9), index(4-9)
  0000  SELF      R4 = R0[K0('XY2Index')] (self)
  0001  MOVE      R5 = R0
  0002  MOVE      R6 = R0
  0003  CALL      R3 = call(R3, 1 args, 3 rets)
  0004  GETTABLE  R4 = R0[K1('m_arrTiles')]
  0005  GETTABLE  R4 = R4[R3]
  0006  GETTABLE  R4 = R4[K2('transform')]
  0007  RETURN    return R4..R3
  0008  RETURN    return R0..R-1
; ---------- proto19 [GetGridAnchoredPos] ----------
  ; fn ?  line 329-331 np=3 va=0 ms=7 code=7 consts=2 upvals=0 protos=0
  ;   K[0]='GetGridRectTrans'
  ;   K[1]='anchoredPosition'
  ;   locals: self(0-7), x(0-7), y(0-7)
  0000  SELF      R4 = R0[K0('GetGridRectTrans')] (self)
  0001  MOVE      R5 = R0
  0002  MOVE      R6 = R0
  0003  CALL      R3 = call(R3, 1 args, 3 rets)
  0004  GETTABLE  R3 = R3[K1('anchoredPosition')]
  0005  RETURN    return R3..R2
  0006  RETURN    return R0..R-1
; ---------- proto20 [GetGridWorldPos] ----------
  ; fn ?  line 333-335 np=3 va=0 ms=7 code=7 consts=2 upvals=0 protos=0
  ;   K[0]='GetGridRectTrans'
  ;   K[1]='position'
  ;   locals: self(0-7), x(0-7), y(0-7)
  0000  SELF      R4 = R0[K0('GetGridRectTrans')] (self)
  0001  MOVE      R5 = R0
  0002  MOVE      R6 = R0
  0003  CALL      R3 = call(R3, 1 args, 3 rets)
  0004  GETTABLE  R3 = R3[K1('position')]
  0005  RETURN    return R3..R2
  0006  RETURN    return R0..R-1
; ---------- proto21 [GetDigItem] ----------
  ; fn ?  line 337-339 np=2 va=0 ms=3 code=4 consts=1 upvals=0 protos=0
  ;   K[0]='m_arrDigItems'
  ;   locals: self(0-4), index(0-4)
  0000  GETTABLE  R2 = R0[K0('m_arrDigItems')]
  0001  GETTABLE  R2 = R2[R1]
  0002  RETURN    return R2..R1
  0003  RETURN    return R0..R-1
; ---------- proto22 [OnDigGridClicked] ----------
  ; fn ?  line 341-398 np=2 va=0 ms=9 code=144 consts=45 upvals=1 protos=1
  ;   K[0]='GM'
  ;   K[1]='BIManager'
  ;   K[2]='LogProject'
  ;   K[3]='EBIProjectType'
  ;   K[4]='ClickDigGrid'
  ;   K[5]='x'
  ;   K[6]=0
  ;   K[7]='y'
  ;   K[8]='tX'
  ;   K[9]='m_tutorialX'
  ;   K[10]='tY'
  ;   K[11]='m_tutorialY'
  ;   K[12]='s'
  ;   K[13]='m_model'
  ;   K[14]='GetScore'
  ;   K[15]='m_window'
  ;   K[16]='OnDigGridClicked'
  ;   K[17]=1
  ;   K[18]='OnLackDigToken'
  ;   K[19]='GameTextModel'
  ;   K[20]='GetText'
  ;   K[21]='m_activityDefinition'
  ;   K[22]='LackScoreTextKey'
  ;   K[23]='TokenImageName'
  ;   K[24]='GetState'
  ;   K[25]='ActivityState'
  ;   K[26]='Ended'
  ;   K[27]='treasure_dig_end'
  ;   K[28]='UIManager'
  ;   K[29]='ShowPrompt'
  ;   K[30]=nil
  ;   K[31]='DigTargetGrid'
  ;   K[32]='GetGridWorldPos'
  ;   K[33]='DigSpineOffset'
  ;   K[34]='Vector3'
  ;   K[35]='HasFinishedCurRound'
  ;   K[36]='SetEventLock'
  ;   K[37]='m_eventLockedDigItemIndex'
  ;   K[38]='m_gridAnimNum'
  ;   K[39]='AudioModel'
  ;   K[40]='PlayEffect'
  ;   K[41]='AudioFileConfigName'
  ;   K[42]='SfxDigActivity1'
  ;   K[43]='PlayDisappearAnim'
  ;   K[44]='UpdateDigGaps'
  ;   upvals: _ENV
  ;   locals: self(0-144), digGrid(0-144), promptStr(52-72), digItemIndex(98-144), gridPos(102-144), offset(111-144), animCallback(128-144)
  0000  GETTABUP  R2 = _ENV[K0('GM')]
  0001  GETTABLE  R2 = R2[K1('BIManager')]
  0002  SELF      R3 = R2[K2('LogProject')] (self)
  0003  GETTABUP  R4 = _ENV[K3('EBIProjectType')]
  0004  GETTABLE  R4 = R4[K4('ClickDigGrid')]
  0005  NEWTABLE  R5 = {} (0 items)
  0006  TEST      if not R1 then   -> -131064
  0007  JMP       (jump)   -> 11
  0008  GETTABLE  R6 = R1[K5('x')]
  0009  TEST      if not R6 then   -> -131060
  0010  JMP       (jump)   -> 12
  0011  LOADK     R6 = K6 0
  0012  SETTABLE  R5[K5('x')] = R6
  0013  TEST      if not R1 then   -> -131057
  0014  JMP       (jump)   -> 18
  0015  GETTABLE  R6 = R1[K7('y')]
  0016  TEST      if not R6 then   -> -131053
  0017  JMP       (jump)   -> 19
  0018  LOADK     R6 = K6 0
  0019  SETTABLE  R5[K7('y')] = R6
  0020  GETTABLE  R6 = R0[K9('m_tutorialX')]
  0021  SETTABLE  R5[K8('tX')] = R6
  0022  GETTABLE  R6 = R0[K11('m_tutorialY')]
  0023  SETTABLE  R5[K10('tY')] = R6
  0024  GETTABLE  R6 = R0[K13('m_model')]
  0025  SELF      R7 = R6[K14('GetScore')] (self)
  0026  CALL      R6 = call(R6, 1 args, 1 rets)
  0027  SETTABLE  R5[K12('s')] = R6
  0028  CALL      R2 = call(R2, 0 args, 3 rets)
  0029  GETTABLE  R2 = R0[K15('m_window')]
  0030  SELF      R3 = R2[K16('OnDigGridClicked')] (self)
  0031  CALL      R2 = call(R2, 0 args, 1 rets)
  0032  GETTABLE  R2 = R0[K13('m_model')]
  0033  SELF      R3 = R2[K14('GetScore')] (self)
  0034  CALL      R2 = call(R2, 1 args, 1 rets)
  0035  LT        if R0 lt K17(1)   -> -129738
  0036  JMP       (jump)   -> 74
  0037  GETTABLE  R2 = R0[K13('m_model')]
  0038  SELF      R3 = R2[K18('OnLackDigToken')] (self)
  0039  CALL      R2 = call(R2, 1 args, 1 rets)
  0040  TEST      if not R2 then   -> -131029
  0041  JMP       (jump)   -> 72
  0042  GETTABUP  R2 = _ENV[K0('GM')]
  0043  GETTABLE  R2 = R2[K19('GameTextModel')]
  0044  SELF      R3 = R2[K20('GetText')] (self)
  0045  GETTABLE  R4 = R0[K21('m_activityDefinition')]
  0046  GETTABLE  R4 = R4[K22('LackScoreTextKey')]
  0047  GETTABLE  R5 = R0[K21('m_activityDefinition')]
  0048  GETTABLE  R5 = R5[K23('TokenImageName')]
  0049  GETTABLE  R6 = R0[K21('m_activityDefinition')]
  0050  GETTABLE  R6 = R6[K23('TokenImageName')]
  0051  CALL      R2 = call(R2, 1 args, 4 rets)
  0052  GETTABLE  R3 = R0[K13('m_model')]
  0053  SELF      R4 = R3[K24('GetState')] (self)
  0054  CALL      R3 = call(R3, 1 args, 1 rets)
  0055  GETTABUP  R4 = _ENV[K25('ActivityState')]
  0056  GETTABLE  R4 = R4[K26('Ended')]
  0057  EQ        if R0 eq R4   -> -129473
  0058  JMP       (jump)   -> 65
  0059  GETTABUP  R3 = _ENV[K0('GM')]
  0060  GETTABLE  R3 = R3[K19('GameTextModel')]
  0061  SELF      R4 = R3[K20('GetText')] (self)
  0062  LOADK     R5 = K27 'treasure_dig_end'
  0063  CALL      R3 = call(R3, 1 args, 2 rets)
  0064  MOVE      R2 = R0
  0065  GETTABUP  R3 = _ENV[K0('GM')]
  0066  GETTABLE  R3 = R3[K28('UIManager')]
  0067  SELF      R4 = R3[K29('ShowPrompt')] (self)
  0068  MOVE      R5 = R0
  0069  LOADNIL   R6..R6 = nil
  0070  LOADBOOL  R8 = true
  0071  CALL      R3 = call(R3, 0 args, 5 rets)
  0072  LOADBOOL  R2 = false
  0073  RETURN    return R2..R1
  0074  GETTABLE  R2 = R0[K9('m_tutorialX')]
  0075  EQ        if R1 eq K30(nil)   -> -129685
  0076  JMP       (jump)   -> 90
  0077  GETTABLE  R2 = R0[K11('m_tutorialY')]
  0078  EQ        if R1 eq K30(nil)   -> -129682
  0079  JMP       (jump)   -> 90
  0080  GETTABLE  R2 = R1[K5('x')]
  0081  GETTABLE  R3 = R0[K9('m_tutorialX')]
  0082  EQ        if R0 eq R3   -> -129961
  0083  JMP       (jump)   -> 88
  0084  GETTABLE  R2 = R1[K7('y')]
  0085  GETTABLE  R3 = R0[K11('m_tutorialY')]
  0086  EQ        if R1 eq R3   -> -129957
  0087  JMP       (jump)   -> 90
  0088  LOADBOOL  R2 = false
  0089  RETURN    return R2..R1
  0090  GETTABLE  R2 = R0[K13('m_model')]
  0091  SELF      R3 = R2[K31('DigTargetGrid')] (self)
  0092  NEWTABLE  R4 = {} (0 items)
  0093  GETTABLE  R5 = R1[K5('x')]
  0094  SETTABLE  R4[K5('x')] = R5
  0095  GETTABLE  R5 = R1[K7('y')]
  0096  SETTABLE  R4[K7('y')] = R5
  0097  CALL      R2 = call(R2, 1 args, 2 rets)
  0098  SELF      R4 = R0[K32('GetGridWorldPos')] (self)
  0099  GETTABLE  R5 = R1[K5('x')]
  0100  GETTABLE  R6 = R1[K7('y')]
  0101  CALL      R3 = call(R3, 1 args, 3 rets)
  0102  GETTABLE  R4 = R0[K21('m_activityDefinition')]
  0103  GETTABLE  R4 = R4[K33('DigSpineOffset')]
  0104  TEST      if not R4 then   -> -130965
  0105  JMP       (jump)   -> 111
  0106  GETTABUP  R4 = _ENV[K34('Vector3')]
  0107  LOADK     R5 = K6 0
  0108  LOADK     R6 = K6 0
  0109  LOADK     R7 = K6 0
  0110  CALL      R4 = call(R4, 1 args, 3 rets)
  0111  EQ        if R1 eq K30(nil)   -> -129649
  0112  JMP       (jump)   -> 124
  0113  GETTABLE  R5 = R0[K13('m_model')]
  0114  SELF      R6 = R5[K35('HasFinishedCurRound')] (self)
  0115  CALL      R5 = call(R5, 1 args, 1 rets)
  0116  TEST      if not R5 then   -> -130954
  0117  JMP       (jump)   -> 124
  0118  GETTABUP  R5 = _ENV[K0('GM')]
  0119  GETTABLE  R5 = R5[K28('UIManager')]
  0120  SELF      R6 = R5[K36('SetEventLock')] (self)
  0121  LOADBOOL  R7 = true
  0122  CALL      R5 = call(R5, 0 args, 2 rets)
  0123  SETTABLE  R0[K37('m_eventLockedDigItemIndex')] = R2
  0124  GETTABLE  R5 = R0[K38('m_gridAnimNum')]
  0125  ADD       R5 = K17(1) add R5
  0126  SETTABLE  R0[K38('m_gridAnimNum')] = R5
  0127  LOADNIL   R5..R5 = nil
  0128  CLOSURE   R6 = closure proto0
  0129  MOVE      R5 = R0
  0130  GETTABUP  R6 = _ENV[K0('GM')]
  0131  GETTABLE  R6 = R6[K39('AudioModel')]
  0132  SELF      R7 = R6[K40('PlayEffect')] (self)
  0133  GETTABUP  R8 = _ENV[K41('AudioFileConfigName')]
  0134  GETTABLE  R8 = R8[K42('SfxDigActivity1')]
  0135  CALL      R6 = call(R6, 0 args, 2 rets)
  0136  SELF      R7 = R1[K43('PlayDisappearAnim')] (self)
  0137  MOVE      R8 = R0
  0138  CALL      R6 = call(R6, 0 args, 2 rets)
  0139  SELF      R7 = R0[K44('UpdateDigGaps')] (self)
  0140  CALL      R6 = call(R6, 0 args, 1 rets)
  0141  LOADBOOL  R6 = true
  0142  RETURN    return R6..R5
  0143  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 380-391 np=0 va=0 ms=4 code=31 consts=7 upvals=3 protos=0
    ;   K[0]='m_gridAnimNum'
    ;   K[1]=1
    ;   K[2]=nil
    ;   K[3]='TryDigItemFlyToGroove'
    ;   K[4]='UpdateContentbyDiggedGrid'
    ;   K[5]='m_window'
    ;   K[6]='OnDigGridAnimFinished'
    ;   upvals: self, digItemIndex, digGrid
    0000  GETTABUP  R0 = self[K0('m_gridAnimNum')]
    0001  SUB       R0 = K1(1) sub R0
    0002  SETTABUP  self[K0('m_gridAnimNum')] = R0
    0003  GETUPVAL  R0 = self
    0004  EQ        if R1 eq K2(nil)   -> -130808
    0005  JMP       (jump)   -> 16
    0006  GETUPVAL  R0 = self
    0007  SELF      R1 = R0[K3('TryDigItemFlyToGroove')] (self)
    0008  GETUPVAL  R2 = self
    0009  CALL      R0 = call(R0, 0 args, 2 rets)
    0010  GETUPVAL  R0 = self
    0011  SELF      R1 = R0[K4('UpdateContentbyDiggedGrid')] (self)
    0012  GETUPVAL  R2 = self
    0013  GETUPVAL  R3 = self
    0014  CALL      R0 = call(R0, 0 args, 3 rets)
    0015  JMP       (jump)   -> 30
    0016  GETUPVAL  R0 = self
    0017  SELF      R1 = R0[K4('UpdateContentbyDiggedGrid')] (self)
    0018  GETUPVAL  R2 = self
    0019  CALL      R0 = call(R0, 0 args, 2 rets)
    0020  GETTABUP  R0 = self[K5('m_window')]
    0021  EQ        if R1 eq K2(nil)   -> -130791
    0022  JMP       (jump)   -> 30
    0023  GETTABUP  R0 = self[K5('m_window')]
    0024  GETTABLE  R0 = R0[K6('OnDigGridAnimFinished')]
    0025  EQ        if R1 eq K2(nil)   -> -130787
    0026  JMP       (jump)   -> 30
    0027  GETTABUP  R0 = self[K5('m_window')]
    0028  SELF      R1 = R0[K6('OnDigGridAnimFinished')] (self)
    0029  CALL      R0 = call(R0, 0 args, 1 rets)
    0030  RETURN    return R0..R-1
; ---------- proto23 [TryDigItemFlyToGroove] ----------
  ; fn ?  line 400-449 np=2 va=0 ms=21 code=157 consts=57 upvals=1 protos=2
  ;   K[0]='m_window'
  ;   K[1]='GetDigGrooveItem'
  ;   K[2]='GetDigItem'
  ;   K[3]='GetIconRect'
  ;   K[4]='GetGrooveRotate'
  ;   K[5]='GetGrooveScale'
  ;   K[6]='m_levelConfig'
  ;   K[7]='mapScale'
  ;   K[8]='transform'
  ;   K[9]='eulerAngles'
  ;   K[10]='z'
  ;   K[11]=nil
  ;   K[12]='GameObject'
  ;   K[13]='Instantiate'
  ;   K[14]='gameObject'
  ;   K[15]='m_scaleRootRect'
  ;   K[16]='SetActive'
  ;   K[17]='localPosition'
  ;   K[18]='InverseTransformPoint'
  ;   K[19]='position'
  ;   K[20]=0.6
  ;   K[21]=1.5
  ;   K[22]='DOTween'
  ;   K[23]='Sequence'
  ;   K[24]='GM'
  ;   K[25]='AudioModel'
  ;   K[26]='PlayEffect'
  ;   K[27]='AudioFileConfigName'
  ;   K[28]='SfxDigActivity2'
  ;   K[29]='Append'
  ;   K[30]='DOScale'
  ;   K[31]='Vector3'
  ;   K[32]=1
  ;   K[33]=0.2
  ;   K[34]='SetEase'
  ;   K[35]='Ease'
  ;   K[36]='OutSine'
  ;   K[37]='DORotate'
  ;   K[38]=0
  ;   K[39]=10
  ;   K[40]=0.06
  ;   K[41]=8
  ;   K[42]=0.08
  ;   K[43]=6
  ;   K[44]=0.1
  ;   K[45]='AppendInterval'
  ;   K[46]='_GetFlyItemBackOffset'
  ;   K[47]=300
  ;   K[48]='DOMove'
  ;   K[49]='OutCubic'
  ;   K[50]='AppendCallback'
  ;   K[51]='DOJump'
  ;   K[52]='InCubic'
  ;   K[53]='Join'
  ;   K[54]='DOLocalRotate'
  ;   K[55]='m_mapFlySequence'
  ;   K[56]=true
  ;   upvals: _ENV
  ;   locals: self(0-157), index(0-157), digItemGroove(4-157), digItem(7-157), targetRect(9-157), targetRotate(11-157), targetScale(16-157), rotation(19-157), flyRect(29-156), flyTime(40-156), appearScale(41-156), flySequence(44-156), backOffset(104-156)
  0000  GETTABLE  R2 = R0[K0('m_window')]
  0001  SELF      R3 = R2[K1('GetDigGrooveItem')] (self)
  0002  MOVE      R4 = R0
  0003  CALL      R2 = call(R2, 1 args, 2 rets)
  0004  SELF      R4 = R0[K2('GetDigItem')] (self)
  0005  MOVE      R5 = R0
  0006  CALL      R3 = call(R3, 1 args, 2 rets)
  0007  SELF      R5 = R2[K3('GetIconRect')] (self)
  0008  CALL      R4 = call(R4, 1 args, 1 rets)
  0009  SELF      R6 = R2[K4('GetGrooveRotate')] (self)
  0010  CALL      R5 = call(R5, 1 args, 1 rets)
  0011  SELF      R7 = R2[K5('GetGrooveScale')] (self)
  0012  CALL      R6 = call(R6, 1 args, 1 rets)
  0013  GETTABLE  R7 = R0[K6('m_levelConfig')]
  0014  GETTABLE  R7 = R7[K7('mapScale')]
  0015  DIV       R6 = R7 div R6
  0016  GETTABLE  R7 = R3[K8('transform')]
  0017  GETTABLE  R7 = R7[K9('eulerAngles')]
  0018  GETTABLE  R7 = R7[K10('z')]
  0019  EQ        if R1 eq K11(nil)   -> -129760
  0020  JMP       (jump)   -> 156
  0021  EQ        if R1 eq K11(nil)   -> -129246
  0022  JMP       (jump)   -> 156
  0023  GETTABUP  R8 = _ENV[K12('GameObject')]
  0024  GETTABLE  R8 = R8[K13('Instantiate')]
  0025  GETTABLE  R9 = R3[K14('gameObject')]
  0026  GETTABLE  R10 = R0[K15('m_scaleRootRect')]
  0027  CALL      R8 = call(R8, 1 args, 2 rets)
  0028  GETTABLE  R8 = R8[K8('transform')]
  0029  GETTABLE  R9 = R8[K14('gameObject')]
  0030  SELF      R10 = R9[K16('SetActive')] (self)
  0031  LOADBOOL  R11 = true
  0032  CALL      R9 = call(R9, 0 args, 2 rets)
  0033  GETTABLE  R9 = R0[K15('m_scaleRootRect')]
  0034  SELF      R10 = R9[K18('InverseTransformPoint')] (self)
  0035  GETTABLE  R11 = R3[K8('transform')]
  0036  GETTABLE  R11 = R11[K19('position')]
  0037  CALL      R9 = call(R9, 1 args, 2 rets)
  0038  SETTABLE  R8[K17('localPosition')] = R9
  0039  LOADK     R9 = K20 0.6
  0040  LOADK     R10 = K21 1.5
  0041  GETTABUP  R11 = _ENV[K22('DOTween')]
  0042  GETTABLE  R11 = R11[K23('Sequence')]
  0043  CALL      R11 = call(R11, 1 args, 0 rets)
  0044  GETTABUP  R12 = _ENV[K24('GM')]
  0045  GETTABLE  R12 = R12[K25('AudioModel')]
  0046  SELF      R13 = R12[K26('PlayEffect')] (self)
  0047  GETTABUP  R14 = _ENV[K27('AudioFileConfigName')]
  0048  GETTABLE  R14 = R14[K28('SfxDigActivity2')]
  0049  CALL      R12 = call(R12, 0 args, 2 rets)
  0050  SELF      R13 = R11[K29('Append')] (self)
  0051  SELF      R15 = R8[K30('DOScale')] (self)
  0052  GETTABUP  R16 = _ENV[K31('Vector3')]
  0053  MOVE      R17 = R0
  0054  MOVE      R18 = R0
  0055  LOADK     R19 = K32 1
  0056  CALL      R16 = call(R16, 1 args, 3 rets)
  0057  LOADK     R17 = K33 0.2
  0058  CALL      R14 = call(R14, 1 args, 3 rets)
  0059  SELF      R15 = R14[K34('SetEase')] (self)
  0060  GETTABUP  R16 = _ENV[K35('Ease')]
  0061  GETTABLE  R16 = R16[K36('OutSine')]
  0062  CALL      R14 = call(R14, -1 args, 2 rets)
  0063  CALL      R12 = call(R12, 0 args, -1 rets)
  0064  SELF      R13 = R11[K29('Append')] (self)
  0065  SELF      R15 = R8[K37('DORotate')] (self)
  0066  GETTABUP  R16 = _ENV[K31('Vector3')]
  0067  LOADK     R17 = K38 0
  0068  LOADK     R18 = K38 0
  0069  ADD       R19 = K39(10) add R7
  0070  CALL      R16 = call(R16, 1 args, 3 rets)
  0071  LOADK     R17 = K40 0.06
  0072  CALL      R14 = call(R14, -1 args, 3 rets)
  0073  CALL      R12 = call(R12, 0 args, -1 rets)
  0074  SELF      R13 = R11[K29('Append')] (self)
  0075  SELF      R15 = R8[K37('DORotate')] (self)
  0076  GETTABUP  R16 = _ENV[K31('Vector3')]
  0077  LOADK     R17 = K38 0
  0078  LOADK     R18 = K38 0
  0079  SUB       R19 = K41(8) sub R7
  0080  CALL      R16 = call(R16, 1 args, 3 rets)
  0081  LOADK     R17 = K42 0.08
  0082  CALL      R14 = call(R14, -1 args, 3 rets)
  0083  CALL      R12 = call(R12, 0 args, -1 rets)
  0084  SELF      R13 = R11[K29('Append')] (self)
  0085  SELF      R15 = R8[K37('DORotate')] (self)
  0086  GETTABUP  R16 = _ENV[K31('Vector3')]
  0087  LOADK     R17 = K38 0
  0088  LOADK     R18 = K38 0
  0089  ADD       R19 = K43(6) add R7
  0090  CALL      R16 = call(R16, 1 args, 3 rets)
  0091  LOADK     R17 = K44 0.1
  0092  CALL      R14 = call(R14, -1 args, 3 rets)
  0093  CALL      R12 = call(R12, 0 args, -1 rets)
  0094  SELF      R13 = R11[K45('AppendInterval')] (self)
  0095  LOADK     R14 = K33 0.2
  0096  CALL      R12 = call(R12, 0 args, 2 rets)
  0097  SELF      R13 = R0[K46('_GetFlyItemBackOffset')] (self)
  0098  MOVE      R14 = R0
  0099  MOVE      R15 = R0
  0100  MOVE      R16 = R0
  0101  LOADK     R17 = K43 6
  0102  LOADK     R18 = K47 300
  0103  CALL      R12 = call(R12, 1 args, 6 rets)
  0104  SELF      R14 = R11[K29('Append')] (self)
  0105  SELF      R16 = R8[K48('DOMove')] (self)
  0106  GETTABLE  R17 = R8[K19('position')]
  0107  ADD       R17 = R12 add R17
  0108  LOADK     R18 = K33 0.2
  0109  CALL      R15 = call(R15, 1 args, 3 rets)
  0110  SELF      R16 = R15[K34('SetEase')] (self)
  0111  GETTABUP  R17 = _ENV[K35('Ease')]
  0112  GETTABLE  R17 = R17[K49('OutCubic')]
  0113  CALL      R15 = call(R15, -1 args, 2 rets)
  0114  CALL      R13 = call(R13, 0 args, -1 rets)
  0115  SELF      R14 = R11[K50('AppendCallback')] (self)
  0116  CLOSURE   R15 = closure proto0
  0117  CALL      R13 = call(R13, 0 args, 2 rets)
  0118  SELF      R14 = R11[K29('Append')] (self)
  0119  SELF      R16 = R8[K51('DOJump')] (self)
  0120  GETTABLE  R17 = R4[K19('position')]
  0121  LOADK     R18 = K32 1
  0122  LOADK     R19 = K32 1
  0123  MOVE      R20 = R0
  0124  CALL      R15 = call(R15, 1 args, 5 rets)
  0125  SELF      R16 = R15[K34('SetEase')] (self)
  0126  GETTABUP  R17 = _ENV[K35('Ease')]
  0127  GETTABLE  R17 = R17[K52('InCubic')]
  0128  CALL      R15 = call(R15, -1 args, 2 rets)
  0129  CALL      R13 = call(R13, 0 args, -1 rets)
  0130  SELF      R14 = R11[K53('Join')] (self)
  0131  SELF      R16 = R8[K54('DOLocalRotate')] (self)
  0132  GETTABUP  R17 = _ENV[K31('Vector3')]
  0133  LOADK     R18 = K38 0
  0134  LOADK     R19 = K38 0
  0135  MOVE      R20 = R0
  0136  CALL      R17 = call(R17, 1 args, 3 rets)
  0137  MOVE      R18 = R0
  0138  CALL      R15 = call(R15, -1 args, 3 rets)
  0139  CALL      R13 = call(R13, 0 args, -1 rets)
  0140  SELF      R14 = R11[K53('Join')] (self)
  0141  SELF      R16 = R8[K30('DOScale')] (self)
  0142  GETTABUP  R17 = _ENV[K31('Vector3')]
  0143  MOVE      R18 = R0
  0144  MOVE      R19 = R0
  0145  LOADK     R20 = K32 1
  0146  CALL      R17 = call(R17, 1 args, 3 rets)
  0147  MOVE      R18 = R0
  0148  CALL      R15 = call(R15, -1 args, 3 rets)
  0149  CALL      R13 = call(R13, 0 args, -1 rets)
  0150  SELF      R14 = R11[K50('AppendCallback')] (self)
  0151  CLOSURE   R15 = closure proto1
  0152  CALL      R13 = call(R13, 0 args, 2 rets)
  0153  GETTABLE  R13 = R0[K55('m_mapFlySequence')]
  0154  SETTABLE  R13[R11] = K56(true)
  0155  JMP       (jump)   -> 156
  0156  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 427-429 np=0 va=0 ms=3 code=7 consts=5 upvals=1 protos=0
    ;   K[0]='GM'
    ;   K[1]='AudioModel'
    ;   K[2]='PlayEffect'
    ;   K[3]='AudioFileConfigName'
    ;   K[4]='SfxDigActivity3'
    ;   upvals: _ENV
    0000  GETTABUP  R0 = _ENV[K0('GM')]
    0001  GETTABLE  R0 = R0[K1('AudioModel')]
    0002  SELF      R1 = R0[K2('PlayEffect')] (self)
    0003  GETTABUP  R2 = _ENV[K3('AudioFileConfigName')]
    0004  GETTABLE  R2 = R2[K4('SfxDigActivity3')]
    0005  CALL      R0 = call(R0, 0 args, 2 rets)
    0006  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 433-446 np=0 va=0 ms=3 code=32 consts=11 upvals=5 protos=0
    ;   K[0]='m_mapFlySequence'
    ;   K[1]=nil
    ;   K[2]='GameObject'
    ;   K[3]='Destroy'
    ;   K[4]='gameObject'
    ;   K[5]='m_eventLockedDigItemIndex'
    ;   K[6]='GM'
    ;   K[7]='UIManager'
    ;   K[8]='SetEventLock'
    ;   K[9]='m_window'
    ;   K[10]='OnDigItemFlyAnimFinished'
    ;   upvals: self, flySequence, _ENV, flyRect, index
    0000  GETTABUP  R0 = self[K0('m_mapFlySequence')]
    0001  GETUPVAL  R1 = self
    0002  SETTABLE  R0[R1] = K1(nil)
    0003  GETTABUP  R0 = _ENV[K2('GameObject')]
    0004  GETTABLE  R0 = R0[K3('Destroy')]
    0005  GETTABUP  R1 = flyRect[K4('gameObject')]
    0006  CALL      R0 = call(R0, 0 args, 1 rets)
    0007  GETTABUP  R0 = self[K5('m_eventLockedDigItemIndex')]
    0008  TEST      if not R0 then   -> -131062
    0009  JMP       (jump)   -> 20
    0010  GETTABUP  R0 = self[K5('m_eventLockedDigItemIndex')]
    0011  GETUPVAL  R1 = self
    0012  EQ        if R0 eq R1   -> -131057
    0013  JMP       (jump)   -> 20
    0014  GETTABUP  R0 = _ENV[K6('GM')]
    0015  GETTABLE  R0 = R0[K7('UIManager')]
    0016  SELF      R1 = R0[K8('SetEventLock')] (self)
    0017  LOADBOOL  R2 = false
    0018  CALL      R0 = call(R0, 0 args, 2 rets)
    0019  SETTABUP  self[K5('m_eventLockedDigItemIndex')] = K1(nil)
    0020  GETTABUP  R0 = self[K9('m_window')]
    0021  EQ        if R1 eq K1(nil)   -> -130792
    0022  JMP       (jump)   -> 31
    0023  GETTABUP  R0 = self[K9('m_window')]
    0024  GETTABLE  R0 = R0[K10('OnDigItemFlyAnimFinished')]
    0025  EQ        if R1 eq K1(nil)   -> -130788
    0026  JMP       (jump)   -> 31
    0027  GETTABUP  R0 = self[K9('m_window')]
    0028  SELF      R1 = R0[K10('OnDigItemFlyAnimFinished')] (self)
    0029  GETUPVAL  R2 = self
    0030  CALL      R0 = call(R0, 0 args, 2 rets)
    0031  RETURN    return R0..R-1
; ---------- proto24 [_GetFlyItemBackOffset] ----------
  ; fn ?  line 451-486 np=6 va=0 ms=22 code=137 consts=29 upvals=1 protos=0
  ;   K[0]='CS'
  ;   K[1]='System'
  ;   K[2]='Array'
  ;   K[3]='CreateInstance'
  ;   K[4]='typeof'
  ;   K[5]='Vector3'
  ;   K[6]=4
  ;   K[7]='UIUtil'
  ;   K[8]='SetLocalScale'
  ;   K[9]='rotation'
  ;   K[10]='localEulerAngles'
  ;   K[11]=0
  ;   K[12]='eulerAngles'
  ;   K[13]='z'
  ;   K[14]='GetWorldCorners'
  ;   K[15]=1
  ;   K[16]='y'
  ;   K[17]='x'
  ;   K[18]='Length'
  ;   K[19]='math'
  ;   K[20]='min'
  ;   K[21]='max'
  ;   K[22]='GM'
  ;   K[23]='UIManager'
  ;   K[24]='camera'
  ;   K[25]='ViewportToWorldPoint'
  ;   K[26]='position'
  ;   K[27]='normalized'
  ;   K[28]='abs'
  ;   upvals: _ENV
  ;   locals: self(0-137), flyRect(0-137), targetRect(0-137), appearScale(0-137), deltaRotate(0-137), offsetCoef(0-137), corners(9-137), originRotation(16-137), minY(36-137), minX(38-137), maxX(40-137), (for index)(44-67), (for limit)(44-67), (for step)(44-67), i(45-66), itemLD(72-137), itemRD(77-137), screenLD(87-137), screenRD(97-137), dir(101-137), maxY(109-137), maxX(128-137), coef(134-137)
  0000  GETTABUP  R6 = _ENV[K0('CS')]
  0001  GETTABLE  R6 = R6[K1('System')]
  0002  GETTABLE  R6 = R6[K2('Array')]
  0003  GETTABLE  R6 = R6[K3('CreateInstance')]
  0004  GETTABUP  R7 = _ENV[K4('typeof')]
  0005  GETTABUP  R8 = _ENV[K5('Vector3')]
  0006  CALL      R7 = call(R7, 1 args, 1 rets)
  0007  LOADK     R8 = K6 4
  0008  CALL      R6 = call(R6, 1 args, 2 rets)
  0009  GETTABUP  R7 = _ENV[K7('UIUtil')]
  0010  GETTABLE  R7 = R7[K8('SetLocalScale')]
  0011  MOVE      R8 = R0
  0012  MOVE      R9 = R0
  0013  MOVE      R10 = R0
  0014  CALL      R7 = call(R7, 0 args, 3 rets)
  0015  GETTABLE  R7 = R1[K9('rotation')]
  0016  GETTABUP  R8 = _ENV[K5('Vector3')]
  0017  LOADK     R9 = K11 0
  0018  LOADK     R10 = K11 0
  0019  GETTABLE  R11 = R1[K12('eulerAngles')]
  0020  GETTABLE  R11 = R11[K13('z')]
  0021  ADD       R11 = R4 add R11
  0022  CALL      R8 = call(R8, 1 args, 3 rets)
  0023  SETTABLE  R1[K10('localEulerAngles')] = R8
  0024  SELF      R9 = R1[K14('GetWorldCorners')] (self)
  0025  MOVE      R10 = R0
  0026  CALL      R8 = call(R8, 0 args, 2 rets)
  0027  GETTABUP  R8 = _ENV[K7('UIUtil')]
  0028  GETTABLE  R8 = R8[K8('SetLocalScale')]
  0029  MOVE      R9 = R0
  0030  LOADK     R10 = K15 1
  0031  LOADK     R11 = K15 1
  0032  CALL      R8 = call(R8, 0 args, 3 rets)
  0033  SETTABLE  R1[K9('rotation')] = R7
  0034  GETTABLE  R8 = R6[K11(0)]
  0035  GETTABLE  R8 = R8[K16('y')]
  0036  GETTABLE  R9 = R6[K11(0)]
  0037  GETTABLE  R9 = R9[K17('x')]
  0038  GETTABLE  R10 = R6[K11(0)]
  0039  GETTABLE  R10 = R10[K17('x')]
  0040  LOADK     R11 = K11 0
  0041  GETTABLE  R12 = R6[K18('Length')]
  0042  SUB       R12 = K15(1) sub R12
  0043  LOADK     R13 = K15 1
  0044  FORPREP   forprep R11(sBx=21)   -> 66
  0045  GETTABUP  R15 = _ENV[K19('math')]
  0046  GETTABLE  R15 = R15[K20('min')]
  0047  MOVE      R16 = R0
  0048  GETTABLE  R17 = R6[R14]
  0049  GETTABLE  R17 = R17[K16('y')]
  0050  CALL      R15 = call(R15, 1 args, 2 rets)
  0051  MOVE      R8 = R0
  0052  GETTABUP  R15 = _ENV[K19('math')]
  0053  GETTABLE  R15 = R15[K20('min')]
  0054  MOVE      R16 = R0
  0055  GETTABLE  R17 = R6[R14]
  0056  GETTABLE  R17 = R17[K17('x')]
  0057  CALL      R15 = call(R15, 1 args, 2 rets)
  0058  MOVE      R9 = R0
  0059  GETTABUP  R15 = _ENV[K19('math')]
  0060  GETTABLE  R15 = R15[K21('max')]
  0061  MOVE      R16 = R0
  0062  GETTABLE  R17 = R6[R14]
  0063  GETTABLE  R17 = R17[K17('x')]
  0064  CALL      R15 = call(R15, 1 args, 2 rets)
  0065  MOVE      R10 = R0
  0066  FORLOOP   forloop R11(sBx=-22)   -> 45
  0067  GETTABUP  R11 = _ENV[K5('Vector3')]
  0068  MOVE      R12 = R0
  0069  MOVE      R13 = R0
  0070  LOADK     R14 = K11 0
  0071  CALL      R11 = call(R11, 1 args, 3 rets)
  0072  GETTABUP  R12 = _ENV[K5('Vector3')]
  0073  MOVE      R13 = R0
  0074  MOVE      R14 = R0
  0075  LOADK     R15 = K11 0
  0076  CALL      R12 = call(R12, 1 args, 3 rets)
  0077  GETTABUP  R13 = _ENV[K22('GM')]
  0078  GETTABLE  R13 = R13[K23('UIManager')]
  0079  GETTABLE  R13 = R13[K24('camera')]
  0080  SELF      R14 = R13[K25('ViewportToWorldPoint')] (self)
  0081  GETTABUP  R15 = _ENV[K5('Vector3')]
  0082  LOADK     R16 = K11 0
  0083  LOADK     R17 = K11 0
  0084  LOADK     R18 = K11 0
  0085  CALL      R15 = call(R15, -1 args, 3 rets)
  0086  CALL      R13 = call(R13, 1 args, -1 rets)
  0087  GETTABUP  R14 = _ENV[K22('GM')]
  0088  GETTABLE  R14 = R14[K23('UIManager')]
  0089  GETTABLE  R14 = R14[K24('camera')]
  0090  SELF      R15 = R14[K25('ViewportToWorldPoint')] (self)
  0091  GETTABUP  R16 = _ENV[K5('Vector3')]
  0092  LOADK     R17 = K15 1
  0093  LOADK     R18 = K11 0
  0094  LOADK     R19 = K11 0
  0095  CALL      R16 = call(R16, -1 args, 3 rets)
  0096  CALL      R14 = call(R14, 1 args, -1 rets)
  0097  GETTABLE  R15 = R1[K26('position')]
  0098  GETTABLE  R16 = R2[K26('position')]
  0099  SUB       R15 = R16 sub R15
  0100  GETTABLE  R15 = R15[K27('normalized')]
  0101  GETTABUP  R16 = _ENV[K19('math')]
  0102  GETTABLE  R16 = R16[K28('abs')]
  0103  GETTABLE  R17 = R13[K16('y')]
  0104  GETTABLE  R18 = R11[K16('y')]
  0105  SUB       R17 = R18 sub R17
  0106  GETTABLE  R18 = R15[K16('y')]
  0107  DIV       R17 = R18 div R17
  0108  CALL      R16 = call(R16, 1 args, 1 rets)
  0109  GETTABUP  R17 = _ENV[K19('math')]
  0110  GETTABLE  R17 = R17[K20('min')]
  0111  GETTABUP  R18 = _ENV[K19('math')]
  0112  GETTABLE  R18 = R18[K28('abs')]
  0113  GETTABLE  R19 = R13[K17('x')]
  0114  GETTABLE  R20 = R11[K17('x')]
  0115  SUB       R19 = R20 sub R19
  0116  GETTABLE  R20 = R15[K17('x')]
  0117  DIV       R19 = R20 div R19
  0118  CALL      R18 = call(R18, 1 args, 1 rets)
  0119  GETTABUP  R19 = _ENV[K19('math')]
  0120  GETTABLE  R19 = R19[K28('abs')]
  0121  GETTABLE  R20 = R14[K17('x')]
  0122  GETTABLE  R21 = R12[K17('x')]
  0123  SUB       R20 = R21 sub R20
  0124  GETTABLE  R21 = R15[K17('x')]
  0125  DIV       R20 = R21 div R20
  0126  CALL      R19 = call(R19, -1 args, 1 rets)
  0127  CALL      R17 = call(R17, 1 args, -1 rets)
  0128  GETTABUP  R18 = _ENV[K19('math')]
  0129  GETTABLE  R18 = R18[K20('min')]
  0130  MOVE      R19 = R0
  0131  MOVE      R20 = R0
  0132  MOVE      R21 = R0
  0133  CALL      R18 = call(R18, 1 args, 3 rets)
  0134  MUL       R19 = R18 mul R15
  0135  RETURN    return R19..R18
  0136  RETURN    return R0..R-1
; ---------- proto25 [IsPlayingAnimation] ----------
  ; fn ?  line 488-490 np=1 va=0 ms=3 code=13 consts=5 upvals=1 protos=0
  ;   K[0]='m_gridAnimNum'
  ;   K[1]=0
  ;   K[2]='Table'
  ;   K[3]='IsEmpty'
  ;   K[4]='m_mapFlySequence'
  ;   upvals: _ENV
  ;   locals: self(0-13)
  0000  GETTABLE  R1 = R0[K0('m_gridAnimNum')]
  0001  LT        if R1 lt R1   -> 516
  0002  JMP       (jump)   -> 10
  0003  GETTABUP  R1 = _ENV[K2('Table')]
  0004  GETTABLE  R1 = R1[K3('IsEmpty')]
  0005  GETTABLE  R2 = R0[K4('m_mapFlySequence')]
  0006  CALL      R1 = call(R1, 1 args, 1 rets)
  0007  NOT       R1 = not R0
  0008  JMP       (jump)   -> 11
  0009  LOADBOOL  R1 = false
  0010  LOADBOOL  R1 = true
  0011  RETURN    return R1..R0
  0012  RETURN    return R0..R-1
; ---------- proto26 [XY2Index] ----------
  ; fn ?  line 492-494 np=3 va=0 ms=5 code=7 consts=3 upvals=0 protos=0
  ;   K[0]=1
  ;   K[1]='m_levelConfig'
  ;   K[2]='width'
  ;   locals: self(0-7), x(0-7), y(0-7)
  0000  SUB       R3 = K0(1) sub R2
  0001  GETTABLE  R4 = R0[K1('m_levelConfig')]
  0002  GETTABLE  R4 = R4[K2('width')]
  0003  MUL       R3 = R4 mul R3
  0004  ADD       R3 = R1 add R3
  0005  RETURN    return R3..R2
  0006  RETURN    return R0..R-1
; ---------- proto27 [Index2XY] ----------
  ; fn ?  line 496-500 np=2 va=0 ms=6 code=14 consts=3 upvals=0 protos=0
  ;   K[0]=1
  ;   K[1]='m_levelConfig'
  ;   K[2]='width'
  ;   locals: self(0-14), index(0-14), y(5-14), x(10-14)
  0000  SUB       R2 = K0(1) sub R1
  0001  GETTABLE  R3 = R0[K1('m_levelConfig')]
  0002  GETTABLE  R3 = R3[K2('width')]
  0003  IDIV      R2 = R3 idiv R2
  0004  ADD       R2 = K0(1) add R2
  0005  SUB       R3 = K0(1) sub R1
  0006  GETTABLE  R4 = R0[K1('m_levelConfig')]
  0007  GETTABLE  R4 = R4[K2('width')]
  0008  MOD       R3 = R4 mod R3
  0009  ADD       R3 = K0(1) add R3
  0010  MOVE      R4 = R0
  0011  MOVE      R5 = R0
  0012  RETURN    return R4..R3
  0013  RETURN    return R0..R-1
; ---------- proto28 [GetRealBoardFrameSize] ----------
  ; fn ?  line 504-511 np=1 va=0 ms=8 code=30 consts=9 upvals=0 protos=0
  ;   K[0]='m_activityDefinition'
  ;   K[1]='GridSize'
  ;   K[2]='SpacingOffsetX'
  ;   K[3]=0
  ;   K[4]='SpacingOffsetY'
  ;   K[5]='m_levelConfig'
  ;   K[6]='width'
  ;   K[7]='mapScale'
  ;   K[8]='height'
  ;   locals: self(0-30), gridSize(2-30), offsetX(7-30), offsetY(12-30), resultX(19-30), resultY(26-30)
  0000  GETTABLE  R1 = R0[K0('m_activityDefinition')]
  0001  GETTABLE  R1 = R1[K1('GridSize')]
  0002  GETTABLE  R2 = R0[K0('m_activityDefinition')]
  0003  GETTABLE  R2 = R2[K2('SpacingOffsetX')]
  0004  TEST      if not R2 then   -> -131065
  0005  JMP       (jump)   -> 7
  0006  LOADK     R2 = K3 0
  0007  GETTABLE  R3 = R0[K0('m_activityDefinition')]
  0008  GETTABLE  R3 = R3[K4('SpacingOffsetY')]
  0009  TEST      if not R3 then   -> -131060
  0010  JMP       (jump)   -> 12
  0011  LOADK     R3 = K3 0
  0012  GETTABLE  R4 = R0[K5('m_levelConfig')]
  0013  GETTABLE  R4 = R4[K6('width')]
  0014  ADD       R5 = R2 add R1
  0015  MUL       R4 = R5 mul R4
  0016  GETTABLE  R5 = R0[K5('m_levelConfig')]
  0017  GETTABLE  R5 = R5[K7('mapScale')]
  0018  MUL       R4 = R5 mul R4
  0019  GETTABLE  R5 = R0[K5('m_levelConfig')]
  0020  GETTABLE  R5 = R5[K8('height')]
  0021  ADD       R6 = R3 add R1
  0022  MUL       R5 = R6 mul R5
  0023  GETTABLE  R6 = R0[K5('m_levelConfig')]
  0024  GETTABLE  R6 = R6[K7('mapScale')]
  0025  MUL       R5 = R6 mul R5
  0026  MOVE      R6 = R0
  0027  MOVE      R7 = R0
  0028  RETURN    return R6..R5
  0029  RETURN    return R0..R-1
; ---------- proto29 [SetTargetGridForTutorial] ----------
  ; fn ?  line 514-524 np=3 va=0 ms=4 code=12 consts=5 upvals=0 protos=0
  ;   K[0]='m_tutorialX'
  ;   K[1]=nil
  ;   K[2]='m_tutorialY'
  ;   K[3]='x'
  ;   K[4]='y'
  ;   locals: self(0-12), bOpen(0-12), pos(0-12)
  0000  TEST      if not R1 then   -> -131069
  0001  JMP       (jump)   -> 5
  0002  SETTABLE  R0[K0('m_tutorialX')] = K1(nil)
  0003  SETTABLE  R0[K2('m_tutorialY')] = K1(nil)
  0004  RETURN    return R0..R-1
  0005  EQ        if R1 eq K1(nil)   -> -129784
  0006  JMP       (jump)   -> 11
  0007  GETTABLE  R3 = R2[K3('x')]
  0008  SETTABLE  R0[K0('m_tutorialX')] = R3
  0009  GETTABLE  R3 = R2[K4('y')]
  0010  SETTABLE  R0[K2('m_tutorialY')] = R3
  0011  RETURN    return R0..R-1
; ---------- proto30 [GetTwoValidGridPos] ----------
  ; fn ?  line 528-538 np=1 va=0 ms=5 code=23 consts=10 upvals=1 protos=0
  ;   K[0]='m_model'
  ;   K[1]='GetOneItemForTutorial'
  ;   K[2]=nil
  ;   K[3]='GetOccupancyGrids'
  ;   K[4]='Table'
  ;   K[5]='IsEmpty'
  ;   K[6]=2
  ;   K[7]='Log'
  ;   K[8]='Error'
  ;   K[9]='DigActivity Tutorial First Step Error'
  ;   upvals: _ENV
  ;   locals: self(0-23), digItemData(3-23), arrPos(7-22)
  0000  GETTABLE  R1 = R0[K0('m_model')]
  0001  SELF      R2 = R1[K1('GetOneItemForTutorial')] (self)
  0002  CALL      R1 = call(R1, 1 args, 1 rets)
  0003  EQ        if R1 eq K2(nil)   -> -130297
  0004  JMP       (jump)   -> 22
  0005  SELF      R3 = R1[K3('GetOccupancyGrids')] (self)
  0006  CALL      R2 = call(R2, 1 args, 1 rets)
  0007  GETTABUP  R3 = _ENV[K4('Table')]
  0008  GETTABLE  R3 = R3[K5('IsEmpty')]
  0009  MOVE      R4 = R0
  0010  CALL      R3 = call(R3, 1 args, 1 rets)
  0011  TEST      if not R3 then   -> -131058
  0012  JMP       (jump)   -> 18
  0013  LEN       R3 = len R0
  0014  EQ        if R0 eq K6(2)   -> -129258
  0015  JMP       (jump)   -> 18
  0016  RETURN    return R2..R1
  0017  JMP       (jump)   -> 22
  0018  GETTABUP  R3 = _ENV[K7('Log')]
  0019  GETTABLE  R3 = R3[K8('Error')]
  0020  LOADK     R4 = K9 'DigActivity Tutorial First Step Error'
  0021  CALL      R3 = call(R3, 0 args, 1 rets)
  0022  RETURN    return R0..R-1
; ---------- proto31 [GetHudButton] ----------
  ; fn ?  line 540-542 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_hudDigButton'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_hudDigButton')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto32 [HideAllGrids] ----------
  ; fn ?  line 545-552 np=1 va=0 ms=8 code=22 consts=7 upvals=1 protos=0
  ;   K[0]='ipairs'
  ;   K[1]='m_arrDigGrids'
  ;   K[2]='HideForAnim'
  ;   K[3]='UIUtil'
  ;   K[4]='SetActive'
  ;   K[5]='m_targetContentGo'
  ;   K[6]='m_gapContentGo'
  ;   upvals: _ENV
  ;   locals: self(0-22), (for generator)(6-11), (for state)(6-11), (for control)(6-11), _(7-9), digGrid(7-9)
  0000  GETTABUP  R1 = _ENV[K0('ipairs')]
  0001  GETTABLE  R2 = R0[K1('m_arrDigGrids')]
  0002  TEST      if not R2 then   -> -131067
  0003  JMP       (jump)   -> 5
  0004  NEWTABLE  R2 = {} (0 items)
  0005  CALL      R1 = call(R1, 3 args, 1 rets)
  0006  JMP       (jump)   -> 9
  0007  SELF      R7 = R5[K2('HideForAnim')] (self)
  0008  CALL      R6 = call(R6, 0 args, 1 rets)
  0009  TFORCALL  tforcall R1
  0010  TFORLOOP  tforloop R3(sBx=-4)   -> 7
  0011  GETTABUP  R1 = _ENV[K3('UIUtil')]
  0012  GETTABLE  R1 = R1[K4('SetActive')]
  0013  GETTABLE  R2 = R0[K5('m_targetContentGo')]
  0014  LOADBOOL  R3 = false
  0015  CALL      R1 = call(R1, 0 args, 2 rets)
  0016  GETTABUP  R1 = _ENV[K3('UIUtil')]
  0017  GETTABLE  R1 = R1[K4('SetActive')]
  0018  GETTABLE  R2 = R0[K6('m_gapContentGo')]
  0019  LOADBOOL  R3 = false
  0020  CALL      R1 = call(R1, 0 args, 2 rets)
  0021  RETURN    return R0..R-1
; ---------- proto33 [PlayGridEnterAnim] ----------
  ; fn ?  line 559-575 np=1 va=0 ms=15 code=32 consts=8 upvals=1 protos=2
  ;   K[0]='GetDelayEnterTime'
  ;   K[1]=1
  ;   K[2]='m_levelConfig'
  ;   K[3]='width'
  ;   K[4]='height'
  ;   K[5]='XY2Index'
  ;   K[6]='DelayExecuteFuncInView'
  ;   K[7]='GetEnterAnimTime'
  ;   upvals: _ENV
  ;   locals: self(0-32), delayTime(2-32), (for index)(6-25), (for limit)(6-25), (for step)(6-25), x(7-24), (for index)(11-24), (for limit)(11-24), (for step)(11-24), y(12-23), index(16-23)
  0000  SELF      R2 = R0[K0('GetDelayEnterTime')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  LOADK     R2 = K1 1
  0003  GETTABLE  R3 = R0[K2('m_levelConfig')]
  0004  GETTABLE  R3 = R3[K3('width')]
  0005  LOADK     R4 = K1 1
  0006  FORPREP   forprep R2(sBx=17)   -> 24
  0007  LOADK     R6 = K1 1
  0008  GETTABLE  R7 = R0[K2('m_levelConfig')]
  0009  GETTABLE  R7 = R7[K4('height')]
  0010  LOADK     R8 = K1 1
  0011  FORPREP   forprep R6(sBx=11)   -> 23
  0012  SELF      R11 = R0[K5('XY2Index')] (self)
  0013  MOVE      R12 = R0
  0014  MOVE      R13 = R0
  0015  CALL      R10 = call(R10, 1 args, 3 rets)
  0016  GETTABUP  R11 = _ENV[K6('DelayExecuteFuncInView')]
  0017  CLOSURE   R12 = closure proto0
  0018  SUB       R13 = K1(1) sub R5
  0019  MUL       R13 = R1 mul R13
  0020  MOVE      R14 = R0
  0021  CALL      R11 = call(R11, 0 args, 3 rets)
  0022  JMP       (jump)   -> 23
  0023  FORLOOP   forloop R6(sBx=-12)   -> 12
  0024  FORLOOP   forloop R2(sBx=-18)   -> 7
  0025  GETTABUP  R2 = _ENV[K6('DelayExecuteFuncInView')]
  0026  CLOSURE   R3 = closure proto1
  0027  SELF      R5 = R0[K7('GetEnterAnimTime')] (self)
  0028  CALL      R4 = call(R4, 1 args, 1 rets)
  0029  MOVE      R5 = R0
  0030  CALL      R2 = call(R2, 0 args, 3 rets)
  0031  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 565-567 np=0 va=0 ms=2 code=6 consts=2 upvals=2 protos=0
    ;   K[0]='m_arrDigGrids'
    ;   K[1]='PlayEnterAnim'
    ;   upvals: self, index
    0000  GETTABUP  R0 = self[K0('m_arrDigGrids')]
    0001  GETUPVAL  R1 = self
    0002  GETTABLE  R0 = R0[R1]
    0003  SELF      R1 = R0[K1('PlayEnterAnim')] (self)
    0004  CALL      R0 = call(R0, 0 args, 1 rets)
    0005  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 571-574 np=0 va=0 ms=3 code=11 consts=4 upvals=2 protos=0
    ;   K[0]='UIUtil'
    ;   K[1]='SetActive'
    ;   K[2]='m_targetContentGo'
    ;   K[3]='m_gapContentGo'
    ;   upvals: _ENV, self
    0000  GETTABUP  R0 = _ENV[K0('UIUtil')]
    0001  GETTABLE  R0 = R0[K1('SetActive')]
    0002  GETTABUP  R1 = self[K2('m_targetContentGo')]
    0003  LOADBOOL  R2 = true
    0004  CALL      R0 = call(R0, 0 args, 2 rets)
    0005  GETTABUP  R0 = _ENV[K0('UIUtil')]
    0006  GETTABLE  R0 = R0[K1('SetActive')]
    0007  GETTABUP  R1 = self[K3('m_gapContentGo')]
    0008  LOADBOOL  R2 = true
    0009  CALL      R0 = call(R0, 0 args, 2 rets)
    0010  RETURN    return R0..R-1
; ---------- proto34 [GetEnterAnimTime] ----------
  ; fn ?  line 577-579 np=1 va=0 ms=4 code=10 consts=4 upvals=1 protos=0
  ;   K[0]='m_levelConfig'
  ;   K[1]='width'
  ;   K[2]=1
  ;   K[3]='GetDelayEnterTime'
  ;   upvals: enterTime
  ;   locals: self(0-10)
  0000  GETTABLE  R1 = R0[K0('m_levelConfig')]
  0001  GETTABLE  R1 = R1[K1('width')]
  0002  SUB       R1 = K2(1) sub R1
  0003  SELF      R3 = R0[K3('GetDelayEnterTime')] (self)
  0004  CALL      R2 = call(R2, 1 args, 1 rets)
  0005  MUL       R1 = R2 mul R1
  0006  GETUPVAL  R2 = enterTime
  0007  ADD       R1 = R2 add R1
  0008  RETURN    return R1..R0
  0009  RETURN    return R0..R-1
; ---------- proto35 [GetDelayEnterTime] ----------
  ; fn ?  line 581-593 np=1 va=0 ms=7 code=25 consts=4 upvals=2 protos=0
  ;   K[0]=7
  ;   K[1]=3
  ;   K[2]='m_levelConfig'
  ;   K[3]='width'
  ;   upvals: minDelayEnterTime, maxDelayEnterTime
  ;   locals: self(0-25), maxCloumn(1-25), minCloumn(2-25), curCloumn(4-25)
  0000  LOADK     R1 = K0 7
  0001  LOADK     R2 = K1 3
  0002  GETTABLE  R3 = R0[K2('m_levelConfig')]
  0003  GETTABLE  R3 = R3[K3('width')]
  0004  LE        if R0 le R3   -> 9
  0005  JMP       (jump)   -> 9
  0006  GETUPVAL  R4 = minDelayEnterTime
  0007  RETURN    return R4..R3
  0008  JMP       (jump)   -> 24
  0009  LE        if R0 le K1(3)   -> -129268
  0010  JMP       (jump)   -> 14
  0011  GETUPVAL  R4 = minDelayEnterTime
  0012  RETURN    return R4..R3
  0013  JMP       (jump)   -> 24
  0014  SUB       R4 = R3 sub R1
  0015  SUB       R5 = R2 sub R1
  0016  DIV       R4 = R5 div R4
  0017  GETUPVAL  R5 = minDelayEnterTime
  0018  GETUPVAL  R6 = minDelayEnterTime
  0019  SUB       R5 = R6 sub R5
  0020  MUL       R4 = R5 mul R4
  0021  GETUPVAL  R5 = minDelayEnterTime
  0022  ADD       R4 = R5 add R4
  0023  RETURN    return R4..R3
  0024  RETURN    return R0..R-1
; ---------- proto36 [Init] ----------
  ; fn ?  line 602-618 np=5 va=0 ms=11 code=46 consts=23 upvals=1 protos=0
  ;   K[0]='m_model'
  ;   K[1]='m_activityDefinition'
  ;   K[2]='GetActivityDefinition'
  ;   K[3]='m_boardView'
  ;   K[4]='m_clicked'
  ;   K[5]=nil
  ;   K[6]='x'
  ;   K[7]='y'
  ;   K[8]='m_bInit'
  ;   K[9]=2
  ;   K[10]=0
  ;   K[11]='02'
  ;   K[12]='01'
  ;   K[13]='m_spineAnim'
  ;   K[14]='Init'
  ;   K[15]='SetSkin'
  ;   K[16]='PlayAnimation'
  ;   K[17]='init'
  ;   K[18]=true
  ;   K[19]='UIUtil'
  ;   K[20]='SetActive'
  ;   K[21]='m_lockedRootGo'
  ;   K[22]='IsGridDig'
  ;   upvals: _ENV
  ;   locals: self(0-46), model(0-46), boardView(0-46), x(0-46), y(0-46), bEven(17-36), skinName(23-36)
  0000  SETTABLE  R0[K0('m_model')] = R1
  0001  SELF      R6 = R1[K2('GetActivityDefinition')] (self)
  0002  CALL      R5 = call(R5, 1 args, 1 rets)
  0003  SETTABLE  R0[K1('m_activityDefinition')] = R5
  0004  SETTABLE  R0[K3('m_boardView')] = R2
  0005  SETTABLE  R0[K4('m_clicked')] = K5(nil)
  0006  SETTABLE  R0[K6('x')] = R3
  0007  SETTABLE  R0[K7('y')] = R4
  0008  GETTABLE  R5 = R0[K8('m_bInit')]
  0009  TEST      if not R5 then   -> -131060
  0010  JMP       (jump)   -> 36
  0011  ADD       R5 = R4 add R3
  0012  MOD       R5 = K9(2) mod R5
  0013  EQ        if R1 eq K10(0)   -> -128231
  0014  JMP       (jump)   -> 16
  0015  LOADBOOL  R5 = false
  0016  LOADBOOL  R5 = true
  0017  TEST      if not R5 then   -> -131053
  0018  JMP       (jump)   -> 22
  0019  LOADK     R6 = K11 '02'
  0020  TEST      if not R6 then   -> -131049
  0021  JMP       (jump)   -> 23
  0022  LOADK     R6 = K12 '01'
  0023  GETTABLE  R7 = R0[K13('m_spineAnim')]
  0024  SELF      R8 = R7[K14('Init')] (self)
  0025  CALL      R7 = call(R7, 0 args, 1 rets)
  0026  GETTABLE  R7 = R0[K13('m_spineAnim')]
  0027  SELF      R8 = R7[K15('SetSkin')] (self)
  0028  MOVE      R9 = R0
  0029  CALL      R7 = call(R7, 0 args, 2 rets)
  0030  GETTABLE  R7 = R0[K13('m_spineAnim')]
  0031  SELF      R8 = R7[K16('PlayAnimation')] (self)
  0032  LOADK     R9 = K17 'init'
  0033  LOADNIL   R10..R10 = nil
  0034  CALL      R7 = call(R7, 0 args, 3 rets)
  0035  SETTABLE  R0[K8('m_bInit')] = K18(true)
  0036  GETTABUP  R5 = _ENV[K19('UIUtil')]
  0037  GETTABLE  R5 = R5[K20('SetActive')]
  0038  GETTABLE  R6 = R0[K21('m_lockedRootGo')]
  0039  SELF      R8 = R1[K22('IsGridDig')] (self)
  0040  MOVE      R9 = R0
  0041  MOVE      R10 = R0
  0042  CALL      R7 = call(R7, 1 args, 3 rets)
  0043  NOT       R7 = not R0
  0044  CALL      R5 = call(R5, 0 args, 2 rets)
  0045  RETURN    return R0..R-1
; ---------- proto37 [OnBtnClicked] ----------
  ; fn ?  line 620-626 np=1 va=0 ms=4 code=14 consts=5 upvals=0 protos=0
  ;   K[0]='m_boardView'
  ;   K[1]=nil
  ;   K[2]='m_clicked'
  ;   K[3]='OnDigGridClicked'
  ;   K[4]=true
  ;   locals: self(0-14)
  0000  GETTABLE  R1 = R0[K0('m_boardView')]
  0001  EQ        if R1 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 13
  0003  GETTABLE  R1 = R0[K2('m_clicked')]
  0004  TEST      if not R1 then   -> -131065
  0005  JMP       (jump)   -> 13
  0006  GETTABLE  R1 = R0[K0('m_boardView')]
  0007  SELF      R2 = R1[K3('OnDigGridClicked')] (self)
  0008  MOVE      R3 = R0
  0009  CALL      R1 = call(R1, 1 args, 2 rets)
  0010  TEST      if not R1 then   -> -131060
  0011  JMP       (jump)   -> 13
  0012  SETTABLE  R0[K2('m_clicked')] = K4(true)
  0013  RETURN    return R0..R-1
; ---------- proto38 [PlayDisappearAnim] ----------
  ; fn ?  line 628-635 np=2 va=0 ms=6 code=6 consts=3 upvals=1 protos=1
  ;   K[0]='m_spineAnim'
  ;   K[1]='PlayAnimation'
  ;   K[2]='appear'
  ;   upvals: _ENV
  ;   locals: self(0-6), callback(0-6)
  0000  GETTABLE  R2 = R0[K0('m_spineAnim')]
  0001  SELF      R3 = R2[K1('PlayAnimation')] (self)
  0002  LOADK     R4 = K2 'appear'
  0003  CLOSURE   R5 = closure proto0
  0004  CALL      R2 = call(R2, 0 args, 3 rets)
  0005  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 629-634 np=0 va=0 ms=3 code=11 consts=4 upvals=3 protos=0
    ;   K[0]='UIUtil'
    ;   K[1]='SetActive'
    ;   K[2]='m_lockedRootGo'
    ;   K[3]=nil
    ;   upvals: _ENV, self, callback
    0000  GETTABUP  R0 = _ENV[K0('UIUtil')]
    0001  GETTABLE  R0 = R0[K1('SetActive')]
    0002  GETTABUP  R1 = self[K2('m_lockedRootGo')]
    0003  LOADBOOL  R2 = false
    0004  CALL      R0 = call(R0, 0 args, 2 rets)
    0005  GETUPVAL  R0 = _ENV
    0006  EQ        if R1 eq K3(nil)   -> -130805
    0007  JMP       (jump)   -> 10
    0008  GETUPVAL  R0 = _ENV
    0009  CALL      R0 = call(R0, 0 args, 0 rets)
    0010  RETURN    return R0..R-1
; ---------- proto39 [OnDestroy] ----------
  ; fn ?  line 637-638 np=1 va=0 ms=2 code=1 consts=0 upvals=0 protos=0
  ;   locals: self(0-1)
  0000  RETURN    return R0..R-1
; ---------- proto40 [PlayEnterAnim] ----------
  ; fn ?  line 640-648 np=1 va=0 ms=6 code=45 consts=19 upvals=2 protos=0
  ;   K[0]='m_canvasGroup'
  ;   K[1]='alpha'
  ;   K[2]=0
  ;   K[3]='UIUtil'
  ;   K[4]='SetLocalPosition'
  ;   K[5]='m_gridImg'
  ;   K[6]='transform'
  ;   K[7]=80
  ;   K[8]='SetLocalScale'
  ;   K[9]=1.3
  ;   K[10]='DOFade'
  ;   K[11]=1
  ;   K[12]='SetEase'
  ;   K[13]='Ease'
  ;   K[14]='OutCubic'
  ;   K[15]='DOScale'
  ;   K[16]='V3One'
  ;   K[17]='DOLocalMove'
  ;   K[18]='V3Zero'
  ;   upvals: enterTime, _ENV
  ;   locals: self(0-45), animTime(1-45)
  0000  GETUPVAL  R1 = enterTime
  0001  GETTABLE  R2 = R0[K0('m_canvasGroup')]
  0002  SETTABLE  R2[K1('alpha')] = K2(0)
  0003  GETTABUP  R2 = _ENV[K3('UIUtil')]
  0004  GETTABLE  R2 = R2[K4('SetLocalPosition')]
  0005  GETTABLE  R3 = R0[K5('m_gridImg')]
  0006  GETTABLE  R3 = R3[K6('transform')]
  0007  LOADK     R4 = K2 0
  0008  LOADK     R5 = K7 80
  0009  CALL      R2 = call(R2, 0 args, 3 rets)
  0010  GETTABUP  R2 = _ENV[K3('UIUtil')]
  0011  GETTABLE  R2 = R2[K8('SetLocalScale')]
  0012  GETTABLE  R3 = R0[K6('transform')]
  0013  LOADK     R4 = K9 1.3
  0014  LOADK     R5 = K9 1.3
  0015  CALL      R2 = call(R2, 0 args, 3 rets)
  0016  GETTABLE  R2 = R0[K0('m_canvasGroup')]
  0017  SELF      R3 = R2[K10('DOFade')] (self)
  0018  LOADK     R4 = K11 1
  0019  MOVE      R5 = R0
  0020  CALL      R2 = call(R2, 1 args, 3 rets)
  0021  SELF      R3 = R2[K12('SetEase')] (self)
  0022  GETTABUP  R4 = _ENV[K13('Ease')]
  0023  GETTABLE  R4 = R4[K14('OutCubic')]
  0024  CALL      R2 = call(R2, 0 args, 2 rets)
  0025  GETTABLE  R2 = R0[K6('transform')]
  0026  SELF      R3 = R2[K15('DOScale')] (self)
  0027  GETTABUP  R4 = _ENV[K16('V3One')]
  0028  MOVE      R5 = R0
  0029  CALL      R2 = call(R2, 1 args, 3 rets)
  0030  SELF      R3 = R2[K12('SetEase')] (self)
  0031  GETTABUP  R4 = _ENV[K13('Ease')]
  0032  GETTABLE  R4 = R4[K14('OutCubic')]
  0033  CALL      R2 = call(R2, 0 args, 2 rets)
  0034  GETTABLE  R2 = R0[K5('m_gridImg')]
  0035  GETTABLE  R2 = R2[K6('transform')]
  0036  SELF      R3 = R2[K17('DOLocalMove')] (self)
  0037  GETTABUP  R4 = _ENV[K18('V3Zero')]
  0038  MOVE      R5 = R0
  0039  CALL      R2 = call(R2, 1 args, 3 rets)
  0040  SELF      R3 = R2[K12('SetEase')] (self)
  0041  GETTABUP  R4 = _ENV[K13('Ease')]
  0042  GETTABLE  R4 = R4[K14('OutCubic')]
  0043  CALL      R2 = call(R2, 0 args, 2 rets)
  0044  RETURN    return R0..R-1
; ---------- proto41 [HideForAnim] ----------
  ; fn ?  line 651-653 np=1 va=0 ms=2 code=3 consts=3 upvals=0 protos=0
  ;   K[0]='m_canvasGroup'
  ;   K[1]='alpha'
  ;   K[2]=0
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_canvasGroup')]
  0001  SETTABLE  R1[K1('alpha')] = K2(0)
  0002  RETURN    return R0..R-1
; ---------- proto42 [InitForTest] ----------
  ; fn ?  line 655-657 np=1 va=0 ms=4 code=6 consts=3 upvals=1 protos=0
  ;   K[0]='UIUtil'
  ;   K[1]='SetActive'
  ;   K[2]='m_lockedRootGo'
  ;   upvals: _ENV
  ;   locals: self(0-6)
  0000  GETTABUP  R1 = _ENV[K0('UIUtil')]
  0001  GETTABLE  R1 = R1[K1('SetActive')]
  0002  GETTABLE  R2 = R0[K2('m_lockedRootGo')]
  0003  LOADBOOL  R3 = false
  0004  CALL      R1 = call(R1, 0 args, 2 rets)
  0005  RETURN    return R0..R-1
; ---------- proto43 [Init] ----------
  ; fn ?  line 666-687 np=3 va=0 ms=14 code=70 consts=29 upvals=1 protos=0
  ;   K[0]=nil
  ;   K[1]='Log'
  ;   K[2]='Error'
  ;   K[3]='DigItemData is nil, please check!'
  ;   K[4]='SpriteUtil'
  ;   K[5]='SetImage'
  ;   K[6]='m_itemImg'
  ;   K[7]='imgKey'
  ;   K[8]='GetActivityDefinition'
  ;   K[9]='GridSize'
  ;   K[10]='width'
  ;   K[11]='height'
  ;   K[12]='gameObject'
  ;   K[13]='transform'
  ;   K[14]='localRotation'
  ;   K[15]='Quaternion'
  ;   K[16]='Euler'
  ;   K[17]='Vector3'
  ;   K[18]=0
  ;   K[19]='rotate'
  ;   K[20]='GetGridAnchoredPos'
  ;   K[21]='pos'
  ;   K[22]='x'
  ;   K[23]='y'
  ;   K[24]=2
  ;   K[25]='UIUtil'
  ;   K[26]='SetAnchoredPosition'
  ;   K[27]='modifyScale'
  ;   K[28]='SetLocalScale'
  ;   upvals: _ENV
  ;   locals: self(0-70), digItemData(0-70), boardView(0-70), gridSize(18-70), totalWidth(20-70), totalHeight(22-70), anchoredPosition(42-70), targetPosX(47-70), targetPosY(52-70)
  0000  EQ        if R1 eq K0(nil)   -> -130302
  0001  JMP       (jump)   -> 4
  0002  EQ        if R0 eq K0(nil)   -> -129788
  0003  JMP       (jump)   -> 9
  0004  GETTABUP  R3 = _ENV[K1('Log')]
  0005  GETTABLE  R3 = R3[K2('Error')]
  0006  LOADK     R4 = K3 'DigItemData is nil, please check!'
  0007  CALL      R3 = call(R3, 0 args, 1 rets)
  0008  RETURN    return R0..R-1
  0009  GETTABUP  R3 = _ENV[K4('SpriteUtil')]
  0010  GETTABLE  R3 = R3[K5('SetImage')]
  0011  GETTABLE  R4 = R0[K6('m_itemImg')]
  0012  GETTABLE  R5 = R1[K7('imgKey')]
  0013  LOADBOOL  R6 = true
  0014  CALL      R3 = call(R3, 0 args, 3 rets)
  0015  SELF      R4 = R2[K8('GetActivityDefinition')] (self)
  0016  CALL      R3 = call(R3, 1 args, 1 rets)
  0017  GETTABLE  R3 = R3[K9('GridSize')]
  0018  GETTABLE  R4 = R1[K10('width')]
  0019  MUL       R4 = R4 mul R3
  0020  GETTABLE  R5 = R1[K11('height')]
  0021  MUL       R5 = R5 mul R3
  0022  GETTABLE  R6 = R0[K12('gameObject')]
  0023  GETTABLE  R6 = R6[K13('transform')]
  0024  GETTABUP  R7 = _ENV[K15('Quaternion')]
  0025  GETTABLE  R7 = R7[K16('Euler')]
  0026  GETTABUP  R8 = _ENV[K17('Vector3')]
  0027  LOADK     R9 = K18 0
  0028  LOADK     R10 = K18 0
  0029  GETTABLE  R11 = R1[K19('rotate')]
  0030  TEST      if not R11 then   -> -131039
  0031  JMP       (jump)   -> 33
  0032  LOADK     R11 = K18 0
  0033  CALL      R8 = call(R8, -1 args, 3 rets)
  0034  CALL      R7 = call(R7, 1 args, -1 rets)
  0035  SETTABLE  R6[K14('localRotation')] = R7
  0036  SELF      R7 = R2[K20('GetGridAnchoredPos')] (self)
  0037  GETTABLE  R8 = R1[K21('pos')]
  0038  GETTABLE  R8 = R8[K22('x')]
  0039  GETTABLE  R9 = R1[K21('pos')]
  0040  GETTABLE  R9 = R9[K23('y')]
  0041  CALL      R6 = call(R6, 1 args, 3 rets)
  0042  GETTABLE  R7 = R6[K22('x')]
  0043  DIV       R8 = K24(2) div R4
  0044  DIV       R9 = K24(2) div R3
  0045  SUB       R8 = R9 sub R8
  0046  ADD       R7 = R8 add R7
  0047  GETTABLE  R8 = R6[K23('y')]
  0048  DIV       R9 = K24(2) div R5
  0049  DIV       R10 = K24(2) div R3
  0050  SUB       R9 = R10 sub R9
  0051  SUB       R8 = R9 sub R8
  0052  GETTABUP  R9 = _ENV[K25('UIUtil')]
  0053  GETTABLE  R9 = R9[K26('SetAnchoredPosition')]
  0054  GETTABLE  R10 = R0[K12('gameObject')]
  0055  GETTABLE  R10 = R10[K13('transform')]
  0056  MOVE      R11 = R0
  0057  MOVE      R12 = R0
  0058  LOADK     R13 = K18 0
  0059  CALL      R9 = call(R9, 0 args, 4 rets)
  0060  GETTABLE  R9 = R1[K27('modifyScale')]
  0061  EQ        if R1 eq K0(nil)   -> -126145
  0062  JMP       (jump)   -> 69
  0063  GETTABUP  R9 = _ENV[K25('UIUtil')]
  0064  GETTABLE  R9 = R9[K28('SetLocalScale')]
  0065  GETTABLE  R10 = R0[K13('transform')]
  0066  GETTABLE  R11 = R1[K27('modifyScale')]
  0067  GETTABLE  R12 = R1[K27('modifyScale')]
  0068  CALL      R9 = call(R9, 0 args, 3 rets)
  0069  RETURN    return R0..R-1
; ---------- proto44 [UpdateValueText] ----------
  ; fn ?  line 693-697 np=1 va=0 ms=5 code=13 consts=7 upvals=1 protos=0
  ;   K[0]='m_valueText'
  ;   K[1]='text'
  ;   K[2]='x'
  ;   K[3]='math'
  ;   K[4]='floor'
  ;   K[5]='m_value'
  ;   K[6]=0.5
  ;   upvals: _ENV
  ;   locals: self(0-13)
  0000  GETTABLE  R1 = R0[K0('m_valueText')]
  0001  TEST      if not R1 then   -> -131069
  0002  JMP       (jump)   -> 12
  0003  GETTABLE  R1 = R0[K0('m_valueText')]
  0004  LOADK     R2 = K2 'x'
  0005  GETTABUP  R3 = _ENV[K3('math')]
  0006  GETTABLE  R3 = R3[K4('floor')]
  0007  GETTABLE  R4 = R0[K5('m_value')]
  0008  ADD       R4 = K6(0.5) add R4
  0009  CALL      R3 = call(R3, 1 args, 1 rets)
  0010  CONCAT    R2 = concat(R2..R2)
  0011  SETTABLE  R1[K1('text')] = R2
  0012  RETURN    return R0..R-1
