# AlbumActivity_View_LimitAlbumMainSetContent_1179.luac
; fn @LimitAlbumMainSetContent.lua  line 0-0 np=0 va=1 ms=2 code=63 consts=21 upvals=1 protos=19
;   K[0]='LimitAlbumMainSetContent'
;   K[1]='__index'
;   K[2]='Init'
;   K[3]='OnDestroy'
;   K[4]='InitPack'
;   K[5]='UpdateProgress'
;   K[6]='OnRedPointRefresh'
;   K[7]='UpdatePerSecond'
;   K[8]='OnHelpBtnClicked'
;   K[9]='ShowRewardTip'
;   K[10]='OnPopBtnClicked'
;   K[11]='OnGroupIconClicked'
;   K[12]='GetTutorialBgRect'
;   K[13]='GetTutorialProgressRect'
;   K[14]='GetSetCell'
;   K[15]='TryScroll2ShowSetCell'
;   K[16]='_GetProgressMiddleVerticalNormalizedPosition'
;   K[17]='TryResetScrollToTop'
;   K[18]='IsTopView'
;   K[19]='PlayEndAnimation'
;   K[20]='HasPlayedEndAnimation'
;   upvals: _ENV
0000  NEWTABLE  R0 = {} (0 items)
0001  SETTABUP  _ENV[K0('LimitAlbumMainSetContent')] = R0
0002  GETTABUP  R0 = _ENV[K0('LimitAlbumMainSetContent')]
0003  GETTABUP  R1 = _ENV[K0('LimitAlbumMainSetContent')]
0004  SETTABLE  R0[K1('__index')] = R1
0005  GETTABUP  R0 = _ENV[K0('LimitAlbumMainSetContent')]
0006  CLOSURE   R1 = closure proto0
0007  SETTABLE  R0[K2('Init')] = R1
0008  GETTABUP  R0 = _ENV[K0('LimitAlbumMainSetContent')]
0009  CLOSURE   R1 = closure proto1
0010  SETTABLE  R0[K3('OnDestroy')] = R1
0011  GETTABUP  R0 = _ENV[K0('LimitAlbumMainSetContent')]
0012  CLOSURE   R1 = closure proto2
0013  SETTABLE  R0[K4('InitPack')] = R1
0014  GETTABUP  R0 = _ENV[K0('LimitAlbumMainSetContent')]
0015  CLOSURE   R1 = closure proto3
0016  SETTABLE  R0[K5('UpdateProgress')] = R1
0017  GETTABUP  R0 = _ENV[K0('LimitAlbumMainSetContent')]
0018  CLOSURE   R1 = closure proto4
0019  SETTABLE  R0[K6('OnRedPointRefresh')] = R1
0020  GETTABUP  R0 = _ENV[K0('LimitAlbumMainSetContent')]
0021  CLOSURE   R1 = closure proto5
0022  SETTABLE  R0[K7('UpdatePerSecond')] = R1
0023  GETTABUP  R0 = _ENV[K0('LimitAlbumMainSetContent')]
0024  CLOSURE   R1 = closure proto6
0025  SETTABLE  R0[K8('OnHelpBtnClicked')] = R1
0026  GETTABUP  R0 = _ENV[K0('LimitAlbumMainSetContent')]
0027  CLOSURE   R1 = closure proto7
0028  SETTABLE  R0[K9('ShowRewardTip')] = R1
0029  GETTABUP  R0 = _ENV[K0('LimitAlbumMainSetContent')]
0030  CLOSURE   R1 = closure proto8
0031  SETTABLE  R0[K10('OnPopBtnClicked')] = R1
0032  GETTABUP  R0 = _ENV[K0('LimitAlbumMainSetContent')]
0033  CLOSURE   R1 = closure proto9
0034  SETTABLE  R0[K11('OnGroupIconClicked')] = R1
0035  GETTABUP  R0 = _ENV[K0('LimitAlbumMainSetContent')]
0036  CLOSURE   R1 = closure proto10
0037  SETTABLE  R0[K12('GetTutorialBgRect')] = R1
0038  GETTABUP  R0 = _ENV[K0('LimitAlbumMainSetContent')]
0039  CLOSURE   R1 = closure proto11
0040  SETTABLE  R0[K13('GetTutorialProgressRect')] = R1
0041  GETTABUP  R0 = _ENV[K0('LimitAlbumMainSetContent')]
0042  CLOSURE   R1 = closure proto12
0043  SETTABLE  R0[K14('GetSetCell')] = R1
0044  GETTABUP  R0 = _ENV[K0('LimitAlbumMainSetContent')]
0045  CLOSURE   R1 = closure proto13
0046  SETTABLE  R0[K15('TryScroll2ShowSetCell')] = R1
0047  GETTABUP  R0 = _ENV[K0('LimitAlbumMainSetContent')]
0048  CLOSURE   R1 = closure proto14
0049  SETTABLE  R0[K16('_GetProgressMiddleVerticalNormalizedPosition')] = R1
0050  GETTABUP  R0 = _ENV[K0('LimitAlbumMainSetContent')]
0051  CLOSURE   R1 = closure proto15
0052  SETTABLE  R0[K17('TryResetScrollToTop')] = R1
0053  GETTABUP  R0 = _ENV[K0('LimitAlbumMainSetContent')]
0054  CLOSURE   R1 = closure proto16
0055  SETTABLE  R0[K18('IsTopView')] = R1
0056  GETTABUP  R0 = _ENV[K0('LimitAlbumMainSetContent')]
0057  CLOSURE   R1 = closure proto17
0058  SETTABLE  R0[K19('PlayEndAnimation')] = R1
0059  GETTABUP  R0 = _ENV[K0('LimitAlbumMainSetContent')]
0060  CLOSURE   R1 = closure proto18
0061  SETTABLE  R0[K20('HasPlayedEndAnimation')] = R1
0062  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 26-42 np=3 va=0 ms=8 code=42 consts=26 upvals=1 protos=0
  ;   K[0]='m_model'
  ;   K[1]='m_definition'
  ;   K[2]='GetActivityDefinition'
  ;   K[3]='m_mainWindow'
  ;   K[4]='m_bPlayedEndAnimation'
  ;   K[5]=false
  ;   K[6]='m_disappearEffectGo'
  ;   K[7]='SetActive'
  ;   K[8]='InitPack'
  ;   K[9]='UpdateProgress'
  ;   K[10]='UpdatePerSecond'
  ;   K[11]='SetWindowOpened'
  ;   K[12]='ActivityState'
  ;   K[13]='Started'
  ;   K[14]='AddHandlerAndRecordMap'
  ;   K[15]='GetEvent'
  ;   K[16]='AlbumBaseModel'
  ;   K[17]='EventKey'
  ;   K[18]='RedRefresh'
  ;   K[19]='obj'
  ;   K[20]='method'
  ;   K[21]='OnRedPointRefresh'
  ;   K[22]='EventDispatcher'
  ;   K[23]='AddListener'
  ;   K[24]='EEventType'
  ;   K[25]='JokerExchangeNewCard'
  ;   upvals: _ENV
  ;   locals: self(0-42), mainWindow(0-42), limitAlbumModel(0-42)
  0000  SETTABLE  R0[K0('m_model')] = R2
  0001  GETTABLE  R3 = R0[K0('m_model')]
  0002  SELF      R4 = R3[K2('GetActivityDefinition')] (self)
  0003  CALL      R3 = call(R3, 1 args, 1 rets)
  0004  SETTABLE  R0[K1('m_definition')] = R3
  0005  SETTABLE  R0[K3('m_mainWindow')] = R1
  0006  SETTABLE  R0[K4('m_bPlayedEndAnimation')] = K5(false)
  0007  GETTABLE  R3 = R0[K6('m_disappearEffectGo')]
  0008  SELF      R4 = R3[K7('SetActive')] (self)
  0009  LOADBOOL  R5 = false
  0010  CALL      R3 = call(R3, 0 args, 2 rets)
  0011  SELF      R4 = R0[K8('InitPack')] (self)
  0012  CALL      R3 = call(R3, 0 args, 1 rets)
  0013  SELF      R4 = R0[K9('UpdateProgress')] (self)
  0014  CALL      R3 = call(R3, 0 args, 1 rets)
  0015  SELF      R4 = R0[K10('UpdatePerSecond')] (self)
  0016  CALL      R3 = call(R3, 0 args, 1 rets)
  0017  GETTABLE  R3 = R0[K0('m_model')]
  0018  SELF      R4 = R3[K11('SetWindowOpened')] (self)
  0019  GETTABUP  R5 = _ENV[K12('ActivityState')]
  0020  GETTABLE  R5 = R5[K13('Started')]
  0021  CALL      R3 = call(R3, 0 args, 2 rets)
  0022  GETTABUP  R3 = _ENV[K14('AddHandlerAndRecordMap')]
  0023  GETTABLE  R4 = R0[K0('m_model')]
  0024  SELF      R5 = R4[K15('GetEvent')] (self)
  0025  CALL      R4 = call(R4, 1 args, 1 rets)
  0026  GETTABUP  R5 = _ENV[K16('AlbumBaseModel')]
  0027  GETTABLE  R5 = R5[K17('EventKey')]
  0028  GETTABLE  R5 = R5[K18('RedRefresh')]
  0029  NEWTABLE  R6 = {} (0 items)
  0030  SETTABLE  R6[K19('obj')] = R0
  0031  GETTABLE  R7 = R0[K21('OnRedPointRefresh')]
  0032  SETTABLE  R6[K20('method')] = R7
  0033  CALL      R3 = call(R3, 0 args, 3 rets)
  0034  GETTABUP  R3 = _ENV[K22('EventDispatcher')]
  0035  GETTABLE  R3 = R3[K23('AddListener')]
  0036  GETTABUP  R4 = _ENV[K24('EEventType')]
  0037  GETTABLE  R4 = R4[K25('JokerExchangeNewCard')]
  0038  MOVE      R5 = R0
  0039  GETTABLE  R6 = R0[K9('UpdateProgress')]
  0040  CALL      R3 = call(R3, 0 args, 3 rets)
  0041  RETURN    return R0..R-1
; ---------- proto1 [OnDestroy] ----------
  ; fn ?  line 44-51 np=1 va=0 ms=3 code=16 consts=7 upvals=1 protos=0
  ;   K[0]='Scheduler'
  ;   K[1]='UnscheduleTarget'
  ;   K[2]='EventDispatcher'
  ;   K[3]='RemoveTarget'
  ;   K[4]='m_progressSeq'
  ;   K[5]=nil
  ;   K[6]='Kill'
  ;   upvals: _ENV
  ;   locals: self(0-16)
  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  GETTABUP  R1 = _ENV[K2('EventDispatcher')]
  0005  GETTABLE  R1 = R1[K3('RemoveTarget')]
  0006  MOVE      R2 = R0
  0007  CALL      R1 = call(R1, 0 args, 1 rets)
  0008  GETTABLE  R1 = R0[K4('m_progressSeq')]
  0009  EQ        if R1 eq K5(nil)   -> -130288
  0010  JMP       (jump)   -> 15
  0011  GETTABLE  R1 = R0[K4('m_progressSeq')]
  0012  SELF      R2 = R1[K6('Kill')] (self)
  0013  CALL      R1 = call(R1, 0 args, 1 rets)
  0014  SETTABLE  R0[K4('m_progressSeq')] = K5(nil)
  0015  RETURN    return R0..R-1
; ---------- proto2 [InitPack] ----------
  ; fn ?  line 53-67 np=1 va=0 ms=12 code=44 consts=15 upvals=1 protos=0
  ;   K[0]='m_model'
  ;   K[1]='m_cardSets'
  ;   K[2]='GetCardSets'
  ;   K[3]='m_cells'
  ;   K[4]=1
  ;   K[5]='m_cardIconLuaTable'
  ;   K[6]='ipairs'
  ;   K[7]=nil
  ;   K[8]='Object'
  ;   K[9]='Instantiate'
  ;   K[10]='gameObject'
  ;   K[11]='transform'
  ;   K[12]='parent'
  ;   K[13]='GetLuaTable'
  ;   K[14]='Init'
  ;   upvals: _ENV
  ;   locals: self(0-44), (for generator)(16-43), (for state)(16-43), (for control)(16-43), index(17-41), eleInfo(17-41)
  0000  GETTABLE  R1 = R0[K0('m_model')]
  0001  TEST      if not R1 then   -> -131068
  0002  JMP       (jump)   -> 4
  0003  RETURN    return R0..R-1
  0004  GETTABLE  R1 = R0[K0('m_model')]
  0005  SELF      R2 = R1[K2('GetCardSets')] (self)
  0006  CALL      R1 = call(R1, 1 args, 1 rets)
  0007  SETTABLE  R0[K1('m_cardSets')] = R1
  0008  NEWTABLE  R1 = {} (0 items)
  0009  SETTABLE  R0[K3('m_cells')] = R1
  0010  GETTABLE  R1 = R0[K3('m_cells')]
  0011  GETTABLE  R2 = R0[K5('m_cardIconLuaTable')]
  0012  SETTABLE  R1[K4(1)] = R2
  0013  GETTABUP  R1 = _ENV[K6('ipairs')]
  0014  GETTABLE  R2 = R0[K1('m_cardSets')]
  0015  CALL      R1 = call(R1, 3 args, 1 rets)
  0016  JMP       (jump)   -> 41
  0017  GETTABLE  R6 = R0[K3('m_cells')]
  0018  GETTABLE  R6 = R6[R4]
  0019  EQ        if R0 eq K7(nil)   -> -127716
  0020  JMP       (jump)   -> 33
  0021  GETTABLE  R6 = R0[K3('m_cells')]
  0022  GETTABUP  R7 = _ENV[K8('Object')]
  0023  GETTABLE  R7 = R7[K9('Instantiate')]
  0024  GETTABLE  R8 = R0[K5('m_cardIconLuaTable')]
  0025  GETTABLE  R8 = R8[K10('gameObject')]
  0026  GETTABLE  R9 = R0[K5('m_cardIconLuaTable')]
  0027  GETTABLE  R9 = R9[K11('transform')]
  0028  GETTABLE  R9 = R9[K12('parent')]
  0029  CALL      R7 = call(R7, 1 args, 2 rets)
  0030  SELF      R8 = R7[K13('GetLuaTable')] (self)
  0031  CALL      R7 = call(R7, 1 args, 1 rets)
  0032  SETTABLE  R6[R4] = R7
  0033  GETTABLE  R6 = R0[K3('m_cells')]
  0034  GETTABLE  R6 = R6[R4]
  0035  SELF      R7 = R6[K14('Init')] (self)
  0036  MOVE      R8 = R0
  0037  GETTABLE  R9 = R0[K1('m_cardSets')]
  0038  GETTABLE  R10 = R0[K0('m_model')]
  0039  MOVE      R11 = R0
  0040  CALL      R6 = call(R6, 0 args, 5 rets)
  0041  TFORCALL  tforcall R1
  0042  TFORLOOP  tforloop R3(sBx=-26)   -> 17
  0043  RETURN    return R0..R-1
; ---------- proto3 [UpdateProgress] ----------
  ; fn ?  line 69-108 np=1 va=0 ms=13 code=77 consts=27 upvals=1 protos=3
  ;   K[0]='m_model'
  ;   K[1]='GetWindowCardTotalProgress'
  ;   K[2]='GetAlbumCollectProgress'
  ;   K[3]='m_progressSlider'
  ;   K[4]='value'
  ;   K[5]='m_progressSliderText'
  ;   K[6]='text'
  ;   K[7]='/'
  ;   K[8]='UIUtil'
  ;   K[9]='SetActive'
  ;   K[10]='m_completeTextGo'
  ;   K[11]='m_progressSliderTextGo'
  ;   K[12]='DOTween'
  ;   K[13]='Sequence'
  ;   K[14]=0.6
  ;   K[15]='AppendInterval'
  ;   K[16]=1
  ;   K[17]='Append'
  ;   K[18]='DOValue'
  ;   K[19]='SetEase'
  ;   K[20]='Ease'
  ;   K[21]='InOutSine'
  ;   K[22]='Join'
  ;   K[23]='To'
  ;   K[24]='AppendCallback'
  ;   K[25]='m_progressSeq'
  ;   K[26]='SetWindowCardTotalProgress'
  ;   upvals: _ENV
  ;   locals: self(0-77), lastCard(7-77), curCard(10-77), maxCard(10-77), seq(40-72), duration(41-72)
  0000  GETTABLE  R1 = R0[K0('m_model')]
  0001  TEST      if not R1 then   -> -131068
  0002  JMP       (jump)   -> 4
  0003  RETURN    return R0..R-1
  0004  GETTABLE  R1 = R0[K0('m_model')]
  0005  SELF      R2 = R1[K1('GetWindowCardTotalProgress')] (self)
  0006  CALL      R1 = call(R1, 1 args, 1 rets)
  0007  GETTABLE  R2 = R0[K0('m_model')]
  0008  SELF      R3 = R2[K2('GetAlbumCollectProgress')] (self)
  0009  CALL      R2 = call(R2, 2 args, 1 rets)
  0010  GETTABLE  R4 = R0[K3('m_progressSlider')]
  0011  DIV       R5 = R3 div R1
  0012  SETTABLE  R4[K4('value')] = R5
  0013  GETTABLE  R4 = R0[K5('m_progressSliderText')]
  0014  MOVE      R5 = R0
  0015  LOADK     R6 = K7 '/'
  0016  MOVE      R7 = R0
  0017  CONCAT    R5 = concat(R5..R5)
  0018  SETTABLE  R4[K6('text')] = R5
  0019  GETTABUP  R4 = _ENV[K8('UIUtil')]
  0020  GETTABLE  R4 = R4[K9('SetActive')]
  0021  GETTABLE  R5 = R0[K10('m_completeTextGo')]
  0022  LE        if R1 le R1   -> -129511
  0023  JMP       (jump)   -> 25
  0024  LOADBOOL  R6 = false
  0025  LOADBOOL  R6 = true
  0026  CALL      R4 = call(R4, 0 args, 2 rets)
  0027  GETTABUP  R4 = _ENV[K8('UIUtil')]
  0028  GETTABLE  R4 = R4[K9('SetActive')]
  0029  GETTABLE  R5 = R0[K11('m_progressSliderTextGo')]
  0030  LT        if R1 lt R3   -> -130525
  0031  JMP       (jump)   -> 33
  0032  LOADBOOL  R6 = false
  0033  LOADBOOL  R6 = true
  0034  CALL      R4 = call(R4, 0 args, 2 rets)
  0035  LT        if R0 lt R2   -> -130521
  0036  JMP       (jump)   -> 72
  0037  GETTABUP  R4 = _ENV[K12('DOTween')]
  0038  GETTABLE  R4 = R4[K13('Sequence')]
  0039  CALL      R4 = call(R4, 1 args, 0 rets)
  0040  LOADK     R5 = K14 0.6
  0041  SELF      R7 = R4[K15('AppendInterval')] (self)
  0042  LOADK     R8 = K16 1
  0043  CALL      R6 = call(R6, 0 args, 2 rets)
  0044  SELF      R7 = R4[K17('Append')] (self)
  0045  GETTABLE  R8 = R0[K3('m_progressSlider')]
  0046  SELF      R9 = R8[K18('DOValue')] (self)
  0047  DIV       R10 = R3 div R2
  0048  MOVE      R11 = R0
  0049  CALL      R8 = call(R8, 1 args, 3 rets)
  0050  SELF      R9 = R8[K19('SetEase')] (self)
  0051  GETTABUP  R10 = _ENV[K20('Ease')]
  0052  GETTABLE  R10 = R10[K21('InOutSine')]
  0053  CALL      R8 = call(R8, -1 args, 2 rets)
  0054  CALL      R6 = call(R6, 0 args, -1 rets)
  0055  SELF      R7 = R4[K22('Join')] (self)
  0056  GETTABUP  R8 = _ENV[K12('DOTween')]
  0057  GETTABLE  R8 = R8[K23('To')]
  0058  CLOSURE   R9 = closure proto0
  0059  CLOSURE   R10 = closure proto1
  0060  MOVE      R11 = R0
  0061  MOVE      R12 = R0
  0062  CALL      R8 = call(R8, 1 args, 4 rets)
  0063  SELF      R9 = R8[K19('SetEase')] (self)
  0064  GETTABUP  R10 = _ENV[K20('Ease')]
  0065  GETTABLE  R10 = R10[K21('InOutSine')]
  0066  CALL      R8 = call(R8, -1 args, 2 rets)
  0067  CALL      R6 = call(R6, 0 args, -1 rets)
  0068  SELF      R7 = R4[K24('AppendCallback')] (self)
  0069  CLOSURE   R8 = closure proto2
  0070  CALL      R6 = call(R6, 0 args, 2 rets)
  0071  SETTABLE  R0[K25('m_progressSeq')] = R4
  0072  GETTABLE  R4 = R0[K0('m_model')]
  0073  SELF      R5 = R4[K26('SetWindowCardTotalProgress')] (self)
  0074  MOVE      R6 = R0
  0075  CALL      R4 = call(R4, 0 args, 2 rets)
  0076  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 90-92 np=0 va=0 ms=2 code=3 consts=0 upvals=1 protos=0
    ;   upvals: lastCard
    0000  GETUPVAL  R0 = lastCard
    0001  RETURN    return R0..R-1
    0002  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 93-96 np=1 va=0 ms=6 code=11 consts=5 upvals=3 protos=0
    ;   K[0]='math'
    ;   K[1]='ceil'
    ;   K[2]='m_progressSliderText'
    ;   K[3]='text'
    ;   K[4]='/'
    ;   upvals: _ENV, self, maxCard
    ;   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_progressSliderText')]
    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
  ; ---------- proto2 [m_progressSeq] ----------
    ; fn ?  line 99-103 np=0 va=0 ms=4 code=22 consts=6 upvals=4 protos=0
    ;   K[0]='UIUtil'
    ;   K[1]='SetActive'
    ;   K[2]='m_completeTextGo'
    ;   K[3]='m_progressSliderTextGo'
    ;   K[4]='m_progressSeq'
    ;   K[5]=nil
    ;   upvals: _ENV, self, curCard, maxCard
    0000  GETTABUP  R0 = _ENV[K0('UIUtil')]
    0001  GETTABLE  R0 = R0[K1('SetActive')]
    0002  GETTABUP  R1 = self[K2('m_completeTextGo')]
    0003  GETUPVAL  R2 = _ENV
    0004  GETUPVAL  R3 = _ENV
    0005  LE        if R1 le R2   -> -129527
    0006  JMP       (jump)   -> 8
    0007  LOADBOOL  R2 = false
    0008  LOADBOOL  R2 = true
    0009  CALL      R0 = call(R0, 0 args, 2 rets)
    0010  GETTABUP  R0 = _ENV[K0('UIUtil')]
    0011  GETTABLE  R0 = R0[K1('SetActive')]
    0012  GETTABUP  R1 = self[K3('m_progressSliderTextGo')]
    0013  GETUPVAL  R2 = _ENV
    0014  GETUPVAL  R3 = _ENV
    0015  LT        if R1 lt R3   -> -130028
    0016  JMP       (jump)   -> 18
    0017  LOADBOOL  R2 = false
    0018  LOADBOOL  R2 = true
    0019  CALL      R0 = call(R0, 0 args, 2 rets)
    0020  SETTABUP  self[K4('m_progressSeq')] = K5(nil)
    0021  RETURN    return R0..R-1
; ---------- proto4 [OnRedPointRefresh] ----------
  ; fn ?  line 110-114 np=1 va=0 ms=8 code=9 consts=3 upvals=1 protos=0
  ;   K[0]='pairs'
  ;   K[1]='m_cells'
  ;   K[2]='UpdateRedPoint'
  ;   upvals: _ENV
  ;   locals: self(0-9), (for generator)(3-8), (for state)(3-8), (for control)(3-8), _(4-6), cell(4-6)
  0000  GETTABUP  R1 = _ENV[K0('pairs')]
  0001  GETTABLE  R2 = R0[K1('m_cells')]
  0002  CALL      R1 = call(R1, 3 args, 1 rets)
  0003  JMP       (jump)   -> 6
  0004  SELF      R7 = R5[K2('UpdateRedPoint')] (self)
  0005  CALL      R6 = call(R6, 0 args, 1 rets)
  0006  TFORCALL  tforcall R1
  0007  TFORLOOP  tforloop R3(sBx=-4)   -> 4
  0008  RETURN    return R0..R-1
; ---------- proto5 [UpdatePerSecond] ----------
  ; fn ?  line 116-131 np=1 va=0 ms=11 code=47 consts=21 upvals=1 protos=0
  ;   K[0]='m_model'
  ;   K[1]='GetState'
  ;   K[2]='ActivityState'
  ;   K[3]='Ended'
  ;   K[4]='UIUtil'
  ;   K[5]='SetActive'
  ;   K[6]='m_countDownGo'
  ;   K[7]='GetNextStateTime'
  ;   K[8]=nil
  ;   K[9]='GM'
  ;   K[10]='GameModel'
  ;   K[11]='GetServerTime'
  ;   K[12]='m_countDownText'
  ;   K[13]='text'
  ;   K[14]='GameTextModel'
  ;   K[15]='GetText'
  ;   K[16]='cookingFrenzy_countdown'
  ;   K[17]=' '
  ;   K[18]='TimeUtil'
  ;   K[19]='ParseTimeDescription'
  ;   K[20]=2
  ;   upvals: _ENV
  ;   locals: self(0-47), nextTime(20-47), delta(30-46)
  0000  GETTABLE  R1 = R0[K0('m_model')]
  0001  TEST      if not R1 then   -> -131068
  0002  JMP       (jump)   -> 4
  0003  RETURN    return R0..R-1
  0004  GETTABLE  R1 = R0[K0('m_model')]
  0005  SELF      R2 = R1[K1('GetState')] (self)
  0006  CALL      R1 = call(R1, 1 args, 1 rets)
  0007  GETTABUP  R2 = _ENV[K2('ActivityState')]
  0008  GETTABLE  R2 = R2[K3('Ended')]
  0009  EQ        if R0 eq R2   -> -130547
  0010  JMP       (jump)   -> 17
  0011  GETTABUP  R1 = _ENV[K4('UIUtil')]
  0012  GETTABLE  R1 = R1[K5('SetActive')]
  0013  GETTABLE  R2 = R0[K6('m_countDownGo')]
  0014  LOADBOOL  R3 = false
  0015  CALL      R1 = call(R1, 0 args, 2 rets)
  0016  RETURN    return R0..R-1
  0017  GETTABLE  R1 = R0[K0('m_model')]
  0018  SELF      R2 = R1[K7('GetNextStateTime')] (self)
  0019  CALL      R1 = call(R1, 1 args, 1 rets)
  0020  EQ        if R1 eq K8(nil)   -> -130274
  0021  JMP       (jump)   -> 46
  0022  GETTABLE  R2 = R0[K0('m_model')]
  0023  SELF      R3 = R2[K7('GetNextStateTime')] (self)
  0024  CALL      R2 = call(R2, 1 args, 1 rets)
  0025  GETTABUP  R3 = _ENV[K9('GM')]
  0026  GETTABLE  R3 = R3[K10('GameModel')]
  0027  SELF      R4 = R3[K11('GetServerTime')] (self)
  0028  CALL      R3 = call(R3, 1 args, 1 rets)
  0029  SUB       R2 = R3 sub R2
  0030  GETTABLE  R3 = R0[K12('m_countDownText')]
  0031  GETTABUP  R4 = _ENV[K9('GM')]
  0032  GETTABLE  R4 = R4[K14('GameTextModel')]
  0033  SELF      R5 = R4[K15('GetText')] (self)
  0034  LOADK     R6 = K16 'cookingFrenzy_countdown'
  0035  CALL      R4 = call(R4, 1 args, 2 rets)
  0036  LOADK     R5 = K17 ' '
  0037  GETTABUP  R6 = _ENV[K18('TimeUtil')]
  0038  GETTABLE  R6 = R6[K19('ParseTimeDescription')]
  0039  MOVE      R7 = R0
  0040  LOADK     R8 = K20 2
  0041  LOADBOOL  R9 = false
  0042  LOADBOOL  R10 = false
  0043  CALL      R6 = call(R6, 1 args, 4 rets)
  0044  CONCAT    R4 = concat(R4..R4)
  0045  SETTABLE  R3[K13('text')] = R4
  0046  RETURN    return R0..R-1
; ---------- proto6 [OnHelpBtnClicked] ----------
  ; fn ?  line 133-135 np=1 va=0 ms=6 code=10 consts=7 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='UIManager'
  ;   K[2]='OpenView'
  ;   K[3]='m_definition'
  ;   K[4]='HelpWindowPrefabName'
  ;   K[5]='m_model'
  ;   K[6]='GetType'
  ;   upvals: _ENV
  ;   locals: self(0-10)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('UIManager')]
  0002  SELF      R2 = R1[K2('OpenView')] (self)
  0003  GETTABLE  R3 = R0[K3('m_definition')]
  0004  GETTABLE  R3 = R3[K4('HelpWindowPrefabName')]
  0005  GETTABLE  R4 = R0[K5('m_model')]
  0006  SELF      R5 = R4[K6('GetType')] (self)
  0007  CALL      R4 = call(R4, -1 args, 1 rets)
  0008  CALL      R1 = call(R1, 0 args, -1 rets)
  0009  RETURN    return R0..R-1
; ---------- proto7 [ShowRewardTip] ----------
  ; fn ?  line 137-139 np=5 va=0 ms=13 code=11 consts=4 upvals=1 protos=0
  ;   K[0]='m_rewardTip'
  ;   K[1]='Show'
  ;   K[2]='ERewardScene'
  ;   K[3]='Other'
  ;   upvals: _ENV
  ;   locals: self(0-11), rewards(0-11), rectTrans(0-11), offsetX(0-11), offsetY(0-11)
  0000  GETTABLE  R5 = R0[K0('m_rewardTip')]
  0001  SELF      R6 = R5[K1('Show')] (self)
  0002  MOVE      R7 = R0
  0003  GETTABUP  R8 = _ENV[K2('ERewardScene')]
  0004  GETTABLE  R8 = R8[K3('Other')]
  0005  MOVE      R9 = R0
  0006  MOVE      R10 = R0
  0007  MOVE      R11 = R0
  0008  LOADBOOL  R12 = true
  0009  CALL      R5 = call(R5, 0 args, 7 rets)
  0010  RETURN    return R0..R-1
; ---------- proto8 [OnPopBtnClicked] ----------
  ; fn ?  line 141-146 np=1 va=0 ms=7 code=15 consts=8 upvals=0 protos=0
  ;   K[0]='m_model'
  ;   K[1]='ShowRewardTip'
  ;   K[2]='GetAlbumConfig'
  ;   K[3]='reward'
  ;   K[4]='m_boxImg'
  ;   K[5]='transform'
  ;   K[6]=0
  ;   K[7]=-50
  ;   locals: self(0-15)
  0000  GETTABLE  R1 = R0[K0('m_model')]
  0001  TEST      if not R1 then   -> -131068
  0002  JMP       (jump)   -> 4
  0003  RETURN    return R0..R-1
  0004  SELF      R2 = R0[K1('ShowRewardTip')] (self)
  0005  GETTABLE  R3 = R0[K0('m_model')]
  0006  SELF      R4 = R3[K2('GetAlbumConfig')] (self)
  0007  CALL      R3 = call(R3, 1 args, 1 rets)
  0008  GETTABLE  R3 = R3[K3('reward')]
  0009  GETTABLE  R4 = R0[K4('m_boxImg')]
  0010  GETTABLE  R4 = R4[K5('transform')]
  0011  LOADK     R5 = K6 0
  0012  LOADK     R6 = K7 -50
  0013  CALL      R1 = call(R1, 0 args, 5 rets)
  0014  RETURN    return R0..R-1
; ---------- proto9 [OnGroupIconClicked] ----------
  ; fn ?  line 148-150 np=2 va=0 ms=5 code=5 consts=2 upvals=0 protos=0
  ;   K[0]='m_mainWindow'
  ;   K[1]='OnGroupIconClicked'
  ;   locals: self(0-5), setId(0-5)
  0000  GETTABLE  R2 = R0[K0('m_mainWindow')]
  0001  SELF      R3 = R2[K1('OnGroupIconClicked')] (self)
  0002  MOVE      R4 = R0
  0003  CALL      R2 = call(R2, 0 args, 2 rets)
  0004  RETURN    return R0..R-1
; ---------- proto10 [GetTutorialBgRect] ----------
  ; fn ?  line 153-155 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_bgRect'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_bgRect')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto11 [GetTutorialProgressRect] ----------
  ; fn ?  line 157-159 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_progressTutorialRect'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_progressTutorialRect')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto12 [GetSetCell] ----------
  ; fn ?  line 161-163 np=2 va=0 ms=3 code=7 consts=1 upvals=0 protos=0
  ;   K[0]='m_cells'
  ;   locals: self(0-7), index(0-7)
  0000  GETTABLE  R2 = R0[K0('m_cells')]
  0001  TEST      if not R2 then   -> -131069
  0002  JMP       (jump)   -> 5
  0003  GETTABLE  R2 = R0[K0('m_cells')]
  0004  GETTABLE  R2 = R2[R1]
  0005  RETURN    return R2..R1
  0006  RETURN    return R0..R-1
; ---------- proto13 [TryScroll2ShowSetCell] ----------
  ; fn ?  line 165-172 np=2 va=0 ms=6 code=11 consts=4 upvals=0 protos=0
  ;   K[0]='m_scrollRect'
  ;   K[1]='enabled'
  ;   K[2]='verticalNormalizedPosition'
  ;   K[3]='_GetProgressMiddleVerticalNormalizedPosition'
  ;   locals: self(0-11), index(0-11)
  0000  GETTABLE  R2 = R0[K0('m_scrollRect')]
  0001  GETTABLE  R2 = R2[K1('enabled')]
  0002  TEST      if not R2 then   -> -131067
  0003  JMP       (jump)   -> 5
  0004  RETURN    return R0..R-1
  0005  GETTABLE  R2 = R0[K0('m_scrollRect')]
  0006  SELF      R4 = R0[K3('_GetProgressMiddleVerticalNormalizedPosition')] (self)
  0007  MOVE      R5 = R0
  0008  CALL      R3 = call(R3, 1 args, 2 rets)
  0009  SETTABLE  R2[K2('verticalNormalizedPosition')] = R3
  0010  RETURN    return R0..R-1
; ---------- proto14 [_GetProgressMiddleVerticalNormalizedPosition] ----------
  ; fn ?  line 174-187 np=2 va=0 ms=11 code=39 consts=16 upvals=1 protos=0
  ;   K[0]=3
  ;   K[1]=1
  ;   K[2]='m_setLayout'
  ;   K[3]='cellSize'
  ;   K[4]='y'
  ;   K[5]='spacing'
  ;   K[6]='padding'
  ;   K[7]='top'
  ;   K[8]='m_packsRect'
  ;   K[9]='rect'
  ;   K[10]='height'
  ;   K[11]=2
  ;   K[12]='m_setContentRect'
  ;   K[13]='math'
  ;   K[14]='max'
  ;   K[15]=0
  ;   upvals: _ENV
  ;   locals: self(0-39), index(0-39), row(2-39), cellHeight(9-39), targetSliderHeight(15-39), progressNodeHeight(18-39), progressContentHeight(24-35), normalized(29-35)
  0000  IDIV      R2 = K0(3) idiv R1
  0001  ADD       R2 = K1(1) add R2
  0002  GETTABLE  R3 = R0[K2('m_setLayout')]
  0003  GETTABLE  R3 = R3[K3('cellSize')]
  0004  GETTABLE  R3 = R3[K4('y')]
  0005  GETTABLE  R4 = R0[K2('m_setLayout')]
  0006  GETTABLE  R4 = R4[K5('spacing')]
  0007  GETTABLE  R4 = R4[K4('y')]
  0008  ADD       R3 = R4 add R3
  0009  SUB       R4 = K1(1) sub R2
  0010  MUL       R4 = R3 mul R4
  0011  GETTABLE  R5 = R0[K2('m_setLayout')]
  0012  GETTABLE  R5 = R5[K6('padding')]
  0013  GETTABLE  R5 = R5[K7('top')]
  0014  ADD       R4 = R5 add R4
  0015  GETTABLE  R5 = R0[K8('m_packsRect')]
  0016  GETTABLE  R5 = R5[K9('rect')]
  0017  GETTABLE  R5 = R5[K10('height')]
  0018  DIV       R6 = K11(2) div R5
  0019  LT        if R0 lt R4   -> -127975
  0020  JMP       (jump)   -> 36
  0021  GETTABLE  R6 = R0[K12('m_setContentRect')]
  0022  GETTABLE  R6 = R6[K9('rect')]
  0023  GETTABLE  R6 = R6[K10('height')]
  0024  SUB       R7 = R4 sub R6
  0025  DIV       R8 = K11(2) div R5
  0026  SUB       R7 = R8 sub R7
  0027  SUB       R8 = R5 sub R6
  0028  DIV       R7 = R8 div R7
  0029  GETTABUP  R8 = _ENV[K13('math')]
  0030  GETTABLE  R8 = R8[K14('max')]
  0031  MOVE      R9 = R0
  0032  LOADK     R10 = K15 0
  0033  TAILCALL  tailcall(R8, 0)
  0034  RETURN    return R8..R7
  0035  JMP       (jump)   -> 38
  0036  LOADK     R6 = K1 1
  0037  RETURN    return R6..R5
  0038  RETURN    return R0..R-1
; ---------- proto15 [TryResetScrollToTop] ----------
  ; fn ?  line 189-191 np=1 va=0 ms=3 code=4 consts=2 upvals=0 protos=0
  ;   K[0]='m_mainWindow'
  ;   K[1]='TryResetScrollToTop'
  ;   locals: self(0-4)
  0000  GETTABLE  R1 = R0[K0('m_mainWindow')]
  0001  SELF      R2 = R1[K1('TryResetScrollToTop')] (self)
  0002  CALL      R1 = call(R1, 0 args, 1 rets)
  0003  RETURN    return R0..R-1
; ---------- proto16 [IsTopView] ----------
  ; fn ?  line 193-195 np=1 va=0 ms=3 code=14 consts=5 upvals=1 protos=0
  ;   K[0]='m_mainWindow'
  ;   K[1]=nil
  ;   K[2]='GM'
  ;   K[3]='UIManager'
  ;   K[4]='GetOpenedTopView'
  ;   upvals: _ENV
  ;   locals: self(0-14)
  0000  GETTABLE  R1 = R0[K0('m_mainWindow')]
  0001  EQ        if R1 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 10
  0003  GETTABUP  R1 = _ENV[K2('GM')]
  0004  GETTABLE  R1 = R1[K3('UIManager')]
  0005  SELF      R2 = R1[K4('GetOpenedTopView')] (self)
  0006  CALL      R1 = call(R1, 1 args, 1 rets)
  0007  GETTABLE  R2 = R0[K0('m_mainWindow')]
  0008  EQ        if R1 eq R2   -> -130548
  0009  JMP       (jump)   -> 11
  0010  LOADBOOL  R1 = false
  0011  LOADBOOL  R1 = true
  0012  RETURN    return R1..R0
  0013  RETURN    return R0..R-1
; ---------- proto17 [PlayEndAnimation] ----------
  ; fn ?  line 197-208 np=1 va=0 ms=4 code=27 consts=14 upvals=0 protos=0
  ;   K[0]='m_bPlayedEndAnimation'
  ;   K[1]=true
  ;   K[2]='m_model'
  ;   K[3]='SetHasShowedEnding'
  ;   K[4]='m_disappearEffectGo'
  ;   K[5]='SetActive'
  ;   K[6]='m_disappearAnimator'
  ;   K[7]='SetTrigger'
  ;   K[8]='Hide'
  ;   K[9]='Update'
  ;   K[10]=0
  ;   K[11]='GetCurrentAnimatorStateInfo'
  ;   K[12]='length'
  ;   K[13]=1
  ;   locals: self(0-27), currentState(21-27), clipLength(25-27)
  0000  SETTABLE  R0[K0('m_bPlayedEndAnimation')] = K1(true)
  0001  GETTABLE  R1 = R0[K2('m_model')]
  0002  SELF      R2 = R1[K3('SetHasShowedEnding')] (self)
  0003  LOADBOOL  R3 = true
  0004  CALL      R1 = call(R1, 0 args, 2 rets)
  0005  GETTABLE  R1 = R0[K4('m_disappearEffectGo')]
  0006  SELF      R2 = R1[K5('SetActive')] (self)
  0007  LOADBOOL  R3 = true
  0008  CALL      R1 = call(R1, 0 args, 2 rets)
  0009  GETTABLE  R1 = R0[K6('m_disappearAnimator')]
  0010  SELF      R2 = R1[K7('SetTrigger')] (self)
  0011  LOADK     R3 = K8 'Hide'
  0012  CALL      R1 = call(R1, 0 args, 2 rets)
  0013  GETTABLE  R1 = R0[K6('m_disappearAnimator')]
  0014  SELF      R2 = R1[K9('Update')] (self)
  0015  LOADK     R3 = K10 0
  0016  CALL      R1 = call(R1, 0 args, 2 rets)
  0017  GETTABLE  R1 = R0[K6('m_disappearAnimator')]
  0018  SELF      R2 = R1[K11('GetCurrentAnimatorStateInfo')] (self)
  0019  LOADK     R3 = K10 0
  0020  CALL      R1 = call(R1, 1 args, 2 rets)
  0021  GETTABLE  R2 = R1[K12('length')]
  0022  TEST      if not R2 then   -> -131047
  0023  JMP       (jump)   -> 25
  0024  LOADK     R2 = K13 1
  0025  RETURN    return R2..R1
  0026  RETURN    return R0..R-1
; ---------- proto18 [HasPlayedEndAnimation] ----------
  ; fn ?  line 210-212 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_bPlayedEndAnimation'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_bPlayedEndAnimation')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
