# Model_Survey_SurveyModel_197.luac
; fn @SurveyModel.lua  line 0-0 np=0 va=1 ms=2 code=82 consts=44 upvals=1 protos=18
;   K[0]='SurveyModel'
;   K[1]='__index'
;   K[2]='ESurveyDataKey'
;   K[3]='Id'
;   K[4]='DataDate'
;   K[5]='PopCount'
;   K[6]='PopTime'
;   K[7]='EQuestionType'
;   K[8]='SingleChoice'
;   K[9]='MultipleChoice'
;   K[10]='MultipleChoiceFillBlank'
;   K[11]='FillBlank'
;   K[12]='PictureFillBlank'
;   K[13]='PictureSingleChoice'
;   K[14]='PictureMultipeChoice'
;   K[15]='PictureMultipleChoice'
;   K[16]='PictureSingleChoiceFillBlank'
;   K[17]='PictureMultipChoiceFillBlank'
;   K[18]='EAnswerKey'
;   K[19]='AnserId'
;   K[20]='answer_id'
;   K[21]='Vmemo'
;   K[22]='vmemo'
;   K[23]='SurveyNeedOpen'
;   K[24]=1
;   K[25]='Init'
;   K[26]='SurveyModel'
;   K[27]='Destroy'
;   K[28]='OnChangeGameModeFinished'
;   K[29]='OnLoginFinished'
;   K[30]='GetData'
;   K[31]='LoadServerConfig'
;   K[32]='GetRewardKey'
;   K[33]='TryPopWindow'
;   K[34]='GetBIData'
;   K[35]='StoreAnswerAndStepForward'
;   K[36]='StoreAnswerAndSubmit'
;   K[37]='_UpdateLastFlag'
;   K[38]='_StoreAnswer'
;   K[39]='_GetNextVisibleQuestionData'
;   K[40]='_GetQuestionDataById'
;   K[41]='_CanPopNecessary'
;   K[42]='_RequestQuestionCtx'
;   K[43]='_LoadQuestionCtx'
;   upvals: _ENV
0000  NEWTABLE  R0 = {} (0 items)
0001  SETTABUP  _ENV[K0('SurveyModel')] = R0
0002  GETTABUP  R0 = _ENV[K0('SurveyModel')]
0003  GETTABUP  R1 = _ENV[K0('SurveyModel')]
0004  SETTABLE  R0[K1('__index')] = R1
0005  NEWTABLE  R0 = {} (0 items)
0006  SETTABLE  R0[K3('Id')] = K3('Id')
0007  SETTABLE  R0[K4('DataDate')] = K4('DataDate')
0008  SETTABLE  R0[K5('PopCount')] = K5('PopCount')
0009  SETTABLE  R0[K6('PopTime')] = K6('PopTime')
0010  SETTABUP  _ENV[K2('ESurveyDataKey')] = R0
0011  NEWTABLE  R0 = {} (0 items)
0012  SETTABLE  R0[K8('SingleChoice')] = K8('SingleChoice')
0013  SETTABLE  R0[K9('MultipleChoice')] = K9('MultipleChoice')
0014  SETTABLE  R0[K10('MultipleChoiceFillBlank')] = K10('MultipleChoiceFillBlank')
0015  SETTABLE  R0[K11('FillBlank')] = K11('FillBlank')
0016  SETTABLE  R0[K12('PictureFillBlank')] = K12('PictureFillBlank')
0017  SETTABLE  R0[K13('PictureSingleChoice')] = K13('PictureSingleChoice')
0018  SETTABLE  R0[K14('PictureMultipeChoice')] = K15('PictureMultipleChoice')
0019  SETTABLE  R0[K16('PictureSingleChoiceFillBlank')] = K16('PictureSingleChoiceFillBlank')
0020  SETTABLE  R0[K17('PictureMultipChoiceFillBlank')] = K17('PictureMultipChoiceFillBlank')
0021  SETTABUP  _ENV[K7('EQuestionType')] = R0
0022  NEWTABLE  R0 = {} (0 items)
0023  SETTABLE  R0[K19('AnserId')] = K20('answer_id')
0024  SETTABLE  R0[K21('Vmemo')] = K22('vmemo')
0025  SETTABUP  _ENV[K18('EAnswerKey')] = R0
0026  SETTABUP  _ENV[K23('SurveyNeedOpen')] = K24(1)
0027  GETTABUP  R0 = _ENV[K0('SurveyModel')]
0028  CLOSURE   R1 = closure proto0
0029  SETTABLE  R0[K25('Init')] = R1
0030  GETTABUP  R0 = _ENV[K26('SurveyModel')]
0031  CLOSURE   R1 = closure proto1
0032  SETTABLE  R0[K27('Destroy')] = R1
0033  GETTABUP  R0 = _ENV[K26('SurveyModel')]
0034  CLOSURE   R1 = closure proto2
0035  SETTABLE  R0[K28('OnChangeGameModeFinished')] = R1
0036  GETTABUP  R0 = _ENV[K26('SurveyModel')]
0037  CLOSURE   R1 = closure proto3
0038  SETTABLE  R0[K29('OnLoginFinished')] = R1
0039  GETTABUP  R0 = _ENV[K26('SurveyModel')]
0040  CLOSURE   R1 = closure proto4
0041  SETTABLE  R0[K30('GetData')] = R1
0042  GETTABUP  R0 = _ENV[K26('SurveyModel')]
0043  CLOSURE   R1 = closure proto5
0044  SETTABLE  R0[K31('LoadServerConfig')] = R1
0045  GETTABUP  R0 = _ENV[K26('SurveyModel')]
0046  CLOSURE   R1 = closure proto6
0047  SETTABLE  R0[K32('GetRewardKey')] = R1
0048  GETTABUP  R0 = _ENV[K26('SurveyModel')]
0049  CLOSURE   R1 = closure proto7
0050  SETTABLE  R0[K33('TryPopWindow')] = R1
0051  GETTABUP  R0 = _ENV[K26('SurveyModel')]
0052  CLOSURE   R1 = closure proto8
0053  SETTABLE  R0[K34('GetBIData')] = R1
0054  GETTABUP  R0 = _ENV[K26('SurveyModel')]
0055  CLOSURE   R1 = closure proto9
0056  SETTABLE  R0[K35('StoreAnswerAndStepForward')] = R1
0057  GETTABUP  R0 = _ENV[K26('SurveyModel')]
0058  CLOSURE   R1 = closure proto10
0059  SETTABLE  R0[K36('StoreAnswerAndSubmit')] = R1
0060  GETTABUP  R0 = _ENV[K26('SurveyModel')]
0061  CLOSURE   R1 = closure proto11
0062  SETTABLE  R0[K37('_UpdateLastFlag')] = R1
0063  GETTABUP  R0 = _ENV[K26('SurveyModel')]
0064  CLOSURE   R1 = closure proto12
0065  SETTABLE  R0[K38('_StoreAnswer')] = R1
0066  GETTABUP  R0 = _ENV[K26('SurveyModel')]
0067  CLOSURE   R1 = closure proto13
0068  SETTABLE  R0[K39('_GetNextVisibleQuestionData')] = R1
0069  GETTABUP  R0 = _ENV[K26('SurveyModel')]
0070  CLOSURE   R1 = closure proto14
0071  SETTABLE  R0[K40('_GetQuestionDataById')] = R1
0072  GETTABUP  R0 = _ENV[K26('SurveyModel')]
0073  CLOSURE   R1 = closure proto15
0074  SETTABLE  R0[K41('_CanPopNecessary')] = R1
0075  GETTABUP  R0 = _ENV[K26('SurveyModel')]
0076  CLOSURE   R1 = closure proto16
0077  SETTABLE  R0[K42('_RequestQuestionCtx')] = R1
0078  GETTABUP  R0 = _ENV[K26('SurveyModel')]
0079  CLOSURE   R1 = closure proto17
0080  SETTABLE  R0[K43('_LoadQuestionCtx')] = R1
0081  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 37-43 np=1 va=0 ms=5 code=32 consts=20 upvals=1 protos=0
  ;   K[0]='m_dbKVTable'
  ;   K[1]='GM'
  ;   K[2]='DBTableManager'
  ;   K[3]='GetTable'
  ;   K[4]='EDBTableConfigs'
  ;   K[5]='Survey'
  ;   K[6]='ModelHelper'
  ;   K[7]='DefineProperties'
  ;   K[8]='SurveyModel'
  ;   K[9]='ESurveyDataKey'
  ;   K[10]='event'
  ;   K[11]='PairEvent'
  ;   K[12]='Create'
  ;   K[13]='EventDispatcher'
  ;   K[14]='AddListener'
  ;   K[15]='EEventType'
  ;   K[16]='ChangeGameMode'
  ;   K[17]='OnChangeGameModeFinished'
  ;   K[18]='LoginFinished'
  ;   K[19]='OnLoginFinished'
  ;   upvals: _ENV
  ;   locals: self(0-32)
  0000  GETTABUP  R1 = _ENV[K1('GM')]
  0001  GETTABLE  R1 = R1[K2('DBTableManager')]
  0002  SELF      R2 = R1[K3('GetTable')] (self)
  0003  GETTABUP  R3 = _ENV[K4('EDBTableConfigs')]
  0004  GETTABLE  R3 = R3[K5('Survey')]
  0005  CALL      R1 = call(R1, 1 args, 2 rets)
  0006  SETTABLE  R0[K0('m_dbKVTable')] = R1
  0007  GETTABUP  R1 = _ENV[K6('ModelHelper')]
  0008  GETTABLE  R1 = R1[K7('DefineProperties')]
  0009  GETTABUP  R2 = _ENV[K8('SurveyModel')]
  0010  GETTABUP  R3 = _ENV[K9('ESurveyDataKey')]
  0011  CALL      R1 = call(R1, 0 args, 2 rets)
  0012  GETTABUP  R1 = _ENV[K11('PairEvent')]
  0013  GETTABLE  R1 = R1[K12('Create')]
  0014  MOVE      R2 = R0
  0015  CALL      R1 = call(R1, 1 args, 1 rets)
  0016  SETTABLE  R0[K10('event')] = R1
  0017  GETTABUP  R1 = _ENV[K13('EventDispatcher')]
  0018  GETTABLE  R1 = R1[K14('AddListener')]
  0019  GETTABUP  R2 = _ENV[K15('EEventType')]
  0020  GETTABLE  R2 = R2[K16('ChangeGameMode')]
  0021  MOVE      R3 = R0
  0022  GETTABLE  R4 = R0[K17('OnChangeGameModeFinished')]
  0023  CALL      R1 = call(R1, 0 args, 3 rets)
  0024  GETTABUP  R1 = _ENV[K13('EventDispatcher')]
  0025  GETTABLE  R1 = R1[K14('AddListener')]
  0026  GETTABUP  R2 = _ENV[K15('EEventType')]
  0027  GETTABLE  R2 = R2[K18('LoginFinished')]
  0028  MOVE      R3 = R0
  0029  GETTABLE  R4 = R0[K19('OnLoginFinished')]
  0030  CALL      R1 = call(R1, 0 args, 3 rets)
  0031  RETURN    return R0..R-1
; ---------- proto1 [Destroy] ----------
  ; fn ?  line 45-47 np=1 va=0 ms=3 code=5 consts=2 upvals=1 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='RemoveTarget'
  ;   upvals: _ENV
  ;   locals: self(0-5)
  0000  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0001  GETTABLE  R1 = R1[K1('RemoveTarget')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  RETURN    return R0..R-1
; ---------- proto2 [OnChangeGameModeFinished] ----------
  ; fn ?  line 49-53 np=1 va=0 ms=3 code=11 consts=6 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='SceneManager'
  ;   K[2]='GetGameMode'
  ;   K[3]='EGameMode'
  ;   K[4]='Main'
  ;   K[5]='TryPopWindow'
  ;   upvals: _ENV
  ;   locals: self(0-11)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('SceneManager')]
  0002  SELF      R2 = R1[K2('GetGameMode')] (self)
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  GETTABUP  R2 = _ENV[K3('EGameMode')]
  0005  GETTABLE  R2 = R2[K4('Main')]
  0006  EQ        if R0 eq R2   -> -130550
  0007  JMP       (jump)   -> 10
  0008  SELF      R2 = R0[K5('TryPopWindow')] (self)
  0009  CALL      R1 = call(R1, 0 args, 1 rets)
  0010  RETURN    return R0..R-1
; ---------- proto3 [OnLoginFinished] ----------
  ; fn ?  line 55-63 np=1 va=0 ms=3 code=11 consts=4 upvals=0 protos=0
  ;   K[0]='m_serverConfig'
  ;   K[1]=nil
  ;   K[2]='_CanPopNecessary'
  ;   K[3]='_RequestQuestionCtx'
  ;   locals: self(0-11)
  0000  GETTABLE  R1 = R0[K0('m_serverConfig')]
  0001  EQ        if R0 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 4
  0003  RETURN    return R0..R-1
  0004  SELF      R2 = R0[K2('_CanPopNecessary')] (self)
  0005  CALL      R1 = call(R1, 1 args, 1 rets)
  0006  TEST      if not R1 then   -> -131064
  0007  JMP       (jump)   -> 10
  0008  SELF      R2 = R0[K3('_RequestQuestionCtx')] (self)
  0009  CALL      R1 = call(R1, 0 args, 1 rets)
  0010  RETURN    return R0..R-1
; ---------- proto4 [GetData] ----------
  ; fn ?  line 65-67 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_dbKVTable'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_dbKVTable')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto5 [LoadServerConfig] ----------
  ; fn ?  line 69-110 np=1 va=0 ms=9 code=88 consts=37 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='UIManager'
  ;   K[2]='IsViewExisting'
  ;   K[3]='UIPrefabConfigName'
  ;   K[4]='SurveyTipWindow'
  ;   K[5]='SurveyWindow'
  ;   K[6]='m_serverConfig'
  ;   K[7]=nil
  ;   K[8]='questionConfig'
  ;   K[9]='ConfigModel'
  ;   K[10]='GetServerConfig'
  ;   K[11]='ServerConfigKey'
  ;   K[12]='Survey'
  ;   K[13]=0
  ;   K[14]=1
  ;   K[15]='rewards'
  ;   K[16]='ConfigUtil'
  ;   K[17]='GetCurrencyFromArrStr'
  ;   K[18]='reward'
  ;   K[19]='TimeUtil'
  ;   K[20]='ToDate'
  ;   K[21]='GameModel'
  ;   K[22]='GetServerTime'
  ;   K[23]='ETimeFormat'
  ;   K[24]='YMD'
  ;   K[25]='GetIdInNumber'
  ;   K[26]='id'
  ;   K[27]='GetDataDate'
  ;   K[28]='ESurveyDataKey'
  ;   K[29]='Id'
  ;   K[30]='value'
  ;   K[31]='tostring'
  ;   K[32]='DataDate'
  ;   K[33]='PopCount'
  ;   K[34]='0'
  ;   K[35]='m_dbKVTable'
  ;   K[36]='BatchSet'
  ;   upvals: _ENV
  ;   locals: self(0-88), configs(29-88), date(53-88), cacheId(55-88), content(83-87)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('UIManager')]
  0002  TEST      if not R1 then   -> -131068
  0003  JMP       (jump)   -> 21
  0004  GETTABUP  R1 = _ENV[K0('GM')]
  0005  GETTABLE  R1 = R1[K1('UIManager')]
  0006  SELF      R2 = R1[K2('IsViewExisting')] (self)
  0007  GETTABUP  R3 = _ENV[K3('UIPrefabConfigName')]
  0008  GETTABLE  R3 = R3[K4('SurveyTipWindow')]
  0009  CALL      R1 = call(R1, 1 args, 2 rets)
  0010  TEST      if not R1 then   -> -131059
  0011  JMP       (jump)   -> 20
  0012  GETTABUP  R1 = _ENV[K0('GM')]
  0013  GETTABLE  R1 = R1[K1('UIManager')]
  0014  SELF      R2 = R1[K2('IsViewExisting')] (self)
  0015  GETTABUP  R3 = _ENV[K3('UIPrefabConfigName')]
  0016  GETTABLE  R3 = R3[K5('SurveyWindow')]
  0017  CALL      R1 = call(R1, 1 args, 2 rets)
  0018  TEST      if not R1 then   -> -131052
  0019  JMP       (jump)   -> 21
  0020  RETURN    return R0..R-1
  0021  SETTABLE  R0[K6('m_serverConfig')] = K7(nil)
  0022  SETTABLE  R0[K8('questionConfig')] = K7(nil)
  0023  GETTABUP  R1 = _ENV[K0('GM')]
  0024  GETTABLE  R1 = R1[K9('ConfigModel')]
  0025  SELF      R2 = R1[K10('GetServerConfig')] (self)
  0026  GETTABUP  R3 = _ENV[K11('ServerConfigKey')]
  0027  GETTABLE  R3 = R3[K12('Survey')]
  0028  CALL      R1 = call(R1, 1 args, 2 rets)
  0029  TEST      if not R1 then   -> -131041
  0030  JMP       (jump)   -> 37
  0031  LEN       R2 = len R0
  0032  LT        if R0 lt R2   -> 6692
  0033  JMP       (jump)   -> 37
  0034  GETTABLE  R2 = R1[K14(1)]
  0035  SETTABLE  R0[K6('m_serverConfig')] = R2
  0036  JMP       (jump)   -> 38
  0037  RETURN    return R0..R-1
  0038  GETTABUP  R2 = _ENV[K16('ConfigUtil')]
  0039  GETTABLE  R2 = R2[K17('GetCurrencyFromArrStr')]
  0040  GETTABLE  R3 = R0[K6('m_serverConfig')]
  0041  GETTABLE  R3 = R3[K18('reward')]
  0042  CALL      R2 = call(R2, 1 args, 1 rets)
  0043  SETTABLE  R0[K15('rewards')] = R2
  0044  GETTABUP  R2 = _ENV[K19('TimeUtil')]
  0045  GETTABLE  R2 = R2[K20('ToDate')]
  0046  GETTABUP  R3 = _ENV[K0('GM')]
  0047  GETTABLE  R3 = R3[K21('GameModel')]
  0048  SELF      R4 = R3[K22('GetServerTime')] (self)
  0049  CALL      R3 = call(R3, 1 args, 1 rets)
  0050  GETTABUP  R4 = _ENV[K23('ETimeFormat')]
  0051  GETTABLE  R4 = R4[K24('YMD')]
  0052  CALL      R2 = call(R2, 1 args, 2 rets)
  0053  SELF      R4 = R0[K25('GetIdInNumber')] (self)
  0054  CALL      R3 = call(R3, 1 args, 1 rets)
  0055  GETTABLE  R4 = R0[K6('m_serverConfig')]
  0056  GETTABLE  R4 = R4[K26('id')]
  0057  EQ        if R0 eq R4   -> -129473
  0058  JMP       (jump)   -> 63
  0059  SELF      R5 = R0[K27('GetDataDate')] (self)
  0060  CALL      R4 = call(R4, 1 args, 1 rets)
  0061  EQ        if R1 eq R4   -> -129981
  0062  JMP       (jump)   -> 87
  0063  NEWTABLE  R4 = {} (0 items)
  0064  GETTABUP  R5 = _ENV[K28('ESurveyDataKey')]
  0065  GETTABLE  R5 = R5[K29('Id')]
  0066  NEWTABLE  R6 = {} (0 items)
  0067  GETTABUP  R7 = _ENV[K31('tostring')]
  0068  GETTABLE  R8 = R0[K6('m_serverConfig')]
  0069  GETTABLE  R8 = R8[K26('id')]
  0070  CALL      R7 = call(R7, 1 args, 1 rets)
  0071  SETTABLE  R6[K30('value')] = R7
  0072  SETTABLE  R4[R5] = R6
  0073  GETTABUP  R5 = _ENV[K28('ESurveyDataKey')]
  0074  GETTABLE  R5 = R5[K32('DataDate')]
  0075  NEWTABLE  R6 = {} (0 items)
  0076  SETTABLE  R6[K30('value')] = R2
  0077  SETTABLE  R4[R5] = R6
  0078  GETTABUP  R5 = _ENV[K28('ESurveyDataKey')]
  0079  GETTABLE  R5 = R5[K33('PopCount')]
  0080  NEWTABLE  R6 = {} (0 items)
  0081  SETTABLE  R6[K30('value')] = K34('0')
  0082  SETTABLE  R4[R5] = R6
  0083  GETTABLE  R5 = R0[K35('m_dbKVTable')]
  0084  SELF      R6 = R5[K36('BatchSet')] (self)
  0085  MOVE      R7 = R0
  0086  CALL      R5 = call(R5, 0 args, 2 rets)
  0087  RETURN    return R0..R-1
; ---------- proto6 [GetRewardKey] ----------
  ; fn ?  line 112-114 np=1 va=0 ms=5 code=10 consts=6 upvals=1 protos=0
  ;   K[0]='ServerConfigKey'
  ;   K[1]='Survey'
  ;   K[2]='_'
  ;   K[3]='tostring'
  ;   K[4]='m_serverConfig'
  ;   K[5]='id'
  ;   upvals: _ENV
  ;   locals: self(0-10)
  0000  GETTABUP  R1 = _ENV[K0('ServerConfigKey')]
  0001  GETTABLE  R1 = R1[K1('Survey')]
  0002  LOADK     R2 = K2 '_'
  0003  GETTABUP  R3 = _ENV[K3('tostring')]
  0004  GETTABLE  R4 = R0[K4('m_serverConfig')]
  0005  GETTABLE  R4 = R4[K5('id')]
  0006  CALL      R3 = call(R3, 1 args, 1 rets)
  0007  CONCAT    R1 = concat(R1..R1)
  0008  RETURN    return R1..R0
  0009  RETURN    return R0..R-1
; ---------- proto7 [TryPopWindow] ----------
  ; fn ?  line 116-145 np=1 va=0 ms=7 code=75 consts=28 upvals=1 protos=0
  ;   K[0]='m_serverConfig'
  ;   K[1]='questionConfig'
  ;   K[2]='GM'
  ;   K[3]='UIManager'
  ;   K[4]='IsViewExisting'
  ;   K[5]='UIPrefabConfigName'
  ;   K[6]='SurveyTipWindow'
  ;   K[7]='SurveyWindow'
  ;   K[8]='_CanPopNecessary'
  ;   K[9]='curQuestionData'
  ;   K[10]='questions'
  ;   K[11]=1
  ;   K[12]='nextQuestionIds'
  ;   K[13]='arrUserAnswers'
  ;   K[14]='_UpdateLastFlag'
  ;   K[15]='event'
  ;   K[16]='Call'
  ;   K[17]='SurveyNeedOpen'
  ;   K[18]='ESurveyDataKey'
  ;   K[19]='PopCount'
  ;   K[20]='value'
  ;   K[21]='tostring'
  ;   K[22]='GetPopCountInNumber'
  ;   K[23]='PopTime'
  ;   K[24]='GameModel'
  ;   K[25]='GetServerTime'
  ;   K[26]='m_dbKVTable'
  ;   K[27]='BatchSet'
  ;   upvals: _ENV
  ;   locals: self(0-75), content(70-75)
  0000  GETTABLE  R1 = R0[K0('m_serverConfig')]
  0001  TEST      if not R1 then   -> -131069
  0002  JMP       (jump)   -> 6
  0003  GETTABLE  R1 = R0[K1('questionConfig')]
  0004  TEST      if not R1 then   -> -131065
  0005  JMP       (jump)   -> 7
  0006  RETURN    return R0..R-1
  0007  GETTABUP  R1 = _ENV[K2('GM')]
  0008  GETTABLE  R1 = R1[K3('UIManager')]
  0009  TEST      if not R1 then   -> -131060
  0010  JMP       (jump)   -> 12
  0011  RETURN    return R0..R-1
  0012  GETTABUP  R1 = _ENV[K2('GM')]
  0013  GETTABLE  R1 = R1[K3('UIManager')]
  0014  SELF      R2 = R1[K4('IsViewExisting')] (self)
  0015  GETTABUP  R3 = _ENV[K5('UIPrefabConfigName')]
  0016  GETTABLE  R3 = R3[K6('SurveyTipWindow')]
  0017  CALL      R1 = call(R1, 1 args, 2 rets)
  0018  TEST      if not R1 then   -> -131051
  0019  JMP       (jump)   -> 28
  0020  GETTABUP  R1 = _ENV[K2('GM')]
  0021  GETTABLE  R1 = R1[K3('UIManager')]
  0022  SELF      R2 = R1[K4('IsViewExisting')] (self)
  0023  GETTABUP  R3 = _ENV[K5('UIPrefabConfigName')]
  0024  GETTABLE  R3 = R3[K7('SurveyWindow')]
  0025  CALL      R1 = call(R1, 1 args, 2 rets)
  0026  TEST      if not R1 then   -> -131044
  0027  JMP       (jump)   -> 29
  0028  RETURN    return R0..R-1
  0029  SELF      R2 = R0[K8('_CanPopNecessary')] (self)
  0030  CALL      R1 = call(R1, 1 args, 1 rets)
  0031  TEST      if not R1 then   -> -131038
  0032  JMP       (jump)   -> 34
  0033  RETURN    return R0..R-1
  0034  GETTABLE  R1 = R0[K1('questionConfig')]
  0035  GETTABLE  R1 = R1[K10('questions')]
  0036  GETTABLE  R1 = R1[K11(1)]
  0037  SETTABLE  R0[K9('curQuestionData')] = R1
  0038  NEWTABLE  R1 = {} (0 items)
  0039  SETTABLE  R0[K12('nextQuestionIds')] = R1
  0040  NEWTABLE  R1 = {} (0 items)
  0041  SETTABLE  R0[K13('arrUserAnswers')] = R1
  0042  SELF      R2 = R0[K14('_UpdateLastFlag')] (self)
  0043  CALL      R1 = call(R1, 0 args, 1 rets)
  0044  GETTABLE  R1 = R0[K15('event')]
  0045  SELF      R2 = R1[K16('Call')] (self)
  0046  GETTABUP  R3 = _ENV[K17('SurveyNeedOpen')]
  0047  CALL      R1 = call(R1, 0 args, 2 rets)
  0048  NEWTABLE  R1 = {} (0 items)
  0049  GETTABUP  R2 = _ENV[K18('ESurveyDataKey')]
  0050  GETTABLE  R2 = R2[K19('PopCount')]
  0051  NEWTABLE  R3 = {} (0 items)
  0052  GETTABUP  R4 = _ENV[K21('tostring')]
  0053  SELF      R6 = R0[K22('GetPopCountInNumber')] (self)
  0054  CALL      R5 = call(R5, 1 args, 1 rets)
  0055  ADD       R5 = K11(1) add R5
  0056  CALL      R4 = call(R4, 1 args, 1 rets)
  0057  SETTABLE  R3[K20('value')] = R4
  0058  SETTABLE  R1[R2] = R3
  0059  GETTABUP  R2 = _ENV[K18('ESurveyDataKey')]
  0060  GETTABLE  R2 = R2[K23('PopTime')]
  0061  NEWTABLE  R3 = {} (0 items)
  0062  GETTABUP  R4 = _ENV[K21('tostring')]
  0063  GETTABUP  R5 = _ENV[K2('GM')]
  0064  GETTABLE  R5 = R5[K24('GameModel')]
  0065  SELF      R6 = R5[K25('GetServerTime')] (self)
  0066  CALL      R5 = call(R5, -1 args, 1 rets)
  0067  CALL      R4 = call(R4, 1 args, -1 rets)
  0068  SETTABLE  R3[K20('value')] = R4
  0069  SETTABLE  R1[R2] = R3
  0070  GETTABLE  R2 = R0[K26('m_dbKVTable')]
  0071  SELF      R3 = R2[K27('BatchSet')] (self)
  0072  MOVE      R4 = R0
  0073  CALL      R2 = call(R2, 0 args, 2 rets)
  0074  RETURN    return R0..R-1
; ---------- proto8 [GetBIData] ----------
  ; fn ?  line 147-154 np=2 va=0 ms=5 code=14 consts=7 upvals=1 protos=0
  ;   K[0]='survey_id'
  ;   K[1]='m_serverConfig'
  ;   K[2]='id'
  ;   K[3]='question_list'
  ;   K[4]='arrUserAnswers'
  ;   K[5]='json'
  ;   K[6]='encode'
  ;   upvals: _ENV
  ;   locals: self(0-14), withAnswer(0-14), tbData(1-14)
  0000  NEWTABLE  R2 = {} (0 items)
  0001  GETTABLE  R3 = R0[K1('m_serverConfig')]
  0002  GETTABLE  R3 = R3[K2('id')]
  0003  SETTABLE  R2[K0('survey_id')] = R3
  0004  TEST      if not R1 then   -> -131066
  0005  JMP       (jump)   -> 8
  0006  GETTABLE  R3 = R0[K4('arrUserAnswers')]
  0007  SETTABLE  R2[K3('question_list')] = R3
  0008  GETTABUP  R3 = _ENV[K5('json')]
  0009  GETTABLE  R3 = R3[K6('encode')]
  0010  MOVE      R4 = R0
  0011  TAILCALL  tailcall(R3, 0)
  0012  RETURN    return R3..R2
  0013  RETURN    return R0..R-1
; ---------- proto9 [StoreAnswerAndStepForward] ----------
  ; fn ?  line 156-167 np=3 va=0 ms=7 code=27 consts=11 upvals=1 protos=0
  ;   K[0]='_StoreAnswer'
  ;   K[1]='nextQuestionIds'
  ;   K[2]=0
  ;   K[3]='curQuestionData'
  ;   K[4]='_GetQuestionDataById'
  ;   K[5]=1
  ;   K[6]='table'
  ;   K[7]='remove'
  ;   K[8]='_GetNextVisibleQuestionData'
  ;   K[9]='id'
  ;   K[10]='_UpdateLastFlag'
  ;   upvals: _ENV
  ;   locals: self(0-27), answers(0-27), nextQIds(0-27)
  0000  SELF      R4 = R0[K0('_StoreAnswer')] (self)
  0001  MOVE      R5 = R0
  0002  MOVE      R6 = R0
  0003  CALL      R3 = call(R3, 0 args, 3 rets)
  0004  GETTABLE  R3 = R0[K1('nextQuestionIds')]
  0005  LEN       R3 = len R0
  0006  LT        if R0 lt R3   -> 1035
  0007  JMP       (jump)   -> 19
  0008  SELF      R4 = R0[K4('_GetQuestionDataById')] (self)
  0009  GETTABLE  R5 = R0[K1('nextQuestionIds')]
  0010  GETTABLE  R5 = R5[K5(1)]
  0011  CALL      R3 = call(R3, 1 args, 2 rets)
  0012  SETTABLE  R0[K3('curQuestionData')] = R3
  0013  GETTABUP  R3 = _ENV[K6('table')]
  0014  GETTABLE  R3 = R3[K7('remove')]
  0015  GETTABLE  R4 = R0[K1('nextQuestionIds')]
  0016  LOADK     R5 = K5 1
  0017  CALL      R3 = call(R3, 0 args, 2 rets)
  0018  JMP       (jump)   -> 24
  0019  SELF      R4 = R0[K8('_GetNextVisibleQuestionData')] (self)
  0020  GETTABLE  R5 = R0[K3('curQuestionData')]
  0021  GETTABLE  R5 = R5[K9('id')]
  0022  CALL      R3 = call(R3, 1 args, 2 rets)
  0023  SETTABLE  R0[K3('curQuestionData')] = R3
  0024  SELF      R4 = R0[K10('_UpdateLastFlag')] (self)
  0025  CALL      R3 = call(R3, 0 args, 1 rets)
  0026  RETURN    return R0..R-1
; ---------- proto10 [StoreAnswerAndSubmit] ----------
  ; fn ?  line 169-179 np=4 va=0 ms=9 code=13 consts=5 upvals=1 protos=1
  ;   K[0]='_StoreAnswer'
  ;   K[1]='GM'
  ;   K[2]='RewardModel'
  ;   K[3]='ReceiveServerReward'
  ;   K[4]='GetRewardKey'
  ;   upvals: _ENV
  ;   locals: self(0-13), answers(0-13), nextQIds(0-13), callback(0-13)
  0000  SELF      R5 = R0[K0('_StoreAnswer')] (self)
  0001  MOVE      R6 = R0
  0002  MOVE      R7 = R0
  0003  CALL      R4 = call(R4, 0 args, 3 rets)
  0004  GETTABUP  R4 = _ENV[K1('GM')]
  0005  GETTABLE  R4 = R4[K2('RewardModel')]
  0006  SELF      R5 = R4[K3('ReceiveServerReward')] (self)
  0007  SELF      R7 = R0[K4('GetRewardKey')] (self)
  0008  CALL      R6 = call(R6, 1 args, 1 rets)
  0009  LOADBOOL  R7 = false
  0010  CLOSURE   R8 = closure proto0
  0011  CALL      R4 = call(R4, 0 args, 4 rets)
  0012  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 172-178 np=1 va=0 ms=6 code=19 consts=13 upvals=3 protos=0
    ;   K[0]='ERewardRespStatus'
    ;   K[1]='Success'
    ;   K[2]='RewardApi'
    ;   K[3]='AcquireRewards'
    ;   K[4]='rewards'
    ;   K[5]='EPropertySource'
    ;   K[6]='Give'
    ;   K[7]='EBIType'
    ;   K[8]='Survey'
    ;   K[9]='ERewardScene'
    ;   K[10]='Other'
    ;   K[11]='questionConfig'
    ;   K[12]=nil
    ;   upvals: _ENV, self, callback
    ;   locals: eRewardRespStatus(0-19)
    0000  GETTABUP  R1 = _ENV[K0('ERewardRespStatus')]
    0001  GETTABLE  R1 = R1[K1('Success')]
    0002  EQ        if R0 eq R1   -> -131067
    0003  JMP       (jump)   -> 15
    0004  GETTABUP  R1 = _ENV[K2('RewardApi')]
    0005  GETTABLE  R1 = R1[K3('AcquireRewards')]
    0006  GETTABUP  R2 = self[K4('rewards')]
    0007  GETTABUP  R3 = _ENV[K5('EPropertySource')]
    0008  GETTABLE  R3 = R3[K6('Give')]
    0009  GETTABUP  R4 = _ENV[K7('EBIType')]
    0010  GETTABLE  R4 = R4[K8('Survey')]
    0011  GETTABUP  R5 = _ENV[K9('ERewardScene')]
    0012  GETTABLE  R5 = R5[K10('Other')]
    0013  CALL      R1 = call(R1, 0 args, 4 rets)
    0014  SETTABUP  self[K11('questionConfig')] = K12(nil)
    0015  GETUPVAL  R1 = _ENV
    0016  MOVE      R2 = R0
    0017  CALL      R1 = call(R1, 0 args, 1 rets)
    0018  RETURN    return R0..R-1
; ---------- proto11 [_UpdateLastFlag] ----------
  ; fn ?  line 181-187 np=1 va=0 ms=4 code=21 consts=6 upvals=0 protos=0
  ;   K[0]='curQuestionData'
  ;   K[1]='isLast'
  ;   K[2]=nil
  ;   K[3]='isLastQuestion'
  ;   K[4]='questionConfig'
  ;   K[5]='questions'
  ;   locals: self(0-21)
  0000  GETTABLE  R1 = R0[K0('curQuestionData')]
  0001  GETTABLE  R1 = R1[K1('isLast')]
  0002  EQ        if R1 eq K2(nil)   -> -130298
  0003  JMP       (jump)   -> 8
  0004  GETTABLE  R1 = R0[K0('curQuestionData')]
  0005  GETTABLE  R1 = R1[K1('isLast')]
  0006  SETTABLE  R0[K3('isLastQuestion')] = R1
  0007  JMP       (jump)   -> 20
  0008  GETTABLE  R1 = R0[K0('curQuestionData')]
  0009  GETTABLE  R2 = R0[K4('questionConfig')]
  0010  GETTABLE  R2 = R2[K5('questions')]
  0011  GETTABLE  R3 = R0[K4('questionConfig')]
  0012  GETTABLE  R3 = R3[K5('questions')]
  0013  LEN       R3 = len R0
  0014  GETTABLE  R2 = R2[R3]
  0015  EQ        if R1 eq R2   -> -130541
  0016  JMP       (jump)   -> 18
  0017  LOADBOOL  R1 = false
  0018  LOADBOOL  R1 = true
  0019  SETTABLE  R0[K3('isLastQuestion')] = R1
  0020  RETURN    return R0..R-1
; ---------- proto12 [_StoreAnswer] ----------
  ; fn ?  line 189-205 np=3 va=0 ms=7 code=41 consts=15 upvals=1 protos=0
  ;   K[0]='curQuestionData'
  ;   K[1]='Table'
  ;   K[2]='ListAppend'
  ;   K[3]='nextQuestionIds'
  ;   K[4]='question_id'
  ;   K[5]='id'
  ;   K[6]='EAnswerKey'
  ;   K[7]='AnserId'
  ;   K[8]='Vmemo'
  ;   K[9]='question_type'
  ;   K[10]='attribute'
  ;   K[11]='question_rule'
  ;   K[12]='rule'
  ;   K[13]='arrUserAnswers'
  ;   K[14]=1
  ;   upvals: _ENV
  ;   locals: self(0-41), answers(0-41), nextQIds(0-41), curQData(1-41), answerData(7-41)
  0000  GETTABLE  R3 = R0[K0('curQuestionData')]
  0001  GETTABUP  R4 = _ENV[K1('Table')]
  0002  GETTABLE  R4 = R4[K2('ListAppend')]
  0003  GETTABLE  R5 = R0[K3('nextQuestionIds')]
  0004  MOVE      R6 = R0
  0005  CALL      R4 = call(R4, 0 args, 2 rets)
  0006  NEWTABLE  R4 = {} (0 items)
  0007  GETTABLE  R5 = R3[K5('id')]
  0008  SETTABLE  R4[K4('question_id')] = R5
  0009  GETTABUP  R5 = _ENV[K6('EAnswerKey')]
  0010  GETTABLE  R5 = R5[K7('AnserId')]
  0011  GETTABLE  R5 = R1[R5]
  0012  TEST      if not R5 then   -> -131058
  0013  JMP       (jump)   -> 20
  0014  GETTABUP  R5 = _ENV[K6('EAnswerKey')]
  0015  GETTABLE  R5 = R5[K7('AnserId')]
  0016  GETTABUP  R6 = _ENV[K6('EAnswerKey')]
  0017  GETTABLE  R6 = R6[K7('AnserId')]
  0018  GETTABLE  R6 = R1[R6]
  0019  SETTABLE  R4[R5] = R6
  0020  GETTABUP  R5 = _ENV[K6('EAnswerKey')]
  0021  GETTABLE  R5 = R5[K8('Vmemo')]
  0022  GETTABLE  R5 = R1[R5]
  0023  TEST      if not R5 then   -> -131047
  0024  JMP       (jump)   -> 31
  0025  GETTABUP  R5 = _ENV[K6('EAnswerKey')]
  0026  GETTABLE  R5 = R5[K8('Vmemo')]
  0027  GETTABUP  R6 = _ENV[K6('EAnswerKey')]
  0028  GETTABLE  R6 = R6[K8('Vmemo')]
  0029  GETTABLE  R6 = R1[R6]
  0030  SETTABLE  R4[R5] = R6
  0031  GETTABLE  R5 = R3[K10('attribute')]
  0032  SETTABLE  R4[K9('question_type')] = R5
  0033  GETTABLE  R5 = R3[K12('rule')]
  0034  SETTABLE  R4[K11('question_rule')] = R5
  0035  GETTABLE  R5 = R0[K13('arrUserAnswers')]
  0036  GETTABLE  R6 = R0[K13('arrUserAnswers')]
  0037  LEN       R6 = len R0
  0038  ADD       R6 = K14(1) add R6
  0039  SETTABLE  R5[R6] = R4
  0040  RETURN    return R0..R-1
; ---------- proto13 [_GetNextVisibleQuestionData] ----------
  ; fn ?  line 207-218 np=2 va=0 ms=9 code=24 consts=5 upvals=0 protos=0
  ;   K[0]=1
  ;   K[1]='questionConfig'
  ;   K[2]='questions'
  ;   K[3]='id'
  ;   K[4]='isVisible'
  ;   locals: self(0-24), curQId(0-24), data(1-24), started(2-24), (for index)(7-23), (for limit)(7-23), (for step)(7-23), i(8-22)
  0000  LOADNIL   R2..R2 = nil
  0001  LOADBOOL  R3 = false
  0002  LOADK     R4 = K0 1
  0003  GETTABLE  R5 = R0[K1('questionConfig')]
  0004  GETTABLE  R5 = R5[K2('questions')]
  0005  LEN       R5 = len R0
  0006  LOADK     R6 = K0 1
  0007  FORPREP   forprep R4(sBx=14)   -> 22
  0008  GETTABLE  R8 = R0[K1('questionConfig')]
  0009  GETTABLE  R8 = R8[K2('questions')]
  0010  GETTABLE  R2 = R8[R7]
  0011  GETTABLE  R8 = R2[K3('id')]
  0012  EQ        if R0 eq R1   -> -126961
  0013  JMP       (jump)   -> 16
  0014  LOADBOOL  R3 = true
  0015  JMP       (jump)   -> 22
  0016  TEST      if not R3 then   -> -131054
  0017  JMP       (jump)   -> 22
  0018  GETTABLE  R8 = R2[K4('isVisible')]
  0019  TEST      if not R8 then   -> -131051
  0020  JMP       (jump)   -> 22
  0021  RETURN    return R2..R1
  0022  FORLOOP   forloop R4(sBx=-15)   -> 8
  0023  RETURN    return R0..R-1
; ---------- proto14 [_GetQuestionDataById] ----------
  ; fn ?  line 220-228 np=2 va=0 ms=8 code=16 consts=4 upvals=0 protos=0
  ;   K[0]=1
  ;   K[1]='questionConfig'
  ;   K[2]='questions'
  ;   K[3]='id'
  ;   locals: self(0-16), id(0-16), data(1-16), (for index)(6-15), (for limit)(6-15), (for step)(6-15), i(7-14)
  0000  LOADNIL   R2..R2 = nil
  0001  LOADK     R3 = K0 1
  0002  GETTABLE  R4 = R0[K1('questionConfig')]
  0003  GETTABLE  R4 = R4[K2('questions')]
  0004  LEN       R4 = len R0
  0005  LOADK     R5 = K0 1
  0006  FORPREP   forprep R3(sBx=7)   -> 14
  0007  GETTABLE  R7 = R0[K1('questionConfig')]
  0008  GETTABLE  R7 = R7[K2('questions')]
  0009  GETTABLE  R2 = R7[R6]
  0010  GETTABLE  R7 = R2[K3('id')]
  0011  EQ        if R0 eq R1   -> -127474
  0012  JMP       (jump)   -> 14
  0013  RETURN    return R2..R1
  0014  FORLOOP   forloop R3(sBx=-8)   -> 7
  0015  RETURN    return R0..R-1
; ---------- proto15 [_CanPopNecessary] ----------
  ; fn ?  line 231-245 np=1 va=0 ms=5 code=34 consts=11 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='RewardModel'
  ;   K[2]='HasReceivedServerReward'
  ;   K[3]='GetRewardKey'
  ;   K[4]='GetPopCountInNumber'
  ;   K[5]='m_serverConfig'
  ;   K[6]='maxNum'
  ;   K[7]='GetPopTimeInNumber'
  ;   K[8]='GameModel'
  ;   K[9]='GetServerTime'
  ;   K[10]='interval'
  ;   upvals: _ENV
  ;   locals: self(0-34), lastPopTime(20-34), curTime(24-34)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('RewardModel')]
  0002  SELF      R2 = R1[K2('HasReceivedServerReward')] (self)
  0003  SELF      R4 = R0[K3('GetRewardKey')] (self)
  0004  CALL      R3 = call(R3, -1 args, 1 rets)
  0005  CALL      R1 = call(R1, 1 args, -1 rets)
  0006  TEST      if not R1 then   -> -131064
  0007  JMP       (jump)   -> 10
  0008  LOADBOOL  R1 = false
  0009  RETURN    return R1..R0
  0010  SELF      R2 = R0[K4('GetPopCountInNumber')] (self)
  0011  CALL      R1 = call(R1, 1 args, 1 rets)
  0012  GETTABLE  R2 = R0[K5('m_serverConfig')]
  0013  GETTABLE  R2 = R2[K6('maxNum')]
  0014  LE        if R0 le R1   -> -130031
  0015  JMP       (jump)   -> 18
  0016  LOADBOOL  R1 = false
  0017  RETURN    return R1..R0
  0018  SELF      R2 = R0[K7('GetPopTimeInNumber')] (self)
  0019  CALL      R1 = call(R1, 1 args, 1 rets)
  0020  GETTABUP  R2 = _ENV[K0('GM')]
  0021  GETTABLE  R2 = R2[K8('GameModel')]
  0022  SELF      R3 = R2[K9('GetServerTime')] (self)
  0023  CALL      R2 = call(R2, 1 args, 1 rets)
  0024  SUB       R3 = R1 sub R2
  0025  GETTABLE  R4 = R0[K5('m_serverConfig')]
  0026  GETTABLE  R4 = R4[K10('interval')]
  0027  LT        if R0 lt R4   -> -129503
  0028  JMP       (jump)   -> 31
  0029  LOADBOOL  R3 = false
  0030  RETURN    return R3..R2
  0031  LOADBOOL  R3 = true
  0032  RETURN    return R3..R2
  0033  RETURN    return R0..R-1
; ---------- proto16 [_RequestQuestionCtx] ----------
  ; fn ?  line 248-271 np=1 va=0 ms=7 code=14 consts=9 upvals=1 protos=1
  ;   K[0]='CSNetLibManager'
  ;   K[1]='CreateGeneralHttpRequest'
  ;   K[2]='m_serverConfig'
  ;   K[3]='link'
  ;   K[4]='GET'
  ;   K[5]=8000
  ;   K[6]=0
  ;   K[7]='SetCallback'
  ;   K[8]='Send'
  ;   upvals: _ENV
  ;   locals: self(0-14), reqCtx(8-14)
  0000  GETTABUP  R1 = _ENV[K0('CSNetLibManager')]
  0001  SELF      R2 = R1[K1('CreateGeneralHttpRequest')] (self)
  0002  GETTABLE  R3 = R0[K2('m_serverConfig')]
  0003  GETTABLE  R3 = R3[K3('link')]
  0004  LOADK     R4 = K4 'GET'
  0005  LOADK     R5 = K5 8000
  0006  LOADK     R6 = K6 0
  0007  CALL      R1 = call(R1, 1 args, 5 rets)
  0008  SELF      R3 = R1[K7('SetCallback')] (self)
  0009  CLOSURE   R4 = closure proto0
  0010  CALL      R2 = call(R2, 0 args, 2 rets)
  0011  SELF      R3 = R1[K8('Send')] (self)
  0012  CALL      R2 = call(R2, 0 args, 1 rets)
  0013  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 252-268 np=0 va=0 ms=3 code=44 consts=19 upvals=3 protos=0
    ;   K[0]='GM'
    ;   K[1]=nil
    ;   K[2]='Rcode'
    ;   K[3]='ResultCode'
    ;   K[4]='Succeeded'
    ;   K[5]='RespBody'
    ;   K[6]='Bytes'
    ;   K[7]=0
    ;   K[8]='json'
    ;   K[9]='decode'
    ;   K[10]='GetResponseString'
    ;   K[11]='questions'
    ;   K[12]='questionConfig'
    ;   K[13]='SceneManager'
    ;   K[14]='GetGameMode'
    ;   K[15]='EGameMode'
    ;   K[16]='Main'
    ;   K[17]='TryPopWindow'
    ;   K[18]='m_serverConfig'
    ;   upvals: _ENV, reqCtx, self
    ;   locals: question(22-41)
    0000  GETTABUP  R0 = _ENV[K0('GM')]
    0001  EQ        if R0 eq K1(nil)   -> -130812
    0002  JMP       (jump)   -> 4
    0003  RETURN    return R0..R-1
    0004  GETTABUP  R0 = reqCtx[K2('Rcode')]
    0005  GETTABUP  R1 = _ENV[K3('ResultCode')]
    0006  GETTABLE  R1 = R1[K4('Succeeded')]
    0007  EQ        if R0 eq R1   -> -131062
    0008  JMP       (jump)   -> 42
    0009  GETTABUP  R0 = reqCtx[K5('RespBody')]
    0010  GETTABLE  R0 = R0[K6('Bytes')]
    0011  LT        if R0 lt R0   -> 3597
    0012  JMP       (jump)   -> 42
    0013  GETTABUP  R0 = _ENV[K8('json')]
    0014  GETTABLE  R0 = R0[K9('decode')]
    0015  GETUPVAL  R1 = _ENV
    0016  SELF      R2 = R1[K10('GetResponseString')] (self)
    0017  CALL      R1 = call(R1, -1 args, 1 rets)
    0018  CALL      R0 = call(R0, 1 args, -1 rets)
    0019  TEST      if not R0 then   -> -131050
    0020  JMP       (jump)   -> 22
    0021  NEWTABLE  R0 = {} (0 items)
    0022  GETTABLE  R1 = R0[K11('questions')]
    0023  EQ        if R1 eq K1(nil)   -> -130278
    0024  JMP       (jump)   -> 43
    0025  GETTABLE  R1 = R0[K11('questions')]
    0026  LEN       R1 = len R0
    0027  LT        if R0 lt R1   -> 3614
    0028  JMP       (jump)   -> 43
    0029  SETTABUP  self[K12('questionConfig')] = R0
    0030  GETTABUP  R1 = _ENV[K0('GM')]
    0031  GETTABLE  R1 = R1[K13('SceneManager')]
    0032  SELF      R2 = R1[K14('GetGameMode')] (self)
    0033  CALL      R1 = call(R1, 1 args, 1 rets)
    0034  GETTABUP  R2 = _ENV[K15('EGameMode')]
    0035  GETTABLE  R2 = R2[K16('Main')]
    0036  EQ        if R0 eq R2   -> -130520
    0037  JMP       (jump)   -> 43
    0038  GETUPVAL  R1 = _ENV
    0039  SELF      R2 = R1[K17('TryPopWindow')] (self)
    0040  CALL      R1 = call(R1, 0 args, 1 rets)
    0041  JMP       (jump)   -> 43
    0042  SETTABUP  self[K18('m_serverConfig')] = K1(nil)
    0043  RETURN    return R0..R-1
; ---------- proto17 [_LoadQuestionCtx] ----------
  ; fn ?  line 273-278 np=1 va=0 ms=6 code=13 consts=8 upvals=1 protos=1
  ;   K[0]='GM'
  ;   K[1]='ResourceLoader'
  ;   K[2]='LoadLatestFile'
  ;   K[3]='DataResource'
  ;   K[4]='TextAssetConfig'
  ;   K[5]='GetConfig'
  ;   K[6]='TextAssetConfigName'
  ;   K[7]='question'
  ;   upvals: _ENV
  ;   locals: self(0-13)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('ResourceLoader')]
  0002  SELF      R2 = R1[K2('LoadLatestFile')] (self)
  0003  GETTABUP  R3 = _ENV[K0('GM')]
  0004  GETTABLE  R3 = R3[K3('DataResource')]
  0005  GETTABLE  R3 = R3[K4('TextAssetConfig')]
  0006  SELF      R4 = R3[K5('GetConfig')] (self)
  0007  GETTABUP  R5 = _ENV[K6('TextAssetConfigName')]
  0008  GETTABLE  R5 = R5[K7('question')]
  0009  CALL      R3 = call(R3, 1 args, 2 rets)
  0010  CLOSURE   R4 = closure proto0
  0011  CALL      R1 = call(R1, 0 args, 3 rets)
  0012  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 275-277 np=1 va=0 ms=3 code=6 consts=3 upvals=2 protos=0
    ;   K[0]='questionConfig'
    ;   K[1]='json'
    ;   K[2]='decode'
    ;   upvals: self, _ENV
    ;   locals: data(0-6)
    0000  GETTABUP  R1 = _ENV[K1('json')]
    0001  GETTABLE  R1 = R1[K2('decode')]
    0002  MOVE      R2 = R0
    0003  CALL      R1 = call(R1, 1 args, 1 rets)
    0004  SETTABUP  self[K0('questionConfig')] = R1
    0005  RETURN    return R0..R-1
