# Model_Tutorial_Executer_TutorialExecuterWeakGesture_2189.luac
; fn @TutorialExecuterWeakGesture.lua  line 0-0 np=0 va=1 ms=3 code=30 consts=21 upvals=1 protos=9
;   K[0]='setmetatable'
;   K[1]='AddToAutoPopup'
;   K[2]=false
;   K[3]='TutorialExecuter'
;   K[4]='__index'
;   K[5]='ClickDiscoveries'
;   K[6]=1
;   K[7]='EnterBoard'
;   K[8]=2
;   K[9]='ToMap'
;   K[10]=3
;   K[11]='TapCacheWhenLackOfEq'
;   K[12]=4
;   K[13]='OnStart'
;   K[14]='_OnOrderItemCookPopTip'
;   K[15]='_OnHideTapCacheWeakTutorial'
;   K[16]='_UpdateGesture'
;   K[17]='_CanShowGesture'
;   K[18]='_DetermineGestureType'
;   K[19]='_ShowGesture'
;   K[20]='_HideGesture'
;   upvals: _ENV
;   locals: Executer(5-30), EGestureType(11-30)
0000  GETTABUP  R0 = _ENV[K0('setmetatable')]
0001  NEWTABLE  R1 = {} (0 items)
0002  SETTABLE  R1[K1('AddToAutoPopup')] = K2(false)
0003  GETTABUP  R2 = _ENV[K3('TutorialExecuter')]
0004  CALL      R0 = call(R0, 1 args, 2 rets)
0005  SETTABLE  R0[K4('__index')] = R0
0006  NEWTABLE  R1 = {} (0 items)
0007  SETTABLE  R1[K5('ClickDiscoveries')] = K6(1)
0008  SETTABLE  R1[K7('EnterBoard')] = K8(2)
0009  SETTABLE  R1[K9('ToMap')] = K10(3)
0010  SETTABLE  R1[K11('TapCacheWhenLackOfEq')] = K12(4)
0011  CLOSURE   R2 = closure proto0
0012  SETTABLE  R0[K13('OnStart')] = R2
0013  CLOSURE   R2 = closure proto1
0014  SETTABLE  R0[K14('_OnOrderItemCookPopTip')] = R2
0015  CLOSURE   R2 = closure proto2
0016  SETTABLE  R0[K15('_OnHideTapCacheWeakTutorial')] = R2
0017  CLOSURE   R2 = closure proto3
0018  SETTABLE  R0[K16('_UpdateGesture')] = R2
0019  CLOSURE   R2 = closure proto4
0020  SETTABLE  R0[K17('_CanShowGesture')] = R2
0021  CLOSURE   R2 = closure proto5
0022  SETTABLE  R0[K18('_DetermineGestureType')] = R2
0023  CLOSURE   R2 = closure proto6
0024  SETTABLE  R0[K19('_ShowGesture')] = R2
0025  CLOSURE   R2 = closure proto7
0026  SETTABLE  R0[K20('_HideGesture')] = R2
0027  CLOSURE   R2 = closure proto8
0028  RETURN    return R2..R1
0029  RETURN    return R0..R-1
; ---------- proto0 [OnStart] ----------
  ; fn ?  line 13-47 np=1 va=0 ms=5 code=89 consts=19 upvals=2 protos=1
  ;   K[0]='EventDispatcher'
  ;   K[1]='AddListener'
  ;   K[2]='EEventType'
  ;   K[3]='OpenView'
  ;   K[4]='_UpdateGesture'
  ;   K[5]='CloseView'
  ;   K[6]='EventLockClear'
  ;   K[7]='TimelineComplete'
  ;   K[8]='TutorialFinished'
  ;   K[9]='ChangeGameModeFinished'
  ;   K[10]='MainTaskFinished'
  ;   K[11]='UpdateSceneViewHud'
  ;   K[12]='OrderStateChanged'
  ;   K[13]='NewContentReleased'
  ;   K[14]='OrderItemCookPopTip'
  ;   K[15]='_OnOrderItemCookPopTip'
  ;   K[16]='HideTapCacheWeakTutorial'
  ;   K[17]='_OnHideTapCacheWeakTutorial'
  ;   K[18]='m_showGesture'
  ;   upvals: _ENV, EGestureType
  ;   locals: self(0-89)
  0000  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0001  GETTABLE  R1 = R1[K1('AddListener')]
  0002  GETTABUP  R2 = _ENV[K2('EEventType')]
  0003  GETTABLE  R2 = R2[K3('OpenView')]
  0004  MOVE      R3 = R0
  0005  GETTABLE  R4 = R0[K4('_UpdateGesture')]
  0006  CALL      R1 = call(R1, 0 args, 3 rets)
  0007  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0008  GETTABLE  R1 = R1[K1('AddListener')]
  0009  GETTABUP  R2 = _ENV[K2('EEventType')]
  0010  GETTABLE  R2 = R2[K5('CloseView')]
  0011  MOVE      R3 = R0
  0012  GETTABLE  R4 = R0[K4('_UpdateGesture')]
  0013  CALL      R1 = call(R1, 0 args, 3 rets)
  0014  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0015  GETTABLE  R1 = R1[K1('AddListener')]
  0016  GETTABUP  R2 = _ENV[K2('EEventType')]
  0017  GETTABLE  R2 = R2[K6('EventLockClear')]
  0018  MOVE      R3 = R0
  0019  GETTABLE  R4 = R0[K4('_UpdateGesture')]
  0020  CALL      R1 = call(R1, 0 args, 3 rets)
  0021  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0022  GETTABLE  R1 = R1[K1('AddListener')]
  0023  GETTABUP  R2 = _ENV[K2('EEventType')]
  0024  GETTABLE  R2 = R2[K7('TimelineComplete')]
  0025  MOVE      R3 = R0
  0026  GETTABLE  R4 = R0[K4('_UpdateGesture')]
  0027  CALL      R1 = call(R1, 0 args, 3 rets)
  0028  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0029  GETTABLE  R1 = R1[K1('AddListener')]
  0030  GETTABUP  R2 = _ENV[K2('EEventType')]
  0031  GETTABLE  R2 = R2[K8('TutorialFinished')]
  0032  MOVE      R3 = R0
  0033  GETTABLE  R4 = R0[K4('_UpdateGesture')]
  0034  CALL      R1 = call(R1, 0 args, 3 rets)
  0035  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0036  GETTABLE  R1 = R1[K1('AddListener')]
  0037  GETTABUP  R2 = _ENV[K2('EEventType')]
  0038  GETTABLE  R2 = R2[K9('ChangeGameModeFinished')]
  0039  MOVE      R3 = R0
  0040  GETTABLE  R4 = R0[K4('_UpdateGesture')]
  0041  CALL      R1 = call(R1, 0 args, 3 rets)
  0042  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0043  GETTABLE  R1 = R1[K1('AddListener')]
  0044  GETTABUP  R2 = _ENV[K2('EEventType')]
  0045  GETTABLE  R2 = R2[K10('MainTaskFinished')]
  0046  MOVE      R3 = R0
  0047  GETTABLE  R4 = R0[K4('_UpdateGesture')]
  0048  CALL      R1 = call(R1, 0 args, 3 rets)
  0049  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0050  GETTABLE  R1 = R1[K1('AddListener')]
  0051  GETTABUP  R2 = _ENV[K2('EEventType')]
  0052  GETTABLE  R2 = R2[K11('UpdateSceneViewHud')]
  0053  MOVE      R3 = R0
  0054  GETTABLE  R4 = R0[K4('_UpdateGesture')]
  0055  CALL      R1 = call(R1, 0 args, 3 rets)
  0056  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0057  GETTABLE  R1 = R1[K1('AddListener')]
  0058  GETTABUP  R2 = _ENV[K2('EEventType')]
  0059  GETTABLE  R2 = R2[K12('OrderStateChanged')]
  0060  MOVE      R3 = R0
  0061  GETTABLE  R4 = R0[K4('_UpdateGesture')]
  0062  CALL      R1 = call(R1, 0 args, 3 rets)
  0063  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0064  GETTABLE  R1 = R1[K1('AddListener')]
  0065  GETTABUP  R2 = _ENV[K2('EEventType')]
  0066  GETTABLE  R2 = R2[K13('NewContentReleased')]
  0067  MOVE      R3 = R0
  0068  GETTABLE  R4 = R0[K4('_UpdateGesture')]
  0069  CALL      R1 = call(R1, 0 args, 3 rets)
  0070  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0071  GETTABLE  R1 = R1[K1('AddListener')]
  0072  GETTABUP  R2 = _ENV[K2('EEventType')]
  0073  GETTABLE  R2 = R2[K14('OrderItemCookPopTip')]
  0074  MOVE      R3 = R0
  0075  GETTABLE  R4 = R0[K15('_OnOrderItemCookPopTip')]
  0076  CALL      R1 = call(R1, 0 args, 3 rets)
  0077  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0078  GETTABLE  R1 = R1[K1('AddListener')]
  0079  GETTABUP  R2 = _ENV[K2('EEventType')]
  0080  GETTABLE  R2 = R2[K16('HideTapCacheWeakTutorial')]
  0081  MOVE      R3 = R0
  0082  GETTABLE  R4 = R0[K17('_OnHideTapCacheWeakTutorial')]
  0083  CALL      R1 = call(R1, 0 args, 3 rets)
  0084  SELF      R2 = R0[K4('_UpdateGesture')] (self)
  0085  CALL      R1 = call(R1, 0 args, 1 rets)
  0086  CLOSURE   R1 = closure proto0
  0087  SETTABLE  R0[K18('m_showGesture')] = R1
  0088  RETURN    return R0..R-1
  ; ---------- proto0 [m_showGesture] ----------
    ; fn ?  line 30-46 np=0 va=0 ms=6 code=69 consts=29 upvals=3 protos=0
    ;   K[0]='m_eGestureType'
    ;   K[1]='ClickDiscoveries'
    ;   K[2]='m_gesture'
    ;   K[3]='TutorialHelper'
    ;   K[4]='TapOnHudButton'
    ;   K[5]='ESceneViewHudButtonKey'
    ;   K[6]='Discoveries'
    ;   K[7]='Vector3'
    ;   K[8]=-8
    ;   K[9]=3
    ;   K[10]=0
    ;   K[11]='ToMap'
    ;   K[12]='m_arrow'
    ;   K[13]='AddArrow2HudButton'
    ;   K[14]='Map'
    ;   K[15]='EnterBoard'
    ;   K[16]='MainBoard'
    ;   K[17]='TapCacheWhenLackOfEq'
    ;   K[18]='MainBoardView'
    ;   K[19]='GetInstance'
    ;   K[20]='GetOrderArea'
    ;   K[21]='ScrollToRectTransformVisible'
    ;   K[22]='GetBoardCacheRoot'
    ;   K[23]='transform'
    ;   K[24]='ShowHandTapEffect'
    ;   K[25]='m_bCacheRootGesture'
    ;   K[26]=true
    ;   K[27]='ToggleBoardPrompt'
    ;   K[28]='TryStartBoardPrompt'
    ;   upvals: self, EGestureType, _ENV
    ;   locals: boardView(47-68), orderArea(49-68)
    0000  GETTABUP  R0 = self[K0('m_eGestureType')]
    0001  GETTABUP  R1 = EGestureType[K1('ClickDiscoveries')]
    0002  EQ        if R0 eq R1   -> -131067
    0003  JMP       (jump)   -> 16
    0004  GETTABUP  R0 = _ENV[K3('TutorialHelper')]
    0005  GETTABLE  R0 = R0[K4('TapOnHudButton')]
    0006  GETTABUP  R1 = _ENV[K5('ESceneViewHudButtonKey')]
    0007  GETTABLE  R1 = R1[K6('Discoveries')]
    0008  GETTABUP  R2 = _ENV[K7('Vector3')]
    0009  LOADK     R3 = K8 -8
    0010  LOADK     R4 = K9 3
    0011  LOADK     R5 = K10 0
    0012  CALL      R2 = call(R2, -1 args, 3 rets)
    0013  CALL      R0 = call(R0, 1 args, -1 rets)
    0014  SETTABUP  self[K2('m_gesture')] = R0
    0015  JMP       (jump)   -> 68
    0016  GETTABUP  R0 = self[K0('m_eGestureType')]
    0017  GETTABUP  R1 = EGestureType[K11('ToMap')]
    0018  EQ        if R0 eq R1   -> -131051
    0019  JMP       (jump)   -> 28
    0020  GETTABUP  R0 = _ENV[K3('TutorialHelper')]
    0021  GETTABLE  R0 = R0[K13('AddArrow2HudButton')]
    0022  GETTABUP  R1 = _ENV[K5('ESceneViewHudButtonKey')]
    0023  GETTABLE  R1 = R1[K14('Map')]
    0024  LOADK     R2 = K10 0
    0025  CALL      R0 = call(R0, 1 args, 2 rets)
    0026  SETTABUP  self[K12('m_arrow')] = R0
    0027  JMP       (jump)   -> 68
    0028  GETTABUP  R0 = self[K0('m_eGestureType')]
    0029  GETTABUP  R1 = EGestureType[K15('EnterBoard')]
    0030  EQ        if R0 eq R1   -> -131039
    0031  JMP       (jump)   -> 40
    0032  GETTABUP  R0 = _ENV[K3('TutorialHelper')]
    0033  GETTABLE  R0 = R0[K13('AddArrow2HudButton')]
    0034  GETTABUP  R1 = _ENV[K5('ESceneViewHudButtonKey')]
    0035  GETTABLE  R1 = R1[K16('MainBoard')]
    0036  LOADK     R2 = K10 0
    0037  CALL      R0 = call(R0, 1 args, 2 rets)
    0038  SETTABUP  self[K12('m_arrow')] = R0
    0039  JMP       (jump)   -> 68
    0040  GETTABUP  R0 = self[K0('m_eGestureType')]
    0041  GETTABUP  R1 = EGestureType[K17('TapCacheWhenLackOfEq')]
    0042  EQ        if R0 eq R1   -> -131027
    0043  JMP       (jump)   -> 68
    0044  GETTABUP  R0 = _ENV[K18('MainBoardView')]
    0045  SELF      R1 = R0[K19('GetInstance')] (self)
    0046  CALL      R0 = call(R0, 1 args, 1 rets)
    0047  SELF      R2 = R0[K20('GetOrderArea')] (self)
    0048  CALL      R1 = call(R1, 1 args, 1 rets)
    0049  SELF      R3 = R1[K21('ScrollToRectTransformVisible')] (self)
    0050  SELF      R5 = R0[K20('GetOrderArea')] (self)
    0051  CALL      R4 = call(R4, 1 args, 1 rets)
    0052  SELF      R5 = R4[K22('GetBoardCacheRoot')] (self)
    0053  CALL      R4 = call(R4, 1 args, 1 rets)
    0054  GETTABLE  R4 = R4[K23('transform')]
    0055  LOADBOOL  R5 = true
    0056  CALL      R2 = call(R2, 0 args, 3 rets)
    0057  SELF      R3 = R1[K22('GetBoardCacheRoot')] (self)
    0058  CALL      R2 = call(R2, 1 args, 1 rets)
    0059  SELF      R3 = R2[K24('ShowHandTapEffect')] (self)
    0060  LOADBOOL  R4 = true
    0061  CALL      R2 = call(R2, 0 args, 2 rets)
    0062  SETTABUP  self[K25('m_bCacheRootGesture')] = K26(true)
    0063  SELF      R3 = R0[K27('ToggleBoardPrompt')] (self)
    0064  LOADBOOL  R4 = false
    0065  CALL      R2 = call(R2, 0 args, 2 rets)
    0066  SELF      R3 = R0[K28('TryStartBoardPrompt')] (self)
    0067  CALL      R2 = call(R2, 0 args, 1 rets)
    0068  RETURN    return R0..R-1
; ---------- proto1 [_OnOrderItemCookPopTip] ----------
  ; fn ?  line 49-69 np=2 va=0 ms=12 code=64 consts=24 upvals=1 protos=0
  ;   K[0]='m_bShouldTapCacheWhenLackOfEq'
  ;   K[1]=false
  ;   K[2]='GM'
  ;   K[3]='ConfigModel'
  ;   K[4]='CachePinEqPdToTop'
  ;   K[5]='tip'
  ;   K[6]='tipType'
  ;   K[7]='EItemPopTipType'
  ;   K[8]='MatPopWithInstruLack'
  ;   K[9]='StringUtil'
  ;   K[10]='StartWith'
  ;   K[11]='itemCode'
  ;   K[12]='eq_'
  ;   K[13]='MainBoardModel'
  ;   K[14]='IsBoardFull'
  ;   K[15]='GetCachedItemCount'
  ;   K[16]=0
  ;   K[17]='ItemDataModel'
  ;   K[18]='GetChainId'
  ;   K[19]='GetChain'
  ;   K[20]='ipairs'
  ;   K[21]='GetCachedCountByCode'
  ;   K[22]=true
  ;   K[23]='_UpdateGesture'
  ;   upvals: _ENV
  ;   locals: self(0-64), msg(0-64), chainId(41-61), arrChain(46-61), (for generator)(49-61), (for state)(49-61), (for control)(49-61), _(50-59), id(50-59)
  0000  SETTABLE  R0[K0('m_bShouldTapCacheWhenLackOfEq')] = K1(false)
  0001  GETTABUP  R2 = _ENV[K2('GM')]
  0002  GETTABLE  R2 = R2[K3('ConfigModel')]
  0003  SELF      R3 = R2[K4('CachePinEqPdToTop')] (self)
  0004  CALL      R2 = call(R2, 1 args, 1 rets)
  0005  TEST      if not R2 then   -> -131065
  0006  JMP       (jump)   -> 61
  0007  TEST      if not R1 then   -> -131063
  0008  JMP       (jump)   -> 61
  0009  GETTABLE  R2 = R1[K5('tip')]
  0010  TEST      if not R2 then   -> -131060
  0011  JMP       (jump)   -> 61
  0012  GETTABLE  R2 = R1[K6('tipType')]
  0013  GETTABUP  R3 = _ENV[K7('EItemPopTipType')]
  0014  GETTABLE  R3 = R3[K8('MatPopWithInstruLack')]
  0015  EQ        if R0 eq R3   -> -130028
  0016  JMP       (jump)   -> 61
  0017  GETTABUP  R2 = _ENV[K9('StringUtil')]
  0018  GETTABLE  R2 = R2[K10('StartWith')]
  0019  GETTABLE  R3 = R1[K11('itemCode')]
  0020  LOADK     R4 = K12 'eq_'
  0021  CALL      R2 = call(R2, 1 args, 2 rets)
  0022  TEST      if not R2 then   -> -131048
  0023  JMP       (jump)   -> 61
  0024  GETTABUP  R2 = _ENV[K2('GM')]
  0025  GETTABLE  R2 = R2[K13('MainBoardModel')]
  0026  SELF      R3 = R2[K14('IsBoardFull')] (self)
  0027  CALL      R2 = call(R2, 1 args, 1 rets)
  0028  TEST      if not R2 then   -> -131041
  0029  JMP       (jump)   -> 61
  0030  GETTABUP  R2 = _ENV[K2('GM')]
  0031  GETTABLE  R2 = R2[K13('MainBoardModel')]
  0032  SELF      R3 = R2[K15('GetCachedItemCount')] (self)
  0033  CALL      R2 = call(R2, 1 args, 1 rets)
  0034  LT        if R0 lt R2   -> 8230
  0035  JMP       (jump)   -> 61
  0036  GETTABUP  R2 = _ENV[K2('GM')]
  0037  GETTABLE  R2 = R2[K17('ItemDataModel')]
  0038  SELF      R3 = R2[K18('GetChainId')] (self)
  0039  GETTABLE  R4 = R1[K11('itemCode')]
  0040  CALL      R2 = call(R2, 1 args, 2 rets)
  0041  GETTABUP  R3 = _ENV[K2('GM')]
  0042  GETTABLE  R3 = R3[K17('ItemDataModel')]
  0043  SELF      R4 = R3[K19('GetChain')] (self)
  0044  MOVE      R5 = R0
  0045  CALL      R3 = call(R3, 1 args, 2 rets)
  0046  GETTABUP  R4 = _ENV[K20('ipairs')]
  0047  MOVE      R5 = R0
  0048  CALL      R4 = call(R4, 3 args, 1 rets)
  0049  JMP       (jump)   -> 59
  0050  GETTABUP  R9 = _ENV[K2('GM')]
  0051  GETTABLE  R9 = R9[K13('MainBoardModel')]
  0052  SELF      R10 = R9[K21('GetCachedCountByCode')] (self)
  0053  MOVE      R11 = R0
  0054  CALL      R9 = call(R9, 1 args, 2 rets)
  0055  LT        if R0 lt R9   -> 8258
  0056  JMP       (jump)   -> 59
  0057  SETTABLE  R0[K0('m_bShouldTapCacheWhenLackOfEq')] = K22(true)
  0058  JMP       (jump)   -> 61
  0059  TFORCALL  tforcall R4
  0060  TFORLOOP  tforloop R6(sBx=-11)   -> 50
  0061  SELF      R3 = R0[K23('_UpdateGesture')] (self)
  0062  CALL      R2 = call(R2, 0 args, 1 rets)
  0063  RETURN    return R0..R-1
; ---------- proto2 [_OnHideTapCacheWeakTutorial] ----------
  ; fn ?  line 71-74 np=1 va=0 ms=3 code=4 consts=3 upvals=0 protos=0
  ;   K[0]='m_bShouldTapCacheWhenLackOfEq'
  ;   K[1]=false
  ;   K[2]='_UpdateGesture'
  ;   locals: self(0-4)
  0000  SETTABLE  R0[K0('m_bShouldTapCacheWhenLackOfEq')] = K1(false)
  0001  SELF      R2 = R0[K2('_UpdateGesture')] (self)
  0002  CALL      R1 = call(R1, 0 args, 1 rets)
  0003  RETURN    return R0..R-1
; ---------- proto3 [_UpdateGesture] ----------
  ; fn ?  line 76-83 np=1 va=0 ms=4 code=10 consts=3 upvals=0 protos=0
  ;   K[0]='_CanShowGesture'
  ;   K[1]='_ShowGesture'
  ;   K[2]='_HideGesture'
  ;   locals: self(0-10), showGesture(2-10)
  0000  SELF      R2 = R0[K0('_CanShowGesture')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131068
  0003  JMP       (jump)   -> 7
  0004  SELF      R3 = R0[K1('_ShowGesture')] (self)
  0005  CALL      R2 = call(R2, 0 args, 1 rets)
  0006  JMP       (jump)   -> 9
  0007  SELF      R3 = R0[K2('_HideGesture')] (self)
  0008  CALL      R2 = call(R2, 0 args, 1 rets)
  0009  RETURN    return R0..R-1
; ---------- proto4 [_CanShowGesture] ----------
  ; fn ?  line 85-112 np=1 va=0 ms=4 code=98 consts=27 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='UIManager'
  ;   K[2]='allWindowClosed'
  ;   K[3]='IsEventLock'
  ;   K[4]='IsMaskVisible'
  ;   K[5]='TimelineManager'
  ;   K[6]='IsPlayingTimeline'
  ;   K[7]='TutorialModel'
  ;   K[8]='HasAnyStrongTutorialOngoing'
  ;   K[9]='ChapterManager'
  ;   K[10]='curActiveChapterName'
  ;   K[11]='TaskManager'
  ;   K[12]='GetOngoingChapterName'
  ;   K[13]='SceneManager'
  ;   K[14]='isChanging'
  ;   K[15]='GetOpenedViewByName'
  ;   K[16]='UIPrefabConfigName'
  ;   K[17]='BaseSceneView'
  ;   K[18]=nil
  ;   K[19]='GetGameMode'
  ;   K[20]='EGameMode'
  ;   K[21]='Main'
  ;   K[22]='CanFinishOngoingTask'
  ;   K[23]='Board'
  ;   K[24]='IsOngoingChapterProgressFinished'
  ;   K[25]='IsLastChapter'
  ;   K[26]='m_bShouldTapCacheWhenLackOfEq'
  ;   upvals: _ENV
  ;   locals: self(0-98)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('UIManager')]
  0002  GETTABLE  R1 = R1[K2('allWindowClosed')]
  0003  TEST      if not R1 then   -> -131067
  0004  JMP       (jump)   -> 51
  0005  GETTABUP  R1 = _ENV[K0('GM')]
  0006  GETTABLE  R1 = R1[K1('UIManager')]
  0007  SELF      R2 = R1[K3('IsEventLock')] (self)
  0008  CALL      R1 = call(R1, 1 args, 1 rets)
  0009  TEST      if not R1 then   -> -131060
  0010  JMP       (jump)   -> 51
  0011  GETTABUP  R1 = _ENV[K0('GM')]
  0012  GETTABLE  R1 = R1[K1('UIManager')]
  0013  SELF      R2 = R1[K4('IsMaskVisible')] (self)
  0014  CALL      R1 = call(R1, 1 args, 1 rets)
  0015  TEST      if not R1 then   -> -131054
  0016  JMP       (jump)   -> 51
  0017  GETTABUP  R1 = _ENV[K0('GM')]
  0018  GETTABLE  R1 = R1[K5('TimelineManager')]
  0019  SELF      R2 = R1[K6('IsPlayingTimeline')] (self)
  0020  CALL      R1 = call(R1, 1 args, 1 rets)
  0021  TEST      if not R1 then   -> -131048
  0022  JMP       (jump)   -> 51
  0023  GETTABUP  R1 = _ENV[K0('GM')]
  0024  GETTABLE  R1 = R1[K7('TutorialModel')]
  0025  SELF      R2 = R1[K8('HasAnyStrongTutorialOngoing')] (self)
  0026  CALL      R1 = call(R1, 1 args, 1 rets)
  0027  TEST      if not R1 then   -> -131042
  0028  JMP       (jump)   -> 51
  0029  GETTABUP  R1 = _ENV[K0('GM')]
  0030  GETTABLE  R1 = R1[K9('ChapterManager')]
  0031  GETTABLE  R1 = R1[K10('curActiveChapterName')]
  0032  GETTABUP  R2 = _ENV[K0('GM')]
  0033  GETTABLE  R2 = R2[K11('TaskManager')]
  0034  SELF      R3 = R2[K12('GetOngoingChapterName')] (self)
  0035  CALL      R2 = call(R2, 1 args, 1 rets)
  0036  EQ        if R0 eq R2   -> -130520
  0037  JMP       (jump)   -> 51
  0038  GETTABUP  R1 = _ENV[K0('GM')]
  0039  GETTABLE  R1 = R1[K13('SceneManager')]
  0040  GETTABLE  R1 = R1[K14('isChanging')]
  0041  TEST      if not R1 then   -> -131028
  0042  JMP       (jump)   -> 51
  0043  GETTABUP  R1 = _ENV[K0('GM')]
  0044  GETTABLE  R1 = R1[K1('UIManager')]
  0045  SELF      R2 = R1[K15('GetOpenedViewByName')] (self)
  0046  GETTABUP  R3 = _ENV[K16('UIPrefabConfigName')]
  0047  GETTABLE  R3 = R3[K17('BaseSceneView')]
  0048  CALL      R1 = call(R1, 1 args, 2 rets)
  0049  EQ        if R0 eq K18(nil)   -> -130235
  0050  JMP       (jump)   -> 53
  0051  LOADBOOL  R1 = false
  0052  RETURN    return R1..R0
  0053  GETTABUP  R1 = _ENV[K0('GM')]
  0054  GETTABLE  R1 = R1[K13('SceneManager')]
  0055  SELF      R2 = R1[K19('GetGameMode')] (self)
  0056  CALL      R1 = call(R1, 1 args, 1 rets)
  0057  GETTABUP  R2 = _ENV[K20('EGameMode')]
  0058  GETTABLE  R2 = R2[K21('Main')]
  0059  EQ        if R0 eq R2   -> -130497
  0060  JMP       (jump)   -> 68
  0061  GETTABUP  R1 = _ENV[K0('GM')]
  0062  GETTABLE  R1 = R1[K11('TaskManager')]
  0063  SELF      R2 = R1[K22('CanFinishOngoingTask')] (self)
  0064  CALL      R1 = call(R1, 1 args, 1 rets)
  0065  NOT       R1 = not R0
  0066  RETURN    return R1..R0
  0067  JMP       (jump)   -> 95
  0068  GETTABUP  R1 = _ENV[K0('GM')]
  0069  GETTABLE  R1 = R1[K13('SceneManager')]
  0070  SELF      R2 = R1[K19('GetGameMode')] (self)
  0071  CALL      R1 = call(R1, 1 args, 1 rets)
  0072  GETTABUP  R2 = _ENV[K20('EGameMode')]
  0073  GETTABLE  R2 = R2[K23('Board')]
  0074  EQ        if R0 eq R2   -> -130482
  0075  JMP       (jump)   -> 95
  0076  GETTABUP  R1 = _ENV[K0('GM')]
  0077  GETTABLE  R1 = R1[K11('TaskManager')]
  0078  SELF      R2 = R1[K24('IsOngoingChapterProgressFinished')] (self)
  0079  CALL      R1 = call(R1, 1 args, 1 rets)
  0080  TEST      if not R1 then   -> -130990
  0081  JMP       (jump)   -> 90
  0082  GETTABUP  R1 = _ENV[K0('GM')]
  0083  GETTABLE  R1 = R1[K11('TaskManager')]
  0084  SELF      R2 = R1[K25('IsLastChapter')] (self)
  0085  CALL      R1 = call(R1, 1 args, 1 rets)
  0086  TEST      if not R1 then   -> -130983
  0087  JMP       (jump)   -> 90
  0088  LOADBOOL  R1 = true
  0089  RETURN    return R1..R0
  0090  GETTABLE  R1 = R0[K26('m_bShouldTapCacheWhenLackOfEq')]
  0091  TEST      if not R1 then   -> -130979
  0092  JMP       (jump)   -> 95
  0093  LOADBOOL  R1 = true
  0094  RETURN    return R1..R0
  0095  LOADBOOL  R1 = false
  0096  RETURN    return R1..R0
  0097  RETURN    return R0..R-1
; ---------- proto5 [_DetermineGestureType] ----------
  ; fn ?  line 114-133 np=1 va=0 ms=5 code=61 consts=21 upvals=2 protos=0
  ;   K[0]='EnterBoard'
  ;   K[1]='GM'
  ;   K[2]='SceneManager'
  ;   K[3]='GetGameMode'
  ;   K[4]='EGameMode'
  ;   K[5]='Board'
  ;   K[6]='m_bShouldTapCacheWhenLackOfEq'
  ;   K[7]='TapCacheWhenLackOfEq'
  ;   K[8]='Main'
  ;   K[9]='OpenFunctionModel'
  ;   K[10]='IsFunctionOpen'
  ;   K[11]='EFunction'
  ;   K[12]='Discoveries'
  ;   K[13]='ItemDataModel'
  ;   K[14]='GetDiscoveriesCanRewardCount'
  ;   K[15]=0
  ;   K[16]='ClickDiscoveries'
  ;   K[17]='TaskManager'
  ;   K[18]='IsOngoingChapterProgressFinished'
  ;   K[19]='IsLastChapter'
  ;   K[20]='ToMap'
  ;   upvals: EGestureType, _ENV
  ;   locals: self(0-61), eGestureType(1-61)
  0000  GETTABUP  R1 = EGestureType[K0('EnterBoard')]
  0001  GETTABUP  R2 = _ENV[K1('GM')]
  0002  GETTABLE  R2 = R2[K2('SceneManager')]
  0003  SELF      R3 = R2[K3('GetGameMode')] (self)
  0004  CALL      R2 = call(R2, 1 args, 1 rets)
  0005  GETTABUP  R3 = _ENV[K4('EGameMode')]
  0006  GETTABLE  R3 = R3[K5('Board')]
  0007  EQ        if R0 eq R3   -> -130036
  0008  JMP       (jump)   -> 14
  0009  GETTABLE  R2 = R0[K6('m_bShouldTapCacheWhenLackOfEq')]
  0010  TEST      if not R2 then   -> -131060
  0011  JMP       (jump)   -> 14
  0012  GETTABUP  R1 = EGestureType[K7('TapCacheWhenLackOfEq')]
  0013  JMP       (jump)   -> 59
  0014  GETTABUP  R2 = _ENV[K1('GM')]
  0015  GETTABLE  R2 = R2[K2('SceneManager')]
  0016  SELF      R3 = R2[K3('GetGameMode')] (self)
  0017  CALL      R2 = call(R2, 1 args, 1 rets)
  0018  GETTABUP  R3 = _ENV[K4('EGameMode')]
  0019  GETTABLE  R3 = R3[K8('Main')]
  0020  EQ        if R0 eq R3   -> -130023
  0021  JMP       (jump)   -> 38
  0022  GETTABUP  R2 = _ENV[K1('GM')]
  0023  GETTABLE  R2 = R2[K9('OpenFunctionModel')]
  0024  SELF      R3 = R2[K10('IsFunctionOpen')] (self)
  0025  GETTABUP  R4 = _ENV[K11('EFunction')]
  0026  GETTABLE  R4 = R4[K12('Discoveries')]
  0027  CALL      R2 = call(R2, 1 args, 2 rets)
  0028  TEST      if not R2 then   -> -131042
  0029  JMP       (jump)   -> 38
  0030  GETTABUP  R2 = _ENV[K1('GM')]
  0031  GETTABLE  R2 = R2[K13('ItemDataModel')]
  0032  SELF      R3 = R2[K14('GetDiscoveriesCanRewardCount')] (self)
  0033  CALL      R2 = call(R2, 1 args, 1 rets)
  0034  LT        if R0 lt R2   -> 7718
  0035  JMP       (jump)   -> 38
  0036  GETTABUP  R1 = EGestureType[K16('ClickDiscoveries')]
  0037  JMP       (jump)   -> 59
  0038  GETTABUP  R2 = _ENV[K1('GM')]
  0039  GETTABLE  R2 = R2[K2('SceneManager')]
  0040  SELF      R3 = R2[K3('GetGameMode')] (self)
  0041  CALL      R2 = call(R2, 1 args, 1 rets)
  0042  GETTABUP  R3 = _ENV[K4('EGameMode')]
  0043  GETTABLE  R3 = R3[K5('Board')]
  0044  EQ        if R0 eq R3   -> -129999
  0045  JMP       (jump)   -> 59
  0046  GETTABUP  R2 = _ENV[K1('GM')]
  0047  GETTABLE  R2 = R2[K17('TaskManager')]
  0048  SELF      R3 = R2[K18('IsOngoingChapterProgressFinished')] (self)
  0049  CALL      R2 = call(R2, 1 args, 1 rets)
  0050  TEST      if not R2 then   -> -131020
  0051  JMP       (jump)   -> 59
  0052  GETTABUP  R2 = _ENV[K1('GM')]
  0053  GETTABLE  R2 = R2[K17('TaskManager')]
  0054  SELF      R3 = R2[K19('IsLastChapter')] (self)
  0055  CALL      R2 = call(R2, 1 args, 1 rets)
  0056  TEST      if not R2 then   -> -131013
  0057  JMP       (jump)   -> 59
  0058  GETTABUP  R1 = EGestureType[K20('ToMap')]
  0059  RETURN    return R1..R0
  0060  RETURN    return R0..R-1
; ---------- proto6 [_ShowGesture] ----------
  ; fn ?  line 135-152 np=1 va=0 ms=9 code=36 consts=14 upvals=2 protos=0
  ;   K[0]='_DetermineGestureType'
  ;   K[1]='m_eGestureType'
  ;   K[2]='_HideGesture'
  ;   K[3]=3
  ;   K[4]='ClickDiscoveries'
  ;   K[5]='GM'
  ;   K[6]='LevelModel'
  ;   K[7]='GetCurrentLevel'
  ;   K[8]=1
  ;   K[9]='TapCacheWhenLackOfEq'
  ;   K[10]=0
  ;   K[11]='Scheduler'
  ;   K[12]='Schedule'
  ;   K[13]='m_showGesture'
  ;   upvals: EGestureType, _ENV
  ;   locals: self(0-36), eGestureType(2-36), delay(10-36)
  0000  SELF      R2 = R0[K0('_DetermineGestureType')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  GETTABLE  R2 = R0[K1('m_eGestureType')]
  0003  EQ        if R0 eq R2   -> -130553
  0004  JMP       (jump)   -> 6
  0005  RETURN    return R0..R-1
  0006  SELF      R3 = R0[K2('_HideGesture')] (self)
  0007  CALL      R2 = call(R2, 0 args, 1 rets)
  0008  SETTABLE  R0[K1('m_eGestureType')] = R1
  0009  LOADK     R2 = K3 3
  0010  GETTABLE  R3 = R0[K1('m_eGestureType')]
  0011  GETTABUP  R4 = EGestureType[K4('ClickDiscoveries')]
  0012  EQ        if R1 eq R4   -> -129518
  0013  JMP       (jump)   -> 20
  0014  GETTABUP  R3 = _ENV[K5('GM')]
  0015  GETTABLE  R3 = R3[K6('LevelModel')]
  0016  SELF      R4 = R3[K7('GetCurrentLevel')] (self)
  0017  CALL      R3 = call(R3, 1 args, 1 rets)
  0018  LT        if R0 lt K3(3)   -> -129257
  0019  JMP       (jump)   -> 22
  0020  LOADK     R2 = K8 1
  0021  JMP       (jump)   -> 27
  0022  GETTABLE  R3 = R0[K1('m_eGestureType')]
  0023  GETTABUP  R4 = EGestureType[K9('TapCacheWhenLackOfEq')]
  0024  EQ        if R0 eq R4   -> -129506
  0025  JMP       (jump)   -> 27
  0026  LOADK     R2 = K10 0
  0027  GETTABUP  R3 = _ENV[K11('Scheduler')]
  0028  GETTABLE  R3 = R3[K12('Schedule')]
  0029  GETTABLE  R4 = R0[K13('m_showGesture')]
  0030  MOVE      R5 = R0
  0031  LOADK     R6 = K10 0
  0032  LOADK     R7 = K8 1
  0033  MOVE      R8 = R0
  0034  CALL      R3 = call(R3, 0 args, 5 rets)
  0035  RETURN    return R0..R-1
; ---------- proto7 [_HideGesture] ----------
  ; fn ?  line 154-173 np=1 va=0 ms=6 code=41 consts=18 upvals=1 protos=0
  ;   K[0]='m_gesture'
  ;   K[1]=nil
  ;   K[2]='TutorialHelper'
  ;   K[3]='HideGesture'
  ;   K[4]='m_arrow'
  ;   K[5]='HideArrow'
  ;   K[6]='m_bCacheRootGesture'
  ;   K[7]='MainBoardView'
  ;   K[8]='GetInstance'
  ;   K[9]='GetOrderArea'
  ;   K[10]='GetBoardCacheRoot'
  ;   K[11]='ShowHandTapEffect'
  ;   K[12]='ToggleBoardPrompt'
  ;   K[13]='TryStartBoardPrompt'
  ;   K[14]='m_eGestureType'
  ;   K[15]='Scheduler'
  ;   K[16]='Unschedule'
  ;   K[17]='m_showGesture'
  ;   upvals: _ENV
  ;   locals: self(0-41), boardView(22-35), orderArea(24-35)
  0000  GETTABLE  R1 = R0[K0('m_gesture')]
  0001  EQ        if R1 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 8
  0003  GETTABUP  R1 = _ENV[K2('TutorialHelper')]
  0004  GETTABLE  R1 = R1[K3('HideGesture')]
  0005  GETTABLE  R2 = R0[K0('m_gesture')]
  0006  CALL      R1 = call(R1, 0 args, 1 rets)
  0007  SETTABLE  R0[K0('m_gesture')] = K1(nil)
  0008  GETTABLE  R1 = R0[K4('m_arrow')]
  0009  EQ        if R1 eq K1(nil)   -> -130292
  0010  JMP       (jump)   -> 16
  0011  GETTABUP  R1 = _ENV[K2('TutorialHelper')]
  0012  GETTABLE  R1 = R1[K5('HideArrow')]
  0013  GETTABLE  R2 = R0[K4('m_arrow')]
  0014  CALL      R1 = call(R1, 0 args, 1 rets)
  0015  SETTABLE  R0[K4('m_arrow')] = K1(nil)
  0016  GETTABLE  R1 = R0[K6('m_bCacheRootGesture')]
  0017  TEST      if not R1 then   -> -131053
  0018  JMP       (jump)   -> 35
  0019  GETTABUP  R1 = _ENV[K7('MainBoardView')]
  0020  SELF      R2 = R1[K8('GetInstance')] (self)
  0021  CALL      R1 = call(R1, 1 args, 1 rets)
  0022  SELF      R3 = R1[K9('GetOrderArea')] (self)
  0023  CALL      R2 = call(R2, 1 args, 1 rets)
  0024  SELF      R4 = R2[K10('GetBoardCacheRoot')] (self)
  0025  CALL      R3 = call(R3, 1 args, 1 rets)
  0026  SELF      R4 = R3[K11('ShowHandTapEffect')] (self)
  0027  LOADBOOL  R5 = false
  0028  CALL      R3 = call(R3, 0 args, 2 rets)
  0029  SETTABLE  R0[K6('m_bCacheRootGesture')] = K1(nil)
  0030  SELF      R4 = R1[K12('ToggleBoardPrompt')] (self)
  0031  LOADBOOL  R5 = true
  0032  CALL      R3 = call(R3, 0 args, 2 rets)
  0033  SELF      R4 = R1[K13('TryStartBoardPrompt')] (self)
  0034  CALL      R3 = call(R3, 0 args, 1 rets)
  0035  SETTABLE  R0[K14('m_eGestureType')] = K1(nil)
  0036  GETTABUP  R1 = _ENV[K15('Scheduler')]
  0037  GETTABLE  R1 = R1[K16('Unschedule')]
  0038  GETTABLE  R2 = R0[K17('m_showGesture')]
  0039  CALL      R1 = call(R1, 0 args, 1 rets)
  0040  RETURN    return R0..R-1
; ---------- proto8 [] ----------
  ; fn ?  line 175-177 np=2 va=0 ms=6 code=8 consts=2 upvals=2 protos=0
  ;   K[0]='TutorialExecuter'
  ;   K[1]='CreateExecuter'
  ;   upvals: _ENV, Executer
  ;   locals: tutorialId(0-8), strDatas(0-8)
  0000  GETTABUP  R2 = _ENV[K0('TutorialExecuter')]
  0001  GETTABLE  R2 = R2[K1('CreateExecuter')]
  0002  GETUPVAL  R3 = _ENV
  0003  MOVE      R4 = R0
  0004  MOVE      R5 = R0
  0005  TAILCALL  tailcall(R2, 0)
  0006  RETURN    return R2..R1
  0007  RETURN    return R0..R-1
