# IceComboActivity_View_IceComboMainWindow_1941.luac
; fn @IceComboMainWindow.lua  line 0-0 np=0 va=1 ms=4 code=169 consts=57 upvals=1 protos=45
;   K[0]='IceComboMainWindow'
;   K[1]='setmetatable'
;   K[2]='m_forceWindowOpenedState'
;   K[3]='ActivityState'
;   K[4]='Started'
;   K[5]='canClickWindowMask'
;   K[6]=true
;   K[7]='IceComboBaseWindow'
;   K[8]='__index'
;   K[9]=4
;   K[10]=780
;   K[11]=2
;   K[12]=680
;   K[13]='Init'
;   K[14]='OnDestroy'
;   K[15]='_OnStateChanged'
;   K[16]='_InitModelData'
;   K[17]='_InitView'
;   K[18]='PlayEnterAnim'
;   K[19]='TryPlayAnimation'
;   K[20]='OnMoveAnimationEnd'
;   K[21]='PlayTokenFlyAnim'
;   K[22]='OnSuccessAnimEnd'
;   K[23]='OnAnimationEnd'
;   K[24]='OnHelpBtnClick'
;   K[25]='OnTokenBtnClicked'
;   K[26]='OnSliderClicked'
;   K[27]='GetHudButton'
;   K[28]='GetCompetitorTutorialRect'
;   K[29]='GetRankRewardTutorialRect'
;   K[30]='GetProgressRewardTutorialRect'
;   K[31]='GetMultipleTutorialRect'
;   K[32]='IsFromSignUp'
;   K[33]='SetRewardClickable'
;   K[34]='TestSuccessRound'
;   K[35]='TestFailRound'
;   K[36]='IceComboAvatarCell'
;   K[37]='Init'
;   K[38]='OnDestroy'
;   K[39]='PlayEnterAnim'
;   K[40]='IceComboTrackCell'
;   K[41]='GetRank'
;   K[42]='_InitView'
;   K[43]='UpdateContentByScore'
;   K[44]='UpdateTokenNumText'
;   K[45]='UpdateMoveRectByScore'
;   K[46]='GetTargetHeightByScore'
;   K[47]='UpdateEndState'
;   K[48]='NeedPlayAnimation'
;   K[49]='PlayMoveAnimation'
;   K[50]='IceComboMainHudSlider'
;   K[51]='HudBaseButton'
;   K[52]='UpdateContentByScore'
;   K[53]='UpdateRewardByLevel'
;   K[54]='NeedPlayProgressAnimation'
;   K[55]='PlayProgressAnimation'
;   K[56]='IconScaleAnimation'
;   upvals: _ENV
;   locals: MapRobotNum2ContentWidth(15-169)
0000  GETTABUP  R0 = _ENV[K1('setmetatable')]
0001  NEWTABLE  R1 = {} (0 items)
0002  GETTABUP  R2 = _ENV[K3('ActivityState')]
0003  GETTABLE  R2 = R2[K4('Started')]
0004  SETTABLE  R1[K2('m_forceWindowOpenedState')] = R2
0005  SETTABLE  R1[K5('canClickWindowMask')] = K6(true)
0006  GETTABUP  R2 = _ENV[K7('IceComboBaseWindow')]
0007  CALL      R0 = call(R0, 1 args, 2 rets)
0008  SETTABUP  _ENV[K0('IceComboMainWindow')] = R0
0009  GETTABUP  R0 = _ENV[K0('IceComboMainWindow')]
0010  GETTABUP  R1 = _ENV[K0('IceComboMainWindow')]
0011  SETTABLE  R0[K8('__index')] = R1
0012  NEWTABLE  R0 = {} (0 items)
0013  SETTABLE  R0[K9(4)] = K10(780)
0014  SETTABLE  R0[K11(2)] = K12(680)
0015  GETTABUP  R1 = _ENV[K0('IceComboMainWindow')]
0016  CLOSURE   R2 = closure proto0
0017  SETTABLE  R1[K13('Init')] = R2
0018  GETTABUP  R1 = _ENV[K0('IceComboMainWindow')]
0019  CLOSURE   R2 = closure proto1
0020  SETTABLE  R1[K14('OnDestroy')] = R2
0021  GETTABUP  R1 = _ENV[K0('IceComboMainWindow')]
0022  CLOSURE   R2 = closure proto2
0023  SETTABLE  R1[K15('_OnStateChanged')] = R2
0024  GETTABUP  R1 = _ENV[K0('IceComboMainWindow')]
0025  CLOSURE   R2 = closure proto3
0026  SETTABLE  R1[K16('_InitModelData')] = R2
0027  GETTABUP  R1 = _ENV[K0('IceComboMainWindow')]
0028  CLOSURE   R2 = closure proto4
0029  SETTABLE  R1[K17('_InitView')] = R2
0030  GETTABUP  R1 = _ENV[K0('IceComboMainWindow')]
0031  CLOSURE   R2 = closure proto5
0032  SETTABLE  R1[K18('PlayEnterAnim')] = R2
0033  GETTABUP  R1 = _ENV[K0('IceComboMainWindow')]
0034  CLOSURE   R2 = closure proto6
0035  SETTABLE  R1[K19('TryPlayAnimation')] = R2
0036  GETTABUP  R1 = _ENV[K0('IceComboMainWindow')]
0037  CLOSURE   R2 = closure proto7
0038  SETTABLE  R1[K20('OnMoveAnimationEnd')] = R2
0039  GETTABUP  R1 = _ENV[K0('IceComboMainWindow')]
0040  CLOSURE   R2 = closure proto8
0041  SETTABLE  R1[K21('PlayTokenFlyAnim')] = R2
0042  GETTABUP  R1 = _ENV[K0('IceComboMainWindow')]
0043  CLOSURE   R2 = closure proto9
0044  SETTABLE  R1[K22('OnSuccessAnimEnd')] = R2
0045  GETTABUP  R1 = _ENV[K0('IceComboMainWindow')]
0046  CLOSURE   R2 = closure proto10
0047  SETTABLE  R1[K23('OnAnimationEnd')] = R2
0048  GETTABUP  R1 = _ENV[K0('IceComboMainWindow')]
0049  CLOSURE   R2 = closure proto11
0050  SETTABLE  R1[K24('OnHelpBtnClick')] = R2
0051  GETTABUP  R1 = _ENV[K0('IceComboMainWindow')]
0052  CLOSURE   R2 = closure proto12
0053  SETTABLE  R1[K25('OnTokenBtnClicked')] = R2
0054  GETTABUP  R1 = _ENV[K0('IceComboMainWindow')]
0055  CLOSURE   R2 = closure proto13
0056  SETTABLE  R1[K26('OnSliderClicked')] = R2
0057  GETTABUP  R1 = _ENV[K0('IceComboMainWindow')]
0058  CLOSURE   R2 = closure proto14
0059  SETTABLE  R1[K27('GetHudButton')] = R2
0060  GETTABUP  R1 = _ENV[K0('IceComboMainWindow')]
0061  CLOSURE   R2 = closure proto15
0062  SETTABLE  R1[K28('GetCompetitorTutorialRect')] = R2
0063  GETTABUP  R1 = _ENV[K0('IceComboMainWindow')]
0064  CLOSURE   R2 = closure proto16
0065  SETTABLE  R1[K29('GetRankRewardTutorialRect')] = R2
0066  GETTABUP  R1 = _ENV[K0('IceComboMainWindow')]
0067  CLOSURE   R2 = closure proto17
0068  SETTABLE  R1[K30('GetProgressRewardTutorialRect')] = R2
0069  GETTABUP  R1 = _ENV[K0('IceComboMainWindow')]
0070  CLOSURE   R2 = closure proto18
0071  SETTABLE  R1[K31('GetMultipleTutorialRect')] = R2
0072  GETTABUP  R1 = _ENV[K0('IceComboMainWindow')]
0073  CLOSURE   R2 = closure proto19
0074  SETTABLE  R1[K32('IsFromSignUp')] = R2
0075  GETTABUP  R1 = _ENV[K0('IceComboMainWindow')]
0076  CLOSURE   R2 = closure proto20
0077  SETTABLE  R1[K33('SetRewardClickable')] = R2
0078  GETTABUP  R1 = _ENV[K0('IceComboMainWindow')]
0079  CLOSURE   R2 = closure proto21
0080  SETTABLE  R1[K34('TestSuccessRound')] = R2
0081  GETTABUP  R1 = _ENV[K0('IceComboMainWindow')]
0082  CLOSURE   R2 = closure proto22
0083  SETTABLE  R1[K35('TestFailRound')] = R2
0084  NEWTABLE  R1 = {} (0 items)
0085  SETTABUP  _ENV[K36('IceComboAvatarCell')] = R1
0086  GETTABUP  R1 = _ENV[K36('IceComboAvatarCell')]
0087  GETTABUP  R2 = _ENV[K36('IceComboAvatarCell')]
0088  SETTABLE  R1[K8('__index')] = R2
0089  GETTABUP  R1 = _ENV[K36('IceComboAvatarCell')]
0090  CLOSURE   R2 = closure proto23
0091  SETTABLE  R1[K37('Init')] = R2
0092  GETTABUP  R1 = _ENV[K36('IceComboAvatarCell')]
0093  CLOSURE   R2 = closure proto24
0094  SETTABLE  R1[K38('OnDestroy')] = R2
0095  GETTABUP  R1 = _ENV[K36('IceComboAvatarCell')]
0096  CLOSURE   R2 = closure proto25
0097  SETTABLE  R1[K39('PlayEnterAnim')] = R2
0098  NEWTABLE  R1 = {} (0 items)
0099  SETTABUP  _ENV[K40('IceComboTrackCell')] = R1
0100  GETTABUP  R1 = _ENV[K40('IceComboTrackCell')]
0101  GETTABUP  R2 = _ENV[K40('IceComboTrackCell')]
0102  SETTABLE  R1[K8('__index')] = R2
0103  GETTABUP  R1 = _ENV[K40('IceComboTrackCell')]
0104  CLOSURE   R2 = closure proto26
0105  SETTABLE  R1[K37('Init')] = R2
0106  GETTABUP  R1 = _ENV[K40('IceComboTrackCell')]
0107  CLOSURE   R2 = closure proto27
0108  SETTABLE  R1[K41('GetRank')] = R2
0109  GETTABUP  R1 = _ENV[K40('IceComboTrackCell')]
0110  CLOSURE   R2 = closure proto28
0111  SETTABLE  R1[K38('OnDestroy')] = R2
0112  GETTABUP  R1 = _ENV[K40('IceComboTrackCell')]
0113  CLOSURE   R2 = closure proto29
0114  SETTABLE  R1[K42('_InitView')] = R2
0115  GETTABUP  R1 = _ENV[K40('IceComboTrackCell')]
0116  CLOSURE   R2 = closure proto30
0117  SETTABLE  R1[K39('PlayEnterAnim')] = R2
0118  GETTABUP  R1 = _ENV[K40('IceComboTrackCell')]
0119  CLOSURE   R2 = closure proto31
0120  SETTABLE  R1[K43('UpdateContentByScore')] = R2
0121  GETTABUP  R1 = _ENV[K40('IceComboTrackCell')]
0122  CLOSURE   R2 = closure proto32
0123  SETTABLE  R1[K44('UpdateTokenNumText')] = R2
0124  GETTABUP  R1 = _ENV[K40('IceComboTrackCell')]
0125  CLOSURE   R2 = closure proto33
0126  SETTABLE  R1[K45('UpdateMoveRectByScore')] = R2
0127  GETTABUP  R1 = _ENV[K40('IceComboTrackCell')]
0128  CLOSURE   R2 = closure proto34
0129  SETTABLE  R1[K46('GetTargetHeightByScore')] = R2
0130  GETTABUP  R1 = _ENV[K40('IceComboTrackCell')]
0131  CLOSURE   R2 = closure proto35
0132  SETTABLE  R1[K47('UpdateEndState')] = R2
0133  GETTABUP  R1 = _ENV[K40('IceComboTrackCell')]
0134  CLOSURE   R2 = closure proto36
0135  SETTABLE  R1[K48('NeedPlayAnimation')] = R2
0136  GETTABUP  R1 = _ENV[K40('IceComboTrackCell')]
0137  CLOSURE   R2 = closure proto37
0138  SETTABLE  R1[K49('PlayMoveAnimation')] = R2
0139  GETTABUP  R1 = _ENV[K1('setmetatable')]
0140  NEWTABLE  R2 = {} (0 items)
0141  GETTABUP  R3 = _ENV[K51('HudBaseButton')]
0142  CALL      R1 = call(R1, 1 args, 2 rets)
0143  SETTABUP  _ENV[K50('IceComboMainHudSlider')] = R1
0144  GETTABUP  R1 = _ENV[K50('IceComboMainHudSlider')]
0145  GETTABUP  R2 = _ENV[K50('IceComboMainHudSlider')]
0146  SETTABLE  R1[K8('__index')] = R2
0147  GETTABUP  R1 = _ENV[K50('IceComboMainHudSlider')]
0148  CLOSURE   R2 = closure proto38
0149  SETTABLE  R1[K37('Init')] = R2
0150  GETTABUP  R1 = _ENV[K50('IceComboMainHudSlider')]
0151  CLOSURE   R2 = closure proto39
0152  SETTABLE  R1[K38('OnDestroy')] = R2
0153  GETTABUP  R1 = _ENV[K50('IceComboMainHudSlider')]
0154  CLOSURE   R2 = closure proto40
0155  SETTABLE  R1[K52('UpdateContentByScore')] = R2
0156  GETTABUP  R1 = _ENV[K50('IceComboMainHudSlider')]
0157  CLOSURE   R2 = closure proto41
0158  SETTABLE  R1[K53('UpdateRewardByLevel')] = R2
0159  GETTABUP  R1 = _ENV[K50('IceComboMainHudSlider')]
0160  CLOSURE   R2 = closure proto42
0161  SETTABLE  R1[K54('NeedPlayProgressAnimation')] = R2
0162  GETTABUP  R1 = _ENV[K50('IceComboMainHudSlider')]
0163  CLOSURE   R2 = closure proto43
0164  SETTABLE  R1[K55('PlayProgressAnimation')] = R2
0165  GETTABUP  R1 = _ENV[K50('IceComboMainHudSlider')]
0166  CLOSURE   R2 = closure proto44
0167  SETTABLE  R1[K56('IconScaleAnimation')] = R2
0168  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 15-37 np=5 va=0 ms=10 code=41 consts=17 upvals=1 protos=0
  ;   K[0]='IceComboBaseWindow'
  ;   K[1]='Init'
  ;   K[2]='m_bFromSignUp'
  ;   K[3]='m_model'
  ;   K[4]='UpdateLastScore'
  ;   K[5]='m_bClaimed'
  ;   K[6]='m_rewards'
  ;   K[7]='m_progressRewards'
  ;   K[8]='TryClaimReward'
  ;   K[9]='m_curProgressScore'
  ;   K[10]='m_progressHelper'
  ;   K[11]='GetScoreForDisplay'
  ;   K[12]='TryPlayAnimation'
  ;   K[13]='PlayEnterAnim'
  ;   K[14]='OpenMainWindowEventCall'
  ;   K[15]='NeedPopFailWindow'
  ;   K[16]='RemoveNeedPopFailWindow'
  ;   upvals: _ENV
  ;   locals: self(0-41), activityType(0-41), id(0-41), bAutoOpen(0-41), bFromSignUp(0-41)
  0000  GETTABUP  R5 = _ENV[K0('IceComboBaseWindow')]
  0001  GETTABLE  R5 = R5[K1('Init')]
  0002  MOVE      R6 = R0
  0003  MOVE      R7 = R0
  0004  MOVE      R8 = R0
  0005  MOVE      R9 = R0
  0006  CALL      R5 = call(R5, 0 args, 4 rets)
  0007  SETTABLE  R0[K2('m_bFromSignUp')] = R4
  0008  GETTABLE  R5 = R0[K3('m_model')]
  0009  SELF      R6 = R5[K4('UpdateLastScore')] (self)
  0010  CALL      R5 = call(R5, 0 args, 1 rets)
  0011  GETTABLE  R5 = R0[K3('m_model')]
  0012  SELF      R6 = R5[K8('TryClaimReward')] (self)
  0013  CALL      R5 = call(R5, 3 args, 1 rets)
  0014  SETTABLE  R0[K7('m_progressRewards')] = R7
  0015  SETTABLE  R0[K6('m_rewards')] = R6
  0016  SETTABLE  R0[K5('m_bClaimed')] = R5
  0017  GETTABLE  R5 = R0[K10('m_progressHelper')]
  0018  SELF      R6 = R5[K11('GetScoreForDisplay')] (self)
  0019  CALL      R5 = call(R5, 1 args, 1 rets)
  0020  SETTABLE  R0[K9('m_curProgressScore')] = R5
  0021  SELF      R6 = R0[K12('TryPlayAnimation')] (self)
  0022  CALL      R5 = call(R5, 1 args, 1 rets)
  0023  TEST      if not R5 then   -> -131046
  0024  JMP       (jump)   -> 29
  0025  TEST      if not R4 then   -> -131045
  0026  JMP       (jump)   -> 29
  0027  SELF      R6 = R0[K13('PlayEnterAnim')] (self)
  0028  CALL      R5 = call(R5, 0 args, 1 rets)
  0029  GETTABLE  R5 = R0[K3('m_model')]
  0030  SELF      R6 = R5[K14('OpenMainWindowEventCall')] (self)
  0031  CALL      R5 = call(R5, 0 args, 1 rets)
  0032  GETTABLE  R5 = R0[K3('m_model')]
  0033  SELF      R6 = R5[K15('NeedPopFailWindow')] (self)
  0034  CALL      R5 = call(R5, 1 args, 1 rets)
  0035  TEST      if not R5 then   -> -131035
  0036  JMP       (jump)   -> 40
  0037  GETTABLE  R5 = R0[K3('m_model')]
  0038  SELF      R6 = R5[K16('RemoveNeedPopFailWindow')] (self)
  0039  CALL      R5 = call(R5, 0 args, 1 rets)
  0040  RETURN    return R0..R-1
; ---------- proto1 [OnDestroy] ----------
  ; fn ?  line 39-54 np=1 va=0 ms=4 code=28 consts=11 upvals=1 protos=0
  ;   K[0]='IceComboBaseWindow'
  ;   K[1]='OnDestroy'
  ;   K[2]='m_seq'
  ;   K[3]=nil
  ;   K[4]='Kill'
  ;   K[5]='m_progressSeq'
  ;   K[6]='GM'
  ;   K[7]='UIManager'
  ;   K[8]='RemoveAllEventLocks'
  ;   K[9]='Scheduler'
  ;   K[10]='UnscheduleTarget'
  ;   upvals: _ENV
  ;   locals: self(0-28)
  0000  GETTABUP  R1 = _ENV[K0('IceComboBaseWindow')]
  0001  GETTABLE  R1 = R1[K1('OnDestroy')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  GETTABLE  R1 = R0[K2('m_seq')]
  0005  EQ        if R1 eq K3(nil)   -> -130294
  0006  JMP       (jump)   -> 11
  0007  GETTABLE  R1 = R0[K2('m_seq')]
  0008  SELF      R2 = R1[K4('Kill')] (self)
  0009  CALL      R1 = call(R1, 0 args, 1 rets)
  0010  SETTABLE  R0[K2('m_seq')] = K3(nil)
  0011  GETTABLE  R1 = R0[K5('m_progressSeq')]
  0012  EQ        if R1 eq K3(nil)   -> -130287
  0013  JMP       (jump)   -> 18
  0014  GETTABLE  R1 = R0[K5('m_progressSeq')]
  0015  SELF      R2 = R1[K4('Kill')] (self)
  0016  CALL      R1 = call(R1, 0 args, 1 rets)
  0017  SETTABLE  R0[K5('m_progressSeq')] = K3(nil)
  0018  GETTABUP  R1 = _ENV[K6('GM')]
  0019  GETTABLE  R1 = R1[K7('UIManager')]
  0020  SELF      R2 = R1[K8('RemoveAllEventLocks')] (self)
  0021  MOVE      R3 = R0
  0022  CALL      R1 = call(R1, 0 args, 2 rets)
  0023  GETTABUP  R1 = _ENV[K9('Scheduler')]
  0024  GETTABLE  R1 = R1[K10('UnscheduleTarget')]
  0025  MOVE      R2 = R0
  0026  CALL      R1 = call(R1, 0 args, 1 rets)
  0027  RETURN    return R0..R-1
; ---------- proto2 [_OnStateChanged] ----------
  ; fn ?  line 56-64 np=1 va=0 ms=3 code=7 consts=2 upvals=0 protos=0
  ;   K[0]='m_bPlayAnim'
  ;   K[1]='_CloseWhenNotValid'
  ;   locals: self(0-7)
  0000  GETTABLE  R1 = R0[K0('m_bPlayAnim')]
  0001  TEST      if not R1 then   -> -131069
  0002  JMP       (jump)   -> 4
  0003  RETURN    return R0..R-1
  0004  SELF      R2 = R0[K1('_CloseWhenNotValid')] (self)
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  RETURN    return R0..R-1
; ---------- proto3 [_InitModelData] ----------
  ; fn ?  line 67-96 np=1 va=0 ms=4 code=70 consts=35 upvals=1 protos=1
  ;   K[0]='m_model'
  ;   K[1]='UpdatePlayerRank'
  ;   K[2]='m_levelConfig'
  ;   K[3]='GetLevelConfigForDisplay'
  ;   K[4]='m_targetScore'
  ;   K[5]='token_num'
  ;   K[6]='m_arrRewardTokenNum'
  ;   K[7]='score_rwd'
  ;   K[8]='m_arrMultiNum'
  ;   K[9]='GetMultiArray'
  ;   K[10]='m_curMultiNum'
  ;   K[11]='multi_num'
  ;   K[12]='m_curMultiIndex'
  ;   K[13]='Table'
  ;   K[14]='GetIndex'
  ;   K[15]='m_playerNumber'
  ;   K[16]='robot_num'
  ;   K[17]=1
  ;   K[18]='m_arrPlayerData'
  ;   K[19]='ShallowCopy'
  ;   K[20]='GetAllPlayerData'
  ;   K[21]='table'
  ;   K[22]='sort'
  ;   K[23]='m_bFailed'
  ;   K[24]='IsFailed'
  ;   K[25]='m_bCanClaimReward'
  ;   K[26]='CanClaimReward'
  ;   K[27]='m_gapTime'
  ;   K[28]='GetGapTime'
  ;   K[29]='m_progressHelper'
  ;   K[30]='GetProgressHelper'
  ;   K[31]='m_progressInfo'
  ;   K[32]='CreateProgressInfo'
  ;   K[33]='m_lastProgressScore'
  ;   K[34]='GetScoreForDisplay'
  ;   upvals: _ENV
  ;   locals: self(0-70)
  0000  GETTABLE  R1 = R0[K0('m_model')]
  0001  SELF      R2 = R1[K1('UpdatePlayerRank')] (self)
  0002  CALL      R1 = call(R1, 0 args, 1 rets)
  0003  GETTABLE  R1 = R0[K0('m_model')]
  0004  SELF      R2 = R1[K3('GetLevelConfigForDisplay')] (self)
  0005  CALL      R1 = call(R1, 1 args, 1 rets)
  0006  SETTABLE  R0[K2('m_levelConfig')] = R1
  0007  GETTABLE  R1 = R0[K2('m_levelConfig')]
  0008  GETTABLE  R1 = R1[K5('token_num')]
  0009  SETTABLE  R0[K4('m_targetScore')] = R1
  0010  GETTABLE  R1 = R0[K2('m_levelConfig')]
  0011  GETTABLE  R1 = R1[K7('score_rwd')]
  0012  TEST      if not R1 then   -> -131057
  0013  JMP       (jump)   -> 15
  0014  NEWTABLE  R1 = {} (0 items)
  0015  SETTABLE  R0[K6('m_arrRewardTokenNum')] = R1
  0016  GETTABLE  R1 = R0[K0('m_model')]
  0017  SELF      R2 = R1[K9('GetMultiArray')] (self)
  0018  CALL      R1 = call(R1, 1 args, 1 rets)
  0019  SETTABLE  R0[K8('m_arrMultiNum')] = R1
  0020  GETTABLE  R1 = R0[K2('m_levelConfig')]
  0021  GETTABLE  R1 = R1[K11('multi_num')]
  0022  SETTABLE  R0[K10('m_curMultiNum')] = R1
  0023  GETTABUP  R1 = _ENV[K13('Table')]
  0024  GETTABLE  R1 = R1[K14('GetIndex')]
  0025  GETTABLE  R2 = R0[K8('m_arrMultiNum')]
  0026  GETTABLE  R3 = R0[K10('m_curMultiNum')]
  0027  CALL      R1 = call(R1, 1 args, 2 rets)
  0028  SETTABLE  R0[K12('m_curMultiIndex')] = R1
  0029  GETTABLE  R1 = R0[K2('m_levelConfig')]
  0030  GETTABLE  R1 = R1[K16('robot_num')]
  0031  ADD       R1 = K17(1) add R1
  0032  SETTABLE  R0[K15('m_playerNumber')] = R1
  0033  GETTABUP  R1 = _ENV[K13('Table')]
  0034  GETTABLE  R1 = R1[K19('ShallowCopy')]
  0035  GETTABLE  R2 = R0[K0('m_model')]
  0036  SELF      R3 = R2[K20('GetAllPlayerData')] (self)
  0037  CALL      R2 = call(R2, -1 args, 1 rets)
  0038  CALL      R1 = call(R1, 1 args, -1 rets)
  0039  SETTABLE  R0[K18('m_arrPlayerData')] = R1
  0040  GETTABUP  R1 = _ENV[K21('table')]
  0041  GETTABLE  R1 = R1[K22('sort')]
  0042  GETTABLE  R2 = R0[K18('m_arrPlayerData')]
  0043  CLOSURE   R3 = closure proto0
  0044  CALL      R1 = call(R1, 0 args, 2 rets)
  0045  GETTABLE  R1 = R0[K0('m_model')]
  0046  SELF      R2 = R1[K24('IsFailed')] (self)
  0047  CALL      R1 = call(R1, 1 args, 1 rets)
  0048  SETTABLE  R0[K23('m_bFailed')] = R1
  0049  GETTABLE  R1 = R0[K0('m_model')]
  0050  SELF      R2 = R1[K26('CanClaimReward')] (self)
  0051  CALL      R1 = call(R1, 1 args, 1 rets)
  0052  SETTABLE  R0[K25('m_bCanClaimReward')] = R1
  0053  GETTABLE  R1 = R0[K0('m_model')]
  0054  SELF      R2 = R1[K28('GetGapTime')] (self)
  0055  CALL      R1 = call(R1, 1 args, 1 rets)
  0056  SETTABLE  R0[K27('m_gapTime')] = R1
  0057  GETTABLE  R1 = R0[K0('m_model')]
  0058  SELF      R2 = R1[K30('GetProgressHelper')] (self)
  0059  CALL      R1 = call(R1, 1 args, 1 rets)
  0060  SETTABLE  R0[K29('m_progressHelper')] = R1
  0061  GETTABLE  R1 = R0[K29('m_progressHelper')]
  0062  SELF      R2 = R1[K32('CreateProgressInfo')] (self)
  0063  CALL      R1 = call(R1, 1 args, 1 rets)
  0064  SETTABLE  R0[K31('m_progressInfo')] = R1
  0065  GETTABLE  R1 = R0[K29('m_progressHelper')]
  0066  SELF      R2 = R1[K34('GetScoreForDisplay')] (self)
  0067  CALL      R1 = call(R1, 1 args, 1 rets)
  0068  SETTABLE  R0[K33('m_lastProgressScore')] = R1
  0069  RETURN    return R0..R-1
  ; ---------- proto0 [m_bFailed] ----------
    ; fn ?  line 83-85 np=2 va=0 ms=5 code=10 consts=1 upvals=0 protos=0
    ;   K[0]='GetTrack'
    ;   locals: a(0-10), b(0-10)
    0000  SELF      R3 = R0[K0('GetTrack')] (self)
    0001  CALL      R2 = call(R2, 1 args, 1 rets)
    0002  SELF      R4 = R1[K0('GetTrack')] (self)
    0003  CALL      R3 = call(R3, 1 args, 1 rets)
    0004  LT        if R1 lt R3   -> -130039
    0005  JMP       (jump)   -> 7
    0006  LOADBOOL  R2 = false
    0007  LOADBOOL  R2 = true
    0008  RETURN    return R2..R1
    0009  RETURN    return R0..R-1
; ---------- proto4 [_InitView] ----------
  ; fn ?  line 99-136 np=1 va=0 ms=15 code=117 consts=40 upvals=1 protos=0
  ;   K[0]='m_multiDescText'
  ;   K[1]='text'
  ;   K[2]='GM'
  ;   K[3]='GameTextModel'
  ;   K[4]='GetText'
  ;   K[5]='iceCombo_match_desc'
  ;   K[6]='m_activityDefinition'
  ;   K[7]='RewardTokenImageName'
  ;   K[8]='m_arrRewardTokenNum'
  ;   K[9]=1
  ;   K[10]='m_rankDescText'
  ;   K[11]='iceCombo_win_desc'
  ;   K[12]='iceCombo_one_win_desc'
  ;   K[13]='m_multiContent'
  ;   K[14]='Init'
  ;   K[15]='m_arrMultiNum'
  ;   K[16]='m_curMultiNum'
  ;   K[17]='m_endNumText'
  ;   K[18]='tostring'
  ;   K[19]='m_targetScore'
  ;   K[20]='UIUtil'
  ;   K[21]='SetActive'
  ;   K[22]='m_avatarCellGo'
  ;   K[23]='m_trackCellGo'
  ;   K[24]='m_arrAvatarCell'
  ;   K[25]='m_arrTrackCell'
  ;   K[26]='ipairs'
  ;   K[27]='m_arrPlayerData'
  ;   K[28]='GameObject'
  ;   K[29]='Instantiate'
  ;   K[30]='transform'
  ;   K[31]='parent'
  ;   K[32]='GetLuaTable'
  ;   K[33]='table'
  ;   K[34]='insert'
  ;   K[35]='m_model'
  ;   K[36]='m_levelConfig'
  ;   K[37]='m_hudSlider'
  ;   K[38]='m_progressInfo'
  ;   K[39]='m_lastProgressScore'
  ;   upvals: _ENV
  ;   locals: self(0-117), avatarGo(55-117), avatarCell(55-117), trackGo(55-117), trackCell(55-117), (for generator)(58-111), (for state)(58-111), (for control)(58-111), _(59-109), playerData(59-109)
  0000  GETTABLE  R1 = R0[K0('m_multiDescText')]
  0001  GETTABUP  R2 = _ENV[K2('GM')]
  0002  GETTABLE  R2 = R2[K3('GameTextModel')]
  0003  SELF      R3 = R2[K4('GetText')] (self)
  0004  LOADK     R4 = K5 'iceCombo_match_desc'
  0005  GETTABLE  R5 = R0[K6('m_activityDefinition')]
  0006  GETTABLE  R5 = R5[K7('RewardTokenImageName')]
  0007  CALL      R2 = call(R2, 1 args, 3 rets)
  0008  SETTABLE  R1[K1('text')] = R2
  0009  GETTABLE  R1 = R0[K8('m_arrRewardTokenNum')]
  0010  LEN       R1 = len R0
  0011  LT        if R0 lt R1   -> 4622
  0012  JMP       (jump)   -> 23
  0013  GETTABLE  R1 = R0[K10('m_rankDescText')]
  0014  GETTABUP  R2 = _ENV[K2('GM')]
  0015  GETTABLE  R2 = R2[K3('GameTextModel')]
  0016  SELF      R3 = R2[K4('GetText')] (self)
  0017  LOADK     R4 = K11 'iceCombo_win_desc'
  0018  GETTABLE  R5 = R0[K8('m_arrRewardTokenNum')]
  0019  LEN       R5 = len R0
  0020  CALL      R2 = call(R2, 1 args, 3 rets)
  0021  SETTABLE  R1[K1('text')] = R2
  0022  JMP       (jump)   -> 30
  0023  GETTABLE  R1 = R0[K10('m_rankDescText')]
  0024  GETTABUP  R2 = _ENV[K2('GM')]
  0025  GETTABLE  R2 = R2[K3('GameTextModel')]
  0026  SELF      R3 = R2[K4('GetText')] (self)
  0027  LOADK     R4 = K12 'iceCombo_one_win_desc'
  0028  CALL      R2 = call(R2, 1 args, 2 rets)
  0029  SETTABLE  R1[K1('text')] = R2
  0030  GETTABLE  R1 = R0[K13('m_multiContent')]
  0031  SELF      R2 = R1[K14('Init')] (self)
  0032  GETTABLE  R3 = R0[K15('m_arrMultiNum')]
  0033  GETTABLE  R4 = R0[K16('m_curMultiNum')]
  0034  CALL      R1 = call(R1, 0 args, 3 rets)
  0035  GETTABLE  R1 = R0[K17('m_endNumText')]
  0036  GETTABUP  R2 = _ENV[K18('tostring')]
  0037  GETTABLE  R3 = R0[K19('m_targetScore')]
  0038  CALL      R2 = call(R2, 1 args, 1 rets)
  0039  SETTABLE  R1[K1('text')] = R2
  0040  GETTABUP  R1 = _ENV[K20('UIUtil')]
  0041  GETTABLE  R1 = R1[K21('SetActive')]
  0042  GETTABLE  R2 = R0[K22('m_avatarCellGo')]
  0043  LOADBOOL  R3 = false
  0044  CALL      R1 = call(R1, 0 args, 2 rets)
  0045  GETTABUP  R1 = _ENV[K20('UIUtil')]
  0046  GETTABLE  R1 = R1[K21('SetActive')]
  0047  GETTABLE  R2 = R0[K23('m_trackCellGo')]
  0048  LOADBOOL  R3 = false
  0049  CALL      R1 = call(R1, 0 args, 2 rets)
  0050  NEWTABLE  R1 = {} (0 items)
  0051  SETTABLE  R0[K24('m_arrAvatarCell')] = R1
  0052  NEWTABLE  R1 = {} (0 items)
  0053  SETTABLE  R0[K25('m_arrTrackCell')] = R1
  0054  LOADNIL   R1..R1 = nil
  0055  GETTABUP  R5 = _ENV[K26('ipairs')]
  0056  GETTABLE  R6 = R0[K27('m_arrPlayerData')]
  0057  CALL      R5 = call(R5, 3 args, 1 rets)
  0058  JMP       (jump)   -> 109
  0059  GETTABUP  R10 = _ENV[K28('GameObject')]
  0060  GETTABLE  R10 = R10[K29('Instantiate')]
  0061  GETTABLE  R11 = R0[K22('m_avatarCellGo')]
  0062  GETTABLE  R12 = R0[K22('m_avatarCellGo')]
  0063  GETTABLE  R12 = R12[K30('transform')]
  0064  GETTABLE  R12 = R12[K31('parent')]
  0065  CALL      R10 = call(R10, 1 args, 2 rets)
  0066  MOVE      R1 = R0
  0067  SELF      R11 = R1[K32('GetLuaTable')] (self)
  0068  CALL      R10 = call(R10, 1 args, 1 rets)
  0069  MOVE      R2 = R0
  0070  SELF      R11 = R2[K14('Init')] (self)
  0071  MOVE      R12 = R0
  0072  CALL      R10 = call(R10, 0 args, 2 rets)
  0073  GETTABUP  R10 = _ENV[K20('UIUtil')]
  0074  GETTABLE  R10 = R10[K21('SetActive')]
  0075  MOVE      R11 = R0
  0076  LOADBOOL  R12 = true
  0077  CALL      R10 = call(R10, 0 args, 2 rets)
  0078  GETTABUP  R10 = _ENV[K33('table')]
  0079  GETTABLE  R10 = R10[K34('insert')]
  0080  GETTABLE  R11 = R0[K24('m_arrAvatarCell')]
  0081  MOVE      R12 = R0
  0082  CALL      R10 = call(R10, 0 args, 2 rets)
  0083  GETTABUP  R10 = _ENV[K28('GameObject')]
  0084  GETTABLE  R10 = R10[K29('Instantiate')]
  0085  GETTABLE  R11 = R0[K23('m_trackCellGo')]
  0086  GETTABLE  R12 = R0[K23('m_trackCellGo')]
  0087  GETTABLE  R12 = R12[K30('transform')]
  0088  GETTABLE  R12 = R12[K31('parent')]
  0089  CALL      R10 = call(R10, 1 args, 2 rets)
  0090  MOVE      R3 = R0
  0091  SELF      R11 = R3[K32('GetLuaTable')] (self)
  0092  CALL      R10 = call(R10, 1 args, 1 rets)
  0093  MOVE      R4 = R0
  0094  SELF      R11 = R4[K14('Init')] (self)
  0095  GETTABLE  R12 = R0[K35('m_model')]
  0096  MOVE      R13 = R0
  0097  GETTABLE  R14 = R0[K36('m_levelConfig')]
  0098  CALL      R10 = call(R10, 0 args, 4 rets)
  0099  GETTABUP  R10 = _ENV[K20('UIUtil')]
  0100  GETTABLE  R10 = R10[K21('SetActive')]
  0101  MOVE      R11 = R0
  0102  LOADBOOL  R12 = true
  0103  CALL      R10 = call(R10, 0 args, 2 rets)
  0104  GETTABUP  R10 = _ENV[K33('table')]
  0105  GETTABLE  R10 = R10[K34('insert')]
  0106  GETTABLE  R11 = R0[K25('m_arrTrackCell')]
  0107  MOVE      R12 = R0
  0108  CALL      R10 = call(R10, 0 args, 2 rets)
  0109  TFORCALL  tforcall R5
  0110  TFORLOOP  tforloop R7(sBx=-52)   -> 59
  0111  GETTABLE  R5 = R0[K37('m_hudSlider')]
  0112  SELF      R6 = R5[K14('Init')] (self)
  0113  GETTABLE  R7 = R0[K38('m_progressInfo')]
  0114  GETTABLE  R8 = R0[K39('m_lastProgressScore')]
  0115  CALL      R5 = call(R5, 0 args, 3 rets)
  0116  RETURN    return R0..R-1
; ---------- proto5 [PlayEnterAnim] ----------
  ; fn ?  line 138-148 np=1 va=0 ms=10 code=33 consts=9 upvals=1 protos=0
  ;   K[0]=0.16666666666666666
  ;   K[1]='ipairs'
  ;   K[2]='m_arrAvatarCell'
  ;   K[3]='PlayEnterAnim'
  ;   K[4]=1
  ;   K[5]=5
  ;   K[6]=60
  ;   K[7]=0.25
  ;   K[8]='m_arrTrackCell'
  ;   upvals: _ENV
  ;   locals: self(0-33), startDelay(1-33), (for generator)(7-16), (for state)(7-16), (for control)(7-16), index(8-14), avatarCell(8-14), (for generator)(23-32), (for state)(23-32), (for control)(23-32), index(24-30), trackCell(24-30)
  0000  LOADK     R1 = K0 0.16666666666666666
  0001  GETTABUP  R2 = _ENV[K1('ipairs')]
  0002  GETTABLE  R3 = R0[K2('m_arrAvatarCell')]
  0003  TEST      if not R3 then   -> -131066
  0004  JMP       (jump)   -> 6
  0005  NEWTABLE  R3 = {} (0 items)
  0006  CALL      R2 = call(R2, 3 args, 1 rets)
  0007  JMP       (jump)   -> 14
  0008  SELF      R8 = R6[K3('PlayEnterAnim')] (self)
  0009  SUB       R9 = K4(1) sub R5
  0010  MUL       R9 = K5(5) mul R9
  0011  DIV       R9 = K6(60) div R9
  0012  ADD       R9 = R9 add R1
  0013  CALL      R7 = call(R7, 0 args, 2 rets)
  0014  TFORCALL  tforcall R2
  0015  TFORLOOP  tforloop R4(sBx=-8)   -> 8
  0016  LOADK     R1 = K7 0.25
  0017  GETTABUP  R2 = _ENV[K1('ipairs')]
  0018  GETTABLE  R3 = R0[K8('m_arrTrackCell')]
  0019  TEST      if not R3 then   -> -131050
  0020  JMP       (jump)   -> 22
  0021  NEWTABLE  R3 = {} (0 items)
  0022  CALL      R2 = call(R2, 3 args, 1 rets)
  0023  JMP       (jump)   -> 30
  0024  SELF      R8 = R6[K3('PlayEnterAnim')] (self)
  0025  SUB       R9 = K4(1) sub R5
  0026  MUL       R9 = K5(5) mul R9
  0027  DIV       R9 = K6(60) div R9
  0028  ADD       R9 = R9 add R1
  0029  CALL      R7 = call(R7, 0 args, 2 rets)
  0030  TFORCALL  tforcall R2
  0031  TFORLOOP  tforloop R4(sBx=-8)   -> 24
  0032  RETURN    return R0..R-1
; ---------- proto6 [TryPlayAnimation] ----------
  ; fn ?  line 150-198 np=1 va=0 ms=16 code=66 consts=23 upvals=1 protos=3
  ;   K[0]='ipairs'
  ;   K[1]='m_arrTrackCell'
  ;   K[2]='NeedPlayAnimation'
  ;   K[3]='table'
  ;   K[4]='insert'
  ;   K[5]='Table'
  ;   K[6]='IsEmpty'
  ;   K[7]='m_bPlayAnim'
  ;   K[8]=true
  ;   K[9]='sort'
  ;   K[10]='GM'
  ;   K[11]='UIManager'
  ;   K[12]='SetEventLock'
  ;   K[13]=0.5
  ;   K[14]='DOTween'
  ;   K[15]='Sequence'
  ;   K[16]=0.3
  ;   K[17]='Insert'
  ;   K[18]=1
  ;   K[19]='PlayMoveAnimation'
  ;   K[20]='AppendInterval'
  ;   K[21]='AppendCallback'
  ;   K[22]='m_seq'
  ;   upvals: _ENV
  ;   locals: self(0-66), arrWaitPlayAnimTrackCells(1-66), (for generator)(4-16), (for state)(4-16), (for control)(4-16), _(5-14), trackCell(5-14), skipCallback(31-66), startDelay(39-66), seq(42-66), interval(43-66), (for generator)(46-56), (for state)(46-56), (for control)(46-56), index(47-54), cell(47-54)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  GETTABUP  R2 = _ENV[K0('ipairs')]
  0002  GETTABLE  R3 = R0[K1('m_arrTrackCell')]
  0003  CALL      R2 = call(R2, 3 args, 1 rets)
  0004  JMP       (jump)   -> 14
  0005  SELF      R8 = R6[K2('NeedPlayAnimation')] (self)
  0006  CALL      R7 = call(R7, 1 args, 1 rets)
  0007  TEST      if not R7 then   -> -131063
  0008  JMP       (jump)   -> 14
  0009  GETTABUP  R7 = _ENV[K3('table')]
  0010  GETTABLE  R7 = R7[K4('insert')]
  0011  MOVE      R8 = R0
  0012  MOVE      R9 = R0
  0013  CALL      R7 = call(R7, 0 args, 2 rets)
  0014  TFORCALL  tforcall R2
  0015  TFORLOOP  tforloop R4(sBx=-11)   -> 5
  0016  GETTABUP  R2 = _ENV[K5('Table')]
  0017  GETTABLE  R2 = R2[K6('IsEmpty')]
  0018  MOVE      R3 = R0
  0019  CALL      R2 = call(R2, 1 args, 1 rets)
  0020  TEST      if not R2 then   -> -131050
  0021  JMP       (jump)   -> 24
  0022  LOADBOOL  R2 = false
  0023  RETURN    return R2..R1
  0024  SETTABLE  R0[K7('m_bPlayAnim')] = K8(true)
  0025  GETTABUP  R2 = _ENV[K3('table')]
  0026  GETTABLE  R2 = R2[K9('sort')]
  0027  MOVE      R3 = R0
  0028  CLOSURE   R4 = closure proto0
  0029  CALL      R2 = call(R2, 0 args, 2 rets)
  0030  CLOSURE   R2 = closure proto1
  0031  GETTABUP  R3 = _ENV[K10('GM')]
  0032  GETTABLE  R3 = R3[K11('UIManager')]
  0033  SELF      R4 = R3[K12('SetEventLock')] (self)
  0034  LOADBOOL  R5 = true
  0035  MOVE      R6 = R0
  0036  MOVE      R7 = R0
  0037  CALL      R3 = call(R3, 0 args, 4 rets)
  0038  LOADK     R3 = K13 0.5
  0039  GETTABUP  R4 = _ENV[K14('DOTween')]
  0040  GETTABLE  R4 = R4[K15('Sequence')]
  0041  CALL      R4 = call(R4, 1 args, 0 rets)
  0042  LOADK     R5 = K16 0.3
  0043  GETTABUP  R6 = _ENV[K0('ipairs')]
  0044  MOVE      R7 = R0
  0045  CALL      R6 = call(R6, 3 args, 1 rets)
  0046  JMP       (jump)   -> 54
  0047  SELF      R12 = R4[K17('Insert')] (self)
  0048  SUB       R13 = K18(1) sub R9
  0049  MUL       R13 = R13 mul R5
  0050  ADD       R13 = R13 add R3
  0051  SELF      R15 = R10[K19('PlayMoveAnimation')] (self)
  0052  CALL      R14 = call(R14, -1 args, 1 rets)
  0053  CALL      R11 = call(R11, 0 args, -1 rets)
  0054  TFORCALL  tforcall R6
  0055  TFORLOOP  tforloop R8(sBx=-9)   -> 47
  0056  SELF      R7 = R4[K20('AppendInterval')] (self)
  0057  LOADK     R8 = K18 1
  0058  CALL      R6 = call(R6, 0 args, 2 rets)
  0059  SELF      R7 = R4[K21('AppendCallback')] (self)
  0060  CLOSURE   R8 = closure proto2
  0061  CALL      R6 = call(R6, 0 args, 2 rets)
  0062  SETTABLE  R0[K22('m_seq')] = R4
  0063  LOADBOOL  R6 = true
  0064  RETURN    return R6..R5
  0065  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 165-167 np=2 va=0 ms=5 code=10 consts=1 upvals=0 protos=0
    ;   K[0]='GetRank'
    ;   locals: a(0-10), b(0-10)
    0000  SELF      R3 = R0[K0('GetRank')] (self)
    0001  CALL      R2 = call(R2, 1 args, 1 rets)
    0002  SELF      R4 = R1[K0('GetRank')] (self)
    0003  CALL      R3 = call(R3, 1 args, 1 rets)
    0004  LT        if R1 lt R3   -> -130039
    0005  JMP       (jump)   -> 7
    0006  LOADBOOL  R2 = false
    0007  LOADBOOL  R2 = true
    0008  RETURN    return R2..R1
    0009  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 169-177 np=0 va=0 ms=3 code=11 consts=5 upvals=1 protos=0
    ;   K[0]='m_bSkipped'
    ;   K[1]=true
    ;   K[2]='m_seq'
    ;   K[3]=nil
    ;   K[4]='Complete'
    ;   upvals: self
    0000  SETTABUP  self[K0('m_bSkipped')] = K1(true)
    0001  GETTABUP  R0 = self[K2('m_seq')]
    0002  EQ        if R0 eq K3(nil)   -> -130809
    0003  JMP       (jump)   -> 5
    0004  RETURN    return R0..R-1
    0005  GETTABUP  R0 = self[K2('m_seq')]
    0006  SELF      R1 = R0[K4('Complete')] (self)
    0007  LOADBOOL  R2 = true
    0008  CALL      R0 = call(R0, 0 args, 2 rets)
    0009  SETTABUP  self[K2('m_seq')] = K3(nil)
    0010  RETURN    return R0..R-1
  ; ---------- proto2 [m_seq] ----------
    ; fn ?  line 189-193 np=0 va=0 ms=5 code=12 consts=6 upvals=3 protos=0
    ;   K[0]='GM'
    ;   K[1]='UIManager'
    ;   K[2]='SetEventLock'
    ;   K[3]='m_seq'
    ;   K[4]=nil
    ;   K[5]='OnMoveAnimationEnd'
    ;   upvals: _ENV, self, skipCallback
    0000  GETTABUP  R0 = _ENV[K0('GM')]
    0001  GETTABLE  R0 = R0[K1('UIManager')]
    0002  SELF      R1 = R0[K2('SetEventLock')] (self)
    0003  LOADBOOL  R2 = false
    0004  GETUPVAL  R3 = _ENV
    0005  GETUPVAL  R4 = _ENV
    0006  CALL      R0 = call(R0, 0 args, 4 rets)
    0007  SETTABUP  self[K3('m_seq')] = K4(nil)
    0008  GETUPVAL  R0 = _ENV
    0009  SELF      R1 = R0[K5('OnMoveAnimationEnd')] (self)
    0010  CALL      R0 = call(R0, 0 args, 1 rets)
    0011  RETURN    return R0..R-1
; ---------- proto7 [OnMoveAnimationEnd] ----------
  ; fn ?  line 200-231 np=1 va=0 ms=8 code=53 consts=12 upvals=1 protos=3
  ;   K[0]='m_bClaimed'
  ;   K[1]='Table'
  ;   K[2]='IsEmpty'
  ;   K[3]='m_rewards'
  ;   K[4]=1
  ;   K[5]='PROPERTY_COUNT'
  ;   K[6]='DelayExecuteFuncInView'
  ;   K[7]='m_bSkipped'
  ;   K[8]=0
  ;   K[9]='m_bFailed'
  ;   K[10]='_IsActivityValid'
  ;   K[11]='OnAnimationEnd'
  ;   upvals: _ENV
  ;   locals: self(0-53), closeCallback(10-27), tokenNum(14-27)
  0000  GETTABLE  R1 = R0[K0('m_bClaimed')]
  0001  TEST      if not R1 then   -> -131069
  0002  JMP       (jump)   -> 28
  0003  GETTABUP  R1 = _ENV[K1('Table')]
  0004  GETTABLE  R1 = R1[K2('IsEmpty')]
  0005  GETTABLE  R2 = R0[K3('m_rewards')]
  0006  CALL      R1 = call(R1, 1 args, 1 rets)
  0007  TEST      if not R1 then   -> -131062
  0008  JMP       (jump)   -> 28
  0009  CLOSURE   R1 = closure proto0
  0010  GETTABLE  R2 = R0[K3('m_rewards')]
  0011  GETTABLE  R2 = R2[K4(1)]
  0012  GETTABUP  R3 = _ENV[K5('PROPERTY_COUNT')]
  0013  GETTABLE  R2 = R2[R3]
  0014  GETTABUP  R3 = _ENV[K6('DelayExecuteFuncInView')]
  0015  CLOSURE   R4 = closure proto1
  0016  GETTABLE  R5 = R0[K7('m_bSkipped')]
  0017  TEST      if not R5 then   -> -131053
  0018  JMP       (jump)   -> 22
  0019  LOADK     R5 = K4 1
  0020  TEST      if not R5 then   -> -131049
  0021  JMP       (jump)   -> 23
  0022  LOADK     R5 = K8 0
  0023  MOVE      R6 = R0
  0024  LOADBOOL  R7 = true
  0025  CALL      R3 = call(R3, 0 args, 4 rets)
  0026  JMP       (jump)   -> 52
  0027  JMP       (jump)   -> 52
  0028  GETTABLE  R1 = R0[K9('m_bFailed')]
  0029  TEST      if not R1 then   -> -131041
  0030  JMP       (jump)   -> 50
  0031  SELF      R2 = R0[K10('_IsActivityValid')] (self)
  0032  CALL      R1 = call(R1, 1 args, 1 rets)
  0033  TEST      if not R1 then   -> -131037
  0034  JMP       (jump)   -> 50
  0035  SELF      R2 = R0[K11('OnAnimationEnd')] (self)
  0036  CALL      R1 = call(R1, 0 args, 1 rets)
  0037  GETTABUP  R1 = _ENV[K6('DelayExecuteFuncInView')]
  0038  CLOSURE   R2 = closure proto2
  0039  GETTABLE  R3 = R0[K7('m_bSkipped')]
  0040  TEST      if not R3 then   -> -131030
  0041  JMP       (jump)   -> 45
  0042  LOADK     R3 = K4 1
  0043  TEST      if not R3 then   -> -131026
  0044  JMP       (jump)   -> 46
  0045  LOADK     R3 = K8 0
  0046  MOVE      R4 = R0
  0047  LOADBOOL  R5 = true
  0048  CALL      R1 = call(R1, 0 args, 4 rets)
  0049  JMP       (jump)   -> 52
  0050  SELF      R2 = R0[K11('OnAnimationEnd')] (self)
  0051  CALL      R1 = call(R1, 0 args, 1 rets)
  0052  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 202-212 np=1 va=0 ms=5 code=31 consts=8 upvals=2 protos=0
    ;   K[0]='UIUtil'
    ;   K[1]='IsEmptyComponent'
    ;   K[2]='OnAnimationEnd'
    ;   K[3]='GameObject'
    ;   K[4]='Instantiate'
    ;   K[5]='m_contentRect'
    ;   K[6]='SetActive'
    ;   K[7]='PlayTokenFlyAnim'
    ;   upvals: _ENV, self
    ;   locals: tokenGo(0-31), go(21-31)
    0000  GETTABUP  R1 = _ENV[K0('UIUtil')]
    0001  GETTABLE  R1 = R1[K1('IsEmptyComponent')]
    0002  MOVE      R2 = R0
    0003  CALL      R1 = call(R1, 1 args, 1 rets)
    0004  TEST      if not R1 then   -> -131065
    0005  JMP       (jump)   -> 12
    0006  GETTABUP  R1 = _ENV[K0('UIUtil')]
    0007  GETTABLE  R1 = R1[K1('IsEmptyComponent')]
    0008  GETUPVAL  R2 = _ENV
    0009  CALL      R1 = call(R1, 1 args, 1 rets)
    0010  TEST      if not R1 then   -> -131060
    0011  JMP       (jump)   -> 16
    0012  GETUPVAL  R1 = _ENV
    0013  SELF      R2 = R1[K2('OnAnimationEnd')] (self)
    0014  CALL      R1 = call(R1, 0 args, 1 rets)
    0015  RETURN    return R0..R-1
    0016  GETTABUP  R1 = _ENV[K3('GameObject')]
    0017  GETTABLE  R1 = R1[K4('Instantiate')]
    0018  MOVE      R2 = R0
    0019  GETTABUP  R3 = self[K5('m_contentRect')]
    0020  CALL      R1 = call(R1, 1 args, 2 rets)
    0021  GETTABUP  R2 = _ENV[K0('UIUtil')]
    0022  GETTABLE  R2 = R2[K6('SetActive')]
    0023  MOVE      R3 = R0
    0024  LOADBOOL  R4 = false
    0025  CALL      R2 = call(R2, 0 args, 2 rets)
    0026  GETUPVAL  R2 = _ENV
    0027  SELF      R3 = R2[K7('PlayTokenFlyAnim')] (self)
    0028  MOVE      R4 = R0
    0029  CALL      R2 = call(R2, 0 args, 2 rets)
    0030  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 216-218 np=0 va=0 ms=6 code=8 consts=4 upvals=3 protos=0
    ;   K[0]='m_model'
    ;   K[1]='OpenRewardWindow'
    ;   K[2]='m_arrMultiNum'
    ;   K[3]='m_curMultiIndex'
    ;   upvals: self, tokenNum, closeCallback
    0000  GETTABUP  R0 = self[K0('m_model')]
    0001  SELF      R1 = R0[K1('OpenRewardWindow')] (self)
    0002  GETUPVAL  R2 = self
    0003  GETTABUP  R3 = self[K2('m_arrMultiNum')]
    0004  GETTABUP  R4 = self[K3('m_curMultiIndex')]
    0005  GETUPVAL  R5 = self
    0006  CALL      R0 = call(R0, 0 args, 5 rets)
    0007  RETURN    return R0..R-1
  ; ---------- proto2 [] ----------
    ; fn ?  line 221-227 np=0 va=0 ms=4 code=6 consts=2 upvals=2 protos=1
    ;   K[0]='m_model'
    ;   K[1]='OpenFailWindow'
    ;   upvals: self, _ENV
    0000  GETTABUP  R0 = self[K0('m_model')]
    0001  SELF      R1 = R0[K1('OpenFailWindow')] (self)
    0002  LOADBOOL  R2 = false
    0003  CLOSURE   R3 = closure proto0
    0004  CALL      R0 = call(R0, 0 args, 3 rets)
    0005  RETURN    return R0..R-1
    ; ---------- proto0 [] ----------
      ; fn ?  line 222-226 np=0 va=0 ms=2 code=10 consts=3 upvals=2 protos=0
      ;   K[0]='UIUtil'
      ;   K[1]='IsEmptyComponent'
      ;   K[2]='Close'
      ;   upvals: _ENV, self
      0000  GETTABUP  R0 = _ENV[K0('UIUtil')]
      0001  GETTABLE  R0 = R0[K1('IsEmptyComponent')]
      0002  GETUPVAL  R1 = _ENV
      0003  CALL      R0 = call(R0, 1 args, 1 rets)
      0004  TEST      if not R0 then   -> -131065
      0005  JMP       (jump)   -> 9
      0006  GETUPVAL  R0 = _ENV
      0007  SELF      R1 = R0[K2('Close')] (self)
      0008  CALL      R0 = call(R0, 0 args, 1 rets)
      0009  RETURN    return R0..R-1
; ---------- proto8 [PlayTokenFlyAnim] ----------
  ; fn ?  line 233-267 np=2 va=0 ms=13 code=60 consts=26 upvals=1 protos=2
  ;   K[0]='GM'
  ;   K[1]='UIManager'
  ;   K[2]='SetEventLock'
  ;   K[3]='transform'
  ;   K[4]='m_hudSlider'
  ;   K[5]='GetScaleTrans'
  ;   K[6]='DOTween'
  ;   K[7]='Sequence'
  ;   K[8]='AppendInterval'
  ;   K[9]=0.3
  ;   K[10]='Append'
  ;   K[11]='DOMove'
  ;   K[12]='position'
  ;   K[13]='SetEase'
  ;   K[14]='Ease'
  ;   K[15]='InSine'
  ;   K[16]='Join'
  ;   K[17]='DOScale'
  ;   K[18]='Vector3'
  ;   K[19]=1
  ;   K[20]='AppendCallback'
  ;   K[21]='m_hudSlider'
  ;   K[22]='NeedPlayProgressAnimation'
  ;   K[23]='m_curProgressScore'
  ;   K[24]='PlayProgressAnimation'
  ;   K[25]='m_progressSeq'
  ;   upvals: _ENV
  ;   locals: self(0-60), go(0-60), rect(7-60), targetRect(10-60), seq(13-60)
  0000  GETTABUP  R2 = _ENV[K0('GM')]
  0001  GETTABLE  R2 = R2[K1('UIManager')]
  0002  SELF      R3 = R2[K2('SetEventLock')] (self)
  0003  LOADBOOL  R4 = true
  0004  MOVE      R5 = R0
  0005  CALL      R2 = call(R2, 0 args, 3 rets)
  0006  GETTABLE  R2 = R1[K3('transform')]
  0007  GETTABLE  R3 = R0[K4('m_hudSlider')]
  0008  SELF      R4 = R3[K5('GetScaleTrans')] (self)
  0009  CALL      R3 = call(R3, 1 args, 1 rets)
  0010  GETTABUP  R4 = _ENV[K6('DOTween')]
  0011  GETTABLE  R4 = R4[K7('Sequence')]
  0012  CALL      R4 = call(R4, 1 args, 0 rets)
  0013  SELF      R6 = R4[K8('AppendInterval')] (self)
  0014  LOADK     R7 = K9 0.3
  0015  CALL      R5 = call(R5, 0 args, 2 rets)
  0016  SELF      R6 = R4[K10('Append')] (self)
  0017  SELF      R8 = R2[K11('DOMove')] (self)
  0018  GETTABLE  R9 = R3[K12('position')]
  0019  LOADK     R10 = K9 0.3
  0020  CALL      R7 = call(R7, 1 args, 3 rets)
  0021  SELF      R8 = R7[K13('SetEase')] (self)
  0022  GETTABUP  R9 = _ENV[K14('Ease')]
  0023  GETTABLE  R9 = R9[K15('InSine')]
  0024  CALL      R7 = call(R7, -1 args, 2 rets)
  0025  CALL      R5 = call(R5, 0 args, -1 rets)
  0026  SELF      R6 = R4[K16('Join')] (self)
  0027  SELF      R8 = R2[K17('DOScale')] (self)
  0028  GETTABUP  R9 = _ENV[K18('Vector3')]
  0029  LOADK     R10 = K9 0.3
  0030  LOADK     R11 = K9 0.3
  0031  LOADK     R12 = K19 1
  0032  CALL      R9 = call(R9, 1 args, 3 rets)
  0033  LOADK     R10 = K9 0.3
  0034  CALL      R7 = call(R7, 1 args, 3 rets)
  0035  SELF      R8 = R7[K13('SetEase')] (self)
  0036  GETTABUP  R9 = _ENV[K14('Ease')]
  0037  GETTABLE  R9 = R9[K15('InSine')]
  0038  CALL      R7 = call(R7, -1 args, 2 rets)
  0039  CALL      R5 = call(R5, 0 args, -1 rets)
  0040  SELF      R6 = R4[K20('AppendCallback')] (self)
  0041  CLOSURE   R7 = closure proto0
  0042  CALL      R5 = call(R5, 0 args, 2 rets)
  0043  GETTABLE  R5 = R0[K21('m_hudSlider')]
  0044  SELF      R6 = R5[K22('NeedPlayProgressAnimation')] (self)
  0045  GETTABLE  R7 = R0[K23('m_curProgressScore')]
  0046  CALL      R5 = call(R5, 1 args, 2 rets)
  0047  TEST      if not R5 then   -> -131023
  0048  JMP       (jump)   -> 55
  0049  SELF      R6 = R4[K10('Append')] (self)
  0050  GETTABLE  R7 = R0[K21('m_hudSlider')]
  0051  SELF      R8 = R7[K24('PlayProgressAnimation')] (self)
  0052  GETTABLE  R9 = R0[K23('m_curProgressScore')]
  0053  CALL      R7 = call(R7, -1 args, 2 rets)
  0054  CALL      R5 = call(R5, 0 args, -1 rets)
  0055  SELF      R6 = R4[K20('AppendCallback')] (self)
  0056  CLOSURE   R7 = closure proto1
  0057  CALL      R5 = call(R5, 0 args, 2 rets)
  0058  SETTABLE  R0[K25('m_progressSeq')] = R4
  0059  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 241-246 np=0 va=0 ms=3 code=9 consts=4 upvals=3 protos=0
    ;   K[0]='m_hudSlider'
    ;   K[1]='IconScaleAnimation'
    ;   K[2]='GameObject'
    ;   K[3]='Destroy'
    ;   upvals: self, _ENV, go
    0000  GETTABUP  R0 = self[K0('m_hudSlider')]
    0001  SELF      R1 = R0[K1('IconScaleAnimation')] (self)
    0002  LOADBOOL  R2 = true
    0003  CALL      R0 = call(R0, 0 args, 2 rets)
    0004  GETTABUP  R0 = _ENV[K2('GameObject')]
    0005  GETTABLE  R0 = R0[K3('Destroy')]
    0006  GETUPVAL  R1 = self
    0007  CALL      R0 = call(R0, 0 args, 1 rets)
    0008  RETURN    return R0..R-1
  ; ---------- proto1 [m_progressSeq] ----------
    ; fn ?  line 252-264 np=0 va=0 ms=8 code=29 consts=13 upvals=2 protos=1
    ;   K[0]='GM'
    ;   K[1]='UIManager'
    ;   K[2]='SetEventLock'
    ;   K[3]='m_progressSeq'
    ;   K[4]=nil
    ;   K[5]='Table'
    ;   K[6]='IsEmpty'
    ;   K[7]='m_progressRewards'
    ;   K[8]='RewardWindow'
    ;   K[9]='Open'
    ;   K[10]='ERewardScene'
    ;   K[11]='Other'
    ;   K[12]='OnSuccessAnimEnd'
    ;   upvals: _ENV, self
    ;   locals: closeCallback(14-24)
    0000  GETTABUP  R0 = _ENV[K0('GM')]
    0001  GETTABLE  R0 = R0[K1('UIManager')]
    0002  SELF      R1 = R0[K2('SetEventLock')] (self)
    0003  LOADBOOL  R2 = false
    0004  GETUPVAL  R3 = _ENV
    0005  CALL      R0 = call(R0, 0 args, 3 rets)
    0006  SETTABUP  self[K3('m_progressSeq')] = K4(nil)
    0007  GETTABUP  R0 = _ENV[K5('Table')]
    0008  GETTABLE  R0 = R0[K6('IsEmpty')]
    0009  GETTABUP  R1 = self[K7('m_progressRewards')]
    0010  CALL      R0 = call(R0, 1 args, 1 rets)
    0011  TEST      if not R0 then   -> -131058
    0012  JMP       (jump)   -> 25
    0013  CLOSURE   R0 = closure proto0
    0014  GETTABUP  R1 = _ENV[K8('RewardWindow')]
    0015  GETTABLE  R1 = R1[K9('Open')]
    0016  GETTABUP  R2 = self[K7('m_progressRewards')]
    0017  LOADNIL   R3..R3 = nil
    0018  LOADBOOL  R4 = true
    0019  GETTABUP  R5 = _ENV[K10('ERewardScene')]
    0020  GETTABLE  R5 = R5[K11('Other')]
    0021  LOADNIL   R6..R6 = nil
    0022  MOVE      R7 = R0
    0023  CALL      R1 = call(R1, 0 args, 6 rets)
    0024  JMP       (jump)   -> 28
    0025  GETUPVAL  R0 = _ENV
    0026  SELF      R1 = R0[K12('OnSuccessAnimEnd')] (self)
    0027  CALL      R0 = call(R0, 0 args, 1 rets)
    0028  RETURN    return R0..R-1
    ; ---------- proto0 [] ----------
      ; fn ?  line 257-259 np=0 va=0 ms=2 code=4 consts=1 upvals=1 protos=0
      ;   K[0]='OnSuccessAnimEnd'
      ;   upvals: self
      0000  GETUPVAL  R0 = self
      0001  SELF      R1 = R0[K0('OnSuccessAnimEnd')] (self)
      0002  CALL      R0 = call(R0, 0 args, 1 rets)
      0003  RETURN    return R0..R-1
; ---------- proto9 [OnSuccessAnimEnd] ----------
  ; fn ?  line 269-278 np=1 va=0 ms=5 code=25 consts=8 upvals=1 protos=0
  ;   K[0]='UIUtil'
  ;   K[1]='IsEmptyComponent'
  ;   K[2]='Close'
  ;   K[3]='OnAnimationEnd'
  ;   K[4]='_IsActivityValid'
  ;   K[5]='m_model'
  ;   K[6]='IsDeadline'
  ;   K[7]='OpenNoticeWindow'
  ;   upvals: _ENV
  ;   locals: self(0-25)
  0000  GETTABUP  R1 = _ENV[K0('UIUtil')]
  0001  GETTABLE  R1 = R1[K1('IsEmptyComponent')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  TEST      if not R1 then   -> -131065
  0005  JMP       (jump)   -> 8
  0006  SELF      R2 = R0[K2('Close')] (self)
  0007  CALL      R1 = call(R1, 0 args, 1 rets)
  0008  SELF      R2 = R0[K3('OnAnimationEnd')] (self)
  0009  CALL      R1 = call(R1, 0 args, 1 rets)
  0010  SELF      R2 = R0[K4('_IsActivityValid')] (self)
  0011  CALL      R1 = call(R1, 1 args, 1 rets)
  0012  TEST      if not R1 then   -> -131058
  0013  JMP       (jump)   -> 24
  0014  GETTABLE  R1 = R0[K5('m_model')]
  0015  SELF      R2 = R1[K6('IsDeadline')] (self)
  0016  CALL      R1 = call(R1, 1 args, 1 rets)
  0017  TEST      if not R1 then   -> -131052
  0018  JMP       (jump)   -> 24
  0019  GETTABLE  R1 = R0[K5('m_model')]
  0020  SELF      R2 = R1[K7('OpenNoticeWindow')] (self)
  0021  LOADBOOL  R3 = true
  0022  LOADBOOL  R4 = true
  0023  CALL      R1 = call(R1, 0 args, 3 rets)
  0024  RETURN    return R0..R-1
; ---------- proto10 [OnAnimationEnd] ----------
  ; fn ?  line 280-285 np=1 va=0 ms=3 code=10 consts=5 upvals=1 protos=0
  ;   K[0]='m_bPlayAnim'
  ;   K[1]=false
  ;   K[2]='UIUtil'
  ;   K[3]='IsEmptyComponent'
  ;   K[4]='_CloseWhenNotValid'
  ;   upvals: _ENV
  ;   locals: self(0-10)
  0000  SETTABLE  R0[K0('m_bPlayAnim')] = K1(false)
  0001  GETTABUP  R1 = _ENV[K2('UIUtil')]
  0002  GETTABLE  R1 = R1[K3('IsEmptyComponent')]
  0003  MOVE      R2 = R0
  0004  CALL      R1 = call(R1, 1 args, 1 rets)
  0005  TEST      if not R1 then   -> -131064
  0006  JMP       (jump)   -> 9
  0007  SELF      R2 = R0[K4('_CloseWhenNotValid')] (self)
  0008  CALL      R1 = call(R1, 0 args, 1 rets)
  0009  RETURN    return R0..R-1
; ---------- proto11 [OnHelpBtnClick] ----------
  ; fn ?  line 287-289 np=1 va=0 ms=5 code=7 consts=4 upvals=0 protos=0
  ;   K[0]='m_model'
  ;   K[1]='OpenWindow'
  ;   K[2]='m_activityDefinition'
  ;   K[3]='HelpWindowPrefabName'
  ;   locals: self(0-7)
  0000  GETTABLE  R1 = R0[K0('m_model')]
  0001  SELF      R2 = R1[K1('OpenWindow')] (self)
  0002  GETTABLE  R3 = R0[K2('m_activityDefinition')]
  0003  GETTABLE  R3 = R3[K3('HelpWindowPrefabName')]
  0004  LOADBOOL  R4 = false
  0005  CALL      R1 = call(R1, 0 args, 3 rets)
  0006  RETURN    return R0..R-1
; ---------- proto12 [OnTokenBtnClicked] ----------
  ; fn ?  line 291-294 np=1 va=0 ms=8 code=18 consts=10 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='GameTextModel'
  ;   K[2]='GetText'
  ;   K[3]='progress_general_how_to_play'
  ;   K[4]='m_activityDefinition'
  ;   K[5]='TokenImageName'
  ;   K[6]='m_tokenTip'
  ;   K[7]='Show'
  ;   K[8]='m_model'
  ;   K[9]='GetTokenHelper'
  ;   upvals: _ENV
  ;   locals: self(0-18), strDesc(9-18)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('GameTextModel')]
  0002  SELF      R2 = R1[K2('GetText')] (self)
  0003  LOADK     R3 = K3 'progress_general_how_to_play'
  0004  GETTABLE  R4 = R0[K4('m_activityDefinition')]
  0005  GETTABLE  R4 = R4[K5('TokenImageName')]
  0006  GETTABLE  R5 = R0[K4('m_activityDefinition')]
  0007  GETTABLE  R5 = R5[K5('TokenImageName')]
  0008  CALL      R1 = call(R1, 1 args, 4 rets)
  0009  GETTABLE  R2 = R0[K6('m_tokenTip')]
  0010  SELF      R3 = R2[K7('Show')] (self)
  0011  LOADNIL   R4..R4 = nil
  0012  GETTABLE  R6 = R0[K8('m_model')]
  0013  SELF      R7 = R6[K9('GetTokenHelper')] (self)
  0014  CALL      R6 = call(R6, 1 args, 1 rets)
  0015  MOVE      R7 = R0
  0016  CALL      R2 = call(R2, 0 args, 5 rets)
  0017  RETURN    return R0..R-1
; ---------- proto13 [OnSliderClicked] ----------
  ; fn ?  line 296-298 np=1 va=0 ms=5 code=7 consts=4 upvals=0 protos=0
  ;   K[0]='m_model'
  ;   K[1]='OpenWindow'
  ;   K[2]='m_activityDefinition'
  ;   K[3]='RewardProgressWindowPrefabName'
  ;   locals: self(0-7)
  0000  GETTABLE  R1 = R0[K0('m_model')]
  0001  SELF      R2 = R1[K1('OpenWindow')] (self)
  0002  GETTABLE  R3 = R0[K2('m_activityDefinition')]
  0003  GETTABLE  R3 = R3[K3('RewardProgressWindowPrefabName')]
  0004  LOADBOOL  R4 = false
  0005  CALL      R1 = call(R1, 0 args, 3 rets)
  0006  RETURN    return R0..R-1
; ---------- proto14 [GetHudButton] ----------
  ; fn ?  line 300-302 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_hudSlider'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_hudSlider')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto15 [GetCompetitorTutorialRect] ----------
  ; fn ?  line 304-306 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_tutorialRect1'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_tutorialRect1')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto16 [GetRankRewardTutorialRect] ----------
  ; fn ?  line 308-310 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_tutorialRect2'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_tutorialRect2')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto17 [GetProgressRewardTutorialRect] ----------
  ; fn ?  line 312-314 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_tutorialRect3'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_tutorialRect3')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto18 [GetMultipleTutorialRect] ----------
  ; fn ?  line 316-318 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_tutorialRect4'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_tutorialRect4')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto19 [IsFromSignUp] ----------
  ; fn ?  line 320-322 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_bFromSignUp'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_bFromSignUp')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto20 [SetRewardClickable] ----------
  ; fn ?  line 324-326 np=2 va=0 ms=3 code=3 consts=2 upvals=0 protos=0
  ;   K[0]='m_rewardCanvasGroup'
  ;   K[1]='blocksRaycasts'
  ;   locals: self(0-3), bEnable(0-3)
  0000  GETTABLE  R2 = R0[K0('m_rewardCanvasGroup')]
  0001  SETTABLE  R2[K1('blocksRaycasts')] = R1
  0002  RETURN    return R0..R-1
; ---------- proto21 [TestSuccessRound] ----------
  ; fn ?  line 329-337 np=1 va=0 ms=3 code=12 consts=5 upvals=1 protos=0
  ;   K[0]='GameConfig'
  ;   K[1]='IsTestMode'
  ;   K[2]='Close'
  ;   K[3]='m_model'
  ;   K[4]='TestSuccessRound'
  ;   upvals: _ENV
  ;   locals: self(0-12)
  0000  GETTABUP  R1 = _ENV[K0('GameConfig')]
  0001  GETTABLE  R1 = R1[K1('IsTestMode')]
  0002  CALL      R1 = call(R1, 1 args, 0 rets)
  0003  TEST      if not R1 then   -> -131066
  0004  JMP       (jump)   -> 6
  0005  RETURN    return R0..R-1
  0006  SELF      R2 = R0[K2('Close')] (self)
  0007  CALL      R1 = call(R1, 0 args, 1 rets)
  0008  GETTABLE  R1 = R0[K3('m_model')]
  0009  SELF      R2 = R1[K4('TestSuccessRound')] (self)
  0010  CALL      R1 = call(R1, 0 args, 1 rets)
  0011  RETURN    return R0..R-1
; ---------- proto22 [TestFailRound] ----------
  ; fn ?  line 339-347 np=1 va=0 ms=3 code=12 consts=5 upvals=1 protos=0
  ;   K[0]='GameConfig'
  ;   K[1]='IsTestMode'
  ;   K[2]='Close'
  ;   K[3]='m_model'
  ;   K[4]='TestFailRound'
  ;   upvals: _ENV
  ;   locals: self(0-12)
  0000  GETTABUP  R1 = _ENV[K0('GameConfig')]
  0001  GETTABLE  R1 = R1[K1('IsTestMode')]
  0002  CALL      R1 = call(R1, 1 args, 0 rets)
  0003  TEST      if not R1 then   -> -131066
  0004  JMP       (jump)   -> 6
  0005  RETURN    return R0..R-1
  0006  SELF      R2 = R0[K2('Close')] (self)
  0007  CALL      R1 = call(R1, 0 args, 1 rets)
  0008  GETTABLE  R1 = R0[K3('m_model')]
  0009  SELF      R2 = R1[K4('TestFailRound')] (self)
  0010  CALL      R1 = call(R1, 0 args, 1 rets)
  0011  RETURN    return R0..R-1
; ---------- proto23 [Init] ----------
  ; fn ?  line 355-361 np=2 va=0 ms=11 code=31 consts=16 upvals=1 protos=0
  ;   K[0]='m_playerData'
  ;   K[1]='IsMySelf'
  ;   K[2]='ImageFileConfigName'
  ;   K[3]='icecombo_yellow_frame'
  ;   K[4]='icecombo_purple_frame'
  ;   K[5]='m_userAvatar'
  ;   K[6]='SetAvatar'
  ;   K[7]='GetIcon'
  ;   K[8]='GetBadge'
  ;   K[9]='GetFrame'
  ;   K[10]='m_nameText'
  ;   K[11]='text'
  ;   K[12]='GetUserName'
  ;   K[13]='m_animator'
  ;   K[14]='enabled'
  ;   K[15]=false
  ;   upvals: _ENV
  ;   locals: self(0-31), playerData(0-31), frameImgKey(12-31)
  0000  SETTABLE  R0[K0('m_playerData')] = R1
  0001  GETTABLE  R2 = R0[K0('m_playerData')]
  0002  SELF      R3 = R2[K1('IsMySelf')] (self)
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  TEST      if not R2 then   -> -131066
  0005  JMP       (jump)   -> 10
  0006  GETTABUP  R2 = _ENV[K2('ImageFileConfigName')]
  0007  GETTABLE  R2 = R2[K3('icecombo_yellow_frame')]
  0008  TEST      if not R2 then   -> -131061
  0009  JMP       (jump)   -> 12
  0010  GETTABUP  R2 = _ENV[K2('ImageFileConfigName')]
  0011  GETTABLE  R2 = R2[K4('icecombo_purple_frame')]
  0012  GETTABLE  R3 = R0[K5('m_userAvatar')]
  0013  SELF      R4 = R3[K6('SetAvatar')] (self)
  0014  MOVE      R5 = R0
  0015  SELF      R7 = R1[K7('GetIcon')] (self)
  0016  CALL      R6 = call(R6, 1 args, 1 rets)
  0017  SELF      R8 = R1[K8('GetBadge')] (self)
  0018  CALL      R7 = call(R7, 1 args, 1 rets)
  0019  SELF      R9 = R1[K9('GetFrame')] (self)
  0020  CALL      R8 = call(R8, 1 args, 1 rets)
  0021  SELF      R10 = R1[K1('IsMySelf')] (self)
  0022  CALL      R9 = call(R9, -1 args, 1 rets)
  0023  CALL      R3 = call(R3, 0 args, -1 rets)
  0024  GETTABLE  R3 = R0[K10('m_nameText')]
  0025  SELF      R5 = R1[K12('GetUserName')] (self)
  0026  CALL      R4 = call(R4, 1 args, 1 rets)
  0027  SETTABLE  R3[K11('text')] = R4
  0028  GETTABLE  R3 = R0[K13('m_animator')]
  0029  SETTABLE  R3[K14('enabled')] = K15(false)
  0030  RETURN    return R0..R-1
; ---------- proto24 [OnDestroy] ----------
  ; fn ?  line 363-365 np=1 va=0 ms=3 code=5 consts=2 upvals=1 protos=0
  ;   K[0]='Scheduler'
  ;   K[1]='UnscheduleTarget'
  ;   upvals: _ENV
  ;   locals: self(0-5)
  0000  GETTABUP  R1 = _ENV[K0('Scheduler')]
  0001  GETTABLE  R1 = R1[K1('UnscheduleTarget')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  RETURN    return R0..R-1
; ---------- proto25 [PlayEnterAnim] ----------
  ; fn ?  line 367-373 np=2 va=0 ms=6 code=10 consts=5 upvals=1 protos=1
  ;   K[0]='m_animator'
  ;   K[1]='enabled'
  ;   K[2]=true
  ;   K[3]='DelayExecuteFuncInView'
  ;   K[4]=0
  ;   upvals: _ENV
  ;   locals: self(0-10), delay(0-10)
  0000  GETTABLE  R2 = R0[K0('m_animator')]
  0001  SETTABLE  R2[K1('enabled')] = K2(true)
  0002  GETTABUP  R2 = _ENV[K3('DelayExecuteFuncInView')]
  0003  CLOSURE   R3 = closure proto0
  0004  TESTSET   if R1 then R4   -> -130553
  0005  JMP       (jump)   -> 7
  0006  LOADK     R4 = K4 0
  0007  MOVE      R5 = R0
  0008  CALL      R2 = call(R2, 0 args, 3 rets)
  0009  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 370-372 np=0 va=0 ms=3 code=5 consts=3 upvals=1 protos=0
    ;   K[0]='m_animator'
    ;   K[1]='SetTrigger'
    ;   K[2]='Appear'
    ;   upvals: self
    0000  GETTABUP  R0 = self[K0('m_animator')]
    0001  SELF      R1 = R0[K1('SetTrigger')] (self)
    0002  LOADK     R2 = K2 'Appear'
    0003  CALL      R0 = call(R0, 0 args, 2 rets)
    0004  RETURN    return R0..R-1
; ---------- proto26 [Init] ----------
  ; fn ?  line 384-400 np=4 va=0 ms=8 code=42 consts=21 upvals=0 protos=0
  ;   K[0]='m_model'
  ;   K[1]='m_levelConfig'
  ;   K[2]='m_playerData'
  ;   K[3]='m_bMySelf'
  ;   K[4]='IsMySelf'
  ;   K[5]='m_targetScore'
  ;   K[6]='token_num'
  ;   K[7]='m_lastScore'
  ;   K[8]='GetLastScore'
  ;   K[9]='m_curScore'
  ;   K[10]='GetCurScore'
  ;   K[11]='GetGapTime'
  ;   K[12]='m_rank'
  ;   K[13]='GetRank'
  ;   K[14]='m_rewardNum'
  ;   K[15]='score_rwd'
  ;   K[16]=0
  ;   K[17]=nil
  ;   K[18]=1
  ;   K[19]='m_bHasReward'
  ;   K[20]='_InitView'
  ;   locals: self(0-42), model(0-42), playerData(0-42), levelConfig(0-42)
  0000  SETTABLE  R0[K0('m_model')] = R1
  0001  SETTABLE  R0[K1('m_levelConfig')] = R3
  0002  SETTABLE  R0[K2('m_playerData')] = R2
  0003  SELF      R5 = R2[K4('IsMySelf')] (self)
  0004  CALL      R4 = call(R4, 1 args, 1 rets)
  0005  SETTABLE  R0[K3('m_bMySelf')] = R4
  0006  GETTABLE  R4 = R3[K6('token_num')]
  0007  SETTABLE  R0[K5('m_targetScore')] = R4
  0008  SELF      R5 = R2[K8('GetLastScore')] (self)
  0009  CALL      R4 = call(R4, 1 args, 1 rets)
  0010  SETTABLE  R0[K7('m_lastScore')] = R4
  0011  SELF      R5 = R2[K10('GetCurScore')] (self)
  0012  SELF      R7 = R1[K11('GetGapTime')] (self)
  0013  CALL      R6 = call(R6, -1 args, 1 rets)
  0014  CALL      R4 = call(R4, 1 args, -1 rets)
  0015  SETTABLE  R0[K9('m_curScore')] = R4
  0016  SELF      R5 = R2[K13('GetRank')] (self)
  0017  CALL      R4 = call(R4, 1 args, 1 rets)
  0018  SETTABLE  R0[K12('m_rank')] = R4
  0019  GETTABLE  R4 = R3[K15('score_rwd')]
  0020  GETTABLE  R5 = R0[K12('m_rank')]
  0021  GETTABLE  R4 = R4[R5]
  0022  TEST      if not R4 then   -> -131047
  0023  JMP       (jump)   -> 25
  0024  LOADK     R4 = K16 0
  0025  SETTABLE  R0[K14('m_rewardNum')] = R4
  0026  GETTABLE  R4 = R0[K5('m_targetScore')]
  0027  EQ        if R1 eq K17(nil)   -> -128722
  0028  JMP       (jump)   -> 32
  0029  GETTABLE  R4 = R0[K5('m_targetScore')]
  0030  EQ        if R0 eq K16(0)   -> -128720
  0031  JMP       (jump)   -> 33
  0032  SETTABLE  R0[K5('m_targetScore')] = K18(1)
  0033  GETTABLE  R4 = R0[K14('m_rewardNum')]
  0034  LT        if R1 lt R4   -> 8232
  0035  JMP       (jump)   -> 37
  0036  LOADBOOL  R4 = false
  0037  LOADBOOL  R4 = true
  0038  SETTABLE  R0[K19('m_bHasReward')] = R4
  0039  SELF      R5 = R0[K20('_InitView')] (self)
  0040  CALL      R4 = call(R4, 0 args, 1 rets)
  0041  RETURN    return R0..R-1
; ---------- proto27 [GetRank] ----------
  ; fn ?  line 402-404 np=1 va=0 ms=2 code=6 consts=2 upvals=0 protos=0
  ;   K[0]='m_rank'
  ;   K[1]=0
  ;   locals: self(0-6)
  0000  GETTABLE  R1 = R0[K0('m_rank')]
  0001  TEST      if not R1 then   -> -131068
  0002  JMP       (jump)   -> 4
  0003  LOADK     R1 = K1 0
  0004  RETURN    return R1..R0
  0005  RETURN    return R0..R-1
; ---------- proto28 [OnDestroy] ----------
  ; fn ?  line 406-408 np=1 va=0 ms=3 code=5 consts=2 upvals=1 protos=0
  ;   K[0]='Scheduler'
  ;   K[1]='UnscheduleTarget'
  ;   upvals: _ENV
  ;   locals: self(0-5)
  0000  GETTABUP  R1 = _ENV[K0('Scheduler')]
  0001  GETTABLE  R1 = R1[K1('UnscheduleTarget')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  RETURN    return R0..R-1
; ---------- proto29 [_InitView] ----------
  ; fn ?  line 410-420 np=1 va=0 ms=5 code=43 consts=22 upvals=1 protos=0
  ;   K[0]='m_iconImg'
  ;   K[1]='sprite'
  ;   K[2]='m_bMySelf'
  ;   K[3]='m_drillSprite2'
  ;   K[4]='m_drillSprite1'
  ;   K[5]='m_tokenNumOutline'
  ;   K[6]='outlineColor'
  ;   K[7]='UIUtil'
  ;   K[8]='ConvertHexColor2CSColor'
  ;   K[9]='cc5b00'
  ;   K[10]='9e20d3'
  ;   K[11]='m_rewardNumText'
  ;   K[12]='text'
  ;   K[13]='tostring'
  ;   K[14]='m_rewardNum'
  ;   K[15]='m_lastScore'
  ;   K[16]='UpdateContentByScore'
  ;   K[17]='UpdateEndState'
  ;   K[18]='m_targetScore'
  ;   K[19]='m_animator'
  ;   K[20]='enabled'
  ;   K[21]=false
  ;   upvals: _ENV
  ;   locals: self(0-43), lastScore(30-43)
  0000  GETTABLE  R1 = R0[K0('m_iconImg')]
  0001  GETTABLE  R2 = R0[K2('m_bMySelf')]
  0002  TEST      if not R2 then   -> -131068
  0003  JMP       (jump)   -> 7
  0004  GETTABLE  R2 = R0[K3('m_drillSprite2')]
  0005  TEST      if not R2 then   -> -131064
  0006  JMP       (jump)   -> 8
  0007  GETTABLE  R2 = R0[K4('m_drillSprite1')]
  0008  SETTABLE  R1[K1('sprite')] = R2
  0009  GETTABLE  R1 = R0[K5('m_tokenNumOutline')]
  0010  GETTABLE  R2 = R0[K2('m_bMySelf')]
  0011  TEST      if not R2 then   -> -131059
  0012  JMP       (jump)   -> 19
  0013  GETTABUP  R2 = _ENV[K7('UIUtil')]
  0014  GETTABLE  R2 = R2[K8('ConvertHexColor2CSColor')]
  0015  LOADK     R3 = K9 'cc5b00'
  0016  CALL      R2 = call(R2, 1 args, 1 rets)
  0017  TEST      if not R2 then   -> -131052
  0018  JMP       (jump)   -> 23
  0019  GETTABUP  R2 = _ENV[K7('UIUtil')]
  0020  GETTABLE  R2 = R2[K8('ConvertHexColor2CSColor')]
  0021  LOADK     R3 = K10 '9e20d3'
  0022  CALL      R2 = call(R2, 1 args, 1 rets)
  0023  SETTABLE  R1[K6('outlineColor')] = R2
  0024  GETTABLE  R1 = R0[K11('m_rewardNumText')]
  0025  GETTABUP  R2 = _ENV[K13('tostring')]
  0026  GETTABLE  R3 = R0[K14('m_rewardNum')]
  0027  CALL      R2 = call(R2, 1 args, 1 rets)
  0028  SETTABLE  R1[K12('text')] = R2
  0029  GETTABLE  R1 = R0[K15('m_lastScore')]
  0030  SELF      R3 = R0[K16('UpdateContentByScore')] (self)
  0031  MOVE      R4 = R0
  0032  CALL      R2 = call(R2, 0 args, 2 rets)
  0033  SELF      R3 = R0[K17('UpdateEndState')] (self)
  0034  GETTABLE  R4 = R0[K18('m_targetScore')]
  0035  LE        if R1 le R1   -> -128986
  0036  JMP       (jump)   -> 38
  0037  LOADBOOL  R4 = false
  0038  LOADBOOL  R4 = true
  0039  CALL      R2 = call(R2, 0 args, 2 rets)
  0040  GETTABLE  R2 = R0[K19('m_animator')]
  0041  SETTABLE  R2[K20('enabled')] = K21(false)
  0042  RETURN    return R0..R-1
; ---------- proto30 [PlayEnterAnim] ----------
  ; fn ?  line 422-428 np=2 va=0 ms=6 code=10 consts=5 upvals=1 protos=1
  ;   K[0]='m_animator'
  ;   K[1]='enabled'
  ;   K[2]=true
  ;   K[3]='DelayExecuteFuncInView'
  ;   K[4]=0
  ;   upvals: _ENV
  ;   locals: self(0-10), delay(0-10)
  0000  GETTABLE  R2 = R0[K0('m_animator')]
  0001  SETTABLE  R2[K1('enabled')] = K2(true)
  0002  GETTABUP  R2 = _ENV[K3('DelayExecuteFuncInView')]
  0003  CLOSURE   R3 = closure proto0
  0004  TESTSET   if R1 then R4   -> -130553
  0005  JMP       (jump)   -> 7
  0006  LOADK     R4 = K4 0
  0007  MOVE      R5 = R0
  0008  CALL      R2 = call(R2, 0 args, 3 rets)
  0009  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 425-427 np=0 va=0 ms=3 code=5 consts=3 upvals=1 protos=0
    ;   K[0]='m_animator'
    ;   K[1]='SetTrigger'
    ;   K[2]='Appear'
    ;   upvals: self
    0000  GETTABUP  R0 = self[K0('m_animator')]
    0001  SELF      R1 = R0[K1('SetTrigger')] (self)
    0002  LOADK     R2 = K2 'Appear'
    0003  CALL      R0 = call(R0, 0 args, 2 rets)
    0004  RETURN    return R0..R-1
; ---------- proto31 [UpdateContentByScore] ----------
  ; fn ?  line 431-434 np=3 va=0 ms=7 code=8 consts=2 upvals=0 protos=0
  ;   K[0]='UpdateTokenNumText'
  ;   K[1]='UpdateMoveRectByScore'
  ;   locals: self(0-8), score(0-8), endScore(0-8)
  0000  SELF      R4 = R0[K0('UpdateTokenNumText')] (self)
  0001  MOVE      R5 = R0
  0002  CALL      R3 = call(R3, 0 args, 2 rets)
  0003  SELF      R4 = R0[K1('UpdateMoveRectByScore')] (self)
  0004  MOVE      R5 = R0
  0005  MOVE      R6 = R0
  0006  CALL      R3 = call(R3, 0 args, 3 rets)
  0007  RETURN    return R0..R-1
; ---------- proto32 [UpdateTokenNumText] ----------
  ; fn ?  line 436-438 np=2 va=0 ms=6 code=9 consts=6 upvals=1 protos=0
  ;   K[0]='m_tokenNumText'
  ;   K[1]='text'
  ;   K[2]='tostring'
  ;   K[3]='math'
  ;   K[4]='floor'
  ;   K[5]=0.5
  ;   upvals: _ENV
  ;   locals: self(0-9), score(0-9)
  0000  GETTABLE  R2 = R0[K0('m_tokenNumText')]
  0001  GETTABUP  R3 = _ENV[K2('tostring')]
  0002  GETTABUP  R4 = _ENV[K3('math')]
  0003  GETTABLE  R4 = R4[K4('floor')]
  0004  ADD       R5 = K5(0.5) add R1
  0005  CALL      R4 = call(R4, -1 args, 1 rets)
  0006  CALL      R3 = call(R3, 1 args, -1 rets)
  0007  SETTABLE  R2[K1('text')] = R3
  0008  RETURN    return R0..R-1
; ---------- proto33 [UpdateMoveRectByScore] ----------
  ; fn ?  line 442-444 np=3 va=0 ms=10 code=10 consts=4 upvals=1 protos=0
  ;   K[0]='UIUtil'
  ;   K[1]='SetSizeDelta'
  ;   K[2]='m_moveRect'
  ;   K[3]='GetTargetHeightByScore'
  ;   upvals: _ENV
  ;   locals: self(0-10), score(0-10), endScore(0-10)
  0000  GETTABUP  R3 = _ENV[K0('UIUtil')]
  0001  GETTABLE  R3 = R3[K1('SetSizeDelta')]
  0002  GETTABLE  R4 = R0[K2('m_moveRect')]
  0003  LOADNIL   R5..R5 = nil
  0004  SELF      R7 = R0[K3('GetTargetHeightByScore')] (self)
  0005  MOVE      R8 = R0
  0006  MOVE      R9 = R0
  0007  CALL      R6 = call(R6, -1 args, 3 rets)
  0008  CALL      R3 = call(R3, 0 args, -1 rets)
  0009  RETURN    return R0..R-1
; ---------- proto34 [GetTargetHeightByScore] ----------
  ; fn ?  line 446-451 np=3 va=0 ms=5 code=16 consts=4 upvals=0 protos=0
  ;   K[0]='m_targetScore'
  ;   K[1]=485
  ;   K[2]=663
  ;   K[3]=125
  ;   locals: self(0-16), score(0-16), endScore(0-16), totalHeight(10-16)
  0000  TEST      if not R2 then   -> -131069
  0001  JMP       (jump)   -> 3
  0002  MOVE      R2 = R0
  0003  GETTABLE  R3 = R0[K0('m_targetScore')]
  0004  LT        if R0 lt R3   -> -130039
  0005  JMP       (jump)   -> 9
  0006  LOADK     R3 = K1 485
  0007  TEST      if not R3 then   -> -131062
  0008  JMP       (jump)   -> 10
  0009  LOADK     R3 = K2 663
  0010  GETTABLE  R4 = R0[K0('m_targetScore')]
  0011  DIV       R4 = R4 div R1
  0012  MUL       R4 = R3 mul R4
  0013  ADD       R4 = R4 add K3(125)
  0014  RETURN    return R4..R3
  0015  RETURN    return R0..R-1
; ---------- proto35 [UpdateEndState] ----------
  ; fn ?  line 453-463 np=3 va=0 ms=10 code=50 consts=12 upvals=1 protos=0
  ;   K[0]='UIUtil'
  ;   K[1]='SetActive'
  ;   K[2]='m_trackBgGo'
  ;   K[3]='m_rank'
  ;   K[4]=3
  ;   K[5]=1
  ;   K[6]='m_completeBgGo'
  ;   K[7]='m_rewardGo'
  ;   K[8]='m_bHasReward'
  ;   K[9]='m_checkGo'
  ;   K[10]='m_tokenNumText'
  ;   K[11]='gameObject'
  ;   upvals: _ENV
  ;   locals: self(0-50), bEnd(0-50), needAnim(0-50), (for index)(14-30), (for limit)(14-30), (for step)(14-30), i(15-29)
  0000  GETTABUP  R3 = _ENV[K0('UIUtil')]
  0001  GETTABLE  R3 = R3[K1('SetActive')]
  0002  GETTABLE  R4 = R0[K2('m_trackBgGo')]
  0003  TEST      if not R1 then   -> -131067
  0004  JMP       (jump)   -> 9
  0005  GETTABLE  R5 = R0[K3('m_rank')]
  0006  LT        if R1 lt R5   -> 2061
  0007  JMP       (jump)   -> 9
  0008  LOADBOOL  R5 = false
  0009  LOADBOOL  R5 = true
  0010  CALL      R3 = call(R3, 0 args, 2 rets)
  0011  LOADK     R3 = K5 1
  0012  LOADK     R4 = K4 3
  0013  LOADK     R5 = K5 1
  0014  FORPREP   forprep R3(sBx=14)   -> 29
  0015  GETTABUP  R7 = _ENV[K0('UIUtil')]
  0016  GETTABLE  R7 = R7[K1('SetActive')]
  0017  LOADK     R8 = K6 'm_completeBgGo'
  0018  MOVE      R9 = R0
  0019  CONCAT    R8 = concat(R8..R8)
  0020  GETTABLE  R8 = R0[R8]
  0021  TESTSET   if R0 then R9   -> -130537
  0022  JMP       (jump)   -> 28
  0023  GETTABLE  R9 = R0[K3('m_rank')]
  0024  EQ        if R1 eq R6   -> -126432
  0025  JMP       (jump)   -> 27
  0026  LOADBOOL  R9 = false
  0027  LOADBOOL  R9 = true
  0028  CALL      R7 = call(R7, 0 args, 2 rets)
  0029  FORLOOP   forloop R3(sBx=-15)   -> 15
  0030  GETTABUP  R3 = _ENV[K0('UIUtil')]
  0031  GETTABLE  R3 = R3[K1('SetActive')]
  0032  GETTABLE  R4 = R0[K7('m_rewardGo')]
  0033  GETTABLE  R5 = R0[K8('m_bHasReward')]
  0034  TEST      if not R5 then   -> -131036
  0035  JMP       (jump)   -> 37
  0036  NOT       R5 = not R0
  0037  CALL      R3 = call(R3, 0 args, 2 rets)
  0038  GETTABUP  R3 = _ENV[K0('UIUtil')]
  0039  GETTABLE  R3 = R3[K1('SetActive')]
  0040  GETTABLE  R4 = R0[K9('m_checkGo')]
  0041  MOVE      R5 = R0
  0042  CALL      R3 = call(R3, 0 args, 2 rets)
  0043  GETTABUP  R3 = _ENV[K0('UIUtil')]
  0044  GETTABLE  R3 = R3[K1('SetActive')]
  0045  GETTABLE  R4 = R0[K10('m_tokenNumText')]
  0046  GETTABLE  R4 = R4[K11('gameObject')]
  0047  NOT       R5 = not R0
  0048  CALL      R3 = call(R3, 0 args, 2 rets)
  0049  RETURN    return R0..R-1
; ---------- proto36 [NeedPlayAnimation] ----------
  ; fn ?  line 465-467 np=1 va=0 ms=3 code=8 consts=2 upvals=0 protos=0
  ;   K[0]='m_curScore'
  ;   K[1]='m_lastScore'
  ;   locals: self(0-8)
  0000  GETTABLE  R1 = R0[K0('m_curScore')]
  0001  GETTABLE  R2 = R0[K1('m_lastScore')]
  0002  LT        if R1 lt R1   -> -130043
  0003  JMP       (jump)   -> 5
  0004  LOADBOOL  R1 = false
  0005  LOADBOOL  R1 = true
  0006  RETURN    return R1..R0
  0007  RETURN    return R0..R-1
; ---------- proto37 [PlayMoveAnimation] ----------
  ; fn ?  line 469-532 np=2 va=0 ms=14 code=71 consts=25 upvals=1 protos=6
  ;   K[0]='NeedPlayAnimation'
  ;   K[1]='m_vibrateFunc'
  ;   K[2]='m_lastScore'
  ;   K[3]='m_curScore'
  ;   K[4]='DOTween'
  ;   K[5]='Sequence'
  ;   K[6]='AppendInterval'
  ;   K[7]=0
  ;   K[8]='AppendCallback'
  ;   K[9]=0.25
  ;   K[10]=1
  ;   K[11]='GetTargetHeightByScore'
  ;   K[12]='Append'
  ;   K[13]='DOVirtual'
  ;   K[14]='Float'
  ;   K[15]='SetEase'
  ;   K[16]='Ease'
  ;   K[17]='Linear'
  ;   K[18]='Join'
  ;   K[19]='m_moveRect'
  ;   K[20]='DOSizeDelta'
  ;   K[21]='Vector2'
  ;   K[22]='sizeDelta'
  ;   K[23]='x'
  ;   K[24]='m_targetScore'
  ;   upvals: _ENV
  ;   locals: self(0-71), delay(0-71), lastScore(8-71), curScore(9-71), seq(12-71), moveDuration(27-71), targetHeight(31-71)
  0000  SELF      R3 = R0[K0('NeedPlayAnimation')] (self)
  0001  CALL      R2 = call(R2, 1 args, 1 rets)
  0002  TEST      if not R2 then   -> -131067
  0003  JMP       (jump)   -> 5
  0004  RETURN    return R0..R-1
  0005  CLOSURE   R2 = closure proto0
  0006  SETTABLE  R0[K1('m_vibrateFunc')] = R2
  0007  GETTABLE  R2 = R0[K2('m_lastScore')]
  0008  GETTABLE  R3 = R0[K3('m_curScore')]
  0009  GETTABUP  R4 = _ENV[K4('DOTween')]
  0010  GETTABLE  R4 = R4[K5('Sequence')]
  0011  CALL      R4 = call(R4, 1 args, 0 rets)
  0012  SELF      R6 = R4[K6('AppendInterval')] (self)
  0013  TESTSET   if R1 then R7   -> -130544
  0014  JMP       (jump)   -> 16
  0015  LOADK     R7 = K7 0
  0016  CALL      R5 = call(R5, 0 args, 2 rets)
  0017  SELF      R6 = R4[K8('AppendCallback')] (self)
  0018  CLOSURE   R7 = closure proto1
  0019  CALL      R5 = call(R5, 0 args, 2 rets)
  0020  SELF      R6 = R4[K6('AppendInterval')] (self)
  0021  LOADK     R7 = K9 0.25
  0022  CALL      R5 = call(R5, 0 args, 2 rets)
  0023  SELF      R6 = R4[K8('AppendCallback')] (self)
  0024  CLOSURE   R7 = closure proto2
  0025  CALL      R5 = call(R5, 0 args, 2 rets)
  0026  LOADK     R5 = K10 1
  0027  SELF      R7 = R0[K11('GetTargetHeightByScore')] (self)
  0028  MOVE      R8 = R0
  0029  MOVE      R9 = R0
  0030  CALL      R6 = call(R6, 1 args, 3 rets)
  0031  SELF      R8 = R4[K12('Append')] (self)
  0032  GETTABUP  R9 = _ENV[K13('DOVirtual')]
  0033  GETTABLE  R9 = R9[K14('Float')]
  0034  MOVE      R10 = R0
  0035  MOVE      R11 = R0
  0036  MOVE      R12 = R0
  0037  CLOSURE   R13 = closure proto3
  0038  CALL      R9 = call(R9, 1 args, 4 rets)
  0039  SELF      R10 = R9[K15('SetEase')] (self)
  0040  GETTABUP  R11 = _ENV[K16('Ease')]
  0041  GETTABLE  R11 = R11[K17('Linear')]
  0042  CALL      R9 = call(R9, -1 args, 2 rets)
  0043  CALL      R7 = call(R7, 0 args, -1 rets)
  0044  SELF      R8 = R4[K18('Join')] (self)
  0045  GETTABLE  R9 = R0[K19('m_moveRect')]
  0046  SELF      R10 = R9[K20('DOSizeDelta')] (self)
  0047  GETTABUP  R11 = _ENV[K21('Vector2')]
  0048  GETTABLE  R12 = R0[K19('m_moveRect')]
  0049  GETTABLE  R12 = R12[K22('sizeDelta')]
  0050  GETTABLE  R12 = R12[K23('x')]
  0051  MOVE      R13 = R0
  0052  CALL      R11 = call(R11, 1 args, 2 rets)
  0053  MOVE      R12 = R0
  0054  CALL      R9 = call(R9, 1 args, 3 rets)
  0055  SELF      R10 = R9[K15('SetEase')] (self)
  0056  GETTABUP  R11 = _ENV[K16('Ease')]
  0057  GETTABLE  R11 = R11[K17('Linear')]
  0058  CALL      R9 = call(R9, -1 args, 2 rets)
  0059  CALL      R7 = call(R7, 0 args, -1 rets)
  0060  SELF      R8 = R4[K8('AppendCallback')] (self)
  0061  CLOSURE   R9 = closure proto4
  0062  CALL      R7 = call(R7, 0 args, 2 rets)
  0063  GETTABLE  R7 = R0[K24('m_targetScore')]
  0064  LE        if R0 le R3   -> -127419
  0065  JMP       (jump)   -> 69
  0066  SELF      R8 = R4[K8('AppendCallback')] (self)
  0067  CLOSURE   R9 = closure proto5
  0068  CALL      R7 = call(R7, 0 args, 2 rets)
  0069  RETURN    return R4..R3
  0070  RETURN    return R0..R-1
  ; ---------- proto0 [m_vibrateFunc] ----------
    ; fn ?  line 474-476 np=0 va=0 ms=2 code=6 consts=4 upvals=1 protos=0
    ;   K[0]='PlatformInterface'
    ;   K[1]='Vibrate'
    ;   K[2]='EVibrationType'
    ;   K[3]='Medium'
    ;   upvals: _ENV
    0000  GETTABUP  R0 = _ENV[K0('PlatformInterface')]
    0001  GETTABLE  R0 = R0[K1('Vibrate')]
    0002  GETTABUP  R1 = _ENV[K2('EVibrationType')]
    0003  GETTABLE  R1 = R1[K3('Medium')]
    0004  CALL      R0 = call(R0, 0 args, 1 rets)
    0005  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 483-485 np=0 va=0 ms=3 code=5 consts=3 upvals=1 protos=0
    ;   K[0]='m_drillAnimator'
    ;   K[1]='SetTrigger'
    ;   K[2]='Show'
    ;   upvals: self
    0000  GETTABUP  R0 = self[K0('m_drillAnimator')]
    0001  SELF      R1 = R0[K1('SetTrigger')] (self)
    0002  LOADK     R2 = K2 'Show'
    0003  CALL      R0 = call(R0, 0 args, 2 rets)
    0004  RETURN    return R0..R-1
  ; ---------- proto2 [] ----------
    ; fn ?  line 487-493 np=0 va=0 ms=4 code=20 consts=12 upvals=2 protos=0
    ;   K[0]='m_drillMoveEffect'
    ;   K[1]='Play'
    ;   K[2]='m_bMySelf'
    ;   K[3]='Scheduler'
    ;   K[4]='Schedule'
    ;   K[5]='m_vibrateFunc'
    ;   K[6]=0.1
    ;   K[7]='GM'
    ;   K[8]='AudioModel'
    ;   K[9]='PlayEffectLoop'
    ;   K[10]='AudioFileConfigName'
    ;   K[11]='SfxIceComboMove'
    ;   upvals: self, _ENV
    0000  GETTABUP  R0 = self[K0('m_drillMoveEffect')]
    0001  SELF      R1 = R0[K1('Play')] (self)
    0002  CALL      R0 = call(R0, 0 args, 1 rets)
    0003  GETTABUP  R0 = self[K2('m_bMySelf')]
    0004  TEST      if not R0 then   -> -131066
    0005  JMP       (jump)   -> 19
    0006  GETTABUP  R0 = _ENV[K3('Scheduler')]
    0007  GETTABLE  R0 = R0[K4('Schedule')]
    0008  GETTABUP  R1 = self[K5('m_vibrateFunc')]
    0009  GETUPVAL  R2 = self
    0010  LOADK     R3 = K6 0.1
    0011  CALL      R0 = call(R0, 0 args, 3 rets)
    0012  GETTABUP  R0 = _ENV[K7('GM')]
    0013  GETTABLE  R0 = R0[K8('AudioModel')]
    0014  SELF      R1 = R0[K9('PlayEffectLoop')] (self)
    0015  GETTABUP  R2 = _ENV[K10('AudioFileConfigName')]
    0016  GETTABLE  R2 = R2[K11('SfxIceComboMove')]
    0017  GETUPVAL  R3 = self
    0018  CALL      R0 = call(R0, 0 args, 3 rets)
    0019  RETURN    return R0..R-1
  ; ---------- proto3 [] ----------
    ; fn ?  line 497-499 np=1 va=0 ms=4 code=5 consts=1 upvals=1 protos=0
    ;   K[0]='UpdateTokenNumText'
    ;   upvals: self
    ;   locals: value(0-5)
    0000  GETUPVAL  R1 = self
    0001  SELF      R2 = R1[K0('UpdateTokenNumText')] (self)
    0002  MOVE      R3 = R0
    0003  CALL      R1 = call(R1, 0 args, 2 rets)
    0004  RETURN    return R0..R-1
  ; ---------- proto4 [] ----------
    ; fn ?  line 501-508 np=0 va=0 ms=4 code=24 consts=13 upvals=2 protos=0
    ;   K[0]='m_drillMoveEffect'
    ;   K[1]='Stop'
    ;   K[2]='ParticleSystemStopBehavior'
    ;   K[3]='StopEmitting'
    ;   K[4]='m_drillAnimator'
    ;   K[5]='SetTrigger'
    ;   K[6]='m_bMySelf'
    ;   K[7]='Scheduler'
    ;   K[8]='Unschedule'
    ;   K[9]='m_vibrateFunc'
    ;   K[10]='GM'
    ;   K[11]='AudioModel'
    ;   K[12]='StopEffectLoop'
    ;   upvals: self, _ENV
    0000  GETTABUP  R0 = self[K0('m_drillMoveEffect')]
    0001  SELF      R1 = R0[K1('Stop')] (self)
    0002  LOADBOOL  R2 = true
    0003  GETTABUP  R3 = _ENV[K2('ParticleSystemStopBehavior')]
    0004  GETTABLE  R3 = R3[K3('StopEmitting')]
    0005  CALL      R0 = call(R0, 0 args, 3 rets)
    0006  GETTABUP  R0 = self[K4('m_drillAnimator')]
    0007  SELF      R1 = R0[K5('SetTrigger')] (self)
    0008  LOADK     R2 = K1 'Stop'
    0009  CALL      R0 = call(R0, 0 args, 2 rets)
    0010  GETTABUP  R0 = self[K6('m_bMySelf')]
    0011  TEST      if not R0 then   -> -131059
    0012  JMP       (jump)   -> 23
    0013  GETTABUP  R0 = _ENV[K7('Scheduler')]
    0014  GETTABLE  R0 = R0[K8('Unschedule')]
    0015  GETTABUP  R1 = self[K9('m_vibrateFunc')]
    0016  GETUPVAL  R2 = self
    0017  CALL      R0 = call(R0, 0 args, 2 rets)
    0018  GETTABUP  R0 = _ENV[K10('GM')]
    0019  GETTABLE  R0 = R0[K11('AudioModel')]
    0020  SELF      R1 = R0[K12('StopEffectLoop')] (self)
    0021  GETUPVAL  R2 = self
    0022  CALL      R0 = call(R0, 0 args, 2 rets)
    0023  RETURN    return R0..R-1
  ; ---------- proto5 [] ----------
    ; fn ?  line 511-528 np=0 va=0 ms=4 code=51 consts=20 upvals=2 protos=0
    ;   K[0]='UpdateEndState'
    ;   K[1]='m_bHasReward'
    ;   K[2]='m_bMySelf'
    ;   K[3]='GM'
    ;   K[4]='AudioModel'
    ;   K[5]='PlayEffect'
    ;   K[6]='AudioFileConfigName'
    ;   K[7]='SfxIceComboPlayerReach'
    ;   K[8]='PlatformInterface'
    ;   K[9]='Vibrate'
    ;   K[10]='EVibrationType'
    ;   K[11]='Heavy'
    ;   K[12]='UIUtil'
    ;   K[13]='SetActive'
    ;   K[14]='m_rewardEffectGo2'
    ;   K[15]='SfxIceComboOthersReach'
    ;   K[16]='m_rewardEffectGo'
    ;   K[17]='m_completeEffectGo'
    ;   K[18]='m_rank'
    ;   K[19]=nil
    ;   upvals: self, _ENV
    ;   locals: effectGo(43-50)
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('UpdateEndState')] (self)
    0002  LOADBOOL  R2 = true
    0003  LOADBOOL  R3 = true
    0004  CALL      R0 = call(R0, 0 args, 3 rets)
    0005  GETTABUP  R0 = self[K1('m_bHasReward')]
    0006  TEST      if not R0 then   -> -131064
    0007  JMP       (jump)   -> 50
    0008  GETTABUP  R0 = self[K2('m_bMySelf')]
    0009  TEST      if not R0 then   -> -131061
    0010  JMP       (jump)   -> 28
    0011  GETTABUP  R0 = _ENV[K3('GM')]
    0012  GETTABLE  R0 = R0[K4('AudioModel')]
    0013  SELF      R1 = R0[K5('PlayEffect')] (self)
    0014  GETTABUP  R2 = _ENV[K6('AudioFileConfigName')]
    0015  GETTABLE  R2 = R2[K7('SfxIceComboPlayerReach')]
    0016  CALL      R0 = call(R0, 0 args, 2 rets)
    0017  GETTABUP  R0 = _ENV[K8('PlatformInterface')]
    0018  GETTABLE  R0 = R0[K9('Vibrate')]
    0019  GETTABUP  R1 = _ENV[K10('EVibrationType')]
    0020  GETTABLE  R1 = R1[K11('Heavy')]
    0021  CALL      R0 = call(R0, 0 args, 1 rets)
    0022  GETTABUP  R0 = _ENV[K12('UIUtil')]
    0023  GETTABLE  R0 = R0[K13('SetActive')]
    0024  GETTABUP  R1 = self[K14('m_rewardEffectGo2')]
    0025  LOADBOOL  R2 = true
    0026  CALL      R0 = call(R0, 0 args, 2 rets)
    0027  JMP       (jump)   -> 39
    0028  GETTABUP  R0 = _ENV[K3('GM')]
    0029  GETTABLE  R0 = R0[K4('AudioModel')]
    0030  SELF      R1 = R0[K5('PlayEffect')] (self)
    0031  GETTABUP  R2 = _ENV[K6('AudioFileConfigName')]
    0032  GETTABLE  R2 = R2[K15('SfxIceComboOthersReach')]
    0033  CALL      R0 = call(R0, 0 args, 2 rets)
    0034  GETTABUP  R0 = _ENV[K12('UIUtil')]
    0035  GETTABLE  R0 = R0[K13('SetActive')]
    0036  GETTABUP  R1 = self[K16('m_rewardEffectGo')]
    0037  LOADBOOL  R2 = true
    0038  CALL      R0 = call(R0, 0 args, 2 rets)
    0039  LOADK     R0 = K17 'm_completeEffectGo'
    0040  GETTABUP  R1 = self[K18('m_rank')]
    0041  CONCAT    R0 = concat(R0..R0)
    0042  GETTABUP  R0 = self[R0]
    0043  EQ        if R1 eq K19(nil)   -> -130752
    0044  JMP       (jump)   -> 50
    0045  GETTABUP  R1 = _ENV[K12('UIUtil')]
    0046  GETTABLE  R1 = R1[K13('SetActive')]
    0047  MOVE      R2 = R0
    0048  LOADBOOL  R3 = true
    0049  CALL      R1 = call(R1, 0 args, 2 rets)
    0050  RETURN    return R0..R-1
; ---------- proto38 [Init] ----------
  ; fn ?  line 539-543 np=3 va=0 ms=6 code=6 consts=3 upvals=0 protos=0
  ;   K[0]='m_progressInfo'
  ;   K[1]='UpdateContentByScore'
  ;   K[2]='m_curScore'
  ;   locals: self(0-6), progressInfo(0-6), initScore(0-6)
  0000  SETTABLE  R0[K0('m_progressInfo')] = R1
  0001  SELF      R4 = R0[K1('UpdateContentByScore')] (self)
  0002  MOVE      R5 = R0
  0003  CALL      R3 = call(R3, 0 args, 2 rets)
  0004  SETTABLE  R0[K2('m_curScore')] = R2
  0005  RETURN    return R0..R-1
; ---------- proto39 [OnDestroy] ----------
  ; fn ?  line 545-552 np=1 va=0 ms=4 code=17 consts=8 upvals=1 protos=0
  ;   K[0]='m_rewardSeq'
  ;   K[1]=nil
  ;   K[2]='Kill'
  ;   K[3]='Scheduler'
  ;   K[4]='UnscheduleTarget'
  ;   K[5]='GM'
  ;   K[6]='AudioModel'
  ;   K[7]='StopEffectLoop'
  ;   upvals: _ENV
  ;   locals: self(0-17)
  0000  GETTABLE  R1 = R0[K0('m_rewardSeq')]
  0001  EQ        if R1 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 7
  0003  GETTABLE  R1 = R0[K0('m_rewardSeq')]
  0004  SELF      R2 = R1[K2('Kill')] (self)
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  SETTABLE  R0[K0('m_rewardSeq')] = K1(nil)
  0007  GETTABUP  R1 = _ENV[K3('Scheduler')]
  0008  GETTABLE  R1 = R1[K4('UnscheduleTarget')]
  0009  MOVE      R2 = R0
  0010  CALL      R1 = call(R1, 0 args, 1 rets)
  0011  GETTABUP  R1 = _ENV[K5('GM')]
  0012  GETTABLE  R1 = R1[K6('AudioModel')]
  0013  SELF      R2 = R1[K7('StopEffectLoop')] (self)
  0014  MOVE      R3 = R0
  0015  CALL      R1 = call(R1, 0 args, 2 rets)
  0016  RETURN    return R0..R-1
; ---------- proto40 [UpdateContentByScore] ----------
  ; fn ?  line 554-562 np=2 va=0 ms=9 code=25 consts=10 upvals=0 protos=0
  ;   K[0]='m_progressInfo'
  ;   K[1]='GetScoreFromLevelStartByScoreForDisplay'
  ;   K[2]='GetLevelByScoreForDisplay'
  ;   K[3]='GetLevelRequiredScoreFromLevelStartByLevel'
  ;   K[4]='m_slider'
  ;   K[5]='value'
  ;   K[6]='m_valueText'
  ;   K[7]='text'
  ;   K[8]='/'
  ;   K[9]='UpdateRewardByLevel'
  ;   locals: self(0-25), score(0-25), curScore(4-25), level(8-25), curTargetScore(12-25)
  0000  GETTABLE  R2 = R0[K0('m_progressInfo')]
  0001  SELF      R3 = R2[K1('GetScoreFromLevelStartByScoreForDisplay')] (self)
  0002  MOVE      R4 = R0
  0003  CALL      R2 = call(R2, 1 args, 2 rets)
  0004  GETTABLE  R3 = R0[K0('m_progressInfo')]
  0005  SELF      R4 = R3[K2('GetLevelByScoreForDisplay')] (self)
  0006  MOVE      R5 = R0
  0007  CALL      R3 = call(R3, 1 args, 2 rets)
  0008  GETTABLE  R4 = R0[K0('m_progressInfo')]
  0009  SELF      R5 = R4[K3('GetLevelRequiredScoreFromLevelStartByLevel')] (self)
  0010  MOVE      R6 = R0
  0011  CALL      R4 = call(R4, 1 args, 2 rets)
  0012  GETTABLE  R5 = R0[K4('m_slider')]
  0013  DIV       R6 = R4 div R2
  0014  SETTABLE  R5[K5('value')] = R6
  0015  GETTABLE  R5 = R0[K6('m_valueText')]
  0016  MOVE      R6 = R0
  0017  LOADK     R7 = K8 '/'
  0018  MOVE      R8 = R0
  0019  CONCAT    R6 = concat(R6..R6)
  0020  SETTABLE  R5[K7('text')] = R6
  0021  SELF      R6 = R0[K9('UpdateRewardByLevel')] (self)
  0022  MOVE      R7 = R0
  0023  CALL      R5 = call(R5, 0 args, 2 rets)
  0024  RETURN    return R0..R-1
; ---------- proto41 [UpdateRewardByLevel] ----------
  ; fn ?  line 564-594 np=3 va=0 ms=15 code=101 consts=36 upvals=1 protos=2
  ;   K[0]='m_rewardContent'
  ;   K[1]='transform'
  ;   K[2]='GameObject'
  ;   K[3]='Instantiate'
  ;   K[4]='gameObject'
  ;   K[5]='parent'
  ;   K[6]='UIUtil'
  ;   K[7]='SetLocalScale'
  ;   K[8]=0
  ;   K[9]='m_rewardSeq'
  ;   K[10]=nil
  ;   K[11]='Complete'
  ;   K[12]='DOTween'
  ;   K[13]='Sequence'
  ;   K[14]='Append'
  ;   K[15]='DOScale'
  ;   K[16]='Vector3'
  ;   K[17]=1.15
  ;   K[18]=1
  ;   K[19]=0.05
  ;   K[20]='SetEase'
  ;   K[21]='Ease'
  ;   K[22]='OutCubic'
  ;   K[23]=0.2
  ;   K[24]=0.15
  ;   K[25]='InCubic'
  ;   K[26]='AppendCallback'
  ;   K[27]='Vector3'
  ;   K[28]=1.05
  ;   K[29]=1
  ;   K[30]='m_rewardSeq'
  ;   K[31]='Init'
  ;   K[32]='m_progressInfo'
  ;   K[33]='GetLevelRewardsByLevel'
  ;   K[34]='ERewardScene'
  ;   K[35]='Other'
  ;   upvals: _ENV
  ;   locals: self(0-101), level(0-101), bAnim(0-101), rewardRect(4-91), oldGo(9-91), oldRect(10-91), seq(27-91)
  0000  TEST      if not R2 then   -> -131070
  0001  JMP       (jump)   -> 91
  0002  GETTABLE  R3 = R0[K0('m_rewardContent')]
  0003  GETTABLE  R3 = R3[K1('transform')]
  0004  GETTABUP  R4 = _ENV[K2('GameObject')]
  0005  GETTABLE  R4 = R4[K3('Instantiate')]
  0006  GETTABLE  R5 = R3[K4('gameObject')]
  0007  GETTABLE  R6 = R3[K5('parent')]
  0008  CALL      R4 = call(R4, 1 args, 2 rets)
  0009  GETTABLE  R5 = R4[K1('transform')]
  0010  GETTABUP  R6 = _ENV[K6('UIUtil')]
  0011  GETTABLE  R6 = R6[K7('SetLocalScale')]
  0012  MOVE      R7 = R0
  0013  LOADK     R8 = K8 0
  0014  LOADK     R9 = K8 0
  0015  CALL      R6 = call(R6, 0 args, 3 rets)
  0016  GETTABLE  R6 = R0[K9('m_rewardSeq')]
  0017  EQ        if R1 eq K10(nil)   -> -127715
  0018  JMP       (jump)   -> 24
  0019  GETTABLE  R6 = R0[K9('m_rewardSeq')]
  0020  SELF      R7 = R6[K11('Complete')] (self)
  0021  LOADBOOL  R8 = true
  0022  CALL      R6 = call(R6, 0 args, 2 rets)
  0023  SETTABLE  R0[K9('m_rewardSeq')] = K10(nil)
  0024  GETTABUP  R6 = _ENV[K12('DOTween')]
  0025  GETTABLE  R6 = R6[K13('Sequence')]
  0026  CALL      R6 = call(R6, 1 args, 0 rets)
  0027  SELF      R8 = R6[K14('Append')] (self)
  0028  SELF      R10 = R5[K15('DOScale')] (self)
  0029  GETTABUP  R11 = _ENV[K16('Vector3')]
  0030  LOADK     R12 = K17 1.15
  0031  LOADK     R13 = K17 1.15
  0032  LOADK     R14 = K18 1
  0033  CALL      R11 = call(R11, 1 args, 3 rets)
  0034  LOADK     R12 = K19 0.05
  0035  CALL      R9 = call(R9, 1 args, 3 rets)
  0036  SELF      R10 = R9[K20('SetEase')] (self)
  0037  GETTABUP  R11 = _ENV[K21('Ease')]
  0038  GETTABLE  R11 = R11[K22('OutCubic')]
  0039  CALL      R9 = call(R9, -1 args, 2 rets)
  0040  CALL      R7 = call(R7, 0 args, -1 rets)
  0041  SELF      R8 = R6[K14('Append')] (self)
  0042  SELF      R10 = R5[K15('DOScale')] (self)
  0043  GETTABUP  R11 = _ENV[K16('Vector3')]
  0044  LOADK     R12 = K23 0.2
  0045  LOADK     R13 = K23 0.2
  0046  LOADK     R14 = K18 1
  0047  CALL      R11 = call(R11, 1 args, 3 rets)
  0048  LOADK     R12 = K24 0.15
  0049  CALL      R9 = call(R9, 1 args, 3 rets)
  0050  SELF      R10 = R9[K20('SetEase')] (self)
  0051  GETTABUP  R11 = _ENV[K21('Ease')]
  0052  GETTABLE  R11 = R11[K25('InCubic')]
  0053  CALL      R9 = call(R9, -1 args, 2 rets)
  0054  CALL      R7 = call(R7, 0 args, -1 rets)
  0055  SELF      R8 = R6[K26('AppendCallback')] (self)
  0056  CLOSURE   R9 = closure proto0
  0057  CALL      R7 = call(R7, 0 args, 2 rets)
  0058  SELF      R8 = R6[K14('Append')] (self)
  0059  SELF      R10 = R3[K15('DOScale')] (self)
  0060  GETTABUP  R11 = _ENV[K27('Vector3')]
  0061  LOADK     R12 = K28 1.05
  0062  LOADK     R13 = K28 1.05
  0063  LOADK     R14 = K29 1
  0064  CALL      R11 = call(R11, 1 args, 3 rets)
  0065  LOADK     R12 = K24 0.15
  0066  CALL      R9 = call(R9, 1 args, 3 rets)
  0067  SELF      R10 = R9[K20('SetEase')] (self)
  0068  GETTABUP  R11 = _ENV[K21('Ease')]
  0069  GETTABLE  R11 = R11[K22('OutCubic')]
  0070  CALL      R9 = call(R9, -1 args, 2 rets)
  0071  CALL      R7 = call(R7, 0 args, -1 rets)
  0072  SELF      R8 = R6[K14('Append')] (self)
  0073  SELF      R10 = R3[K15('DOScale')] (self)
  0074  GETTABUP  R11 = _ENV[K27('Vector3')]
  0075  LOADK     R12 = K29 1
  0076  LOADK     R13 = K29 1
  0077  LOADK     R14 = K29 1
  0078  CALL      R11 = call(R11, 1 args, 3 rets)
  0079  LOADK     R12 = K19 0.05
  0080  CALL      R9 = call(R9, 1 args, 3 rets)
  0081  SELF      R10 = R9[K20('SetEase')] (self)
  0082  GETTABUP  R11 = _ENV[K21('Ease')]
  0083  GETTABLE  R11 = R11[K25('InCubic')]
  0084  CALL      R9 = call(R9, -1 args, 2 rets)
  0085  CALL      R7 = call(R7, 0 args, -1 rets)
  0086  SELF      R8 = R6[K26('AppendCallback')] (self)
  0087  CLOSURE   R9 = closure proto1
  0088  CALL      R7 = call(R7, 0 args, 2 rets)
  0089  SETTABLE  R0[K30('m_rewardSeq')] = R6
  0090  JMP       (jump)   -> 91
  0091  GETTABLE  R3 = R0[K0('m_rewardContent')]
  0092  SELF      R4 = R3[K31('Init')] (self)
  0093  GETTABLE  R5 = R0[K32('m_progressInfo')]
  0094  SELF      R6 = R5[K33('GetLevelRewardsByLevel')] (self)
  0095  MOVE      R7 = R0
  0096  CALL      R5 = call(R5, 1 args, 2 rets)
  0097  GETTABUP  R6 = _ENV[K34('ERewardScene')]
  0098  GETTABLE  R6 = R6[K35('Other')]
  0099  CALL      R3 = call(R3, 0 args, 3 rets)
  0100  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 579-584 np=0 va=0 ms=4 code=18 consts=10 upvals=4 protos=0
    ;   K[0]='m_boomEffect'
    ;   K[1]='Simulate'
    ;   K[2]=0
    ;   K[3]='Play'
    ;   K[4]='localScale'
    ;   K[5]='Vector3'
    ;   K[6]=0.2
    ;   K[7]=1
    ;   K[8]='GameObject'
    ;   K[9]='Destroy'
    ;   upvals: self, rewardRect, _ENV, oldGo
    0000  GETTABUP  R0 = self[K0('m_boomEffect')]
    0001  SELF      R1 = R0[K1('Simulate')] (self)
    0002  LOADK     R2 = K2 0
    0003  CALL      R0 = call(R0, 0 args, 2 rets)
    0004  GETTABUP  R0 = self[K0('m_boomEffect')]
    0005  SELF      R1 = R0[K3('Play')] (self)
    0006  CALL      R0 = call(R0, 0 args, 1 rets)
    0007  GETTABUP  R0 = _ENV[K5('Vector3')]
    0008  LOADK     R1 = K6 0.2
    0009  LOADK     R2 = K6 0.2
    0010  LOADK     R3 = K7 1
    0011  CALL      R0 = call(R0, 1 args, 3 rets)
    0012  SETTABUP  rewardRect[K4('localScale')] = R0
    0013  GETTABUP  R0 = _ENV[K8('GameObject')]
    0014  GETTABLE  R0 = R0[K9('Destroy')]
    0015  GETUPVAL  R1 = self
    0016  CALL      R0 = call(R0, 0 args, 1 rets)
    0017  RETURN    return R0..R-1
  ; ---------- proto1 [m_rewardSeq] ----------
    ; fn ?  line 587-589 np=0 va=0 ms=2 code=2 consts=2 upvals=1 protos=0
    ;   K[0]='m_rewardSeq'
    ;   K[1]=nil
    ;   upvals: self
    0000  SETTABUP  self[K0('m_rewardSeq')] = K1(nil)
    0001  RETURN    return R0..R-1
; ---------- proto42 [NeedPlayProgressAnimation] ----------
  ; fn ?  line 596-598 np=2 va=0 ms=3 code=7 consts=1 upvals=0 protos=0
  ;   K[0]='m_curScore'
  ;   locals: self(0-7), endScore(0-7)
  0000  GETTABLE  R2 = R0[K0('m_curScore')]
  0001  LT        if R1 lt R1   -> -130044
  0002  JMP       (jump)   -> 4
  0003  LOADBOOL  R2 = false
  0004  LOADBOOL  R2 = true
  0005  RETURN    return R2..R1
  0006  RETURN    return R0..R-1
; ---------- proto43 [PlayProgressAnimation] ----------
  ; fn ?  line 600-649 np=2 va=0 ms=23 code=102 consts=25 upvals=1 protos=5
  ;   K[0]=nil
  ;   K[1]='m_curScore'
  ;   K[2]='m_progressInfo'
  ;   K[3]='GetLevelByScoreForDisplay'
  ;   K[4]='DOTween'
  ;   K[5]='Sequence'
  ;   K[6]=3
  ;   K[7]=0.3
  ;   K[8]=0.5
  ;   K[9]=1
  ;   K[10]='GetMaxLevel'
  ;   K[11]='GetLevelRequiredScoreFromLevelStartByLevel'
  ;   K[12]='GetScoreFromLevelStartByScoreForDisplay'
  ;   K[13]=0
  ;   K[14]='AppendCallback'
  ;   K[15]='Append'
  ;   K[16]='m_slider'
  ;   K[17]='DOValue'
  ;   K[18]='SetEase'
  ;   K[19]='Ease'
  ;   K[20]='InOutSine'
  ;   K[21]='Join'
  ;   K[22]='To'
  ;   K[23]='AppendInterval'
  ;   K[24]=0.2
  ;   upvals: _ENV
  ;   locals: self(0-102), endScore(0-102), startScore(7-102), startLevel(11-102), endLevel(15-102), seq(18-102), duration(25-102), (for index)(28-94), (for limit)(28-94), (for step)(28-94), i(29-93), tScore(38-92), sScore(47-92), eScore(56-92), startSliderValue(57-92), endSliderValue(58-92)
  0000  EQ        if R1 eq K0(nil)   -> -130302
  0001  JMP       (jump)   -> 5
  0002  GETTABLE  R2 = R0[K1('m_curScore')]
  0003  LE        if R0 le R2   -> -130553
  0004  JMP       (jump)   -> 6
  0005  RETURN    return R0..R-1
  0006  GETTABLE  R2 = R0[K1('m_curScore')]
  0007  GETTABLE  R3 = R0[K2('m_progressInfo')]
  0008  SELF      R4 = R3[K3('GetLevelByScoreForDisplay')] (self)
  0009  MOVE      R5 = R0
  0010  CALL      R3 = call(R3, 1 args, 2 rets)
  0011  GETTABLE  R4 = R0[K2('m_progressInfo')]
  0012  SELF      R5 = R4[K3('GetLevelByScoreForDisplay')] (self)
  0013  MOVE      R6 = R0
  0014  CALL      R4 = call(R4, 1 args, 2 rets)
  0015  GETTABUP  R5 = _ENV[K4('DOTween')]
  0016  GETTABLE  R5 = R5[K5('Sequence')]
  0017  CALL      R5 = call(R5, 1 args, 0 rets)
  0018  SUB       R6 = R3 sub R4
  0019  LE        if R0 le R6   -> 3099
  0020  JMP       (jump)   -> 24
  0021  LOADK     R6 = K7 0.3
  0022  TEST      if not R6 then   -> -131047
  0023  JMP       (jump)   -> 25
  0024  LOADK     R6 = K8 0.5
  0025  MOVE      R7 = R0
  0026  MOVE      R8 = R0
  0027  LOADK     R9 = K9 1
  0028  FORPREP   forprep R7(sBx=64)   -> 93
  0029  GETTABLE  R11 = R0[K2('m_progressInfo')]
  0030  SELF      R12 = R11[K10('GetMaxLevel')] (self)
  0031  CALL      R11 = call(R11, 1 args, 1 rets)
  0032  LT        if R1 lt R10   -> -125396
  0033  JMP       (jump)   -> 94
  0034  GETTABLE  R11 = R0[K2('m_progressInfo')]
  0035  SELF      R12 = R11[K11('GetLevelRequiredScoreFromLevelStartByLevel')] (self)
  0036  MOVE      R13 = R0
  0037  CALL      R11 = call(R11, 1 args, 2 rets)
  0038  EQ        if R0 eq R3   -> -125909
  0039  JMP       (jump)   -> 46
  0040  GETTABLE  R12 = R0[K2('m_progressInfo')]
  0041  SELF      R13 = R12[K12('GetScoreFromLevelStartByScoreForDisplay')] (self)
  0042  MOVE      R14 = R0
  0043  CALL      R12 = call(R12, 1 args, 2 rets)
  0044  TEST      if not R12 then   -> -131025
  0045  JMP       (jump)   -> 47
  0046  LOADK     R12 = K13 0
  0047  EQ        if R0 eq R4   -> -125899
  0048  JMP       (jump)   -> 55
  0049  GETTABLE  R13 = R0[K2('m_progressInfo')]
  0050  SELF      R14 = R13[K12('GetScoreFromLevelStartByScoreForDisplay')] (self)
  0051  MOVE      R15 = R0
  0052  CALL      R13 = call(R13, 1 args, 2 rets)
  0053  TEST      if not R13 then   -> -131016
  0054  JMP       (jump)   -> 56
  0055  MOVE      R13 = R0
  0056  DIV       R14 = R11 div R12
  0057  DIV       R15 = R11 div R13
  0058  SELF      R17 = R5[K14('AppendCallback')] (self)
  0059  CLOSURE   R18 = closure proto0
  0060  CALL      R16 = call(R16, 0 args, 2 rets)
  0061  SELF      R17 = R5[K15('Append')] (self)
  0062  GETTABLE  R18 = R0[K16('m_slider')]
  0063  SELF      R19 = R18[K17('DOValue')] (self)
  0064  MOVE      R20 = R0
  0065  MOVE      R21 = R0
  0066  CALL      R18 = call(R18, 1 args, 3 rets)
  0067  SELF      R19 = R18[K18('SetEase')] (self)
  0068  GETTABUP  R20 = _ENV[K19('Ease')]
  0069  GETTABLE  R20 = R20[K20('InOutSine')]
  0070  CALL      R18 = call(R18, -1 args, 2 rets)
  0071  CALL      R16 = call(R16, 0 args, -1 rets)
  0072  SELF      R17 = R5[K21('Join')] (self)
  0073  GETTABUP  R18 = _ENV[K4('DOTween')]
  0074  GETTABLE  R18 = R18[K22('To')]
  0075  CLOSURE   R19 = closure proto1
  0076  CLOSURE   R20 = closure proto2
  0077  MOVE      R21 = R0
  0078  MOVE      R22 = R0
  0079  CALL      R18 = call(R18, 1 args, 4 rets)
  0080  SELF      R19 = R18[K18('SetEase')] (self)
  0081  GETTABUP  R20 = _ENV[K19('Ease')]
  0082  GETTABLE  R20 = R20[K20('InOutSine')]
  0083  CALL      R18 = call(R18, -1 args, 2 rets)
  0084  CALL      R16 = call(R16, 0 args, -1 rets)
  0085  SELF      R17 = R5[K14('AppendCallback')] (self)
  0086  CLOSURE   R18 = closure proto3
  0087  CALL      R16 = call(R16, 0 args, 2 rets)
  0088  SELF      R17 = R5[K23('AppendInterval')] (self)
  0089  LOADK     R18 = K24 0.2
  0090  CALL      R16 = call(R16, 0 args, 2 rets)
  0091  JMP       (jump)   -> 93
  0092  JMP       (jump)   -> 93
  0093  FORLOOP   forloop R7(sBx=-65)   -> 29
  0094  SELF      R8 = R5[K23('AppendInterval')] (self)
  0095  LOADK     R9 = K8 0.5
  0096  CALL      R7 = call(R7, 0 args, 2 rets)
  0097  SELF      R8 = R5[K14('AppendCallback')] (self)
  0098  CLOSURE   R9 = closure proto4
  0099  CALL      R7 = call(R7, 0 args, 2 rets)
  0100  RETURN    return R5..R4
  0101  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 620-623 np=0 va=0 ms=4 code=10 consts=5 upvals=4 protos=0
    ;   K[0]='m_slider'
    ;   K[1]='value'
    ;   K[2]='m_valueText'
    ;   K[3]='text'
    ;   K[4]='/'
    ;   upvals: self, startSliderValue, sScore, tScore
    0000  GETTABUP  R0 = self[K0('m_slider')]
    0001  GETUPVAL  R1 = self
    0002  SETTABLE  R0[K1('value')] = R1
    0003  GETTABUP  R0 = self[K2('m_valueText')]
    0004  GETUPVAL  R1 = self
    0005  LOADK     R2 = K4 '/'
    0006  GETUPVAL  R3 = self
    0007  CONCAT    R1 = concat(R1..R1)
    0008  SETTABLE  R0[K3('text')] = R1
    0009  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 626-628 np=0 va=0 ms=2 code=3 consts=0 upvals=1 protos=0
    ;   upvals: sScore
    0000  GETUPVAL  R0 = sScore
    0001  RETURN    return R0..R-1
    0002  RETURN    return R0..R-1
  ; ---------- proto2 [] ----------
    ; fn ?  line 629-632 np=1 va=0 ms=6 code=11 consts=5 upvals=3 protos=0
    ;   K[0]='math'
    ;   K[1]='ceil'
    ;   K[2]='m_valueText'
    ;   K[3]='text'
    ;   K[4]='/'
    ;   upvals: _ENV, self, tScore
    ;   locals: x(0-11), num(4-11)
    0000  GETTABUP  R1 = _ENV[K0('math')]
    0001  GETTABLE  R1 = R1[K1('ceil')]
    0002  MOVE      R2 = R0
    0003  CALL      R1 = call(R1, 1 args, 1 rets)
    0004  GETTABUP  R2 = self[K2('m_valueText')]
    0005  MOVE      R3 = R0
    0006  LOADK     R4 = K4 '/'
    0007  GETUPVAL  R5 = _ENV
    0008  CONCAT    R3 = concat(R3..R3)
    0009  SETTABLE  R2[K3('text')] = R3
    0010  RETURN    return R0..R-1
  ; ---------- proto3 [] ----------
    ; fn ?  line 635-639 np=0 va=0 ms=4 code=11 consts=2 upvals=3 protos=0
    ;   K[0]='UpdateRewardByLevel'
    ;   K[1]=1
    ;   upvals: i, endLevel, self
    0000  GETUPVAL  R0 = i
    0001  GETUPVAL  R1 = i
    0002  LT        if R0 lt R1   -> -131067
    0003  JMP       (jump)   -> 10
    0004  GETUPVAL  R0 = i
    0005  SELF      R1 = R0[K0('UpdateRewardByLevel')] (self)
    0006  GETUPVAL  R2 = i
    0007  ADD       R2 = K1(1) add R2
    0008  LOADBOOL  R3 = true
    0009  CALL      R0 = call(R0, 0 args, 3 rets)
    0010  RETURN    return R0..R-1
  ; ---------- proto4 [] ----------
    ; fn ?  line 644-646 np=0 va=0 ms=3 code=5 consts=1 upvals=2 protos=0
    ;   K[0]='UpdateContentByScore'
    ;   upvals: self, endScore
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('UpdateContentByScore')] (self)
    0002  GETUPVAL  R2 = self
    0003  CALL      R0 = call(R0, 0 args, 2 rets)
    0004  RETURN    return R0..R-1
; ---------- proto44 [IconScaleAnimation] ----------
  ; fn ?  line 651-654 np=3 va=0 ms=6 code=12 consts=7 upvals=1 protos=0
  ;   K[0]='HudBaseButton'
  ;   K[1]='IconScaleAnimation'
  ;   K[2]='GM'
  ;   K[3]='AudioModel'
  ;   K[4]='PlayEffect'
  ;   K[5]='AudioFileConfigName'
  ;   K[6]='SfxRewardCrush'
  ;   upvals: _ENV
  ;   locals: self(0-12), needEffect(0-12), checkType(0-12)
  0000  GETTABUP  R3 = _ENV[K0('HudBaseButton')]
  0001  GETTABLE  R3 = R3[K1('IconScaleAnimation')]
  0002  MOVE      R4 = R0
  0003  MOVE      R5 = R0
  0004  CALL      R3 = call(R3, 0 args, 2 rets)
  0005  GETTABUP  R3 = _ENV[K2('GM')]
  0006  GETTABLE  R3 = R3[K3('AudioModel')]
  0007  SELF      R4 = R3[K4('PlayEffect')] (self)
  0008  GETTABUP  R5 = _ENV[K5('AudioFileConfigName')]
  0009  GETTABLE  R5 = R5[K6('SfxRewardCrush')]
  0010  CALL      R3 = call(R3, 0 args, 2 rets)
  0011  RETURN    return R0..R-1
