# Model_Task_TaskDataModel_204.luac
; fn @TaskDataModel.lua  line 0-0 np=0 va=1 ms=2 code=51 consts=17 upvals=1 protos=15
;   K[0]='TaskDataModel'
;   K[1]='__index'
;   K[2]='Init'
;   K[3]='LoadFileConfig'
;   K[4]='LateInit'
;   K[5]='_LoadConfig'
;   K[6]='_ParseTaskChain'
;   K[7]='GetTaskDatasByChapter'
;   K[8]='GetTaskData'
;   K[9]='GetChapterTaskCount'
;   K[10]='GetTaskStartersByChapter'
;   K[11]='GetTaskPreIdsByChapter'
;   K[12]='GetTaskNextIdsByChapter'
;   K[13]='GetTaskInitialIdsByChapter'
;   K[14]='GetTaskGroupCount'
;   K[15]='GetTaskGroupNeedNum'
;   K[16]='GetTaskGroupRewards'
;   upvals: _ENV
0000  NEWTABLE  R0 = {} (0 items)
0001  SETTABUP  _ENV[K0('TaskDataModel')] = R0
0002  GETTABUP  R0 = _ENV[K0('TaskDataModel')]
0003  GETTABUP  R1 = _ENV[K0('TaskDataModel')]
0004  SETTABLE  R0[K1('__index')] = R1
0005  GETTABUP  R0 = _ENV[K0('TaskDataModel')]
0006  CLOSURE   R1 = closure proto0
0007  SETTABLE  R0[K2('Init')] = R1
0008  GETTABUP  R0 = _ENV[K0('TaskDataModel')]
0009  CLOSURE   R1 = closure proto1
0010  SETTABLE  R0[K3('LoadFileConfig')] = R1
0011  GETTABUP  R0 = _ENV[K0('TaskDataModel')]
0012  CLOSURE   R1 = closure proto2
0013  SETTABLE  R0[K4('LateInit')] = R1
0014  GETTABUP  R0 = _ENV[K0('TaskDataModel')]
0015  CLOSURE   R1 = closure proto3
0016  SETTABLE  R0[K5('_LoadConfig')] = R1
0017  GETTABUP  R0 = _ENV[K0('TaskDataModel')]
0018  CLOSURE   R1 = closure proto4
0019  SETTABLE  R0[K6('_ParseTaskChain')] = R1
0020  GETTABUP  R0 = _ENV[K0('TaskDataModel')]
0021  CLOSURE   R1 = closure proto5
0022  SETTABLE  R0[K7('GetTaskDatasByChapter')] = R1
0023  GETTABUP  R0 = _ENV[K0('TaskDataModel')]
0024  CLOSURE   R1 = closure proto6
0025  SETTABLE  R0[K8('GetTaskData')] = R1
0026  GETTABUP  R0 = _ENV[K0('TaskDataModel')]
0027  CLOSURE   R1 = closure proto7
0028  SETTABLE  R0[K9('GetChapterTaskCount')] = R1
0029  GETTABUP  R0 = _ENV[K0('TaskDataModel')]
0030  CLOSURE   R1 = closure proto8
0031  SETTABLE  R0[K10('GetTaskStartersByChapter')] = R1
0032  GETTABUP  R0 = _ENV[K0('TaskDataModel')]
0033  CLOSURE   R1 = closure proto9
0034  SETTABLE  R0[K11('GetTaskPreIdsByChapter')] = R1
0035  GETTABUP  R0 = _ENV[K0('TaskDataModel')]
0036  CLOSURE   R1 = closure proto10
0037  SETTABLE  R0[K12('GetTaskNextIdsByChapter')] = R1
0038  GETTABUP  R0 = _ENV[K0('TaskDataModel')]
0039  CLOSURE   R1 = closure proto11
0040  SETTABLE  R0[K13('GetTaskInitialIdsByChapter')] = R1
0041  GETTABUP  R0 = _ENV[K0('TaskDataModel')]
0042  CLOSURE   R1 = closure proto12
0043  SETTABLE  R0[K14('GetTaskGroupCount')] = R1
0044  GETTABUP  R0 = _ENV[K0('TaskDataModel')]
0045  CLOSURE   R1 = closure proto13
0046  SETTABLE  R0[K15('GetTaskGroupNeedNum')] = R1
0047  GETTABUP  R0 = _ENV[K0('TaskDataModel')]
0048  CLOSURE   R1 = closure proto14
0049  SETTABLE  R0[K16('GetTaskGroupRewards')] = R1
0050  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 7-14 np=1 va=0 ms=2 code=11 consts=5 upvals=0 protos=0
  ;   K[0]='m_mapChapterTaskData'
  ;   K[1]='m_mapChapterTaskStarters'
  ;   K[2]='m_mapChapterPreIds'
  ;   K[3]='m_mapChapterNextIds'
  ;   K[4]='m_mapChapterInitialIds'
  ;   locals: self(0-11)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  SETTABLE  R0[K0('m_mapChapterTaskData')] = R1
  0002  NEWTABLE  R1 = {} (0 items)
  0003  SETTABLE  R0[K1('m_mapChapterTaskStarters')] = R1
  0004  NEWTABLE  R1 = {} (0 items)
  0005  SETTABLE  R0[K2('m_mapChapterPreIds')] = R1
  0006  NEWTABLE  R1 = {} (0 items)
  0007  SETTABLE  R0[K3('m_mapChapterNextIds')] = R1
  0008  NEWTABLE  R1 = {} (0 items)
  0009  SETTABLE  R0[K4('m_mapChapterInitialIds')] = R1
  0010  RETURN    return R0..R-1
; ---------- proto1 [LoadFileConfig] ----------
  ; fn ?  line 16-21 np=1 va=0 ms=8 code=18 consts=10 upvals=1 protos=0
  ;   K[0]='m_arrTaskGroupConfig'
  ;   K[1]='GM'
  ;   K[2]='ConfigModel'
  ;   K[3]='GetLocalConfig'
  ;   K[4]='LocalConfigKey'
  ;   K[5]='TaskGroup'
  ;   K[6]='ipairs'
  ;   K[7]='RewardApi'
  ;   K[8]='CryptRewards'
  ;   K[9]='Rewards'
  ;   upvals: _ENV
  ;   locals: self(0-18), (for generator)(10-17), (for state)(10-17), (for control)(10-17), _(11-15), taskGroupConfig(11-15)
  0000  GETTABUP  R1 = _ENV[K1('GM')]
  0001  GETTABLE  R1 = R1[K2('ConfigModel')]
  0002  SELF      R2 = R1[K3('GetLocalConfig')] (self)
  0003  GETTABUP  R3 = _ENV[K4('LocalConfigKey')]
  0004  GETTABLE  R3 = R3[K5('TaskGroup')]
  0005  CALL      R1 = call(R1, 1 args, 2 rets)
  0006  SETTABLE  R0[K0('m_arrTaskGroupConfig')] = R1
  0007  GETTABUP  R1 = _ENV[K6('ipairs')]
  0008  GETTABLE  R2 = R0[K0('m_arrTaskGroupConfig')]
  0009  CALL      R1 = call(R1, 3 args, 1 rets)
  0010  JMP       (jump)   -> 15
  0011  GETTABUP  R6 = _ENV[K7('RewardApi')]
  0012  GETTABLE  R6 = R6[K8('CryptRewards')]
  0013  GETTABLE  R7 = R5[K9('Rewards')]
  0014  CALL      R6 = call(R6, 0 args, 1 rets)
  0015  TFORCALL  tforcall R1
  0016  TFORLOOP  tforloop R3(sBx=-6)   -> 11
  0017  RETURN    return R0..R-1
; ---------- proto2 [LateInit] ----------
  ; fn ?  line 23-26 np=1 va=0 ms=5 code=7 consts=4 upvals=1 protos=0
  ;   K[0]='_LoadConfig'
  ;   K[1]='GM'
  ;   K[2]='TaskManager'
  ;   K[3]='GetOngoingChapterName'
  ;   upvals: _ENV
  ;   locals: self(0-7)
  0000  SELF      R2 = R0[K0('_LoadConfig')] (self)
  0001  GETTABUP  R3 = _ENV[K1('GM')]
  0002  GETTABLE  R3 = R3[K2('TaskManager')]
  0003  SELF      R4 = R3[K3('GetOngoingChapterName')] (self)
  0004  CALL      R3 = call(R3, -1 args, 1 rets)
  0005  CALL      R1 = call(R1, 0 args, -1 rets)
  0006  RETURN    return R0..R-1
; ---------- proto3 [_LoadConfig] ----------
  ; fn ?  line 29-55 np=2 va=0 ms=15 code=63 consts=18 upvals=1 protos=0
  ;   K[0]='m_mapChapterTaskData'
  ;   K[1]='require'
  ;   K[2]='Data.Config.Mainline.'
  ;   K[3]='tostring'
  ;   K[4]='.TaskConfig_'
  ;   K[5]='Log'
  ;   K[6]='Error'
  ;   K[7]=' 改造任务配置缺失。'
  ;   K[8]='GM'
  ;   K[9]='ChapterDataModel'
  ;   K[10]='GetChapterIdByName'
  ;   K[11]=1
  ;   K[12]='TaskData'
  ;   K[13]='Create'
  ;   K[14]='Id'
  ;   K[15]='TaskStarter'
  ;   K[16]='m_mapChapterTaskStarters'
  ;   K[17]='_ParseTaskChain'
  ;   upvals: _ENV
  ;   locals: self(0-63), chapterName(0-63), configs(16-63), chapterId(33-63), mapTaskData(34-63), arrTaskStarters(35-63), taskData(36-63), (for index)(39-55), (for limit)(39-55), (for step)(39-55), i(40-54)
  0000  GETTABLE  R2 = R0[K0('m_mapChapterTaskData')]
  0001  GETTABLE  R2 = R2[R1]
  0002  TEST      if not R2 then   -> -131068
  0003  JMP       (jump)   -> 5
  0004  RETURN    return R0..R-1
  0005  GETTABUP  R2 = _ENV[K1('require')]
  0006  LOADK     R3 = K2 'Data.Config.Mainline.'
  0007  GETTABUP  R4 = _ENV[K3('tostring')]
  0008  MOVE      R5 = R0
  0009  CALL      R4 = call(R4, 1 args, 1 rets)
  0010  LOADK     R5 = K4 '.TaskConfig_'
  0011  GETTABUP  R6 = _ENV[K3('tostring')]
  0012  MOVE      R7 = R0
  0013  CALL      R6 = call(R6, 1 args, 1 rets)
  0014  CONCAT    R3 = concat(R3..R3)
  0015  CALL      R2 = call(R2, 1 args, 1 rets)
  0016  TEST      if not R2 then   -> -131053
  0017  JMP       (jump)   -> 28
  0018  GETTABUP  R3 = _ENV[K5('Log')]
  0019  GETTABLE  R3 = R3[K6('Error')]
  0020  GETTABUP  R4 = _ENV[K3('tostring')]
  0021  MOVE      R5 = R0
  0022  CALL      R4 = call(R4, 1 args, 1 rets)
  0023  LOADK     R5 = K7 ' 改造任务配置缺失。'
  0024  CONCAT    R4 = concat(R4..R4)
  0025  CALL      R3 = call(R3, 0 args, 1 rets)
  0026  NEWTABLE  R3 = {} (0 items)
  0027  RETURN    return R3..R2
  0028  GETTABUP  R3 = _ENV[K8('GM')]
  0029  GETTABLE  R3 = R3[K9('ChapterDataModel')]
  0030  SELF      R4 = R3[K10('GetChapterIdByName')] (self)
  0031  MOVE      R5 = R0
  0032  CALL      R3 = call(R3, 1 args, 2 rets)
  0033  NEWTABLE  R4 = {} (0 items)
  0034  NEWTABLE  R5 = {} (0 items)
  0035  LOADNIL   R6..R6 = nil
  0036  LOADK     R7 = K11 1
  0037  LEN       R8 = len R0
  0038  LOADK     R9 = K11 1
  0039  FORPREP   forprep R7(sBx=14)   -> 54
  0040  GETTABUP  R11 = _ENV[K12('TaskData')]
  0041  GETTABLE  R11 = R11[K13('Create')]
  0042  GETTABLE  R12 = R2[R10]
  0043  MOVE      R13 = R0
  0044  MOVE      R14 = R0
  0045  CALL      R11 = call(R11, 1 args, 3 rets)
  0046  MOVE      R6 = R0
  0047  GETTABLE  R11 = R6[K14('Id')]
  0048  SETTABLE  R4[R11] = R6
  0049  GETTABUP  R11 = _ENV[K15('TaskStarter')]
  0050  GETTABLE  R11 = R11[K13('Create')]
  0051  MOVE      R12 = R0
  0052  CALL      R11 = call(R11, 1 args, 1 rets)
  0053  SETTABLE  R5[R10] = R11
  0054  FORLOOP   forloop R7(sBx=-15)   -> 40
  0055  GETTABLE  R7 = R0[K0('m_mapChapterTaskData')]
  0056  SETTABLE  R7[R1] = R4
  0057  GETTABLE  R7 = R0[K16('m_mapChapterTaskStarters')]
  0058  SETTABLE  R7[R1] = R5
  0059  SELF      R8 = R0[K17('_ParseTaskChain')] (self)
  0060  MOVE      R9 = R0
  0061  CALL      R7 = call(R7, 0 args, 2 rets)
  0062  RETURN    return R0..R-1
; ---------- proto4 [_ParseTaskChain] ----------
  ; fn ?  line 57-83 np=2 va=0 ms=20 code=51 consts=10 upvals=1 protos=0
  ;   K[0]='m_mapChapterTaskStarters'
  ;   K[1]='ipairs'
  ;   K[2]='GetTaskId'
  ;   K[3]='GetCondition'
  ;   K[4]=nil
  ;   K[5]=1
  ;   K[6]='arrPreTaskIds'
  ;   K[7]='m_mapChapterPreIds'
  ;   K[8]='m_mapChapterNextIds'
  ;   K[9]='m_mapChapterInitialIds'
  ;   upvals: _ENV
  ;   locals: self(0-51), chapterName(0-51), mapNextTaskIds(1-51), mapPreTaskIds(2-51), arrInitialTaskIds(3-51), arrTaskStarters(5-51), (for generator)(8-44), (for state)(8-44), (for control)(8-44), _(9-42), starter(9-42), taskId(11-42), condition(15-42), (for generator)(24-42), (for state)(24-42), (for control)(24-42), _(25-40), preTaskId(25-40)
  0000  NEWTABLE  R2 = {} (0 items)
  0001  NEWTABLE  R3 = {} (0 items)
  0002  NEWTABLE  R4 = {} (0 items)
  0003  GETTABLE  R5 = R0[K0('m_mapChapterTaskStarters')]
  0004  GETTABLE  R5 = R5[R1]
  0005  GETTABUP  R6 = _ENV[K1('ipairs')]
  0006  MOVE      R7 = R0
  0007  CALL      R6 = call(R6, 3 args, 1 rets)
  0008  JMP       (jump)   -> 42
  0009  SELF      R12 = R10[K2('GetTaskId')] (self)
  0010  CALL      R11 = call(R11, 1 args, 1 rets)
  0011  NEWTABLE  R12 = {} (0 items)
  0012  SETTABLE  R3[R11] = R12
  0013  SELF      R13 = R10[K3('GetCondition')] (self)
  0014  CALL      R12 = call(R12, 1 args, 1 rets)
  0015  EQ        if R0 eq K4(nil)   -> -124651
  0016  JMP       (jump)   -> 21
  0017  LEN       R13 = len R0
  0018  ADD       R13 = K5(1) add R13
  0019  SETTABLE  R4[R13] = R11
  0020  JMP       (jump)   -> 42
  0021  GETTABUP  R13 = _ENV[K1('ipairs')]
  0022  GETTABLE  R14 = R12[K6('arrPreTaskIds')]
  0023  CALL      R13 = call(R13, 3 args, 1 rets)
  0024  JMP       (jump)   -> 40
  0025  GETTABLE  R18 = R2[R17]
  0026  TEST      if not R18 then   -> -131043
  0027  JMP       (jump)   -> 29
  0028  NEWTABLE  R18 = {} (0 items)
  0029  SETTABLE  R2[R17] = R18
  0030  GETTABLE  R18 = R2[R17]
  0031  GETTABLE  R19 = R2[R17]
  0032  LEN       R19 = len R0
  0033  ADD       R19 = K5(1) add R19
  0034  SETTABLE  R18[R19] = R11
  0035  GETTABLE  R18 = R3[R11]
  0036  GETTABLE  R19 = R3[R11]
  0037  LEN       R19 = len R0
  0038  ADD       R19 = K5(1) add R19
  0039  SETTABLE  R18[R19] = R17
  0040  TFORCALL  tforcall R13
  0041  TFORLOOP  tforloop R15(sBx=-17)   -> 25
  0042  TFORCALL  tforcall R6
  0043  TFORLOOP  tforloop R8(sBx=-35)   -> 9
  0044  GETTABLE  R6 = R0[K7('m_mapChapterPreIds')]
  0045  SETTABLE  R6[R1] = R3
  0046  GETTABLE  R6 = R0[K8('m_mapChapterNextIds')]
  0047  SETTABLE  R6[R1] = R2
  0048  GETTABLE  R6 = R0[K9('m_mapChapterInitialIds')]
  0049  SETTABLE  R6[R1] = R4
  0050  RETURN    return R0..R-1
; ---------- proto5 [GetTaskDatasByChapter] ----------
  ; fn ?  line 85-92 np=2 va=0 ms=6 code=11 consts=2 upvals=0 protos=0
  ;   K[0]='m_mapChapterTaskData'
  ;   K[1]='_LoadConfig'
  ;   locals: self(0-11), chapterName(0-11), mapTaskData(2-11)
  0000  GETTABLE  R2 = R0[K0('m_mapChapterTaskData')]
  0001  GETTABLE  R2 = R2[R1]
  0002  TEST      if not R2 then   -> -131067
  0003  JMP       (jump)   -> 9
  0004  SELF      R4 = R0[K1('_LoadConfig')] (self)
  0005  MOVE      R5 = R0
  0006  CALL      R3 = call(R3, 0 args, 2 rets)
  0007  GETTABLE  R3 = R0[K0('m_mapChapterTaskData')]
  0008  GETTABLE  R2 = R3[R1]
  0009  RETURN    return R2..R1
  0010  RETURN    return R0..R-1
; ---------- proto6 [GetTaskData] ----------
  ; fn ?  line 95-102 np=3 va=0 ms=9 code=19 consts=5 upvals=1 protos=0
  ;   K[0]='GetTaskDatasByChapter'
  ;   K[1]='Log'
  ;   K[2]='Error'
  ;   K[3]='没有找到对应的任务配置 taskId:'
  ;   K[4]='tostring'
  ;   upvals: _ENV
  ;   locals: self(0-19), chapterName(0-19), taskId(0-19), mapTaskData(3-19), taskData(4-19)
  0000  SELF      R4 = R0[K0('GetTaskDatasByChapter')] (self)
  0001  MOVE      R5 = R0
  0002  CALL      R3 = call(R3, 1 args, 2 rets)
  0003  GETTABLE  R4 = R3[R2]
  0004  TEST      if not R4 then   -> -131065
  0005  JMP       (jump)   -> 14
  0006  GETTABUP  R5 = _ENV[K1('Log')]
  0007  GETTABLE  R5 = R5[K2('Error')]
  0008  LOADK     R6 = K3 '没有找到对应的任务配置 taskId:'
  0009  GETTABUP  R7 = _ENV[K4('tostring')]
  0010  MOVE      R8 = R0
  0011  CALL      R7 = call(R7, 1 args, 1 rets)
  0012  CONCAT    R6 = concat(R6..R6)
  0013  CALL      R5 = call(R5, 0 args, 1 rets)
  0014  TESTSET   if R1 then R5   -> -129007
  0015  JMP       (jump)   -> 17
  0016  NEWTABLE  R5 = {} (0 items)
  0017  RETURN    return R5..R4
  0018  RETURN    return R0..R-1
; ---------- proto7 [GetChapterTaskCount] ----------
  ; fn ?  line 104-107 np=2 va=0 ms=5 code=9 consts=3 upvals=1 protos=0
  ;   K[0]='GetTaskDatasByChapter'
  ;   K[1]='Table'
  ;   K[2]='GetMapSize'
  ;   upvals: _ENV
  ;   locals: self(0-9), chapterName(0-9), mapTaskData(3-9)
  0000  SELF      R3 = R0[K0('GetTaskDatasByChapter')] (self)
  0001  MOVE      R4 = R0
  0002  CALL      R2 = call(R2, 1 args, 2 rets)
  0003  GETTABUP  R3 = _ENV[K1('Table')]
  0004  GETTABLE  R3 = R3[K2('GetMapSize')]
  0005  MOVE      R4 = R0
  0006  TAILCALL  tailcall(R3, 0)
  0007  RETURN    return R3..R2
  0008  RETURN    return R0..R-1
; ---------- proto8 [GetTaskStartersByChapter] ----------
  ; fn ?  line 110-117 np=2 va=0 ms=6 code=11 consts=2 upvals=0 protos=0
  ;   K[0]='m_mapChapterTaskStarters'
  ;   K[1]='_LoadConfig'
  ;   locals: self(0-11), chapterName(0-11), arrTaskStarters(2-11)
  0000  GETTABLE  R2 = R0[K0('m_mapChapterTaskStarters')]
  0001  GETTABLE  R2 = R2[R1]
  0002  TEST      if not R2 then   -> -131067
  0003  JMP       (jump)   -> 9
  0004  SELF      R4 = R0[K1('_LoadConfig')] (self)
  0005  MOVE      R5 = R0
  0006  CALL      R3 = call(R3, 0 args, 2 rets)
  0007  GETTABLE  R3 = R0[K0('m_mapChapterTaskStarters')]
  0008  GETTABLE  R2 = R3[R1]
  0009  RETURN    return R2..R1
  0010  RETURN    return R0..R-1
; ---------- proto9 [GetTaskPreIdsByChapter] ----------
  ; fn ?  line 120-127 np=2 va=0 ms=6 code=11 consts=2 upvals=0 protos=0
  ;   K[0]='m_mapChapterPreIds'
  ;   K[1]='_LoadConfig'
  ;   locals: self(0-11), chapterName(0-11), mapPreIds(2-11)
  0000  GETTABLE  R2 = R0[K0('m_mapChapterPreIds')]
  0001  GETTABLE  R2 = R2[R1]
  0002  TEST      if not R2 then   -> -131067
  0003  JMP       (jump)   -> 9
  0004  SELF      R4 = R0[K1('_LoadConfig')] (self)
  0005  MOVE      R5 = R0
  0006  CALL      R3 = call(R3, 0 args, 2 rets)
  0007  GETTABLE  R3 = R0[K0('m_mapChapterPreIds')]
  0008  GETTABLE  R2 = R3[R1]
  0009  RETURN    return R2..R1
  0010  RETURN    return R0..R-1
; ---------- proto10 [GetTaskNextIdsByChapter] ----------
  ; fn ?  line 130-137 np=2 va=0 ms=6 code=11 consts=2 upvals=0 protos=0
  ;   K[0]='m_mapChapterNextIds'
  ;   K[1]='_LoadConfig'
  ;   locals: self(0-11), chapterName(0-11), mapPreIds(2-11)
  0000  GETTABLE  R2 = R0[K0('m_mapChapterNextIds')]
  0001  GETTABLE  R2 = R2[R1]
  0002  TEST      if not R2 then   -> -131067
  0003  JMP       (jump)   -> 9
  0004  SELF      R4 = R0[K1('_LoadConfig')] (self)
  0005  MOVE      R5 = R0
  0006  CALL      R3 = call(R3, 0 args, 2 rets)
  0007  GETTABLE  R3 = R0[K0('m_mapChapterNextIds')]
  0008  GETTABLE  R2 = R3[R1]
  0009  RETURN    return R2..R1
  0010  RETURN    return R0..R-1
; ---------- proto11 [GetTaskInitialIdsByChapter] ----------
  ; fn ?  line 140-147 np=2 va=0 ms=6 code=11 consts=2 upvals=0 protos=0
  ;   K[0]='m_mapChapterInitialIds'
  ;   K[1]='_LoadConfig'
  ;   locals: self(0-11), chapterName(0-11), mapInitialTaskIds(2-11)
  0000  GETTABLE  R2 = R0[K0('m_mapChapterInitialIds')]
  0001  GETTABLE  R2 = R2[R1]
  0002  TEST      if not R2 then   -> -131067
  0003  JMP       (jump)   -> 9
  0004  SELF      R4 = R0[K1('_LoadConfig')] (self)
  0005  MOVE      R5 = R0
  0006  CALL      R3 = call(R3, 0 args, 2 rets)
  0007  GETTABLE  R3 = R0[K0('m_mapChapterInitialIds')]
  0008  GETTABLE  R2 = R3[R1]
  0009  RETURN    return R2..R1
  0010  RETURN    return R0..R-1
; ---------- proto12 [GetTaskGroupCount] ----------
  ; fn ?  line 149-151 np=1 va=0 ms=2 code=4 consts=1 upvals=0 protos=0
  ;   K[0]='m_arrTaskGroupConfig'
  ;   locals: self(0-4)
  0000  GETTABLE  R1 = R0[K0('m_arrTaskGroupConfig')]
  0001  LEN       R1 = len R0
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
; ---------- proto13 [GetTaskGroupNeedNum] ----------
  ; fn ?  line 154-160 np=2 va=0 ms=4 code=9 consts=3 upvals=0 protos=0
  ;   K[0]='m_arrTaskGroupConfig'
  ;   K[1]=0
  ;   K[2]='Num'
  ;   locals: self(0-9), groupId(0-9), config(2-9)
  0000  GETTABLE  R2 = R0[K0('m_arrTaskGroupConfig')]
  0001  GETTABLE  R2 = R2[R1]
  0002  TEST      if not R2 then   -> -131067
  0003  JMP       (jump)   -> 6
  0004  LOADK     R3 = K1 0
  0005  RETURN    return R3..R2
  0006  GETTABLE  R3 = R2[K2('Num')]
  0007  RETURN    return R3..R2
  0008  RETURN    return R0..R-1
; ---------- proto14 [GetTaskGroupRewards] ----------
  ; fn ?  line 162-169 np=2 va=0 ms=7 code=17 consts=6 upvals=1 protos=0
  ;   K[0]='m_arrTaskGroupConfig'
  ;   K[1]='Log'
  ;   K[2]='Error'
  ;   K[3]='TaskGroupConfig 不存在：'
  ;   K[4]='tostring'
  ;   K[5]='Rewards'
  ;   upvals: _ENV
  ;   locals: self(0-17), groupId(0-17), config(2-17)
  0000  GETTABLE  R2 = R0[K0('m_arrTaskGroupConfig')]
  0001  GETTABLE  R2 = R2[R1]
  0002  TEST      if not R2 then   -> -131067
  0003  JMP       (jump)   -> 14
  0004  GETTABUP  R3 = _ENV[K1('Log')]
  0005  GETTABLE  R3 = R3[K2('Error')]
  0006  LOADK     R4 = K3 'TaskGroupConfig 不存在：'
  0007  GETTABUP  R5 = _ENV[K4('tostring')]
  0008  MOVE      R6 = R0
  0009  CALL      R5 = call(R5, 1 args, 1 rets)
  0010  CONCAT    R4 = concat(R4..R4)
  0011  CALL      R3 = call(R3, 0 args, 1 rets)
  0012  NEWTABLE  R3 = {} (0 items)
  0013  RETURN    return R3..R2
  0014  GETTABLE  R3 = R2[K5('Rewards')]
  0015  RETURN    return R3..R2
  0016  RETURN    return R0..R-1
