# LineRaceActivity_Model_LineRaceActivityModel_1957.luac
; fn @LineRaceActivityModel.lua  line 0-0 np=0 va=1 ms=10 code=232 consts=94 upvals=1 protos=68
;   K[0]='lineRaceRoundConfig'
;   K[1]='lineRaceBotCurveConfig'
;   K[2]=2
;   K[3]=1
;   K[4]='botAbilityA'
;   K[5]='botAbilityB'
;   K[6]='curveA'
;   K[7]='curveB'
;   K[8]='HasShownHalfDataTipWindow'
;   K[9]='hasShownHalfDataTipWindow'
;   K[10]='HasShownThirdDataTipWindow'
;   K[11]='hasShownThirdDataTipWindow'
;   K[12]='KidSkinName'
;   K[13]='kidSkinName'
;   K[14]='LastLeftGuestsCount'
;   K[15]='lastLeftGuestsCount'
;   K[16]='LineRaceActivityModel'
;   K[17]='setmetatable'
;   K[18]='bShouldSkipEndWindowOnLongAway'
;   K[19]=true
;   K[20]='FixedPlayerNumber'
;   K[21]='IsExsitFail'
;   K[22]='EntryGapTime'
;   K[23]=600
;   K[24]='BaseRaceActivityModel'
;   K[25]='__index'
;   K[26]='Init'
;   K[27]='TrySlideTip'
;   K[28]='_OnOrderFinished'
;   K[29]='CreatePlayerData'
;   K[30]='_CheckClaimRewardCondition'
;   K[31]='_LoadOtherServerConfig'
;   K[32]='_CheckConfigValid'
;   K[33]='GetActivityDefinitionByType'
;   K[34]='GetActivityDefinition'
;   K[35]='IsActivityOpen'
;   K[36]='GetOrderExtraReward'
;   K[37]='GetButtonTarget'
;   K[38]='GetTargetScore'
;   K[39]='GetTargetScoreForDisplay'
;   K[40]='GetCurrentRoundForDisplay'
;   K[41]='TryClaimReward'
;   K[42]='TryCompetitionEntry'
;   K[43]='_CreateRobotPlayers'
;   K[44]='_RandomBotCurve'
;   K[45]='_GenerateBotScoreCurve'
;   K[46]='GetCurRoundBotTargetScore'
;   K[47]='_GenerateRandomNumber'
;   K[48]='_RandomSingleOrderTime'
;   K[49]='_CalculateBotTotalTaskTime'
;   K[50]='_CreateMySelfData'
;   K[51]='_CheckFail'
;   K[52]='GetBoardEntryShowConfig'
;   K[53]='GetMapEntryShowConfig'
;   K[54]='CanAddScore'
;   K[55]='_DispatchStateChangedEvent'
;   K[56]='_DispatchScoreChangedEvent'
;   K[57]='_DispatchUpdateBotScoreEvent'
;   K[58]='_OpenWindow'
;   K[59]='OpenMainWindow'
;   K[60]='OpenStartWindow'
;   K[61]='OpenFailWindow'
;   K[62]='TryOpenMainWindow'
;   K[63]='OnEntryClicked'
;   K[64]='GetHasShownHalfDataTipWindow'
;   K[65]='SetHasShownHalfDataTipWindow'
;   K[66]='ResetHasShownHalfDataTipWindow'
;   K[67]='GetHasShownThirdDataTipWindow'
;   K[68]='SetHasShownThirdDataTipWindow'
;   K[69]='ResetHasShownThirdDataTipWindow'
;   K[70]='GetKidSkinNames'
;   K[71]='SetKidSkinNames'
;   K[72]='GetLastLeftGuestsCount'
;   K[73]='SetLastLeftGuestsCount'
;   K[74]='GetTotalPlayerCount'
;   K[75]='GetLeftGuestsCountByCurrentRound'
;   K[76]='GetLeftGuestsCountForDisplay'
;   K[77]='UpdateLeftGuestsCount'
;   K[78]='GetCurrentRoundReward'
;   K[79]='_PlayerRankSortFunc'
;   K[80]='_IsPlayerGuaranteedToLose'
;   K[81]='_IsPlayerGuaranteedToWin'
;   K[82]='GetProgressReward'
;   K[83]='GetProgressRewardConfigs'
;   K[84]='GetStageIndexByRound'
;   K[85]='_CollectAllTimePoints'
;   K[86]='_GetBeforeGapTimePointsCount'
;   K[87]='GetCurrentScore'
;   K[88]='CanShowExclaimation'
;   K[89]='_LogActivityEnd'
;   K[90]='TestSuccessRound'
;   K[91]='TestFailRound'
;   K[92]='TestCompleteToFinalRound'
;   K[93]='TestSameTime'
;   upvals: _ENV
;   locals: kRoundConfigKey(1-232), kBotCurveConfigKey(2-232), kRobotsCount(3-232), kTotalStoreCount(4-232), EBotAbilityKey(7-232), EBotCurve(10-232), DBKey(15-232)
0000  LOADK     R0 = K0 'lineRaceRoundConfig'
0001  LOADK     R1 = K1 'lineRaceBotCurveConfig'
0002  LOADK     R2 = K2 2
0003  ADD       R3 = K3(1) add R2
0004  NEWTABLE  R4 = {} (0 items)
0005  SETTABLE  R4[K3(1)] = K4('botAbilityA')
0006  SETTABLE  R4[K2(2)] = K5('botAbilityB')
0007  NEWTABLE  R5 = {} (0 items)
0008  SETTABLE  R5[K3(1)] = K6('curveA')
0009  SETTABLE  R5[K2(2)] = K7('curveB')
0010  NEWTABLE  R6 = {} (0 items)
0011  SETTABLE  R6[K8('HasShownHalfDataTipWindow')] = K9('hasShownHalfDataTipWindow')
0012  SETTABLE  R6[K10('HasShownThirdDataTipWindow')] = K11('hasShownThirdDataTipWindow')
0013  SETTABLE  R6[K12('KidSkinName')] = K13('kidSkinName')
0014  SETTABLE  R6[K14('LastLeftGuestsCount')] = K15('lastLeftGuestsCount')
0015  GETTABUP  R7 = _ENV[K17('setmetatable')]
0016  NEWTABLE  R8 = {} (0 items)
0017  SETTABLE  R8[K18('bShouldSkipEndWindowOnLongAway')] = K19(true)
0018  SETTABLE  R8[K20('FixedPlayerNumber')] = K2(2)
0019  SETTABLE  R8[K21('IsExsitFail')] = K19(true)
0020  SETTABLE  R8[K22('EntryGapTime')] = K23(600)
0021  GETTABUP  R9 = _ENV[K24('BaseRaceActivityModel')]
0022  CALL      R7 = call(R7, 1 args, 2 rets)
0023  SETTABUP  _ENV[K16('LineRaceActivityModel')] = R7
0024  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0025  GETTABUP  R8 = _ENV[K16('LineRaceActivityModel')]
0026  SETTABLE  R7[K25('__index')] = R8
0027  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0028  CLOSURE   R8 = closure proto0
0029  SETTABLE  R7[K26('Init')] = R8
0030  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0031  CLOSURE   R8 = closure proto1
0032  SETTABLE  R7[K27('TrySlideTip')] = R8
0033  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0034  CLOSURE   R8 = closure proto2
0035  SETTABLE  R7[K28('_OnOrderFinished')] = R8
0036  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0037  CLOSURE   R8 = closure proto3
0038  SETTABLE  R7[K29('CreatePlayerData')] = R8
0039  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0040  CLOSURE   R8 = closure proto4
0041  SETTABLE  R7[K30('_CheckClaimRewardCondition')] = R8
0042  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0043  CLOSURE   R8 = closure proto5
0044  SETTABLE  R7[K31('_LoadOtherServerConfig')] = R8
0045  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0046  CLOSURE   R8 = closure proto6
0047  SETTABLE  R7[K32('_CheckConfigValid')] = R8
0048  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0049  CLOSURE   R8 = closure proto7
0050  SETTABLE  R7[K33('GetActivityDefinitionByType')] = R8
0051  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0052  CLOSURE   R8 = closure proto8
0053  SETTABLE  R7[K34('GetActivityDefinition')] = R8
0054  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0055  CLOSURE   R8 = closure proto9
0056  SETTABLE  R7[K35('IsActivityOpen')] = R8
0057  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0058  CLOSURE   R8 = closure proto10
0059  SETTABLE  R7[K36('GetOrderExtraReward')] = R8
0060  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0061  CLOSURE   R8 = closure proto11
0062  SETTABLE  R7[K37('GetButtonTarget')] = R8
0063  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0064  CLOSURE   R8 = closure proto12
0065  SETTABLE  R7[K38('GetTargetScore')] = R8
0066  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0067  CLOSURE   R8 = closure proto13
0068  SETTABLE  R7[K39('GetTargetScoreForDisplay')] = R8
0069  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0070  CLOSURE   R8 = closure proto14
0071  SETTABLE  R7[K40('GetCurrentRoundForDisplay')] = R8
0072  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0073  CLOSURE   R8 = closure proto15
0074  SETTABLE  R7[K41('TryClaimReward')] = R8
0075  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0076  CLOSURE   R8 = closure proto16
0077  SETTABLE  R7[K42('TryCompetitionEntry')] = R8
0078  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0079  CLOSURE   R8 = closure proto17
0080  SETTABLE  R7[K43('_CreateRobotPlayers')] = R8
0081  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0082  CLOSURE   R8 = closure proto18
0083  SETTABLE  R7[K44('_RandomBotCurve')] = R8
0084  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0085  CLOSURE   R8 = closure proto19
0086  SETTABLE  R7[K45('_GenerateBotScoreCurve')] = R8
0087  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0088  CLOSURE   R8 = closure proto20
0089  SETTABLE  R7[K46('GetCurRoundBotTargetScore')] = R8
0090  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0091  CLOSURE   R8 = closure proto21
0092  SETTABLE  R7[K47('_GenerateRandomNumber')] = R8
0093  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0094  CLOSURE   R8 = closure proto22
0095  SETTABLE  R7[K48('_RandomSingleOrderTime')] = R8
0096  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0097  CLOSURE   R8 = closure proto23
0098  SETTABLE  R7[K49('_CalculateBotTotalTaskTime')] = R8
0099  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0100  CLOSURE   R8 = closure proto24
0101  SETTABLE  R7[K50('_CreateMySelfData')] = R8
0102  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0103  CLOSURE   R8 = closure proto25
0104  SETTABLE  R7[K51('_CheckFail')] = R8
0105  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0106  CLOSURE   R8 = closure proto26
0107  SETTABLE  R7[K52('GetBoardEntryShowConfig')] = R8
0108  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0109  CLOSURE   R8 = closure proto27
0110  SETTABLE  R7[K53('GetMapEntryShowConfig')] = R8
0111  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0112  CLOSURE   R8 = closure proto28
0113  SETTABLE  R7[K54('CanAddScore')] = R8
0114  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0115  CLOSURE   R8 = closure proto29
0116  SETTABLE  R7[K55('_DispatchStateChangedEvent')] = R8
0117  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0118  CLOSURE   R8 = closure proto30
0119  SETTABLE  R7[K56('_DispatchScoreChangedEvent')] = R8
0120  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0121  CLOSURE   R8 = closure proto31
0122  SETTABLE  R7[K57('_DispatchUpdateBotScoreEvent')] = R8
0123  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0124  CLOSURE   R8 = closure proto32
0125  SETTABLE  R7[K58('_OpenWindow')] = R8
0126  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0127  CLOSURE   R8 = closure proto33
0128  SETTABLE  R7[K59('OpenMainWindow')] = R8
0129  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0130  CLOSURE   R8 = closure proto34
0131  SETTABLE  R7[K60('OpenStartWindow')] = R8
0132  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0133  CLOSURE   R8 = closure proto35
0134  SETTABLE  R7[K61('OpenFailWindow')] = R8
0135  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0136  CLOSURE   R8 = closure proto36
0137  SETTABLE  R7[K62('TryOpenMainWindow')] = R8
0138  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0139  CLOSURE   R8 = closure proto37
0140  SETTABLE  R7[K63('OnEntryClicked')] = R8
0141  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0142  CLOSURE   R8 = closure proto38
0143  SETTABLE  R7[K64('GetHasShownHalfDataTipWindow')] = R8
0144  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0145  CLOSURE   R8 = closure proto39
0146  SETTABLE  R7[K65('SetHasShownHalfDataTipWindow')] = R8
0147  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0148  CLOSURE   R8 = closure proto40
0149  SETTABLE  R7[K66('ResetHasShownHalfDataTipWindow')] = R8
0150  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0151  CLOSURE   R8 = closure proto41
0152  SETTABLE  R7[K67('GetHasShownThirdDataTipWindow')] = R8
0153  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0154  CLOSURE   R8 = closure proto42
0155  SETTABLE  R7[K68('SetHasShownThirdDataTipWindow')] = R8
0156  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0157  CLOSURE   R8 = closure proto43
0158  SETTABLE  R7[K69('ResetHasShownThirdDataTipWindow')] = R8
0159  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0160  CLOSURE   R8 = closure proto44
0161  SETTABLE  R7[K70('GetKidSkinNames')] = R8
0162  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0163  CLOSURE   R8 = closure proto45
0164  SETTABLE  R7[K71('SetKidSkinNames')] = R8
0165  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0166  CLOSURE   R8 = closure proto46
0167  SETTABLE  R7[K72('GetLastLeftGuestsCount')] = R8
0168  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0169  CLOSURE   R8 = closure proto47
0170  SETTABLE  R7[K73('SetLastLeftGuestsCount')] = R8
0171  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0172  CLOSURE   R8 = closure proto48
0173  SETTABLE  R7[K74('GetTotalPlayerCount')] = R8
0174  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0175  CLOSURE   R8 = closure proto49
0176  SETTABLE  R7[K75('GetLeftGuestsCountByCurrentRound')] = R8
0177  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0178  CLOSURE   R8 = closure proto50
0179  SETTABLE  R7[K76('GetLeftGuestsCountForDisplay')] = R8
0180  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0181  CLOSURE   R8 = closure proto51
0182  SETTABLE  R7[K77('UpdateLeftGuestsCount')] = R8
0183  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0184  CLOSURE   R8 = closure proto52
0185  SETTABLE  R7[K78('GetCurrentRoundReward')] = R8
0186  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0187  CLOSURE   R8 = closure proto53
0188  SETTABLE  R7[K79('_PlayerRankSortFunc')] = R8
0189  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0190  CLOSURE   R8 = closure proto54
0191  SETTABLE  R7[K80('_IsPlayerGuaranteedToLose')] = R8
0192  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0193  CLOSURE   R8 = closure proto55
0194  SETTABLE  R7[K81('_IsPlayerGuaranteedToWin')] = R8
0195  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0196  CLOSURE   R8 = closure proto56
0197  SETTABLE  R7[K82('GetProgressReward')] = R8
0198  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0199  CLOSURE   R8 = closure proto57
0200  SETTABLE  R7[K83('GetProgressRewardConfigs')] = R8
0201  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0202  CLOSURE   R8 = closure proto58
0203  SETTABLE  R7[K84('GetStageIndexByRound')] = R8
0204  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0205  CLOSURE   R8 = closure proto59
0206  SETTABLE  R7[K85('_CollectAllTimePoints')] = R8
0207  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0208  CLOSURE   R8 = closure proto60
0209  SETTABLE  R7[K86('_GetBeforeGapTimePointsCount')] = R8
0210  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0211  CLOSURE   R8 = closure proto61
0212  SETTABLE  R7[K87('GetCurrentScore')] = R8
0213  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0214  CLOSURE   R8 = closure proto62
0215  SETTABLE  R7[K88('CanShowExclaimation')] = R8
0216  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0217  CLOSURE   R8 = closure proto63
0218  SETTABLE  R7[K89('_LogActivityEnd')] = R8
0219  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0220  CLOSURE   R8 = closure proto64
0221  SETTABLE  R7[K90('TestSuccessRound')] = R8
0222  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0223  CLOSURE   R8 = closure proto65
0224  SETTABLE  R7[K91('TestFailRound')] = R8
0225  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0226  CLOSURE   R8 = closure proto66
0227  SETTABLE  R7[K92('TestCompleteToFinalRound')] = R8
0228  GETTABUP  R7 = _ENV[K16('LineRaceActivityModel')]
0229  CLOSURE   R8 = closure proto67
0230  SETTABLE  R7[K93('TestSameTime')] = R8
0231  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 35-43 np=3 va=0 ms=7 code=26 consts=11 upvals=1 protos=0
  ;   K[0]='BaseRaceActivityModel'
  ;   K[1]='Init'
  ;   K[2]='EventDispatcher'
  ;   K[3]='AddListener'
  ;   K[4]='EEventType'
  ;   K[5]='OrderFinished'
  ;   K[6]='_OnOrderFinished'
  ;   K[7]='GetActivityDefinition'
  ;   K[8]='UpdateBotScoreEvent'
  ;   K[9]='TrySlideTip'
  ;   K[10]='_CollectAllTimePoints'
  ;   upvals: _ENV
  ;   locals: self(0-26), activityType(0-26), virtualDBTable(0-26)
  0000  GETTABUP  R3 = _ENV[K0('BaseRaceActivityModel')]
  0001  GETTABLE  R3 = R3[K1('Init')]
  0002  MOVE      R4 = R0
  0003  MOVE      R5 = R0
  0004  MOVE      R6 = R0
  0005  CALL      R3 = call(R3, 0 args, 3 rets)
  0006  GETTABUP  R3 = _ENV[K2('EventDispatcher')]
  0007  GETTABLE  R3 = R3[K3('AddListener')]
  0008  GETTABUP  R4 = _ENV[K4('EEventType')]
  0009  GETTABLE  R4 = R4[K5('OrderFinished')]
  0010  MOVE      R5 = R0
  0011  GETTABLE  R6 = R0[K6('_OnOrderFinished')]
  0012  CALL      R3 = call(R3, 0 args, 3 rets)
  0013  GETTABUP  R3 = _ENV[K2('EventDispatcher')]
  0014  GETTABLE  R3 = R3[K3('AddListener')]
  0015  SELF      R5 = R0[K7('GetActivityDefinition')] (self)
  0016  CALL      R4 = call(R4, 1 args, 1 rets)
  0017  GETTABLE  R4 = R4[K8('UpdateBotScoreEvent')]
  0018  MOVE      R5 = R0
  0019  GETTABLE  R6 = R0[K9('TrySlideTip')]
  0020  CALL      R3 = call(R3, 0 args, 3 rets)
  0021  SELF      R4 = R0[K10('_CollectAllTimePoints')] (self)
  0022  CALL      R3 = call(R3, 0 args, 1 rets)
  0023  SELF      R4 = R0[K9('TrySlideTip')] (self)
  0024  CALL      R3 = call(R3, 0 args, 1 rets)
  0025  RETURN    return R0..R-1
; ---------- proto1 [TrySlideTip] ----------
  ; fn ?  line 45-111 np=1 va=0 ms=13 code=90 consts=26 upvals=1 protos=1
  ;   K[0]='HasNetwork'
  ;   K[1]='GM'
  ;   K[2]='UIManager'
  ;   K[3]='GetOpenedTopView'
  ;   K[4]='name'
  ;   K[5]='UIPrefabConfigName'
  ;   K[6]='LineRaceActivityMainWindow'
  ;   K[7]='GetHasShownHalfDataTipWindow'
  ;   K[8]='GetHasShownThirdDataTipWindow'
  ;   K[9]='_IsPlayerGuaranteedToWin'
  ;   K[10]='_IsPlayerGuaranteedToLose'
  ;   K[11]='GetTargetScore'
  ;   K[12]='math'
  ;   K[13]='ceil'
  ;   K[14]=2
  ;   K[15]=3
  ;   K[16]=0
  ;   K[17]='GetLeftGuestsCountByCurrentRound'
  ;   K[18]=1
  ;   K[19]='SetHasShownHalfDataTipWindow'
  ;   K[20]='SetHasShownThirdDataTipWindow'
  ;   K[21]='TopSliderManager'
  ;   K[22]='TrySlide'
  ;   K[23]='m_type'
  ;   K[24]='m_activityDefinition'
  ;   K[25]='TipCellPrefabName'
  ;   upvals: _ENV
  ;   locals: self(0-90), topView(9-90), hasShownHalfDataTipWindow(19-90), hasShownThirdDataTipWindow(21-90), targetScore(37-90), halfCount(41-90), thirdCount(45-90), leftGuestsCount(52-90), descIndex(53-90)
  0000  SELF      R2 = R0[K0('HasNetwork')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131067
  0003  JMP       (jump)   -> 5
  0004  RETURN    return R0..R-1
  0005  GETTABUP  R1 = _ENV[K1('GM')]
  0006  GETTABLE  R1 = R1[K2('UIManager')]
  0007  SELF      R2 = R1[K3('GetOpenedTopView')] (self)
  0008  CALL      R1 = call(R1, 1 args, 1 rets)
  0009  TEST      if not R1 then   -> -131061
  0010  JMP       (jump)   -> 17
  0011  GETTABLE  R2 = R1[K4('name')]
  0012  GETTABUP  R3 = _ENV[K5('UIPrefabConfigName')]
  0013  GETTABLE  R3 = R3[K6('LineRaceActivityMainWindow')]
  0014  EQ        if R0 eq R3   -> -130029
  0015  JMP       (jump)   -> 17
  0016  RETURN    return R0..R-1
  0017  SELF      R3 = R0[K7('GetHasShownHalfDataTipWindow')] (self)
  0018  CALL      R2 = call(R2, 1 args, 1 rets)
  0019  SELF      R4 = R0[K8('GetHasShownThirdDataTipWindow')] (self)
  0020  CALL      R3 = call(R3, 1 args, 1 rets)
  0021  TEST      if not R2 then   -> -131049
  0022  JMP       (jump)   -> 26
  0023  TEST      if not R3 then   -> -131047
  0024  JMP       (jump)   -> 26
  0025  RETURN    return R0..R-1
  0026  SELF      R5 = R0[K9('_IsPlayerGuaranteedToWin')] (self)
  0027  CALL      R4 = call(R4, 1 args, 1 rets)
  0028  TEST      if not R4 then   -> -131041
  0029  JMP       (jump)   -> 34
  0030  SELF      R5 = R0[K10('_IsPlayerGuaranteedToLose')] (self)
  0031  CALL      R4 = call(R4, 1 args, 1 rets)
  0032  TEST      if not R4 then   -> -131038
  0033  JMP       (jump)   -> 35
  0034  RETURN    return R0..R-1
  0035  SELF      R5 = R0[K11('GetTargetScore')] (self)
  0036  CALL      R4 = call(R4, 1 args, 1 rets)
  0037  GETTABUP  R5 = _ENV[K12('math')]
  0038  GETTABLE  R5 = R5[K13('ceil')]
  0039  DIV       R6 = K14(2) div R4
  0040  CALL      R5 = call(R5, 1 args, 1 rets)
  0041  GETTABUP  R6 = _ENV[K12('math')]
  0042  GETTABLE  R6 = R6[K13('ceil')]
  0043  DIV       R7 = K15(3) div R4
  0044  CALL      R6 = call(R6, 1 args, 1 rets)
  0045  LE        if R1 le K16(0)   -> -128193
  0046  JMP       (jump)   -> 49
  0047  LE        if R0 le K16(0)   -> -127679
  0048  JMP       (jump)   -> 50
  0049  RETURN    return R0..R-1
  0050  SELF      R8 = R0[K17('GetLeftGuestsCountByCurrentRound')] (self)
  0051  CALL      R7 = call(R7, 1 args, 1 rets)
  0052  LOADNIL   R8..R8 = nil
  0053  LT        if R0 lt R7   -> -127938
  0054  JMP       (jump)   -> 61
  0055  LE        if R0 le R5   -> -127426
  0056  JMP       (jump)   -> 61
  0057  TEST      if not R2 then   -> -131012
  0058  JMP       (jump)   -> 61
  0059  LOADK     R8 = K18 1
  0060  JMP       (jump)   -> 68
  0061  LE        if R0 le R6   -> -127419
  0062  JMP       (jump)   -> 67
  0063  TEST      if not R3 then   -> -131006
  0064  JMP       (jump)   -> 67
  0065  LOADK     R8 = K14 2
  0066  JMP       (jump)   -> 68
  0067  LOADNIL   R8..R8 = nil
  0068  TEST      if not R8 then   -> -131001
  0069  JMP       (jump)   -> 71
  0070  RETURN    return R0..R-1
  0071  EQ        if R0 eq K18(1)   -> -126629
  0072  JMP       (jump)   -> 76
  0073  SELF      R10 = R0[K19('SetHasShownHalfDataTipWindow')] (self)
  0074  CALL      R9 = call(R9, 0 args, 1 rets)
  0075  JMP       (jump)   -> 82
  0076  TEST      if not R2 then   -> -130993
  0077  JMP       (jump)   -> 80
  0078  SELF      R10 = R0[K19('SetHasShownHalfDataTipWindow')] (self)
  0079  CALL      R9 = call(R9, 0 args, 1 rets)
  0080  SELF      R10 = R0[K20('SetHasShownThirdDataTipWindow')] (self)
  0081  CALL      R9 = call(R9, 0 args, 1 rets)
  0082  GETTABUP  R9 = _ENV[K21('TopSliderManager')]
  0083  GETTABLE  R9 = R9[K22('TrySlide')]
  0084  GETTABLE  R10 = R0[K23('m_type')]
  0085  GETTABLE  R11 = R0[K24('m_activityDefinition')]
  0086  GETTABLE  R11 = R11[K25('TipCellPrefabName')]
  0087  CLOSURE   R12 = closure proto0
  0088  CALL      R9 = call(R9, 0 args, 3 rets)
  0089  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 103-110 np=1 va=0 ms=5 code=12 consts=4 upvals=3 protos=1
    ;   K[0]='GetLuaTable'
    ;   K[1]='Init'
    ;   K[2]='TopSliderManager'
    ;   K[3]='Appear'
    ;   upvals: self, descIndex, _ENV
    ;   locals: go(0-12)
    0000  SELF      R2 = R0[K0('GetLuaTable')] (self)
    0001  CALL      R1 = call(R1, 1 args, 1 rets)
    0002  SELF      R2 = R1[K1('Init')] (self)
    0003  GETUPVAL  R3 = self
    0004  GETUPVAL  R4 = self
    0005  CALL      R1 = call(R1, 0 args, 3 rets)
    0006  GETTABUP  R1 = _ENV[K2('TopSliderManager')]
    0007  GETTABLE  R1 = R1[K3('Appear')]
    0008  MOVE      R2 = R0
    0009  CLOSURE   R3 = closure proto0
    0010  CALL      R1 = call(R1, 0 args, 2 rets)
    0011  RETURN    return R0..R-1
    ; ---------- proto0 [] ----------
      ; fn ?  line 105-109 np=0 va=0 ms=3 code=5 consts=2 upvals=2 protos=1
      ;   K[0]='DelayExecuteFunc'
      ;   K[1]=0.5
      ;   upvals: _ENV, go
      0000  GETTABUP  R0 = _ENV[K0('DelayExecuteFunc')]
      0001  CLOSURE   R1 = closure proto0
      0002  LOADK     R2 = K1 0.5
      0003  CALL      R0 = call(R0, 0 args, 2 rets)
      0004  RETURN    return R0..R-1
      ; ---------- proto0 [] ----------
        ; fn ?  line 106-108 np=0 va=0 ms=2 code=5 consts=2 upvals=2 protos=0
        ;   K[0]='TopSliderManager'
        ;   K[1]='Disappear'
        ;   upvals: _ENV, go
        0000  GETTABUP  R0 = _ENV[K0('TopSliderManager')]
        0001  GETTABLE  R0 = R0[K1('Disappear')]
        0002  GETUPVAL  R1 = _ENV
        0003  CALL      R0 = call(R0, 0 args, 1 rets)
        0004  RETURN    return R0..R-1
; ---------- proto2 [_OnOrderFinished] ----------
  ; fn ?  line 113-138 np=1 va=0 ms=10 code=33 consts=15 upvals=1 protos=0
  ;   K[0]='GetState'
  ;   K[1]='ActivityState'
  ;   K[2]='Started'
  ;   K[3]='IsInRace'
  ;   K[4]='GetLeftGuestsCountByCurrentRound'
  ;   K[5]=0
  ;   K[6]=1
  ;   K[7]='_AddMyScore'
  ;   K[8]='RaceActivityLogBIType'
  ;   K[9]='Order'
  ;   K[10]='GetMyScore'
  ;   K[11]='_DispatchScoreChangedEvent'
  ;   K[12]='leftScore'
  ;   K[13]='myScore'
  ;   K[14]='TrySlideTip'
  ;   upvals: _ENV
  ;   locals: self(0-33), state(2-33), isInRace(9-33), leftGuestsCount(14-33), addScore(17-32), myScore(24-32), leftScore(25-32)
  0000  SELF      R2 = R0[K0('GetState')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  GETTABUP  R2 = _ENV[K1('ActivityState')]
  0003  GETTABLE  R2 = R2[K2('Started')]
  0004  EQ        if R1 eq R2   -> -130552
  0005  JMP       (jump)   -> 7
  0006  RETURN    return R0..R-1
  0007  SELF      R3 = R0[K3('IsInRace')] (self)
  0008  CALL      R2 = call(R2, 1 args, 1 rets)
  0009  TEST      if not R2 then   -> -131060
  0010  JMP       (jump)   -> 12
  0011  RETURN    return R0..R-1
  0012  SELF      R4 = R0[K4('GetLeftGuestsCountByCurrentRound')] (self)
  0013  CALL      R3 = call(R3, 1 args, 1 rets)
  0014  LT        if R0 lt R3   -> 2579
  0015  JMP       (jump)   -> 32
  0016  LOADK     R4 = K6 1
  0017  SELF      R6 = R0[K7('_AddMyScore')] (self)
  0018  MOVE      R7 = R0
  0019  GETTABUP  R8 = _ENV[K8('RaceActivityLogBIType')]
  0020  GETTABLE  R8 = R8[K9('Order')]
  0021  CALL      R5 = call(R5, 0 args, 3 rets)
  0022  SELF      R6 = R0[K10('GetMyScore')] (self)
  0023  CALL      R5 = call(R5, 1 args, 1 rets)
  0024  SUB       R6 = K6(1) sub R3
  0025  SELF      R8 = R0[K11('_DispatchScoreChangedEvent')] (self)
  0026  NEWTABLE  R9 = {} (0 items)
  0027  SETTABLE  R9[K12('leftScore')] = R6
  0028  SETTABLE  R9[K13('myScore')] = R5
  0029  CALL      R7 = call(R7, 0 args, 2 rets)
  0030  SELF      R8 = R0[K14('TrySlideTip')] (self)
  0031  CALL      R7 = call(R7, 0 args, 1 rets)
  0032  RETURN    return R0..R-1
; ---------- proto3 [CreatePlayerData] ----------
  ; fn ?  line 140-142 np=5 va=0 ms=11 code=10 consts=2 upvals=1 protos=0
  ;   K[0]='LineRacePlayerData'
  ;   K[1]='Create'
  ;   upvals: _ENV
  ;   locals: self(0-10), value(0-10), targetScore(0-10), lastScore(0-10), lastRank(0-10)
  0000  GETTABUP  R5 = _ENV[K0('LineRacePlayerData')]
  0001  GETTABLE  R5 = R5[K1('Create')]
  0002  MOVE      R6 = R0
  0003  MOVE      R7 = R0
  0004  MOVE      R8 = R0
  0005  MOVE      R9 = R0
  0006  MOVE      R10 = R0
  0007  TAILCALL  tailcall(R5, 0)
  0008  RETURN    return R5..R4
  0009  RETURN    return R0..R-1
; ---------- proto4 [_CheckClaimRewardCondition] ----------
  ; fn ?  line 144-151 np=1 va=0 ms=3 code=10 consts=2 upvals=0 protos=0
  ;   K[0]='IsInRace'
  ;   K[1]='_IsPlayerGuaranteedToWin'
  ;   locals: self(0-10)
  0000  SELF      R2 = R0[K0('IsInRace')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131067
  0003  JMP       (jump)   -> 6
  0004  LOADBOOL  R1 = false
  0005  RETURN    return R1..R0
  0006  SELF      R2 = R0[K1('_IsPlayerGuaranteedToWin')] (self)
  0007  TAILCALL  tailcall(R1, 0)
  0008  RETURN    return R1..R0
  0009  RETURN    return R0..R-1
; ---------- proto5 [_LoadOtherServerConfig] ----------
  ; fn ?  line 153-197 np=2 va=0 ms=15 code=95 consts=30 upvals=3 protos=1
  ;   K[0]='BaseRaceActivityModel'
  ;   K[1]='_LoadOtherServerConfig'
  ;   K[2]='m_mapBotCurveConfig'
  ;   K[3]='pairs'
  ;   K[4]='curve'
  ;   K[5]='scoreNode'
  ;   K[6]='Table'
  ;   K[7]='DeepCopy'
  ;   K[8]='table'
  ;   K[9]='sort'
  ;   K[10]='PROPERTY_TYPE'
  ;   K[11]='EPropertyType'
  ;   K[12]='LineRaceScore'
  ;   K[13]='PROPERTY_COUNT'
  ;   K[14]=1
  ;   K[15]='IsEmpty'
  ;   K[16]='rewards'
  ;   K[17]='insert'
  ;   K[18]='m_config'
  ;   K[19]='roundConfigs'
  ;   K[20]=0
  ;   K[21]='ipairs'
  ;   K[22]='progressRewards'
  ;   K[23]='round'
  ;   K[24]='uiCode'
  ;   K[25]='math'
  ;   K[26]='max'
  ;   K[27]='m_progressReward'
  ;   K[28]='m_maxRound'
  ;   K[29]='_CheckConfigValid'
  ;   upvals: _ENV, kBotCurveConfigKey, kRoundConfigKey
  ;   locals: self(0-95), config(0-95), botCurveConfigs(7-95), (for generator)(12-21), (for state)(12-21), (for control)(12-21), _(13-19), botCurveConfig(13-19), roundConfigs(27-95), (for generator)(35-56), (for state)(35-56), (for control)(35-56), _(36-54), config(36-54), extraReward(43-54), arrConfig(59-95), maxRound(60-95), (for generator)(64-90), (for state)(64-90), (for control)(64-90), _(65-88), config(65-88)
  0000  GETTABUP  R2 = _ENV[K0('BaseRaceActivityModel')]
  0001  GETTABLE  R2 = R2[K1('_LoadOtherServerConfig')]
  0002  MOVE      R3 = R0
  0003  MOVE      R4 = R0
  0004  CALL      R2 = call(R2, 0 args, 2 rets)
  0005  GETUPVAL  R2 = _ENV
  0006  GETTABLE  R2 = R1[R2]
  0007  NEWTABLE  R3 = {} (0 items)
  0008  SETTABLE  R0[K2('m_mapBotCurveConfig')] = R3
  0009  GETTABUP  R3 = _ENV[K3('pairs')]
  0010  MOVE      R4 = R0
  0011  CALL      R3 = call(R3, 3 args, 1 rets)
  0012  JMP       (jump)   -> 19
  0013  GETTABLE  R8 = R0[K2('m_mapBotCurveConfig')]
  0014  GETTABLE  R9 = R7[K4('curve')]
  0015  TESTSET   if R0 then R10   -> -127471
  0016  JMP       (jump)   -> 18
  0017  GETTABLE  R10 = R7[K5('scoreNode')]
  0018  SETTABLE  R8[R9] = R10
  0019  TFORCALL  tforcall R3
  0020  TFORLOOP  tforloop R5(sBx=-8)   -> 13
  0021  GETTABUP  R3 = _ENV[K6('Table')]
  0022  GETTABLE  R3 = R3[K7('DeepCopy')]
  0023  GETUPVAL  R4 = _ENV
  0024  GETTABLE  R4 = R1[R4]
  0025  LOADBOOL  R5 = true
  0026  CALL      R3 = call(R3, 1 args, 2 rets)
  0027  GETTABUP  R4 = _ENV[K8('table')]
  0028  GETTABLE  R4 = R4[K9('sort')]
  0029  MOVE      R5 = R0
  0030  CLOSURE   R6 = closure proto0
  0031  CALL      R4 = call(R4, 0 args, 2 rets)
  0032  GETTABUP  R4 = _ENV[K3('pairs')]
  0033  MOVE      R5 = R0
  0034  CALL      R4 = call(R4, 3 args, 1 rets)
  0035  JMP       (jump)   -> 54
  0036  NEWTABLE  R9 = {} (0 items)
  0037  GETTABUP  R10 = _ENV[K10('PROPERTY_TYPE')]
  0038  GETTABUP  R11 = _ENV[K11('EPropertyType')]
  0039  GETTABLE  R11 = R11[K12('LineRaceScore')]
  0040  SETTABLE  R9[R10] = R11
  0041  GETTABUP  R10 = _ENV[K13('PROPERTY_COUNT')]
  0042  SETTABLE  R9[R10] = K14(1)
  0043  GETTABUP  R10 = _ENV[K6('Table')]
  0044  GETTABLE  R10 = R10[K15('IsEmpty')]
  0045  GETTABLE  R11 = R8[K16('rewards')]
  0046  CALL      R10 = call(R10, 1 args, 1 rets)
  0047  TEST      if not R10 then   -> -131022
  0048  JMP       (jump)   -> 54
  0049  GETTABUP  R10 = _ENV[K8('table')]
  0050  GETTABLE  R10 = R10[K17('insert')]
  0051  GETTABLE  R11 = R8[K16('rewards')]
  0052  MOVE      R12 = R0
  0053  CALL      R10 = call(R10, 0 args, 2 rets)
  0054  TFORCALL  tforcall R4
  0055  TFORLOOP  tforloop R6(sBx=-20)   -> 36
  0056  GETTABLE  R4 = R0[K18('m_config')]
  0057  SETTABLE  R4[K19('roundConfigs')] = R3
  0058  NEWTABLE  R4 = {} (0 items)
  0059  LOADK     R5 = K20 0
  0060  GETTABUP  R6 = _ENV[K21('ipairs')]
  0061  GETTABLE  R7 = R0[K18('m_config')]
  0062  GETTABLE  R7 = R7[K19('roundConfigs')]
  0063  CALL      R6 = call(R6, 3 args, 1 rets)
  0064  JMP       (jump)   -> 88
  0065  GETTABUP  R11 = _ENV[K6('Table')]
  0066  GETTABLE  R11 = R11[K15('IsEmpty')]
  0067  GETTABLE  R12 = R10[K22('progressRewards')]
  0068  CALL      R11 = call(R11, 1 args, 1 rets)
  0069  TEST      if not R11 then   -> -131000
  0070  JMP       (jump)   -> 88
  0071  GETTABUP  R11 = _ENV[K8('table')]
  0072  GETTABLE  R11 = R11[K17('insert')]
  0073  MOVE      R12 = R0
  0074  NEWTABLE  R13 = {} (0 items)
  0075  GETTABLE  R14 = R10[K23('round')]
  0076  SETTABLE  R13[K23('round')] = R14
  0077  GETTABLE  R14 = R10[K22('progressRewards')]
  0078  SETTABLE  R13[K22('progressRewards')] = R14
  0079  GETTABLE  R14 = R10[K24('uiCode')]
  0080  SETTABLE  R13[K24('uiCode')] = R14
  0081  CALL      R11 = call(R11, 0 args, 2 rets)
  0082  GETTABUP  R11 = _ENV[K25('math')]
  0083  GETTABLE  R11 = R11[K26('max')]
  0084  MOVE      R12 = R0
  0085  GETTABLE  R13 = R10[K23('round')]
  0086  CALL      R11 = call(R11, 1 args, 2 rets)
  0087  MOVE      R5 = R0
  0088  TFORCALL  tforcall R6
  0089  TFORLOOP  tforloop R8(sBx=-25)   -> 65
  0090  SETTABLE  R0[K27('m_progressReward')] = R4
  0091  SETTABLE  R0[K28('m_maxRound')] = R5
  0092  SELF      R7 = R0[K29('_CheckConfigValid')] (self)
  0093  CALL      R6 = call(R6, 0 args, 1 rets)
  0094  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 163-165 np=2 va=0 ms=4 code=8 consts=1 upvals=0 protos=0
    ;   K[0]='round'
    ;   locals: a(0-8), b(0-8)
    0000  GETTABLE  R2 = R0[K0('round')]
    0001  GETTABLE  R3 = R1[K0('round')]
    0002  LT        if R1 lt R3   -> -130041
    0003  JMP       (jump)   -> 5
    0004  LOADBOOL  R2 = false
    0005  LOADBOOL  R2 = true
    0006  RETURN    return R2..R1
    0007  RETURN    return R0..R-1
; ---------- proto6 [_CheckConfigValid] ----------
  ; fn ?  line 199-234 np=1 va=0 ms=19 code=126 consts=24 upvals=1 protos=0
  ;   K[0]='pairs'
  ;   K[1]='m_config'
  ;   K[2]='roundConfigs'
  ;   K[3]='curveA'
  ;   K[4]='m_mapBotCurveConfig'
  ;   K[5]='Curve'
  ;   K[6]='Log'
  ;   K[7]='Error'
  ;   K[8]='string'
  ;   K[9]='format'
  ;   K[10]='[%s] lineRaceBotCurveConfig没有配置的假人曲线，round: %s, 假人曲线%s: %s'
  ;   K[11]='m_type'
  ;   K[12]='round'
  ;   K[13]='tostring'
  ;   K[14]='curveB'
  ;   K[15]='ipairs'
  ;   K[16]='[%s] lineRaceRoundConfig的round字段期望从1开始连续配置，第%s项的round为%s'
  ;   K[17]='botTargetScore'
  ;   K[18]='totalNums'
  ;   K[19]='[%s] lineRaceRoundConfig的botTargetScore不能超过totalNums，round: %s, botTargetScore: %s, totalNums: %s'
  ;   K[20]='Table'
  ;   K[21]='IsEmpty'
  ;   K[22]='progressRewards'
  ;   K[23]='LineRaceActivityModel 最后一轮需要配置 progressRewards'
  ;   upvals: _ENV
  ;   locals: self(0-126), (for generator)(4-55), (for state)(4-55), (for control)(4-55), _(5-53), roundConfig(5-53), (for generator)(8-29), (for state)(8-29), (for control)(8-29), _(9-27), curve(9-27), (for generator)(32-53), (for state)(32-53), (for control)(32-53), _(33-51), curve(33-51), (for generator)(59-77), (for state)(59-77), (for control)(59-77), index(60-75), roundConfig(60-75), (for generator)(81-109), (for state)(81-109), (for control)(81-109), _(82-107), roundConfig(82-107), roundConfigLength(112-126), lastRoundConfig(115-126)
  0000  GETTABUP  R1 = _ENV[K0('pairs')]
  0001  GETTABLE  R2 = R0[K1('m_config')]
  0002  GETTABLE  R2 = R2[K2('roundConfigs')]
  0003  CALL      R1 = call(R1, 3 args, 1 rets)
  0004  JMP       (jump)   -> 53
  0005  GETTABUP  R6 = _ENV[K0('pairs')]
  0006  GETTABLE  R7 = R5[K3('curveA')]
  0007  CALL      R6 = call(R6, 3 args, 1 rets)
  0008  JMP       (jump)   -> 27
  0009  GETTABLE  R11 = R0[K4('m_mapBotCurveConfig')]
  0010  GETTABLE  R12 = R10[K5('Curve')]
  0011  GETTABLE  R11 = R11[R12]
  0012  TEST      if not R11 then   -> -131057
  0013  JMP       (jump)   -> 27
  0014  GETTABUP  R11 = _ENV[K6('Log')]
  0015  GETTABLE  R11 = R11[K7('Error')]
  0016  GETTABUP  R12 = _ENV[K8('string')]
  0017  GETTABLE  R12 = R12[K9('format')]
  0018  LOADK     R13 = K10 '[%s] lineRaceBotCurveConfig没有配置的假人曲线，round: %s, 假人曲线%s: %s'
  0019  GETTABLE  R14 = R0[K11('m_type')]
  0020  GETTABLE  R15 = R5[K12('round')]
  0021  LOADK     R16 = K3 'curveA'
  0022  GETTABUP  R17 = _ENV[K13('tostring')]
  0023  GETTABLE  R18 = R10[K5('Curve')]
  0024  CALL      R17 = call(R17, -1 args, 1 rets)
  0025  CALL      R12 = call(R12, -1 args, -1 rets)
  0026  CALL      R11 = call(R11, 0 args, -1 rets)
  0027  TFORCALL  tforcall R6
  0028  TFORLOOP  tforloop R8(sBx=-20)   -> 9
  0029  GETTABUP  R6 = _ENV[K0('pairs')]
  0030  GETTABLE  R7 = R5[K14('curveB')]
  0031  CALL      R6 = call(R6, 3 args, 1 rets)
  0032  JMP       (jump)   -> 51
  0033  GETTABLE  R11 = R0[K4('m_mapBotCurveConfig')]
  0034  GETTABLE  R12 = R10[K5('Curve')]
  0035  GETTABLE  R11 = R11[R12]
  0036  TEST      if not R11 then   -> -131033
  0037  JMP       (jump)   -> 51
  0038  GETTABUP  R11 = _ENV[K6('Log')]
  0039  GETTABLE  R11 = R11[K7('Error')]
  0040  GETTABUP  R12 = _ENV[K8('string')]
  0041  GETTABLE  R12 = R12[K9('format')]
  0042  LOADK     R13 = K10 '[%s] lineRaceBotCurveConfig没有配置的假人曲线，round: %s, 假人曲线%s: %s'
  0043  GETTABLE  R14 = R0[K11('m_type')]
  0044  GETTABLE  R15 = R5[K12('round')]
  0045  LOADK     R16 = K14 'curveB'
  0046  GETTABUP  R17 = _ENV[K13('tostring')]
  0047  GETTABLE  R18 = R10[K5('Curve')]
  0048  CALL      R17 = call(R17, -1 args, 1 rets)
  0049  CALL      R12 = call(R12, -1 args, -1 rets)
  0050  CALL      R11 = call(R11, 0 args, -1 rets)
  0051  TFORCALL  tforcall R6
  0052  TFORLOOP  tforloop R8(sBx=-20)   -> 33
  0053  TFORCALL  tforcall R1
  0054  TFORLOOP  tforloop R3(sBx=-50)   -> 5
  0055  GETTABUP  R1 = _ENV[K15('ipairs')]
  0056  GETTABLE  R2 = R0[K1('m_config')]
  0057  GETTABLE  R2 = R2[K2('roundConfigs')]
  0058  CALL      R1 = call(R1, 3 args, 1 rets)
  0059  JMP       (jump)   -> 75
  0060  GETTABLE  R6 = R5[K12('round')]
  0061  EQ        if R1 eq R4   -> -127933
  0062  JMP       (jump)   -> 75
  0063  GETTABUP  R6 = _ENV[K6('Log')]
  0064  GETTABLE  R6 = R6[K7('Error')]
  0065  GETTABUP  R7 = _ENV[K8('string')]
  0066  GETTABLE  R7 = R7[K9('format')]
  0067  LOADK     R8 = K16 '[%s] lineRaceRoundConfig的round字段期望从1开始连续配置，第%s项的round为%s'
  0068  GETTABLE  R9 = R0[K11('m_type')]
  0069  MOVE      R10 = R0
  0070  GETTABUP  R11 = _ENV[K13('tostring')]
  0071  GETTABLE  R12 = R5[K12('round')]
  0072  CALL      R11 = call(R11, -1 args, 1 rets)
  0073  CALL      R7 = call(R7, -1 args, -1 rets)
  0074  CALL      R6 = call(R6, 0 args, -1 rets)
  0075  TFORCALL  tforcall R1
  0076  TFORLOOP  tforloop R3(sBx=-17)   -> 60
  0077  GETTABUP  R1 = _ENV[K15('ipairs')]
  0078  GETTABLE  R2 = R0[K1('m_config')]
  0079  GETTABLE  R2 = R2[K2('roundConfigs')]
  0080  CALL      R1 = call(R1, 3 args, 1 rets)
  0081  JMP       (jump)   -> 107
  0082  GETTABLE  R6 = R5[K17('botTargetScore')]
  0083  TEST      if not R6 then   -> -130987
  0084  JMP       (jump)   -> 107
  0085  GETTABLE  R6 = R5[K18('totalNums')]
  0086  TEST      if not R6 then   -> -130984
  0087  JMP       (jump)   -> 107
  0088  GETTABLE  R6 = R5[K17('botTargetScore')]
  0089  GETTABLE  R7 = R5[K18('totalNums')]
  0090  LT        if R0 lt R6   -> -127390
  0091  JMP       (jump)   -> 107
  0092  GETTABUP  R6 = _ENV[K6('Log')]
  0093  GETTABLE  R6 = R6[K7('Error')]
  0094  GETTABUP  R7 = _ENV[K8('string')]
  0095  GETTABLE  R7 = R7[K9('format')]
  0096  LOADK     R8 = K19 '[%s] lineRaceRoundConfig的botTargetScore不能超过totalNums，round: %s, botTargetScore: %s, totalNums: %s'
  0097  GETTABLE  R9 = R0[K11('m_type')]
  0098  GETTABLE  R10 = R5[K12('round')]
  0099  GETTABUP  R11 = _ENV[K13('tostring')]
  0100  GETTABLE  R12 = R5[K17('botTargetScore')]
  0101  CALL      R11 = call(R11, 1 args, 1 rets)
  0102  GETTABUP  R12 = _ENV[K13('tostring')]
  0103  GETTABLE  R13 = R5[K18('totalNums')]
  0104  CALL      R12 = call(R12, -1 args, 1 rets)
  0105  CALL      R7 = call(R7, -1 args, -1 rets)
  0106  CALL      R6 = call(R6, 0 args, -1 rets)
  0107  TFORCALL  tforcall R1
  0108  TFORLOOP  tforloop R3(sBx=-27)   -> 82
  0109  GETTABLE  R1 = R0[K1('m_config')]
  0110  GETTABLE  R1 = R1[K2('roundConfigs')]
  0111  LEN       R1 = len R0
  0112  GETTABLE  R2 = R0[K1('m_config')]
  0113  GETTABLE  R2 = R2[K2('roundConfigs')]
  0114  GETTABLE  R2 = R2[R1]
  0115  GETTABUP  R3 = _ENV[K20('Table')]
  0116  GETTABLE  R3 = R3[K21('IsEmpty')]
  0117  GETTABLE  R4 = R2[K22('progressRewards')]
  0118  CALL      R3 = call(R3, 1 args, 1 rets)
  0119  TEST      if not R3 then   -> -130951
  0120  JMP       (jump)   -> 125
  0121  GETTABUP  R3 = _ENV[K6('Log')]
  0122  GETTABLE  R3 = R3[K7('Error')]
  0123  LOADK     R4 = K23 'LineRaceActivityModel 最后一轮需要配置 progressRewards'
  0124  CALL      R3 = call(R3, 0 args, 1 rets)
  0125  RETURN    return R0..R-1
; ---------- proto7 [GetActivityDefinitionByType] ----------
  ; fn ?  line 236-238 np=2 va=0 ms=3 code=4 consts=1 upvals=1 protos=0
  ;   K[0]='LineRaceActivityDefinition'
  ;   upvals: _ENV
  ;   locals: self(0-4), activityType(0-4)
  0000  GETTABUP  R2 = _ENV[K0('LineRaceActivityDefinition')]
  0001  GETTABLE  R2 = R2[R1]
  0002  RETURN    return R2..R1
  0003  RETURN    return R0..R-1
; ---------- proto8 [GetActivityDefinition] ----------
  ; fn ?  line 240-242 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_activityDefinition'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_activityDefinition')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto9 [IsActivityOpen] ----------
  ; fn ?  line 244-246 np=1 va=0 ms=3 code=10 consts=3 upvals=1 protos=0
  ;   K[0]='GetState'
  ;   K[1]='ActivityState'
  ;   K[2]='Started'
  ;   upvals: _ENV
  ;   locals: self(0-10)
  0000  SELF      R2 = R0[K0('GetState')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  GETTABUP  R2 = _ENV[K1('ActivityState')]
  0003  GETTABLE  R2 = R2[K2('Started')]
  0004  EQ        if R1 eq R2   -> -130552
  0005  JMP       (jump)   -> 7
  0006  LOADBOOL  R1 = false
  0007  LOADBOOL  R1 = true
  0008  RETURN    return R1..R0
  0009  RETURN    return R0..R-1
; ---------- proto10 [GetOrderExtraReward] ----------
  ; fn ?  line 249-250 np=1 va=0 ms=2 code=1 consts=0 upvals=0 protos=0
  ;   locals: self(0-1)
  0000  RETURN    return R0..R-1
; ---------- proto11 [GetButtonTarget] ----------
  ; fn ?  line 252-266 np=1 va=0 ms=13 code=31 consts=11 upvals=1 protos=0
  ;   K[0]='pairs'
  ;   K[1]='LineRaceActivityDefinition'
  ;   K[2]='ActivityProgressScore'
  ;   K[3]='GM'
  ;   K[4]='UIManager'
  ;   K[5]='GetOpenedViewByName'
  ;   K[6]='MainWindowPrefabName'
  ;   K[7]=nil
  ;   K[8]='GetHudButton'
  ;   K[9]='UIUtil'
  ;   K[10]='IsEmptyComponent'
  ;   upvals: _ENV
  ;   locals: propertyType(0-31), mainWindow(1-31), btn(1-31), boardView(1-31), orderArea(1-31), (for generator)(4-28), (for state)(4-28), (for control)(4-28), activityType(5-26), activityDefinition(5-26)
  0000  LOADNIL   R1..R1 = nil
  0001  GETTABUP  R5 = _ENV[K0('pairs')]
  0002  GETTABUP  R6 = _ENV[K1('LineRaceActivityDefinition')]
  0003  CALL      R5 = call(R5, 3 args, 1 rets)
  0004  JMP       (jump)   -> 26
  0005  GETTABLE  R10 = R9[K2('ActivityProgressScore')]
  0006  EQ        if R0 eq R10   -> -131054
  0007  JMP       (jump)   -> 26
  0008  GETTABUP  R10 = _ENV[K3('GM')]
  0009  GETTABLE  R10 = R10[K4('UIManager')]
  0010  SELF      R11 = R10[K5('GetOpenedViewByName')] (self)
  0011  GETTABLE  R12 = R9[K6('MainWindowPrefabName')]
  0012  CALL      R10 = call(R10, 1 args, 2 rets)
  0013  MOVE      R1 = R0
  0014  EQ        if R1 eq K7(nil)   -> -130281
  0015  JMP       (jump)   -> 26
  0016  SELF      R11 = R1[K8('GetHudButton')] (self)
  0017  CALL      R10 = call(R10, 1 args, 1 rets)
  0018  MOVE      R2 = R0
  0019  GETTABUP  R10 = _ENV[K9('UIUtil')]
  0020  GETTABLE  R10 = R10[K10('IsEmptyComponent')]
  0021  MOVE      R11 = R0
  0022  CALL      R10 = call(R10, 1 args, 1 rets)
  0023  TEST      if not R10 then   -> -131046
  0024  JMP       (jump)   -> 26
  0025  RETURN    return R2..R1
  0026  TFORCALL  tforcall R5
  0027  TFORLOOP  tforloop R7(sBx=-23)   -> 5
  0028  LOADNIL   R5..R5 = nil
  0029  RETURN    return R5..R4
  0030  RETURN    return R0..R-1
; ---------- proto12 [GetTargetScore] ----------
  ; fn ?  line 269-275 np=1 va=0 ms=3 code=15 consts=5 upvals=0 protos=0
  ;   K[0]='GetCurrentRound'
  ;   K[1]=0
  ;   K[2]='m_config'
  ;   K[3]='roundConfigs'
  ;   K[4]='totalNums'
  ;   locals: self(0-15), curRound(2-15)
  0000  SELF      R2 = R0[K0('GetCurrentRound')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  EQ        if R0 eq K1(0)   -> -130299
  0003  JMP       (jump)   -> 6
  0004  LOADK     R2 = K1 0
  0005  RETURN    return R2..R1
  0006  GETTABLE  R2 = R0[K2('m_config')]
  0007  GETTABLE  R2 = R2[K3('roundConfigs')]
  0008  GETTABLE  R2 = R2[R1]
  0009  GETTABLE  R2 = R2[K4('totalNums')]
  0010  TEST      if not R2 then   -> -131059
  0011  JMP       (jump)   -> 13
  0012  LOADK     R2 = K1 0
  0013  RETURN    return R2..R1
  0014  RETURN    return R0..R-1
; ---------- proto13 [GetTargetScoreForDisplay] ----------
  ; fn ?  line 277-283 np=1 va=0 ms=3 code=15 consts=5 upvals=0 protos=0
  ;   K[0]='GetCurrentRoundForDisplay'
  ;   K[1]=0
  ;   K[2]='m_config'
  ;   K[3]='roundConfigs'
  ;   K[4]='totalNums'
  ;   locals: self(0-15), curRound(2-15)
  0000  SELF      R2 = R0[K0('GetCurrentRoundForDisplay')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  EQ        if R0 eq K1(0)   -> -130299
  0003  JMP       (jump)   -> 6
  0004  LOADK     R2 = K1 0
  0005  RETURN    return R2..R1
  0006  GETTABLE  R2 = R0[K2('m_config')]
  0007  GETTABLE  R2 = R2[K3('roundConfigs')]
  0008  GETTABLE  R2 = R2[R1]
  0009  GETTABLE  R2 = R2[K4('totalNums')]
  0010  TEST      if not R2 then   -> -131059
  0011  JMP       (jump)   -> 13
  0012  LOADK     R2 = K1 0
  0013  RETURN    return R2..R1
  0014  RETURN    return R0..R-1
; ---------- proto14 [GetCurrentRoundForDisplay] ----------
  ; fn ?  line 286-293 np=1 va=0 ms=6 code=15 consts=6 upvals=1 protos=0
  ;   K[0]='GetCurrentRound'
  ;   K[1]='IsFailed'
  ;   K[2]='math'
  ;   K[3]='min'
  ;   K[4]=1
  ;   K[5]='GetRoundCount'
  ;   upvals: _ENV
  ;   locals: self(0-15), round(2-15)
  0000  SELF      R2 = R0[K0('GetCurrentRound')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  SELF      R3 = R0[K1('IsFailed')] (self)
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  TEST      if not R2 then   -> -131066
  0005  JMP       (jump)   -> 13
  0006  GETTABUP  R2 = _ENV[K2('math')]
  0007  GETTABLE  R2 = R2[K3('min')]
  0008  ADD       R3 = K4(1) add R1
  0009  SELF      R5 = R0[K5('GetRoundCount')] (self)
  0010  CALL      R4 = call(R4, -1 args, 1 rets)
  0011  CALL      R2 = call(R2, 1 args, -1 rets)
  0012  MOVE      R1 = R0
  0013  RETURN    return R1..R0
  0014  RETURN    return R0..R-1
; ---------- proto15 [TryClaimReward] ----------
  ; fn ?  line 296-309 np=1 va=0 ms=11 code=45 consts=20 upvals=1 protos=0
  ;   K[0]='BaseRaceActivityModel'
  ;   K[1]='TryClaimReward'
  ;   K[2]='_LogActivityEnd'
  ;   K[3]='GetProgressReward'
  ;   K[4]='GetCurrentRound'
  ;   K[5]='Table'
  ;   K[6]='IsEmpty'
  ;   K[7]='RewardApi'
  ;   K[8]='CryptRewards'
  ;   K[9]='AcquireRewardsLogic'
  ;   K[10]='EPropertySource'
  ;   K[11]='Give'
  ;   K[12]='m_activityDefinition'
  ;   K[13]='ProgressRewardBIType'
  ;   K[14]='ERewardScene'
  ;   K[15]='Other'
  ;   K[16]='EGameMode'
  ;   K[17]='Board'
  ;   K[18]='CacheItemType'
  ;   K[19]='Stack'
  ;   upvals: _ENV
  ;   locals: self(0-45), bSuccess(4-45), rewards(4-45), progressRewards(5-45)
  0000  GETTABUP  R1 = _ENV[K0('BaseRaceActivityModel')]
  0001  GETTABLE  R1 = R1[K1('TryClaimReward')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 2 args, 1 rets)
  0004  LOADNIL   R3..R3 = nil
  0005  TEST      if not R1 then   -> -131065
  0006  JMP       (jump)   -> 40
  0007  SELF      R5 = R0[K2('_LogActivityEnd')] (self)
  0008  LOADBOOL  R6 = true
  0009  CALL      R4 = call(R4, 0 args, 2 rets)
  0010  SELF      R5 = R0[K3('GetProgressReward')] (self)
  0011  SELF      R7 = R0[K4('GetCurrentRound')] (self)
  0012  CALL      R6 = call(R6, -1 args, 1 rets)
  0013  CALL      R4 = call(R4, 1 args, -1 rets)
  0014  MOVE      R3 = R0
  0015  GETTABUP  R4 = _ENV[K5('Table')]
  0016  GETTABLE  R4 = R4[K6('IsEmpty')]
  0017  MOVE      R5 = R0
  0018  CALL      R4 = call(R4, 1 args, 1 rets)
  0019  TEST      if not R4 then   -> -131050
  0020  JMP       (jump)   -> 40
  0021  GETTABUP  R4 = _ENV[K7('RewardApi')]
  0022  GETTABLE  R4 = R4[K8('CryptRewards')]
  0023  MOVE      R5 = R0
  0024  CALL      R4 = call(R4, 0 args, 1 rets)
  0025  GETTABUP  R4 = _ENV[K7('RewardApi')]
  0026  GETTABLE  R4 = R4[K9('AcquireRewardsLogic')]
  0027  MOVE      R5 = R0
  0028  GETTABUP  R6 = _ENV[K10('EPropertySource')]
  0029  GETTABLE  R6 = R6[K11('Give')]
  0030  GETTABLE  R7 = R0[K12('m_activityDefinition')]
  0031  GETTABLE  R7 = R7[K13('ProgressRewardBIType')]
  0032  GETTABUP  R8 = _ENV[K14('ERewardScene')]
  0033  GETTABLE  R8 = R8[K15('Other')]
  0034  GETTABUP  R9 = _ENV[K16('EGameMode')]
  0035  GETTABLE  R9 = R9[K17('Board')]
  0036  GETTABUP  R10 = _ENV[K18('CacheItemType')]
  0037  GETTABLE  R10 = R10[K19('Stack')]
  0038  CALL      R4 = call(R4, 1 args, 6 rets)
  0039  MOVE      R3 = R0
  0040  MOVE      R4 = R0
  0041  MOVE      R5 = R0
  0042  MOVE      R6 = R0
  0043  RETURN    return R4..R3
  0044  RETURN    return R0..R-1
; ---------- proto16 [TryCompetitionEntry] ----------
  ; fn ?  line 311-337 np=3 va=0 ms=12 code=52 consts=24 upvals=2 protos=1
  ;   K[0]='GetCurrentRound'
  ;   K[1]='m_config'
  ;   K[2]=nil
  ;   K[3]='roundConfigs'
  ;   K[4]=1
  ;   K[5]='NetTimeStamp'
  ;   K[6]='Create'
  ;   K[7]='EBIType'
  ;   K[8]='NetworkCheckAction'
  ;   K[9]='StartRaceEntry'
  ;   K[10]='GetId'
  ;   K[11]='GameConfig'
  ;   K[12]='IsTestMode'
  ;   K[13]='['
  ;   K[14]='m_type'
  ;   K[15]=']'
  ;   K[16]='发送报名请求'
  ;   K[17]='GM'
  ;   K[18]='UIManager'
  ;   K[19]='ShowTestPrompt'
  ;   K[20]='Log'
  ;   K[21]='Info'
  ;   K[22]='ApiMessage'
  ;   K[23]='GetRobotsByCount'
  ;   upvals: _ENV, kRobotsCount
  ;   locals: self(0-52), successCallback(0-52), failCallback(0-52), round(2-52), startTime(22-52), id(24-52), callback(25-52), string(35-44)
  0000  SELF      R4 = R0[K0('GetCurrentRound')] (self)
  0001  CALL      R3 = call(R3, 1 args, 1 rets)
  0002  GETTABLE  R4 = R0[K1('m_config')]
  0003  EQ        if R1 eq K2(nil)   -> -128761
  0004  JMP       (jump)   -> 15
  0005  GETTABLE  R4 = R0[K1('m_config')]
  0006  GETTABLE  R4 = R4[K3('roundConfigs')]
  0007  EQ        if R1 eq K2(nil)   -> -128757
  0008  JMP       (jump)   -> 15
  0009  GETTABLE  R4 = R0[K1('m_config')]
  0010  GETTABLE  R4 = R4[K3('roundConfigs')]
  0011  ADD       R5 = K4(1) add R3
  0012  GETTABLE  R4 = R4[R5]
  0013  EQ        if R0 eq K2(nil)   -> -128751
  0014  JMP       (jump)   -> 16
  0015  RETURN    return R0..R-1
  0016  GETTABUP  R4 = _ENV[K5('NetTimeStamp')]
  0017  GETTABLE  R4 = R4[K6('Create')]
  0018  GETTABUP  R5 = _ENV[K7('EBIType')]
  0019  GETTABLE  R5 = R5[K8('NetworkCheckAction')]
  0020  GETTABLE  R5 = R5[K9('StartRaceEntry')]
  0021  CALL      R4 = call(R4, 1 args, 1 rets)
  0022  SELF      R6 = R0[K10('GetId')] (self)
  0023  CALL      R5 = call(R5, 1 args, 1 rets)
  0024  CLOSURE   R6 = closure proto0
  0025  GETTABUP  R7 = _ENV[K11('GameConfig')]
  0026  GETTABLE  R7 = R7[K12('IsTestMode')]
  0027  CALL      R7 = call(R7, 1 args, 0 rets)
  0028  TEST      if not R7 then   -> -131042
  0029  JMP       (jump)   -> 44
  0030  LOADK     R7 = K13 '['
  0031  GETTABLE  R8 = R0[K14('m_type')]
  0032  LOADK     R9 = K15 ']'
  0033  LOADK     R10 = K16 '发送报名请求'
  0034  CONCAT    R7 = concat(R7..R7)
  0035  GETTABUP  R8 = _ENV[K17('GM')]
  0036  GETTABLE  R8 = R8[K18('UIManager')]
  0037  SELF      R9 = R8[K19('ShowTestPrompt')] (self)
  0038  MOVE      R10 = R0
  0039  CALL      R8 = call(R8, 0 args, 2 rets)
  0040  GETTABUP  R8 = _ENV[K20('Log')]
  0041  GETTABLE  R8 = R8[K21('Info')]
  0042  MOVE      R9 = R0
  0043  CALL      R8 = call(R8, 0 args, 1 rets)
  0044  GETTABUP  R7 = _ENV[K22('ApiMessage')]
  0045  GETTABLE  R7 = R7[K23('GetRobotsByCount')]
  0046  GETUPVAL  R8 = _ENV
  0047  NEWTABLE  R9 = {} (0 items)
  0048  MOVE      R10 = R0
  0049  LOADBOOL  R11 = true
  0050  CALL      R7 = call(R7, 0 args, 4 rets)
  0051  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 320-329 np=3 va=0 ms=14 code=33 consts=6 upvals=7 protos=0
    ;   K[0]='GetState'
    ;   K[1]='ActivityState'
    ;   K[2]='Started'
    ;   K[3]='GetId'
    ;   K[4]=nil
    ;   K[5]='_OnCompetitionEntryCallback'
    ;   upvals: self, _ENV, id, failCallback, round, startTime, successCallback
    ;   locals: bSuccess(0-33), tbResp(0-33), reqCtx(0-33)
    0000  GETUPVAL  R3 = self
    0001  SELF      R4 = R3[K0('GetState')] (self)
    0002  CALL      R3 = call(R3, 1 args, 1 rets)
    0003  GETTABUP  R4 = _ENV[K1('ActivityState')]
    0004  GETTABLE  R4 = R4[K2('Started')]
    0005  EQ        if R0 eq R4   -> -129525
    0006  JMP       (jump)   -> 13
    0007  GETUPVAL  R3 = self
    0008  GETUPVAL  R4 = self
    0009  SELF      R5 = R4[K3('GetId')] (self)
    0010  CALL      R4 = call(R4, 1 args, 1 rets)
    0011  EQ        if R1 eq R4   -> -129519
    0012  JMP       (jump)   -> 19
    0013  GETUPVAL  R3 = self
    0014  EQ        if R1 eq K4(nil)   -> -129260
    0015  JMP       (jump)   -> 18
    0016  GETUPVAL  R3 = self
    0017  CALL      R3 = call(R3, 0 args, 0 rets)
    0018  RETURN    return R0..R-1
    0019  GETUPVAL  R3 = self
    0020  SELF      R4 = R3[K5('_OnCompetitionEntryCallback')] (self)
    0021  GETUPVAL  R5 = self
    0022  MOVE      R6 = R0
    0023  MOVE      R7 = R0
    0024  MOVE      R8 = R0
    0025  GETUPVAL  R9 = self
    0026  GETUPVAL  R10 = self
    0027  GETUPVAL  R11 = self
    0028  NEWTABLE  R12 = {} (1 items)
    0029  GETUPVAL  R13 = self
    0030  SETLIST   setlist R12[B=1,C=1]
    0031  CALL      R3 = call(R3, 0 args, 9 rets)
    0032  RETURN    return R0..R-1
; ---------- proto17 [_CreateRobotPlayers] ----------
  ; fn ?  line 340-381 np=2 va=0 ms=25 code=86 consts=31 upvals=1 protos=1
  ;   K[0]=1
  ;   K[1]=3
  ;   K[2]='_RandomSingleOrderTime'
  ;   K[3]='Log'
  ;   K[4]='Info'
  ;   K[5]='LineRaceActivityModel, timeRange随机出来的时间: '
  ;   K[6]='GetTargetScore'
  ;   K[7]='m_arrPlayerData'
  ;   K[8]='ipairs'
  ;   K[9]='_RandomBotCurve'
  ;   K[10]='score'
  ;   K[11]='_GenerateBotScoreCurve'
  ;   K[12]='GM'
  ;   K[13]='UserProfileModel'
  ;   K[14]='GenerateAllAdornmentForData'
  ;   K[15]='CreatePlayerData'
  ;   K[16]=0
  ;   K[17]='SetTrack'
  ;   K[18]=1
  ;   K[19]='GameConfig'
  ;   K[20]='IsTestMode'
  ;   K[21]='A'
  ;   K[22]='B'
  ;   K[23]='['
  ;   K[24]='m_type'
  ;   K[25]=']'
  ;   K[26]='假人'
  ;   K[27]='赛道是'
  ;   K[28]=' 分数曲线: '
  ;   K[29]='GetTableFormatStr'
  ;   K[30]='_CollectAllTimePoints'
  ;   upvals: _ENV
  ;   locals: self(0-86), robots(0-86), arrTrack(4-86), lastIndex(5-86), randomTrackFunc(6-86), singleTime(8-86), targetScore(16-86), playerData(19-86), curTrack(19-86), (for generator)(22-83), (for state)(22-83), (for control)(22-83), index(23-81), value(23-81), curBot(64-81), string(77-81)
  0000  NEWTABLE  R2 = {} (2 items)
  0001  LOADK     R3 = K0 1
  0002  LOADK     R4 = K1 3
  0003  SETLIST   setlist R2[B=1,C=2]
  0004  LOADNIL   R3..R3 = nil
  0005  CLOSURE   R4 = closure proto0
  0006  SELF      R6 = R0[K2('_RandomSingleOrderTime')] (self)
  0007  CALL      R5 = call(R5, 1 args, 1 rets)
  0008  GETTABUP  R6 = _ENV[K3('Log')]
  0009  GETTABLE  R6 = R6[K4('Info')]
  0010  LOADK     R7 = K5 'LineRaceActivityModel, timeRange随机出来的时间: '
  0011  MOVE      R8 = R0
  0012  CONCAT    R7 = concat(R7..R7)
  0013  CALL      R6 = call(R6, 0 args, 1 rets)
  0014  SELF      R7 = R0[K6('GetTargetScore')] (self)
  0015  CALL      R6 = call(R6, 1 args, 1 rets)
  0016  NEWTABLE  R7 = {} (0 items)
  0017  SETTABLE  R0[K7('m_arrPlayerData')] = R7
  0018  LOADNIL   R7..R7 = nil
  0019  GETTABUP  R9 = _ENV[K8('ipairs')]
  0020  MOVE      R10 = R0
  0021  CALL      R9 = call(R9, 3 args, 1 rets)
  0022  JMP       (jump)   -> 81
  0023  SELF      R15 = R0[K9('_RandomBotCurve')] (self)
  0024  MOVE      R16 = R0
  0025  CALL      R14 = call(R14, 0 args, 2 rets)
  0026  SELF      R15 = R0[K11('_GenerateBotScoreCurve')] (self)
  0027  MOVE      R16 = R0
  0028  MOVE      R17 = R0
  0029  CALL      R14 = call(R14, 1 args, 3 rets)
  0030  SETTABLE  R13[K10('score')] = R14
  0031  GETTABUP  R14 = _ENV[K12('GM')]
  0032  GETTABLE  R14 = R14[K13('UserProfileModel')]
  0033  SELF      R15 = R14[K14('GenerateAllAdornmentForData')] (self)
  0034  MOVE      R16 = R0
  0035  CALL      R14 = call(R14, 0 args, 2 rets)
  0036  SELF      R15 = R0[K15('CreatePlayerData')] (self)
  0037  MOVE      R16 = R0
  0038  MOVE      R17 = R0
  0039  LOADK     R18 = K16 0
  0040  CALL      R14 = call(R14, 1 args, 4 rets)
  0041  MOVE      R7 = R0
  0042  MOVE      R14 = R0
  0043  CALL      R14 = call(R14, 1 args, 0 rets)
  0044  MOVE      R8 = R0
  0045  SELF      R15 = R7[K17('SetTrack')] (self)
  0046  MOVE      R16 = R0
  0047  CALL      R14 = call(R14, 0 args, 2 rets)
  0048  GETTABLE  R14 = R0[K7('m_arrPlayerData')]
  0049  GETTABLE  R15 = R0[K7('m_arrPlayerData')]
  0050  LEN       R15 = len R0
  0051  ADD       R15 = K18(1) add R15
  0052  SETTABLE  R14[R15] = R7
  0053  GETTABUP  R14 = _ENV[K19('GameConfig')]
  0054  GETTABLE  R14 = R14[K20('IsTestMode')]
  0055  CALL      R14 = call(R14, 1 args, 0 rets)
  0056  TEST      if not R14 then   -> -131014
  0057  JMP       (jump)   -> 81
  0058  EQ        if R0 eq K18(1)   -> -124594
  0059  JMP       (jump)   -> 63
  0060  LOADK     R14 = K21 'A'
  0061  TEST      if not R14 then   -> -131008
  0062  JMP       (jump)   -> 64
  0063  LOADK     R14 = K22 'B'
  0064  LOADK     R15 = K23 '['
  0065  GETTABLE  R16 = R0[K24('m_type')]
  0066  LOADK     R17 = K25 ']'
  0067  LOADK     R18 = K26 '假人'
  0068  MOVE      R19 = R0
  0069  LOADK     R20 = K27 '赛道是'
  0070  MOVE      R21 = R0
  0071  LOADK     R22 = K28 ' 分数曲线: '
  0072  GETTABUP  R23 = _ENV[K3('Log')]
  0073  GETTABLE  R23 = R23[K29('GetTableFormatStr')]
  0074  GETTABLE  R24 = R13[K10('score')]
  0075  CALL      R23 = call(R23, 1 args, 1 rets)
  0076  CONCAT    R15 = concat(R15..R15)
  0077  GETTABUP  R16 = _ENV[K3('Log')]
  0078  GETTABLE  R16 = R16[K4('Info')]
  0079  MOVE      R17 = R0
  0080  CALL      R16 = call(R16, 0 args, 1 rets)
  0081  TFORCALL  tforcall R9
  0082  TFORLOOP  tforloop R11(sBx=-60)   -> 23
  0083  SELF      R10 = R0[K30('_CollectAllTimePoints')] (self)
  0084  CALL      R9 = call(R9, 0 args, 1 rets)
  0085  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 344-354 np=0 va=0 ms=3 code=23 consts=5 upvals=3 protos=0
    ;   K[0]=nil
    ;   K[1]='MathUtil'
    ;   K[2]='Random'
    ;   K[3]=1
    ;   K[4]=2
    ;   upvals: lastIndex, _ENV, arrTrack
    ;   locals: otherIndex(20-22)
    0000  GETUPVAL  R0 = lastIndex
    0001  EQ        if R0 eq K0(nil)   -> -130813
    0002  JMP       (jump)   -> 13
    0003  GETTABUP  R0 = _ENV[K1('MathUtil')]
    0004  GETTABLE  R0 = R0[K2('Random')]
    0005  LOADK     R1 = K3 1
    0006  LOADK     R2 = K4 2
    0007  CALL      R0 = call(R0, 1 args, 2 rets)
    0008  SETUPVAL  lastIndex = R0
    0009  GETUPVAL  R0 = lastIndex
    0010  GETTABUP  R0 = arrTrack[R0]
    0011  RETURN    return R0..R-1
    0012  JMP       (jump)   -> 22
    0013  GETUPVAL  R0 = lastIndex
    0014  EQ        if R0 eq K3(1)   -> -130797
    0015  JMP       (jump)   -> 19
    0016  LOADK     R0 = K4 2
    0017  TEST      if not R0 then   -> -131052
    0018  JMP       (jump)   -> 20
    0019  LOADK     R0 = K3 1
    0020  GETTABUP  R1 = arrTrack[R0]
    0021  RETURN    return R1..R0
    0022  RETURN    return R0..R-1
; ---------- proto18 [_RandomBotCurve] ----------
  ; fn ?  line 384-397 np=2 va=0 ms=17 code=48 consts=21 upvals=2 protos=0
  ;   K[0]='m_curRoundCurveConfig'
  ;   K[1]='GetCurrentRound'
  ;   K[2]='m_config'
  ;   K[3]='roundConfigs'
  ;   K[4]='Table'
  ;   K[5]='ListWeightSelectOne'
  ;   K[6]='Weight'
  ;   K[7]='m_mapBotCurveConfig'
  ;   K[8]='Curve'
  ;   K[9]='GameConfig'
  ;   K[10]='IsTestMode'
  ;   K[11]=1
  ;   K[12]='A'
  ;   K[13]='B'
  ;   K[14]='Log'
  ;   K[15]='Info'
  ;   K[16]='['
  ;   K[17]='m_type'
  ;   K[18]='] 曲线配置，第'
  ;   K[19]='轮, 假人'
  ;   K[20]='选择了曲线'
  ;   upvals: EBotCurve, _ENV
  ;   locals: self(0-48), index(0-48), curRound(4-48), roundConfig(10-48), curBot(11-48), curCurve(15-48), targetCurve(20-48), curBot(35-47)
  0000  NEWTABLE  R2 = {} (0 items)
  0001  SETTABLE  R0[K0('m_curRoundCurveConfig')] = R2
  0002  SELF      R3 = R0[K1('GetCurrentRound')] (self)
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  GETTABLE  R3 = R0[K2('m_config')]
  0005  GETTABLE  R3 = R3[K3('roundConfigs')]
  0006  GETTABLE  R3 = R3[R2]
  0007  TEST      if not R3 then   -> -131062
  0008  JMP       (jump)   -> 10
  0009  NEWTABLE  R3 = {} (0 items)
  0010  GETTABUP  R4 = EBotCurve[R1]
  0011  GETTABLE  R5 = R3[R4]
  0012  TEST      if not R5 then   -> -131057
  0013  JMP       (jump)   -> 15
  0014  NEWTABLE  R5 = {} (0 items)
  0015  GETTABUP  R6 = _ENV[K4('Table')]
  0016  GETTABLE  R6 = R6[K5('ListWeightSelectOne')]
  0017  MOVE      R7 = R0
  0018  LOADK     R8 = K6 'Weight'
  0019  CALL      R6 = call(R6, 1 args, 2 rets)
  0020  GETTABLE  R7 = R0[K7('m_mapBotCurveConfig')]
  0021  GETTABLE  R8 = R6[K8('Curve')]
  0022  GETTABLE  R7 = R7[R8]
  0023  SETTABLE  R0[K0('m_curRoundCurveConfig')] = R7
  0024  GETTABUP  R7 = _ENV[K9('GameConfig')]
  0025  GETTABLE  R7 = R7[K10('IsTestMode')]
  0026  CALL      R7 = call(R7, 1 args, 0 rets)
  0027  TEST      if not R7 then   -> -131043
  0028  JMP       (jump)   -> 47
  0029  EQ        if R0 eq K11(1)   -> -130262
  0030  JMP       (jump)   -> 34
  0031  LOADK     R7 = K12 'A'
  0032  TEST      if not R7 then   -> -131037
  0033  JMP       (jump)   -> 35
  0034  LOADK     R7 = K13 'B'
  0035  GETTABUP  R8 = _ENV[K14('Log')]
  0036  GETTABLE  R8 = R8[K15('Info')]
  0037  LOADK     R9 = K16 '['
  0038  GETTABLE  R10 = R0[K17('m_type')]
  0039  LOADK     R11 = K18 '] 曲线配置，第'
  0040  MOVE      R12 = R0
  0041  LOADK     R13 = K19 '轮, 假人'
  0042  MOVE      R14 = R0
  0043  LOADK     R15 = K20 '选择了曲线'
  0044  GETTABLE  R16 = R6[K8('Curve')]
  0045  CONCAT    R9 = concat(R9..R9)
  0046  CALL      R8 = call(R8, 0 args, 1 rets)
  0047  RETURN    return R0..R-1
; ---------- proto19 [_GenerateBotScoreCurve] ----------
  ; fn ?  line 400-494 np=3 va=0 ms=29 code=206 consts=20 upvals=2 protos=0
  ;   K[0]='_CalculateBotTotalTaskTime'
  ;   K[1]='GetCurRoundBotTargetScore'
  ;   K[2]=0
  ;   K[3]='Table'
  ;   K[4]='IsEmpty'
  ;   K[5]='m_curRoundCurveConfig'
  ;   K[6]='ipairs'
  ;   K[7]='math'
  ;   K[8]='ceil'
  ;   K[9]='timeRatio'
  ;   K[10]=1
  ;   K[11]='max'
  ;   K[12]=60
  ;   K[13]='scoreRatio'
  ;   K[14]='table'
  ;   K[15]='insert'
  ;   K[16]='_GenerateRandomNumber'
  ;   K[17]='sort'
  ;   K[18]='seconds'
  ;   K[19]='score'
  ;   upvals: EBotAbilityKey, _ENV
  ;   locals: self(0-206), index(0-206), singleTime(0-206), botTotalTime(4-206), botTargetScore(6-206), curSecond(7-206), curScore(7-206), filledScore(7-206), results(8-206), prevSecond(9-206), prevScore(10-206), missingCount(11-206), filledTimes(12-206), curCurveConfig(22-206), (for generator)(25-124), (for state)(25-124), (for control)(25-124), i(26-122), curveInfo(26-122), (for index)(63-73), (for limit)(63-73), (for step)(63-73), idx(64-72), lastTime(78-104), (for index)(81-90), (for limit)(81-90), (for step)(81-90), idx(82-89), t(87-89), (for index)(93-104), (for limit)(93-104), (for step)(93-104), idx(94-103), (for index)(146-156), (for limit)(146-156), (for step)(146-156), i(147-155), lastTime(161-188), (for index)(164-173), (for limit)(164-173), (for step)(164-173), idx(165-172), t(170-172), (for index)(176-187), (for limit)(176-187), (for step)(176-187), i(177-186)
  0000  SELF      R4 = R0[K0('_CalculateBotTotalTaskTime')] (self)
  0001  GETTABUP  R5 = EBotAbilityKey[R1]
  0002  MOVE      R6 = R0
  0003  CALL      R3 = call(R3, 1 args, 3 rets)
  0004  SELF      R5 = R0[K1('GetCurRoundBotTargetScore')] (self)
  0005  CALL      R4 = call(R4, 1 args, 1 rets)
  0006  LOADNIL   R5..R5 = nil
  0007  NEWTABLE  R8 = {} (0 items)
  0008  LOADK     R9 = K2 0
  0009  LOADK     R10 = K2 0
  0010  LOADK     R11 = K2 0
  0011  NEWTABLE  R12 = {} (0 items)
  0012  GETTABUP  R13 = _ENV[K3('Table')]
  0013  GETTABLE  R13 = R13[K4('IsEmpty')]
  0014  GETTABLE  R14 = R0[K5('m_curRoundCurveConfig')]
  0015  CALL      R13 = call(R13, 1 args, 1 rets)
  0016  TEST      if not R13 then   -> -131053
  0017  JMP       (jump)   -> 21
  0018  GETTABLE  R13 = R0[K5('m_curRoundCurveConfig')]
  0019  TEST      if not R13 then   -> -131050
  0020  JMP       (jump)   -> 22
  0021  NEWTABLE  R13 = {} (0 items)
  0022  GETTABUP  R14 = _ENV[K6('ipairs')]
  0023  MOVE      R15 = R0
  0024  CALL      R14 = call(R14, 3 args, 1 rets)
  0025  JMP       (jump)   -> 122
  0026  GETTABUP  R19 = _ENV[K7('math')]
  0027  GETTABLE  R19 = R19[K8('ceil')]
  0028  GETTABLE  R20 = R18[K9('timeRatio')]
  0029  MUL       R20 = R20 mul R3
  0030  CALL      R19 = call(R19, 1 args, 1 rets)
  0031  MOVE      R5 = R0
  0032  EQ        if R0 eq K10(1)   -> -122068
  0033  JMP       (jump)   -> 41
  0034  GETTABUP  R19 = _ENV[K7('math')]
  0035  GETTABLE  R19 = R19[K11('max')]
  0036  MOVE      R20 = R0
  0037  LOADK     R21 = K12 60
  0038  CALL      R19 = call(R19, 1 args, 2 rets)
  0039  MOVE      R5 = R0
  0040  LOADK     R9 = K12 60
  0041  GETTABUP  R19 = _ENV[K7('math')]
  0042  GETTABLE  R19 = R19[K8('ceil')]
  0043  GETTABLE  R20 = R18[K13('scoreRatio')]
  0044  MUL       R20 = R20 mul R4
  0045  CALL      R19 = call(R19, 1 args, 1 rets)
  0046  MOVE      R6 = R0
  0047  SUB       R19 = R10 sub R6
  0048  SUB       R11 = K10(1) sub R19
  0049  GETTABUP  R19 = _ENV[K7('math')]
  0050  GETTABLE  R19 = R19[K11('max')]
  0051  MOVE      R20 = R0
  0052  ADD       R21 = K10(1) add R9
  0053  ADD       R21 = R11 add R21
  0054  CALL      R19 = call(R19, 1 args, 2 rets)
  0055  MOVE      R5 = R0
  0056  LT        if R0 lt R11   -> 1093
  0057  JMP       (jump)   -> 104
  0058  NEWTABLE  R19 = {} (0 items)
  0059  MOVE      R12 = R0
  0060  LOADK     R19 = K10 1
  0061  MOVE      R20 = R0
  0062  LOADK     R21 = K10 1
  0063  FORPREP   forprep R19(sBx=8)   -> 72
  0064  GETTABUP  R23 = _ENV[K14('table')]
  0065  GETTABLE  R23 = R23[K15('insert')]
  0066  MOVE      R24 = R0
  0067  SELF      R26 = R0[K16('_GenerateRandomNumber')] (self)
  0068  MOVE      R27 = R0
  0069  SUB       R28 = R11 sub R5
  0070  CALL      R25 = call(R25, -1 args, 3 rets)
  0071  CALL      R23 = call(R23, 0 args, -1 rets)
  0072  FORLOOP   forloop R19(sBx=-9)   -> 64
  0073  GETTABUP  R19 = _ENV[K14('table')]
  0074  GETTABLE  R19 = R19[K17('sort')]
  0075  MOVE      R20 = R0
  0076  CALL      R19 = call(R19, 0 args, 1 rets)
  0077  MOVE      R19 = R0
  0078  LOADK     R20 = K10 1
  0079  MOVE      R21 = R0
  0080  LOADK     R22 = K10 1
  0081  FORPREP   forprep R20(sBx=7)   -> 89
  0082  GETTABUP  R24 = _ENV[K7('math')]
  0083  GETTABLE  R24 = R24[K11('max')]
  0084  GETTABLE  R25 = R12[R23]
  0085  ADD       R26 = K10(1) add R19
  0086  CALL      R24 = call(R24, 1 args, 2 rets)
  0087  SETTABLE  R12[R23] = R24
  0088  MOVE      R19 = R0
  0089  FORLOOP   forloop R20(sBx=-8)   -> 82
  0090  LOADK     R20 = K10 1
  0091  MOVE      R21 = R0
  0092  LOADK     R22 = K10 1
  0093  FORPREP   forprep R20(sBx=9)   -> 103
  0094  ADD       R7 = R23 add R10
  0095  GETTABUP  R24 = _ENV[K14('table')]
  0096  GETTABLE  R24 = R24[K15('insert')]
  0097  MOVE      R25 = R0
  0098  NEWTABLE  R26 = {} (0 items)
  0099  GETTABLE  R27 = R12[R23]
  0100  SETTABLE  R26[K18('seconds')] = R27
  0101  SETTABLE  R26[K19('score')] = R7
  0102  CALL      R24 = call(R24, 0 args, 2 rets)
  0103  FORLOOP   forloop R20(sBx=-10)   -> 94
  0104  EQ        if R0 eq R10   -> -127884
  0105  JMP       (jump)   -> 113
  0106  LEN       R19 = len R0
  0107  LT        if R0 lt R19   -> 1152
  0108  JMP       (jump)   -> 113
  0109  LEN       R19 = len R0
  0110  GETTABLE  R19 = R8[R19]
  0111  SETTABLE  R19[K18('seconds')] = R5
  0112  JMP       (jump)   -> 121
  0113  GETTABUP  R19 = _ENV[K14('table')]
  0114  GETTABLE  R19 = R19[K15('insert')]
  0115  MOVE      R20 = R0
  0116  NEWTABLE  R21 = {} (0 items)
  0117  SETTABLE  R21[K18('seconds')] = R5
  0118  SETTABLE  R21[K19('score')] = R6
  0119  CALL      R19 = call(R19, 0 args, 2 rets)
  0120  MOVE      R10 = R0
  0121  MOVE      R9 = R0
  0122  TFORCALL  tforcall R14
  0123  TFORLOOP  tforloop R16(sBx=-98)   -> 26
  0124  SUB       R14 = R10 sub R4
  0125  SUB       R11 = K10(1) sub R14
  0126  GETTABUP  R14 = _ENV[K7('math')]
  0127  GETTABLE  R14 = R14[K11('max')]
  0128  MOVE      R15 = R0
  0129  LOADK     R16 = K12 60
  0130  CALL      R14 = call(R14, 1 args, 2 rets)
  0131  MOVE      R3 = R0
  0132  GETTABUP  R14 = _ENV[K7('math')]
  0133  GETTABLE  R14 = R14[K11('max')]
  0134  MOVE      R15 = R0
  0135  ADD       R16 = K10(1) add R9
  0136  ADD       R16 = R11 add R16
  0137  CALL      R14 = call(R14, 1 args, 2 rets)
  0138  MOVE      R3 = R0
  0139  LT        if R0 lt R11   -> 1176
  0140  JMP       (jump)   -> 188
  0141  NEWTABLE  R14 = {} (0 items)
  0142  MOVE      R12 = R0
  0143  LOADK     R14 = K10 1
  0144  MOVE      R15 = R0
  0145  LOADK     R16 = K10 1
  0146  FORPREP   forprep R14(sBx=8)   -> 155
  0147  GETTABUP  R18 = _ENV[K14('table')]
  0148  GETTABLE  R18 = R18[K15('insert')]
  0149  MOVE      R19 = R0
  0150  SELF      R21 = R0[K16('_GenerateRandomNumber')] (self)
  0151  MOVE      R22 = R0
  0152  SUB       R23 = R11 sub R3
  0153  CALL      R20 = call(R20, -1 args, 3 rets)
  0154  CALL      R18 = call(R18, 0 args, -1 rets)
  0155  FORLOOP   forloop R14(sBx=-9)   -> 147
  0156  GETTABUP  R14 = _ENV[K14('table')]
  0157  GETTABLE  R14 = R14[K17('sort')]
  0158  MOVE      R15 = R0
  0159  CALL      R14 = call(R14, 0 args, 1 rets)
  0160  MOVE      R14 = R0
  0161  LOADK     R15 = K10 1
  0162  MOVE      R16 = R0
  0163  LOADK     R17 = K10 1
  0164  FORPREP   forprep R15(sBx=7)   -> 172
  0165  GETTABUP  R19 = _ENV[K7('math')]
  0166  GETTABLE  R19 = R19[K11('max')]
  0167  GETTABLE  R20 = R12[R18]
  0168  ADD       R21 = K10(1) add R14
  0169  CALL      R19 = call(R19, 1 args, 2 rets)
  0170  SETTABLE  R12[R18] = R19
  0171  MOVE      R14 = R0
  0172  FORLOOP   forloop R15(sBx=-8)   -> 165
  0173  LOADK     R15 = K10 1
  0174  MOVE      R16 = R0
  0175  LOADK     R17 = K10 1
  0176  FORPREP   forprep R15(sBx=9)   -> 186
  0177  ADD       R7 = R18 add R10
  0178  GETTABUP  R19 = _ENV[K14('table')]
  0179  GETTABLE  R19 = R19[K15('insert')]
  0180  MOVE      R20 = R0
  0181  NEWTABLE  R21 = {} (0 items)
  0182  GETTABLE  R22 = R12[R18]
  0183  SETTABLE  R21[K18('seconds')] = R22
  0184  SETTABLE  R21[K19('score')] = R7
  0185  CALL      R19 = call(R19, 0 args, 2 rets)
  0186  FORLOOP   forloop R15(sBx=-10)   -> 177
  0187  ADD       R10 = R11 add R10
  0188  LT        if R0 lt R4   -> -125758
  0189  JMP       (jump)   -> 198
  0190  GETTABUP  R14 = _ENV[K14('table')]
  0191  GETTABLE  R14 = R14[K15('insert')]
  0192  MOVE      R15 = R0
  0193  NEWTABLE  R16 = {} (0 items)
  0194  SETTABLE  R16[K18('seconds')] = R3
  0195  SETTABLE  R16[K19('score')] = R4
  0196  CALL      R14 = call(R14, 0 args, 2 rets)
  0197  JMP       (jump)   -> 204
  0198  LEN       R14 = len R0
  0199  LT        if R0 lt R14   -> 1239
  0200  JMP       (jump)   -> 204
  0201  LEN       R14 = len R0
  0202  GETTABLE  R14 = R8[R14]
  0203  SETTABLE  R14[K18('seconds')] = R3
  0204  RETURN    return R8..R7
  0205  RETURN    return R0..R-1
; ---------- proto20 [GetCurRoundBotTargetScore] ----------
  ; fn ?  line 497-501 np=1 va=0 ms=3 code=16 consts=5 upvals=0 protos=0
  ;   K[0]='GetCurrentRound'
  ;   K[1]='m_config'
  ;   K[2]='roundConfigs'
  ;   K[3]='botTargetScore'
  ;   K[4]=0
  ;   locals: self(0-16), curRound(2-16), curTargetScore(14-16)
  0000  SELF      R2 = R0[K0('GetCurrentRound')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  GETTABLE  R2 = R0[K1('m_config')]
  0003  GETTABLE  R2 = R2[K2('roundConfigs')]
  0004  GETTABLE  R2 = R2[R1]
  0005  TEST      if not R2 then   -> -131065
  0006  JMP       (jump)   -> 13
  0007  GETTABLE  R2 = R0[K1('m_config')]
  0008  GETTABLE  R2 = R2[K2('roundConfigs')]
  0009  GETTABLE  R2 = R2[R1]
  0010  GETTABLE  R2 = R2[K3('botTargetScore')]
  0011  TEST      if not R2 then   -> -131058
  0012  JMP       (jump)   -> 14
  0013  LOADK     R2 = K4 0
  0014  RETURN    return R2..R1
  0015  RETURN    return R0..R-1
; ---------- proto21 [_GenerateRandomNumber] ----------
  ; fn ?  line 504-512 np=3 va=0 ms=9 code=19 consts=7 upvals=1 protos=0
  ;   K[0]=0
  ;   K[1]='Log'
  ;   K[2]='Error'
  ;   K[3]='LineRaceActivityModel:_GenerateRandomNumber 传入的Max小于Min, max:'
  ;   K[4]=' min:'
  ;   K[5]='MathUtil'
  ;   K[6]='Random'
  ;   upvals: _ENV
  ;   locals: self(0-19), min(0-19), max(0-19), delta(1-19)
  0000  SUB       R3 = R1 sub R2
  0001  LE        if R0 le K0(0)   -> -129277
  0002  JMP       (jump)   -> 12
  0003  GETTABUP  R4 = _ENV[K1('Log')]
  0004  GETTABLE  R4 = R4[K2('Error')]
  0005  LOADK     R5 = K3 'LineRaceActivityModel:_GenerateRandomNumber 传入的Max小于Min, max:'
  0006  MOVE      R6 = R0
  0007  LOADK     R7 = K4 ' min:'
  0008  MOVE      R8 = R0
  0009  CONCAT    R5 = concat(R5..R5)
  0010  CALL      R4 = call(R4, 0 args, 1 rets)
  0011  RETURN    return R1..R0
  0012  GETTABUP  R4 = _ENV[K5('MathUtil')]
  0013  GETTABLE  R4 = R4[K6('Random')]
  0014  SUB       R5 = R1 sub R2
  0015  CALL      R4 = call(R4, 1 args, 1 rets)
  0016  ADD       R4 = R4 add R1
  0017  RETURN    return R4..R3
  0018  RETURN    return R0..R-1
; ---------- proto22 [_RandomSingleOrderTime] ----------
  ; fn ?  line 515-525 np=1 va=0 ms=9 code=39 consts=16 upvals=1 protos=0
  ;   K[0]='GetCurrentRound'
  ;   K[1]='m_config'
  ;   K[2]='roundConfigs'
  ;   K[3]='timeRange'
  ;   K[4]='range_entry'
  ;   K[5]='Table'
  ;   K[6]='IsEmpty'
  ;   K[7]=2
  ;   K[8]=1
  ;   K[9]='Log'
  ;   K[10]='Error'
  ;   K[11]='LineRaceActivityModel:_RandomSingleOrderTime 传入的 timeRange[2] <= timeRange[1], timeRange[2]:'
  ;   K[12]=' timeRange[1]'
  ;   K[13]=0
  ;   K[14]='MathUtil'
  ;   K[15]='Random'
  ;   upvals: _ENV
  ;   locals: self(0-39), curRound(2-39), roundConfigs(5-39), timeRange(7-39), singleTime(37-39)
  0000  SELF      R2 = R0[K0('GetCurrentRound')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  GETTABLE  R2 = R0[K1('m_config')]
  0003  GETTABLE  R2 = R2[K2('roundConfigs')]
  0004  GETTABLE  R2 = R2[R1]
  0005  GETTABLE  R3 = R2[K3('timeRange')]
  0006  GETTABLE  R3 = R3[K4('range_entry')]
  0007  GETTABUP  R4 = _ENV[K5('Table')]
  0008  GETTABLE  R4 = R4[K6('IsEmpty')]
  0009  MOVE      R5 = R0
  0010  CALL      R4 = call(R4, 1 args, 1 rets)
  0011  TEST      if not R4 then   -> -131058
  0012  JMP       (jump)   -> 27
  0013  GETTABLE  R4 = R3[K7(2)]
  0014  GETTABLE  R5 = R3[K8(1)]
  0015  LE        if R0 le R5   -> -129002
  0016  JMP       (jump)   -> 27
  0017  GETTABUP  R4 = _ENV[K9('Log')]
  0018  GETTABLE  R4 = R4[K10('Error')]
  0019  LOADK     R5 = K11 'LineRaceActivityModel:_RandomSingleOrderTime 传入的 timeRange[2] <= timeRange[1], timeRange[2]:'
  0020  GETTABLE  R6 = R3[K7(2)]
  0021  LOADK     R7 = K12 ' timeRange[1]'
  0022  GETTABLE  R8 = R3[K8(1)]
  0023  CONCAT    R5 = concat(R5..R5)
  0024  CALL      R4 = call(R4, 0 args, 1 rets)
  0025  LOADK     R4 = K13 0
  0026  RETURN    return R4..R3
  0027  TEST      if not R3 then   -> -131043
  0028  JMP       (jump)   -> 36
  0029  GETTABUP  R4 = _ENV[K14('MathUtil')]
  0030  GETTABLE  R4 = R4[K15('Random')]
  0031  GETTABLE  R5 = R3[K8(1)]
  0032  GETTABLE  R6 = R3[K7(2)]
  0033  CALL      R4 = call(R4, 1 args, 2 rets)
  0034  TEST      if not R4 then   -> -131035
  0035  JMP       (jump)   -> 37
  0036  LOADK     R4 = K13 0
  0037  RETURN    return R4..R3
  0038  RETURN    return R0..R-1
; ---------- proto23 [_CalculateBotTotalTaskTime] ----------
  ; fn ?  line 529-534 np=3 va=0 ms=8 code=15 consts=6 upvals=1 protos=0
  ;   K[0]='GetCurrentRound'
  ;   K[1]='m_config'
  ;   K[2]='roundConfigs'
  ;   K[3]='botTargetScore'
  ;   K[4]='math'
  ;   K[5]='ceil'
  ;   upvals: _ENV
  ;   locals: self(0-15), botAbility(0-15), singleTime(0-15), curRound(2-15), roundConfigs(5-15), botTotalTime(9-15)
  0000  SELF      R4 = R0[K0('GetCurrentRound')] (self)
  0001  CALL      R3 = call(R3, 1 args, 1 rets)
  0002  GETTABLE  R4 = R0[K1('m_config')]
  0003  GETTABLE  R4 = R4[K2('roundConfigs')]
  0004  GETTABLE  R4 = R4[R3]
  0005  GETTABLE  R5 = R4[K3('botTargetScore')]
  0006  MUL       R5 = R2 mul R5
  0007  GETTABLE  R6 = R4[R1]
  0008  MUL       R5 = R6 mul R5
  0009  GETTABUP  R6 = _ENV[K4('math')]
  0010  GETTABLE  R6 = R6[K5('ceil')]
  0011  MOVE      R7 = R0
  0012  TAILCALL  tailcall(R6, 0)
  0013  RETURN    return R6..R5
  0014  RETURN    return R0..R-1
; ---------- proto24 [_CreateMySelfData] ----------
  ; fn ?  line 536-540 np=1 va=0 ms=5 code=9 consts=4 upvals=1 protos=0
  ;   K[0]='BaseRaceActivityModel'
  ;   K[1]='_CreateMySelfData'
  ;   K[2]='SetTrack'
  ;   K[3]=2
  ;   upvals: _ENV
  ;   locals: self(0-9), data(4-9)
  0000  GETTABUP  R1 = _ENV[K0('BaseRaceActivityModel')]
  0001  GETTABLE  R1 = R1[K1('_CreateMySelfData')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  SELF      R3 = R1[K2('SetTrack')] (self)
  0005  LOADK     R4 = K3 2
  0006  CALL      R2 = call(R2, 0 args, 2 rets)
  0007  RETURN    return R1..R0
  0008  RETURN    return R0..R-1
; ---------- proto25 [_CheckFail] ----------
  ; fn ?  line 542-552 np=1 va=0 ms=4 code=20 consts=8 upvals=1 protos=0
  ;   K[0]='BaseRaceActivityModel'
  ;   K[1]='_CheckFail'
  ;   K[2]='_DispatchUpdateBotScoreEvent'
  ;   K[3]='_IsPlayerGuaranteedToLose'
  ;   K[4]='ResetHasShownHalfDataTipWindow'
  ;   K[5]='ResetHasShownThirdDataTipWindow'
  ;   K[6]='_LogActivityEnd'
  ;   K[7]='_SetCurrentRoundFail'
  ;   upvals: _ENV
  ;   locals: self(0-20)
  0000  GETTABUP  R1 = _ENV[K0('BaseRaceActivityModel')]
  0001  GETTABLE  R1 = R1[K1('_CheckFail')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  SELF      R2 = R0[K2('_DispatchUpdateBotScoreEvent')] (self)
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  SELF      R2 = R0[K3('_IsPlayerGuaranteedToLose')] (self)
  0007  CALL      R1 = call(R1, 1 args, 1 rets)
  0008  TEST      if not R1 then   -> -131062
  0009  JMP       (jump)   -> 19
  0010  SELF      R2 = R0[K4('ResetHasShownHalfDataTipWindow')] (self)
  0011  CALL      R1 = call(R1, 0 args, 1 rets)
  0012  SELF      R2 = R0[K5('ResetHasShownThirdDataTipWindow')] (self)
  0013  CALL      R1 = call(R1, 0 args, 1 rets)
  0014  SELF      R2 = R0[K6('_LogActivityEnd')] (self)
  0015  LOADBOOL  R3 = false
  0016  CALL      R1 = call(R1, 0 args, 2 rets)
  0017  SELF      R2 = R0[K7('_SetCurrentRoundFail')] (self)
  0018  CALL      R1 = call(R1, 0 args, 1 rets)
  0019  RETURN    return R0..R-1
; ---------- proto26 [GetBoardEntryShowConfig] ----------
  ; fn ?  line 555-564 np=1 va=0 ms=3 code=14 consts=8 upvals=0 protos=1
  ;   K[0]='statusChangeEvent'
  ;   K[1]='m_activityDefinition'
  ;   K[2]='StateChangedEvent'
  ;   K[3]='eEntryRootKey'
  ;   K[4]='EntryRootKey'
  ;   K[5]='entryPrefabName'
  ;   K[6]='BoardEntryPrefabName'
  ;   K[7]='checkFun'
  ;   locals: self(0-14)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  GETTABLE  R2 = R0[K1('m_activityDefinition')]
  0002  GETTABLE  R2 = R2[K2('StateChangedEvent')]
  0003  SETTABLE  R1[K0('statusChangeEvent')] = R2
  0004  GETTABLE  R2 = R0[K1('m_activityDefinition')]
  0005  GETTABLE  R2 = R2[K4('EntryRootKey')]
  0006  SETTABLE  R1[K3('eEntryRootKey')] = R2
  0007  GETTABLE  R2 = R0[K1('m_activityDefinition')]
  0008  GETTABLE  R2 = R2[K6('BoardEntryPrefabName')]
  0009  SETTABLE  R1[K5('entryPrefabName')] = R2
  0010  CLOSURE   R2 = closure proto0
  0011  SETTABLE  R1[K7('checkFun')] = R2
  0012  RETURN    return R1..R0
  0013  RETURN    return R0..R-1
  ; ---------- proto0 [checkFun] ----------
    ; fn ?  line 560-562 np=0 va=0 ms=2 code=5 consts=1 upvals=1 protos=0
    ;   K[0]='CanAddScore'
    ;   upvals: self
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('CanAddScore')] (self)
    0002  TAILCALL  tailcall(R0, 0)
    0003  RETURN    return R0..R-1
    0004  RETURN    return R0..R-1
; ---------- proto27 [GetMapEntryShowConfig] ----------
  ; fn ?  line 567-577 np=1 va=0 ms=3 code=17 consts=10 upvals=0 protos=1
  ;   K[0]='statusChangeEvent'
  ;   K[1]='m_activityDefinition'
  ;   K[2]='StateChangedEvent'
  ;   K[3]='eEntryRootKey'
  ;   K[4]='EntryRootKey'
  ;   K[5]='entryPrefabName'
  ;   K[6]='EntryPrefabName'
  ;   K[7]='hudKey'
  ;   K[8]='EntryButtonKey'
  ;   K[9]='checkFun'
  ;   locals: self(0-17)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  GETTABLE  R2 = R0[K1('m_activityDefinition')]
  0002  GETTABLE  R2 = R2[K2('StateChangedEvent')]
  0003  SETTABLE  R1[K0('statusChangeEvent')] = R2
  0004  GETTABLE  R2 = R0[K1('m_activityDefinition')]
  0005  GETTABLE  R2 = R2[K4('EntryRootKey')]
  0006  SETTABLE  R1[K3('eEntryRootKey')] = R2
  0007  GETTABLE  R2 = R0[K1('m_activityDefinition')]
  0008  GETTABLE  R2 = R2[K6('EntryPrefabName')]
  0009  SETTABLE  R1[K5('entryPrefabName')] = R2
  0010  GETTABLE  R2 = R0[K1('m_activityDefinition')]
  0011  GETTABLE  R2 = R2[K8('EntryButtonKey')]
  0012  SETTABLE  R1[K7('hudKey')] = R2
  0013  CLOSURE   R2 = closure proto0
  0014  SETTABLE  R1[K9('checkFun')] = R2
  0015  RETURN    return R1..R0
  0016  RETURN    return R0..R-1
  ; ---------- proto0 [checkFun] ----------
    ; fn ?  line 573-575 np=0 va=0 ms=2 code=5 consts=1 upvals=1 protos=0
    ;   K[0]='CanAddScore'
    ;   upvals: self
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('CanAddScore')] (self)
    0002  TAILCALL  tailcall(R0, 0)
    0003  RETURN    return R0..R-1
    0004  RETURN    return R0..R-1
; ---------- proto28 [CanAddScore] ----------
  ; fn ?  line 579-587 np=1 va=0 ms=3 code=11 consts=2 upvals=0 protos=0
  ;   K[0]='IsActivityOpen'
  ;   K[1]='HasFinishedAllRounds'
  ;   locals: self(0-11)
  0000  SELF      R2 = R0[K0('IsActivityOpen')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131067
  0003  JMP       (jump)   -> 6
  0004  LOADBOOL  R1 = false
  0005  RETURN    return R1..R0
  0006  SELF      R2 = R0[K1('HasFinishedAllRounds')] (self)
  0007  CALL      R1 = call(R1, 1 args, 1 rets)
  0008  NOT       R1 = not R0
  0009  RETURN    return R1..R0
  0010  RETURN    return R0..R-1
; ---------- proto29 [_DispatchStateChangedEvent] ----------
  ; fn ?  line 591-593 np=1 va=0 ms=4 code=7 consts=4 upvals=1 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='DispatchEvent'
  ;   K[2]='GetActivityDefinition'
  ;   K[3]='StateChangedEvent'
  ;   upvals: _ENV
  ;   locals: self(0-7)
  0000  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0001  GETTABLE  R1 = R1[K1('DispatchEvent')]
  0002  SELF      R3 = R0[K2('GetActivityDefinition')] (self)
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  GETTABLE  R2 = R2[K3('StateChangedEvent')]
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  RETURN    return R0..R-1
; ---------- proto30 [_DispatchScoreChangedEvent] ----------
  ; fn ?  line 595-597 np=2 va=0 ms=5 code=8 consts=4 upvals=1 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='DispatchEvent'
  ;   K[2]='GetActivityDefinition'
  ;   K[3]='ScoreChangedEvent'
  ;   upvals: _ENV
  ;   locals: self(0-8), msg(0-8)
  0000  GETTABUP  R2 = _ENV[K0('EventDispatcher')]
  0001  GETTABLE  R2 = R2[K1('DispatchEvent')]
  0002  SELF      R4 = R0[K2('GetActivityDefinition')] (self)
  0003  CALL      R3 = call(R3, 1 args, 1 rets)
  0004  GETTABLE  R3 = R3[K3('ScoreChangedEvent')]
  0005  MOVE      R4 = R0
  0006  CALL      R2 = call(R2, 0 args, 2 rets)
  0007  RETURN    return R0..R-1
; ---------- proto31 [_DispatchUpdateBotScoreEvent] ----------
  ; fn ?  line 599-601 np=1 va=0 ms=4 code=7 consts=4 upvals=1 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='DispatchEvent'
  ;   K[2]='GetActivityDefinition'
  ;   K[3]='UpdateBotScoreEvent'
  ;   upvals: _ENV
  ;   locals: self(0-7)
  0000  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0001  GETTABLE  R1 = R1[K1('DispatchEvent')]
  0002  SELF      R3 = R0[K2('GetActivityDefinition')] (self)
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  GETTABLE  R2 = R2[K3('UpdateBotScoreEvent')]
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  RETURN    return R0..R-1
; ---------- proto32 [_OpenWindow] ----------
  ; fn ?  line 606-608 np=2 va=1 ms=8 code=11 consts=5 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='UIManager'
  ;   K[2]='OpenView'
  ;   K[3]='GetType'
  ;   K[4]='GetId'
  ;   upvals: _ENV
  ;   locals: self(0-11), prefabName(0-11)
  0000  GETTABUP  R2 = _ENV[K0('GM')]
  0001  GETTABLE  R2 = R2[K1('UIManager')]
  0002  SELF      R3 = R2[K2('OpenView')] (self)
  0003  MOVE      R4 = R0
  0004  SELF      R6 = R0[K3('GetType')] (self)
  0005  CALL      R5 = call(R5, 1 args, 1 rets)
  0006  SELF      R7 = R0[K4('GetId')] (self)
  0007  CALL      R6 = call(R6, 1 args, 1 rets)
  0008  VARARG    R7 = vararg(0)
  0009  CALL      R2 = call(R2, 0 args, -1 rets)
  0010  RETURN    return R0..R-1
; ---------- proto33 [OpenMainWindow] ----------
  ; fn ?  line 612-614 np=3 va=0 ms=8 code=8 consts=3 upvals=0 protos=0
  ;   K[0]='_OpenWindow'
  ;   K[1]='GetActivityDefinition'
  ;   K[2]='MainWindowPrefabName'
  ;   locals: self(0-8), bAuto(0-8), bIsFromStartWindow(0-8)
  0000  SELF      R4 = R0[K0('_OpenWindow')] (self)
  0001  SELF      R6 = R0[K1('GetActivityDefinition')] (self)
  0002  CALL      R5 = call(R5, 1 args, 1 rets)
  0003  GETTABLE  R5 = R5[K2('MainWindowPrefabName')]
  0004  MOVE      R6 = R0
  0005  MOVE      R7 = R0
  0006  CALL      R3 = call(R3, 0 args, 4 rets)
  0007  RETURN    return R0..R-1
; ---------- proto34 [OpenStartWindow] ----------
  ; fn ?  line 617-619 np=2 va=0 ms=6 code=7 consts=3 upvals=0 protos=0
  ;   K[0]='_OpenWindow'
  ;   K[1]='GetActivityDefinition'
  ;   K[2]='StartWindowPrefabName'
  ;   locals: self(0-7), bAuto(0-7)
  0000  SELF      R3 = R0[K0('_OpenWindow')] (self)
  0001  SELF      R5 = R0[K1('GetActivityDefinition')] (self)
  0002  CALL      R4 = call(R4, 1 args, 1 rets)
  0003  GETTABLE  R4 = R4[K2('StartWindowPrefabName')]
  0004  MOVE      R5 = R0
  0005  CALL      R2 = call(R2, 0 args, 3 rets)
  0006  RETURN    return R0..R-1
; ---------- proto35 [OpenFailWindow] ----------
  ; fn ?  line 622-624 np=2 va=0 ms=6 code=7 consts=3 upvals=0 protos=0
  ;   K[0]='_OpenWindow'
  ;   K[1]='GetActivityDefinition'
  ;   K[2]='FailWindowPrefabName'
  ;   locals: self(0-7), bAuto(0-7)
  0000  SELF      R3 = R0[K0('_OpenWindow')] (self)
  0001  SELF      R5 = R0[K1('GetActivityDefinition')] (self)
  0002  CALL      R4 = call(R4, 1 args, 1 rets)
  0003  GETTABLE  R4 = R4[K2('FailWindowPrefabName')]
  0004  MOVE      R5 = R0
  0005  CALL      R2 = call(R2, 0 args, 3 rets)
  0006  RETURN    return R0..R-1
; ---------- proto36 [TryOpenMainWindow] ----------
  ; fn ?  line 627-636 np=1 va=0 ms=4 code=12 consts=3 upvals=0 protos=1
  ;   K[0]='HasNetwork'
  ;   K[1]='OnNetError'
  ;   K[2]='OpenMainWindow'
  ;   locals: self(0-12)
  0000  SELF      R2 = R0[K0('HasNetwork')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131067
  0003  JMP       (jump)   -> 8
  0004  SELF      R2 = R0[K1('OnNetError')] (self)
  0005  CLOSURE   R3 = closure proto0
  0006  CALL      R1 = call(R1, 0 args, 2 rets)
  0007  RETURN    return R0..R-1
  0008  SELF      R2 = R0[K2('OpenMainWindow')] (self)
  0009  LOADBOOL  R3 = false
  0010  CALL      R1 = call(R1, 0 args, 2 rets)
  0011  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 630-632 np=0 va=0 ms=2 code=4 consts=1 upvals=1 protos=0
    ;   K[0]='TryOpenMainWindow'
    ;   upvals: self
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('TryOpenMainWindow')] (self)
    0002  CALL      R0 = call(R0, 0 args, 1 rets)
    0003  RETURN    return R0..R-1
; ---------- proto37 [OnEntryClicked] ----------
  ; fn ?  line 638-644 np=1 va=0 ms=4 code=11 consts=3 upvals=0 protos=0
  ;   K[0]='IsInRace'
  ;   K[1]='TryOpenMainWindow'
  ;   K[2]='OpenStartWindow'
  ;   locals: self(0-11)
  0000  SELF      R2 = R0[K0('IsInRace')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131068
  0003  JMP       (jump)   -> 7
  0004  SELF      R2 = R0[K1('TryOpenMainWindow')] (self)
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  JMP       (jump)   -> 10
  0007  SELF      R2 = R0[K2('OpenStartWindow')] (self)
  0008  LOADBOOL  R3 = false
  0009  CALL      R1 = call(R1, 0 args, 2 rets)
  0010  RETURN    return R0..R-1
; ---------- proto38 [GetHasShownHalfDataTipWindow] ----------
  ; fn ?  line 650-652 np=1 va=0 ms=5 code=10 consts=4 upvals=1 protos=0
  ;   K[0]='_DBTableGetNumber'
  ;   K[1]='HasShownHalfDataTipWindow'
  ;   K[2]=0
  ;   K[3]=1
  ;   upvals: DBKey
  ;   locals: self(0-10)
  0000  SELF      R2 = R0[K0('_DBTableGetNumber')] (self)
  0001  GETTABUP  R3 = DBKey[K1('HasShownHalfDataTipWindow')]
  0002  LOADK     R4 = K2 0
  0003  CALL      R1 = call(R1, 1 args, 3 rets)
  0004  EQ        if R1 eq K3(1)   -> -130295
  0005  JMP       (jump)   -> 7
  0006  LOADBOOL  R1 = false
  0007  LOADBOOL  R1 = true
  0008  RETURN    return R1..R0
  0009  RETURN    return R0..R-1
; ---------- proto39 [SetHasShownHalfDataTipWindow] ----------
  ; fn ?  line 654-656 np=1 va=0 ms=5 code=5 consts=3 upvals=1 protos=0
  ;   K[0]='_DBTableSet'
  ;   K[1]='HasShownHalfDataTipWindow'
  ;   K[2]=1
  ;   upvals: DBKey
  ;   locals: self(0-5)
  0000  SELF      R2 = R0[K0('_DBTableSet')] (self)
  0001  GETTABUP  R3 = DBKey[K1('HasShownHalfDataTipWindow')]
  0002  LOADK     R4 = K2 1
  0003  CALL      R1 = call(R1, 0 args, 3 rets)
  0004  RETURN    return R0..R-1
; ---------- proto40 [ResetHasShownHalfDataTipWindow] ----------
  ; fn ?  line 659-661 np=1 va=0 ms=5 code=5 consts=3 upvals=1 protos=0
  ;   K[0]='_DBTableSet'
  ;   K[1]='HasShownHalfDataTipWindow'
  ;   K[2]=0
  ;   upvals: DBKey
  ;   locals: self(0-5)
  0000  SELF      R2 = R0[K0('_DBTableSet')] (self)
  0001  GETTABUP  R3 = DBKey[K1('HasShownHalfDataTipWindow')]
  0002  LOADK     R4 = K2 0
  0003  CALL      R1 = call(R1, 0 args, 3 rets)
  0004  RETURN    return R0..R-1
; ---------- proto41 [GetHasShownThirdDataTipWindow] ----------
  ; fn ?  line 664-666 np=1 va=0 ms=5 code=10 consts=4 upvals=1 protos=0
  ;   K[0]='_DBTableGetNumber'
  ;   K[1]='HasShownThirdDataTipWindow'
  ;   K[2]=0
  ;   K[3]=1
  ;   upvals: DBKey
  ;   locals: self(0-10)
  0000  SELF      R2 = R0[K0('_DBTableGetNumber')] (self)
  0001  GETTABUP  R3 = DBKey[K1('HasShownThirdDataTipWindow')]
  0002  LOADK     R4 = K2 0
  0003  CALL      R1 = call(R1, 1 args, 3 rets)
  0004  EQ        if R1 eq K3(1)   -> -130295
  0005  JMP       (jump)   -> 7
  0006  LOADBOOL  R1 = false
  0007  LOADBOOL  R1 = true
  0008  RETURN    return R1..R0
  0009  RETURN    return R0..R-1
; ---------- proto42 [SetHasShownThirdDataTipWindow] ----------
  ; fn ?  line 668-670 np=1 va=0 ms=5 code=5 consts=3 upvals=1 protos=0
  ;   K[0]='_DBTableSet'
  ;   K[1]='HasShownThirdDataTipWindow'
  ;   K[2]=1
  ;   upvals: DBKey
  ;   locals: self(0-5)
  0000  SELF      R2 = R0[K0('_DBTableSet')] (self)
  0001  GETTABUP  R3 = DBKey[K1('HasShownThirdDataTipWindow')]
  0002  LOADK     R4 = K2 1
  0003  CALL      R1 = call(R1, 0 args, 3 rets)
  0004  RETURN    return R0..R-1
; ---------- proto43 [ResetHasShownThirdDataTipWindow] ----------
  ; fn ?  line 672-674 np=1 va=0 ms=5 code=5 consts=3 upvals=1 protos=0
  ;   K[0]='_DBTableSet'
  ;   K[1]='HasShownThirdDataTipWindow'
  ;   K[2]=0
  ;   upvals: DBKey
  ;   locals: self(0-5)
  0000  SELF      R2 = R0[K0('_DBTableSet')] (self)
  0001  GETTABUP  R3 = DBKey[K1('HasShownThirdDataTipWindow')]
  0002  LOADK     R4 = K2 0
  0003  CALL      R1 = call(R1, 0 args, 3 rets)
  0004  RETURN    return R0..R-1
; ---------- proto44 [GetKidSkinNames] ----------
  ; fn ?  line 676-678 np=1 va=0 ms=4 code=5 consts=2 upvals=1 protos=0
  ;   K[0]='_DBTableGetTable'
  ;   K[1]='KidSkinName'
  ;   upvals: DBKey
  ;   locals: self(0-5)
  0000  SELF      R2 = R0[K0('_DBTableGetTable')] (self)
  0001  GETTABUP  R3 = DBKey[K1('KidSkinName')]
  0002  TAILCALL  tailcall(R1, 0)
  0003  RETURN    return R1..R0
  0004  RETURN    return R0..R-1
; ---------- proto45 [SetKidSkinNames] ----------
  ; fn ?  line 680-682 np=2 va=0 ms=7 code=14 consts=4 upvals=2 protos=0
  ;   K[0]='_DBTableSetTable'
  ;   K[1]='KidSkinName'
  ;   K[2]='Table'
  ;   K[3]='IsEmpty'
  ;   upvals: DBKey, _ENV
  ;   locals: self(0-14), kidsCell(0-14)
  0000  SELF      R3 = R0[K0('_DBTableSetTable')] (self)
  0001  GETTABUP  R4 = DBKey[K1('KidSkinName')]
  0002  GETTABUP  R5 = _ENV[K2('Table')]
  0003  GETTABLE  R5 = R5[K3('IsEmpty')]
  0004  MOVE      R6 = R0
  0005  CALL      R5 = call(R5, 1 args, 1 rets)
  0006  TEST      if not R5 then   -> -131064
  0007  JMP       (jump)   -> 11
  0008  NEWTABLE  R5 = {} (0 items)
  0009  TEST      if not R5 then   -> -131060
  0010  JMP       (jump)   -> 12
  0011  MOVE      R5 = R0
  0012  CALL      R2 = call(R2, 0 args, 3 rets)
  0013  RETURN    return R0..R-1
; ---------- proto46 [GetLastLeftGuestsCount] ----------
  ; fn ?  line 684-686 np=1 va=0 ms=5 code=6 consts=3 upvals=1 protos=0
  ;   K[0]='_DBTableGetNumber'
  ;   K[1]='LastLeftGuestsCount'
  ;   K[2]=0
  ;   upvals: DBKey
  ;   locals: self(0-6)
  0000  SELF      R2 = R0[K0('_DBTableGetNumber')] (self)
  0001  GETTABUP  R3 = DBKey[K1('LastLeftGuestsCount')]
  0002  LOADK     R4 = K2 0
  0003  TAILCALL  tailcall(R1, 0)
  0004  RETURN    return R1..R0
  0005  RETURN    return R0..R-1
; ---------- proto47 [SetLastLeftGuestsCount] ----------
  ; fn ?  line 688-690 np=2 va=0 ms=6 code=5 consts=2 upvals=1 protos=0
  ;   K[0]='_DBTableSet'
  ;   K[1]='LastLeftGuestsCount'
  ;   upvals: DBKey
  ;   locals: self(0-5), value(0-5)
  0000  SELF      R3 = R0[K0('_DBTableSet')] (self)
  0001  GETTABUP  R4 = DBKey[K1('LastLeftGuestsCount')]
  0002  MOVE      R5 = R0
  0003  CALL      R2 = call(R2, 0 args, 3 rets)
  0004  RETURN    return R0..R-1
; ---------- proto48 [GetTotalPlayerCount] ----------
  ; fn ?  line 696-698 np=1 va=0 ms=2 code=3 consts=0 upvals=1 protos=0
  ;   upvals: kTotalStoreCount
  ;   locals: self(0-3)
  0000  GETUPVAL  R1 = kTotalStoreCount
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto49 [GetLeftGuestsCountByCurrentRound] ----------
  ; fn ?  line 701-712 np=1 va=0 ms=13 code=26 consts=7 upvals=1 protos=0
  ;   K[0]='GetCurrentRound'
  ;   K[1]='GetTargetScore'
  ;   K[2]=0
  ;   K[3]='GetGapTime'
  ;   K[4]='ipairs'
  ;   K[5]='m_arrPlayerData'
  ;   K[6]='GetCurScore'
  ;   upvals: _ENV
  ;   locals: self(0-26), curRound(2-26), targetScore(4-26), curTotalScore(5-26), gapTime(7-26), (for generator)(10-17), (for state)(10-17), (for control)(10-17), _(11-15), playerData(11-15), leftGuestsCount(18-26)
  0000  SELF      R2 = R0[K0('GetCurrentRound')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  SELF      R3 = R0[K1('GetTargetScore')] (self)
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  LOADK     R3 = K2 0
  0005  SELF      R5 = R0[K3('GetGapTime')] (self)
  0006  CALL      R4 = call(R4, 1 args, 1 rets)
  0007  GETTABUP  R5 = _ENV[K4('ipairs')]
  0008  GETTABLE  R6 = R0[K5('m_arrPlayerData')]
  0009  CALL      R5 = call(R5, 3 args, 1 rets)
  0010  JMP       (jump)   -> 15
  0011  SELF      R11 = R9[K6('GetCurScore')] (self)
  0012  MOVE      R12 = R0
  0013  CALL      R10 = call(R10, 1 args, 2 rets)
  0014  ADD       R3 = R10 add R3
  0015  TFORCALL  tforcall R5
  0016  TFORLOOP  tforloop R7(sBx=-6)   -> 11
  0017  SUB       R5 = R3 sub R2
  0018  LT        if R0 lt K2(0)   -> -128234
  0019  JMP       (jump)   -> 23
  0020  LOADK     R6 = K2 0
  0021  TEST      if not R6 then   -> -131048
  0022  JMP       (jump)   -> 24
  0023  MOVE      R6 = R0
  0024  RETURN    return R6..R5
  0025  RETURN    return R0..R-1
; ---------- proto50 [GetLeftGuestsCountForDisplay] ----------
  ; fn ?  line 715-725 np=1 va=0 ms=12 code=24 consts=6 upvals=1 protos=0
  ;   K[0]='GetTargetScoreForDisplay'
  ;   K[1]=0
  ;   K[2]='GetGapTime'
  ;   K[3]='ipairs'
  ;   K[4]='m_arrPlayerData'
  ;   K[5]='GetCurScore'
  ;   upvals: _ENV
  ;   locals: self(0-24), targetScore(2-24), curTotalScore(3-24), gapTime(5-24), (for generator)(8-15), (for state)(8-15), (for control)(8-15), _(9-13), playerData(9-13), leftGuestsCount(16-24)
  0000  SELF      R2 = R0[K0('GetTargetScoreForDisplay')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  LOADK     R2 = K1 0
  0003  SELF      R4 = R0[K2('GetGapTime')] (self)
  0004  CALL      R3 = call(R3, 1 args, 1 rets)
  0005  GETTABUP  R4 = _ENV[K3('ipairs')]
  0006  GETTABLE  R5 = R0[K4('m_arrPlayerData')]
  0007  CALL      R4 = call(R4, 3 args, 1 rets)
  0008  JMP       (jump)   -> 13
  0009  SELF      R10 = R8[K5('GetCurScore')] (self)
  0010  MOVE      R11 = R0
  0011  CALL      R9 = call(R9, 1 args, 2 rets)
  0012  ADD       R2 = R9 add R2
  0013  TFORCALL  tforcall R4
  0014  TFORLOOP  tforloop R6(sBx=-6)   -> 9
  0015  SUB       R4 = R2 sub R1
  0016  LT        if R0 lt K1(0)   -> -128749
  0017  JMP       (jump)   -> 21
  0018  LOADK     R5 = K1 0
  0019  TEST      if not R5 then   -> -131050
  0020  JMP       (jump)   -> 22
  0021  MOVE      R5 = R0
  0022  RETURN    return R5..R4
  0023  RETURN    return R0..R-1
; ---------- proto51 [UpdateLeftGuestsCount] ----------
  ; fn ?  line 727-734 np=1 va=0 ms=6 code=16 consts=5 upvals=0 protos=0
  ;   K[0]='GetLeftGuestsCountByCurrentRound'
  ;   K[1]='GetTargetScore'
  ;   K[2]=0
  ;   K[3]=''
  ;   K[4]='/'
  ;   locals: self(0-16), leftGuestsCount(2-16), targetScore(4-16)
  0000  SELF      R2 = R0[K0('GetLeftGuestsCountByCurrentRound')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  SELF      R3 = R0[K1('GetTargetScore')] (self)
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  LT        if R1 lt K2(0)   -> -130296
  0005  JMP       (jump)   -> 8
  0006  LE        if R0 le K2(0)   -> -129782
  0007  JMP       (jump)   -> 10
  0008  LOADK     R3 = K3 ''
  0009  RETURN    return R3..R2
  0010  MOVE      R3 = R0
  0011  LOADK     R4 = K4 '/'
  0012  MOVE      R5 = R0
  0013  CONCAT    R3 = concat(R3..R3)
  0014  RETURN    return R3..R2
  0015  RETURN    return R0..R-1
; ---------- proto52 [GetCurrentRoundReward] ----------
  ; fn ?  line 739-747 np=1 va=0 ms=5 code=14 consts=5 upvals=0 protos=0
  ;   K[0]='GetCurrentRound'
  ;   K[1]='m_config'
  ;   K[2]='roundConfigs'
  ;   K[3]=nil
  ;   K[4]='rewards'
  ;   locals: self(0-14), round(2-14), roundConfig(5-14)
  0000  SELF      R2 = R0[K0('GetCurrentRound')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  GETTABLE  R2 = R0[K1('m_config')]
  0003  GETTABLE  R2 = R2[K2('roundConfigs')]
  0004  GETTABLE  R2 = R2[R1]
  0005  EQ        if R1 eq K3(nil)   -> -129782
  0006  JMP       (jump)   -> 11
  0007  NEWTABLE  R3 = {} (1 items)
  0008  GETTABLE  R4 = R2[K4('rewards')]
  0009  SETLIST   setlist R3[B=1,C=1]
  0010  RETURN    return R3..R2
  0011  NEWTABLE  R3 = {} (0 items)
  0012  RETURN    return R3..R2
  0013  RETURN    return R0..R-1
; ---------- proto53 [_PlayerRankSortFunc] ----------
  ; fn ?  line 749-771 np=3 va=0 ms=8 code=49 consts=4 upvals=0 protos=0
  ;   K[0]='m_curScore'
  ;   K[1]='IsMySelf'
  ;   K[2]='m_curTime'
  ;   K[3]='GetUserId'
  ;   locals: self(0-49), a(0-49), b(0-49), isAPlayer(13-49), isBPlayer(15-49)
  0000  GETTABLE  R3 = R1[K0('m_curScore')]
  0001  GETTABLE  R4 = R2[K0('m_curScore')]
  0002  EQ        if R1 eq R4   -> -129528
  0003  JMP       (jump)   -> 11
  0004  GETTABLE  R3 = R1[K0('m_curScore')]
  0005  GETTABLE  R4 = R2[K0('m_curScore')]
  0006  LT        if R1 lt R3   -> -129013
  0007  JMP       (jump)   -> 9
  0008  LOADBOOL  R3 = false
  0009  LOADBOOL  R3 = true
  0010  RETURN    return R3..R2
  0011  SELF      R4 = R1[K1('IsMySelf')] (self)
  0012  CALL      R3 = call(R3, 1 args, 1 rets)
  0013  SELF      R5 = R2[K1('IsMySelf')] (self)
  0014  CALL      R4 = call(R4, 1 args, 1 rets)
  0015  GETTABLE  R5 = R1[K2('m_curTime')]
  0016  GETTABLE  R6 = R2[K2('m_curTime')]
  0017  EQ        if R1 eq R6   -> -128487
  0018  JMP       (jump)   -> 26
  0019  GETTABLE  R5 = R1[K2('m_curTime')]
  0020  GETTABLE  R6 = R2[K2('m_curTime')]
  0021  LT        if R1 lt R6   -> -128483
  0022  JMP       (jump)   -> 24
  0023  LOADBOOL  R5 = false
  0024  LOADBOOL  R5 = true
  0025  RETURN    return R5..R4
  0026  TEST      if not R3 then   -> -131044
  0027  JMP       (jump)   -> 33
  0028  TEST      if not R4 then   -> -131041
  0029  JMP       (jump)   -> 33
  0030  LOADBOOL  R5 = true
  0031  RETURN    return R5..R4
  0032  JMP       (jump)   -> 39
  0033  TEST      if not R3 then   -> -131036
  0034  JMP       (jump)   -> 39
  0035  TEST      if not R4 then   -> -131035
  0036  JMP       (jump)   -> 39
  0037  LOADBOOL  R5 = false
  0038  RETURN    return R5..R4
  0039  SELF      R6 = R1[K3('GetUserId')] (self)
  0040  CALL      R5 = call(R5, 1 args, 1 rets)
  0041  SELF      R7 = R2[K3('GetUserId')] (self)
  0042  CALL      R6 = call(R6, 1 args, 1 rets)
  0043  LT        if R1 lt R5   -> -127950
  0044  JMP       (jump)   -> 46
  0045  LOADBOOL  R5 = false
  0046  LOADBOOL  R5 = true
  0047  RETURN    return R5..R4
  0048  RETURN    return R0..R-1
; ---------- proto54 [_IsPlayerGuaranteedToLose] ----------
  ; fn ?  line 774-795 np=1 va=0 ms=15 code=39 consts=10 upvals=1 protos=0
  ;   K[0]='GetMyScore'
  ;   K[1]='GetMyRank'
  ;   K[2]='GetLeftGuestsCountByCurrentRound'
  ;   K[3]=0
  ;   K[4]=1
  ;   K[5]='GetGapTime'
  ;   K[6]='ipairs'
  ;   K[7]='m_arrPlayerData'
  ;   K[8]='IsMySelf'
  ;   K[9]='GetCurScore'
  ;   upvals: _ENV
  ;   locals: self(0-39), myScore(2-39), myRank(5-39), leftGuestsCount(7-39), myTotalScore(15-39), gapTime(17-39), playerScore(18-39), (for generator)(21-36), (for state)(21-36), (for control)(21-36), _(22-34), playerData(22-34)
  0000  SELF      R2 = R0[K0('GetMyScore')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  SELF      R3 = R0[K1('GetMyRank')] (self)
  0003  LOADBOOL  R4 = true
  0004  CALL      R2 = call(R2, 1 args, 2 rets)
  0005  SELF      R4 = R0[K2('GetLeftGuestsCountByCurrentRound')] (self)
  0006  CALL      R3 = call(R3, 1 args, 1 rets)
  0007  EQ        if R0 eq K3(0)   -> -129268
  0008  JMP       (jump)   -> 14
  0009  EQ        if R0 eq K4(1)   -> -129777
  0010  JMP       (jump)   -> 12
  0011  LOADBOOL  R4 = false
  0012  LOADBOOL  R4 = true
  0013  RETURN    return R4..R3
  0014  ADD       R4 = R3 add R1
  0015  SELF      R6 = R0[K5('GetGapTime')] (self)
  0016  CALL      R5 = call(R5, 1 args, 1 rets)
  0017  LOADNIL   R6..R6 = nil
  0018  GETTABUP  R7 = _ENV[K6('ipairs')]
  0019  GETTABLE  R8 = R0[K7('m_arrPlayerData')]
  0020  CALL      R7 = call(R7, 3 args, 1 rets)
  0021  JMP       (jump)   -> 34
  0022  SELF      R13 = R11[K8('IsMySelf')] (self)
  0023  CALL      R12 = call(R12, 1 args, 1 rets)
  0024  TEST      if not R12 then   -> -131045
  0025  JMP       (jump)   -> 34
  0026  SELF      R13 = R11[K9('GetCurScore')] (self)
  0027  MOVE      R14 = R0
  0028  CALL      R12 = call(R12, 1 args, 2 rets)
  0029  MOVE      R6 = R0
  0030  LE        if R0 le R6   -> -128986
  0031  JMP       (jump)   -> 34
  0032  LOADBOOL  R12 = true
  0033  RETURN    return R12..R11
  0034  TFORCALL  tforcall R7
  0035  TFORLOOP  tforloop R9(sBx=-14)   -> 22
  0036  LOADBOOL  R7 = false
  0037  RETURN    return R7..R6
  0038  RETURN    return R0..R-1
; ---------- proto55 [_IsPlayerGuaranteedToWin] ----------
  ; fn ?  line 799-815 np=1 va=0 ms=13 code=29 consts=7 upvals=1 protos=0
  ;   K[0]='GetMyScore'
  ;   K[1]='GetLeftGuestsCountByCurrentRound'
  ;   K[2]='GetGapTime'
  ;   K[3]='ipairs'
  ;   K[4]='m_arrPlayerData'
  ;   K[5]='IsMySelf'
  ;   K[6]='GetCurScore'
  ;   upvals: _ENV
  ;   locals: self(0-29), myScore(2-29), leftGuestsCount(4-29), gapTime(6-29), playerScore(7-29), (for generator)(10-26), (for state)(10-26), (for control)(10-26), _(11-24), playerData(11-24)
  0000  SELF      R2 = R0[K0('GetMyScore')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  SELF      R3 = R0[K1('GetLeftGuestsCountByCurrentRound')] (self)
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  SELF      R4 = R0[K2('GetGapTime')] (self)
  0005  CALL      R3 = call(R3, 1 args, 1 rets)
  0006  LOADNIL   R4..R4 = nil
  0007  GETTABUP  R5 = _ENV[K3('ipairs')]
  0008  GETTABLE  R6 = R0[K4('m_arrPlayerData')]
  0009  CALL      R5 = call(R5, 3 args, 1 rets)
  0010  JMP       (jump)   -> 24
  0011  SELF      R11 = R9[K5('IsMySelf')] (self)
  0012  CALL      R10 = call(R10, 1 args, 1 rets)
  0013  TEST      if not R10 then   -> -131056
  0014  JMP       (jump)   -> 24
  0015  SELF      R11 = R9[K6('GetCurScore')] (self)
  0016  MOVE      R12 = R0
  0017  CALL      R10 = call(R10, 1 args, 2 rets)
  0018  MOVE      R4 = R0
  0019  ADD       R10 = R2 add R4
  0020  LT        if R0 lt R10   -> -130528
  0021  JMP       (jump)   -> 24
  0022  LOADBOOL  R10 = false
  0023  RETURN    return R10..R9
  0024  TFORCALL  tforcall R5
  0025  TFORLOOP  tforloop R7(sBx=-15)   -> 11
  0026  LOADBOOL  R5 = true
  0027  RETURN    return R5..R4
  0028  RETURN    return R0..R-1
; ---------- proto56 [GetProgressReward] ----------
  ; fn ?  line 820-827 np=2 va=0 ms=4 code=10 consts=4 upvals=0 protos=0
  ;   K[0]='m_config'
  ;   K[1]='roundConfigs'
  ;   K[2]=nil
  ;   K[3]='progressRewards'
  ;   locals: self(0-10), round(0-10), roundConfig(3-10)
  0000  GETTABLE  R2 = R0[K0('m_config')]
  0001  GETTABLE  R2 = R2[K1('roundConfigs')]
  0002  GETTABLE  R2 = R2[R1]
  0003  EQ        if R1 eq K2(nil)   -> -129785
  0004  JMP       (jump)   -> 7
  0005  GETTABLE  R3 = R2[K3('progressRewards')]
  0006  RETURN    return R3..R2
  0007  NEWTABLE  R3 = {} (0 items)
  0008  RETURN    return R3..R2
  0009  RETURN    return R0..R-1
; ---------- proto57 [GetProgressRewardConfigs] ----------
  ; fn ?  line 831-833 np=1 va=0 ms=3 code=4 consts=2 upvals=0 protos=0
  ;   K[0]='m_progressReward'
  ;   K[1]='m_maxRound'
  ;   locals: self(0-4)
  0000  GETTABLE  R1 = R0[K0('m_progressReward')]
  0001  GETTABLE  R2 = R0[K1('m_maxRound')]
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
; ---------- proto58 [GetStageIndexByRound] ----------
  ; fn ?  line 835-842 np=2 va=0 ms=8 code=13 consts=3 upvals=1 protos=0
  ;   K[0]='ipairs'
  ;   K[1]='m_progressReward'
  ;   K[2]='round'
  ;   upvals: _ENV
  ;   locals: self(0-13), roundIndex(0-13), (for generator)(3-10), (for state)(3-10), (for control)(3-10), stageIndex(4-8), stageConfig(4-8)
  0000  GETTABUP  R2 = _ENV[K0('ipairs')]
  0001  GETTABLE  R3 = R0[K1('m_progressReward')]
  0002  CALL      R2 = call(R2, 3 args, 1 rets)
  0003  JMP       (jump)   -> 8
  0004  GETTABLE  R7 = R6[K2('round')]
  0005  EQ        if R0 eq R1   -> -127480
  0006  JMP       (jump)   -> 8
  0007  RETURN    return R5..R4
  0008  TFORCALL  tforcall R2
  0009  TFORLOOP  tforloop R4(sBx=-6)   -> 4
  0010  LOADNIL   R2..R2 = nil
  0011  RETURN    return R2..R1
  0012  RETURN    return R0..R-1
; ---------- proto59 [_CollectAllTimePoints] ----------
  ; fn ?  line 845-874 np=1 va=0 ms=18 code=40 consts=12 upvals=1 protos=1
  ;   K[0]='GetAllPlayerData'
  ;   K[1]='ipairs'
  ;   K[2]='IsMySelf'
  ;   K[3]='GetTrack'
  ;   K[4]='score'
  ;   K[5]='table'
  ;   K[6]='insert'
  ;   K[7]='time'
  ;   K[8]='seconds'
  ;   K[9]='track'
  ;   K[10]='sort'
  ;   K[11]='m_arrBotScoreTimePoint'
  ;   upvals: _ENV
  ;   locals: self(0-40), arrBotScoreTimePoint(1-40), track(2-40), arrPlayerData(4-40), (for generator)(7-33), (for state)(7-33), (for control)(7-33), _(8-31), playerData(8-31), (for generator)(18-31), (for state)(18-31), (for control)(18-31), _(19-29), scoreData(19-29)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  LOADNIL   R2..R2 = nil
  0002  SELF      R4 = R0[K0('GetAllPlayerData')] (self)
  0003  CALL      R3 = call(R3, 1 args, 1 rets)
  0004  GETTABUP  R4 = _ENV[K1('ipairs')]
  0005  MOVE      R5 = R0
  0006  CALL      R4 = call(R4, 3 args, 1 rets)
  0007  JMP       (jump)   -> 31
  0008  SELF      R10 = R8[K2('IsMySelf')] (self)
  0009  CALL      R9 = call(R9, 1 args, 1 rets)
  0010  TEST      if not R9 then   -> -131059
  0011  JMP       (jump)   -> 31
  0012  SELF      R10 = R8[K3('GetTrack')] (self)
  0013  CALL      R9 = call(R9, 1 args, 1 rets)
  0014  MOVE      R2 = R0
  0015  GETTABUP  R9 = _ENV[K1('ipairs')]
  0016  GETTABLE  R10 = R8[K4('score')]
  0017  CALL      R9 = call(R9, 3 args, 1 rets)
  0018  JMP       (jump)   -> 29
  0019  GETTABUP  R14 = _ENV[K5('table')]
  0020  GETTABLE  R14 = R14[K6('insert')]
  0021  MOVE      R15 = R0
  0022  NEWTABLE  R16 = {} (0 items)
  0023  GETTABLE  R17 = R13[K8('seconds')]
  0024  SETTABLE  R16[K7('time')] = R17
  0025  SETTABLE  R16[K9('track')] = R2
  0026  GETTABLE  R17 = R13[K4('score')]
  0027  SETTABLE  R16[K4('score')] = R17
  0028  CALL      R14 = call(R14, 0 args, 2 rets)
  0029  TFORCALL  tforcall R9
  0030  TFORLOOP  tforloop R11(sBx=-12)   -> 19
  0031  TFORCALL  tforcall R4
  0032  TFORLOOP  tforloop R6(sBx=-25)   -> 8
  0033  GETTABUP  R4 = _ENV[K5('table')]
  0034  GETTABLE  R4 = R4[K10('sort')]
  0035  MOVE      R5 = R0
  0036  CLOSURE   R6 = closure proto0
  0037  CALL      R4 = call(R4, 0 args, 2 rets)
  0038  SETTABLE  R0[K11('m_arrBotScoreTimePoint')] = R1
  0039  RETURN    return R0..R-1
  ; ---------- proto0 [m_arrBotScoreTimePoint] ----------
    ; fn ?  line 861-872 np=2 va=0 ms=4 code=30 consts=3 upvals=0 protos=0
    ;   K[0]='time'
    ;   K[1]='track'
    ;   K[2]='score'
    ;   locals: a(0-30), b(0-30)
    0000  GETTABLE  R2 = R0[K0('time')]
    0001  GETTABLE  R3 = R1[K0('time')]
    0002  EQ        if R1 eq R3   -> -130041
    0003  JMP       (jump)   -> 11
    0004  GETTABLE  R2 = R0[K0('time')]
    0005  GETTABLE  R3 = R1[K0('time')]
    0006  LT        if R1 lt R3   -> -130037
    0007  JMP       (jump)   -> 9
    0008  LOADBOOL  R2 = false
    0009  LOADBOOL  R2 = true
    0010  RETURN    return R2..R1
    0011  GETTABLE  R2 = R0[K1('track')]
    0012  GETTABLE  R3 = R1[K1('track')]
    0013  EQ        if R1 eq R3   -> -130030
    0014  JMP       (jump)   -> 22
    0015  GETTABLE  R2 = R0[K1('track')]
    0016  GETTABLE  R3 = R1[K1('track')]
    0017  LT        if R1 lt R3   -> -130026
    0018  JMP       (jump)   -> 20
    0019  LOADBOOL  R2 = false
    0020  LOADBOOL  R2 = true
    0021  RETURN    return R2..R1
    0022  GETTABLE  R2 = R0[K2('score')]
    0023  GETTABLE  R3 = R1[K2('score')]
    0024  LT        if R1 lt R3   -> -130019
    0025  JMP       (jump)   -> 27
    0026  LOADBOOL  R2 = false
    0027  LOADBOOL  R2 = true
    0028  RETURN    return R2..R1
    0029  RETURN    return R0..R-1
; ---------- proto60 [_GetBeforeGapTimePointsCount] ----------
  ; fn ?  line 878-889 np=2 va=0 ms=9 code=21 consts=8 upvals=1 protos=0
  ;   K[0]=0
  ;   K[1]='Table'
  ;   K[2]='IsEmpty'
  ;   K[3]='m_arrBotScoreTimePoint'
  ;   K[4]='_CollectAllTimePoints'
  ;   K[5]='ipairs'
  ;   K[6]='time'
  ;   K[7]=1
  ;   upvals: _ENV
  ;   locals: self(0-21), gapTime(0-21), count(1-21), (for generator)(12-19), (for state)(12-19), (for control)(12-19), _(13-17), config(13-17)
  0000  LOADK     R2 = K0 0
  0001  GETTABUP  R3 = _ENV[K1('Table')]
  0002  GETTABLE  R3 = R3[K2('IsEmpty')]
  0003  GETTABLE  R4 = R0[K3('m_arrBotScoreTimePoint')]
  0004  CALL      R3 = call(R3, 1 args, 1 rets)
  0005  TEST      if not R3 then   -> -131065
  0006  JMP       (jump)   -> 9
  0007  SELF      R4 = R0[K4('_CollectAllTimePoints')] (self)
  0008  CALL      R3 = call(R3, 0 args, 1 rets)
  0009  GETTABUP  R3 = _ENV[K5('ipairs')]
  0010  GETTABLE  R4 = R0[K3('m_arrBotScoreTimePoint')]
  0011  CALL      R3 = call(R3, 3 args, 1 rets)
  0012  JMP       (jump)   -> 17
  0013  GETTABLE  R8 = R7[K6('time')]
  0014  LE        if R0 le R1   -> -126959
  0015  JMP       (jump)   -> 17
  0016  ADD       R2 = K7(1) add R2
  0017  TFORCALL  tforcall R3
  0018  TFORLOOP  tforloop R5(sBx=-6)   -> 13
  0019  RETURN    return R2..R1
  0020  RETURN    return R0..R-1
; ---------- proto61 [GetCurrentScore] ----------
  ; fn ?  line 891-909 np=3 va=0 ms=16 code=53 consts=13 upvals=1 protos=0
  ;   K[0]='GetTargetScoreForDisplay'
  ;   K[1]='GetMyScore'
  ;   K[2]='math'
  ;   K[3]='max'
  ;   K[4]=0
  ;   K[5]='_GetBeforeGapTimePointsCount'
  ;   K[6]='min'
  ;   K[7]=1
  ;   K[8]=-1
  ;   K[9]='m_arrBotScoreTimePoint'
  ;   K[10]='track'
  ;   K[11]='score'
  ;   K[12]='time'
  ;   upvals: _ENV
  ;   locals: self(0-53), gapTime(0-53), track(0-53), score(2-53), myScore(4-53), leftScore(9-53), beforeGapTimePointCount(12-53), realCount(17-53), curTimeScorePoint(18-53), seenTrack(19-53), point(20-53), (for index)(23-35), (for limit)(23-35), (for step)(23-35), i(24-34)
  0000  SELF      R4 = R0[K0('GetTargetScoreForDisplay')] (self)
  0001  CALL      R3 = call(R3, 1 args, 1 rets)
  0002  SELF      R5 = R0[K1('GetMyScore')] (self)
  0003  CALL      R4 = call(R4, 1 args, 1 rets)
  0004  GETTABUP  R5 = _ENV[K2('math')]
  0005  GETTABLE  R5 = R5[K3('max')]
  0006  LOADK     R6 = K4 0
  0007  SUB       R7 = R4 sub R3
  0008  CALL      R5 = call(R5, 1 args, 2 rets)
  0009  SELF      R7 = R0[K5('_GetBeforeGapTimePointsCount')] (self)
  0010  MOVE      R8 = R0
  0011  CALL      R6 = call(R6, 1 args, 2 rets)
  0012  GETTABUP  R7 = _ENV[K2('math')]
  0013  GETTABLE  R7 = R7[K6('min')]
  0014  MOVE      R8 = R0
  0015  MOVE      R9 = R0
  0016  CALL      R7 = call(R7, 1 args, 2 rets)
  0017  LOADNIL   R8..R8 = nil
  0018  NEWTABLE  R9 = {} (0 items)
  0019  LOADNIL   R10..R10 = nil
  0020  MOVE      R11 = R0
  0021  LOADK     R12 = K7 1
  0022  LOADK     R13 = K8 -1
  0023  FORPREP   forprep R11(sBx=10)   -> 34
  0024  GETTABLE  R15 = R0[K9('m_arrBotScoreTimePoint')]
  0025  GETTABLE  R10 = R15[R14]
  0026  TEST      if not R10 then   -> -131044
  0027  JMP       (jump)   -> 34
  0028  GETTABLE  R15 = R10[K10('track')]
  0029  GETTABLE  R15 = R9[R15]
  0030  TEST      if not R15 then   -> -131039
  0031  JMP       (jump)   -> 34
  0032  GETTABLE  R15 = R10[K10('track')]
  0033  SETTABLE  R9[R15] = R10
  0034  FORLOOP   forloop R11(sBx=-11)   -> 24
  0035  GETTABLE  R11 = R9[R2]
  0036  TEST      if not R11 then   -> -131034
  0037  JMP       (jump)   -> 42
  0038  GETTABLE  R11 = R9[R2]
  0039  GETTABLE  R11 = R11[K11('score')]
  0040  TEST      if not R11 then   -> -131029
  0041  JMP       (jump)   -> 43
  0042  LOADK     R11 = K4 0
  0043  GETTABLE  R12 = R9[R2]
  0044  TEST      if not R12 then   -> -131026
  0045  JMP       (jump)   -> 50
  0046  GETTABLE  R12 = R9[R2]
  0047  GETTABLE  R12 = R12[K12('time')]
  0048  TEST      if not R12 then   -> -131021
  0049  JMP       (jump)   -> 51
  0050  LOADK     R12 = K4 0
  0051  RETURN    return R11..R10
  0052  RETURN    return R0..R-1
; ---------- proto62 [CanShowExclaimation] ----------
  ; fn ?  line 911-917 np=1 va=0 ms=3 code=12 consts=4 upvals=1 protos=0
  ;   K[0]='GetLeftGuestsCountByCurrentRound'
  ;   K[1]=0
  ;   K[2]='BaseRaceActivityModel'
  ;   K[3]='CanShowExclaimation'
  ;   upvals: _ENV
  ;   locals: self(0-12)
  0000  SELF      R2 = R0[K0('GetLeftGuestsCountByCurrentRound')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  EQ        if R0 eq K1(0)   -> -130299
  0003  JMP       (jump)   -> 6
  0004  LOADBOOL  R1 = true
  0005  RETURN    return R1..R0
  0006  GETTABUP  R1 = _ENV[K2('BaseRaceActivityModel')]
  0007  GETTABLE  R1 = R1[K3('CanShowExclaimation')]
  0008  MOVE      R2 = R0
  0009  TAILCALL  tailcall(R1, 0)
  0010  RETURN    return R1..R0
  0011  RETURN    return R0..R-1
; ---------- proto63 [_LogActivityEnd] ----------
  ; fn ?  line 922-936 np=2 va=0 ms=20 code=85 consts=27 upvals=1 protos=0
  ;   K[0]='GetCurrentRound'
  ;   K[1]='table'
  ;   K[2]='insert'
  ;   K[3]='round:'
  ;   K[4]='tostring'
  ;   K[5]='success:'
  ;   K[6]=1
  ;   K[7]=0
  ;   K[8]='playerScore:'
  ;   K[9]='GetMyScore'
  ;   K[10]='playerRank:'
  ;   K[11]='GetMyRank'
  ;   K[12]='GetAllPlayerData'
  ;   K[13]='ipairs'
  ;   K[14]='IsMySelf'
  ;   K[15]='BotScore'
  ;   K[16]='GetTrack'
  ;   K[17]=':'
  ;   K[18]='GetCurScore'
  ;   K[19]='GetGapTime'
  ;   K[20]='GM'
  ;   K[21]='BIManager'
  ;   K[22]='LogAction'
  ;   K[23]='m_activityDefinition'
  ;   K[24]='RoundEndBIType'
  ;   K[25]='concat'
  ;   K[26]=';'
  ;   upvals: _ENV
  ;   locals: self(0-85), bSuccess(0-85), round(2-85), biInfo(3-85), arrPlayerData(48-85), (for generator)(51-73), (for state)(51-73), (for control)(51-73), _(52-71), playerData(52-71)
  0000  SELF      R3 = R0[K0('GetCurrentRound')] (self)
  0001  CALL      R2 = call(R2, 1 args, 1 rets)
  0002  NEWTABLE  R3 = {} (0 items)
  0003  GETTABUP  R4 = _ENV[K1('table')]
  0004  GETTABLE  R4 = R4[K2('insert')]
  0005  MOVE      R5 = R0
  0006  LOADK     R6 = K3 'round:'
  0007  GETTABUP  R7 = _ENV[K4('tostring')]
  0008  MOVE      R8 = R0
  0009  CALL      R7 = call(R7, 1 args, 1 rets)
  0010  CONCAT    R6 = concat(R6..R6)
  0011  CALL      R4 = call(R4, 0 args, 2 rets)
  0012  GETTABUP  R4 = _ENV[K1('table')]
  0013  GETTABLE  R4 = R4[K2('insert')]
  0014  MOVE      R5 = R0
  0015  LOADK     R6 = K5 'success:'
  0016  GETTABUP  R7 = _ENV[K4('tostring')]
  0017  TEST      if not R1 then   -> -131053
  0018  JMP       (jump)   -> 22
  0019  LOADK     R8 = K6 1
  0020  TEST      if not R8 then   -> -131049
  0021  JMP       (jump)   -> 23
  0022  LOADK     R8 = K7 0
  0023  CALL      R7 = call(R7, 1 args, 1 rets)
  0024  CONCAT    R6 = concat(R6..R6)
  0025  CALL      R4 = call(R4, 0 args, 2 rets)
  0026  GETTABUP  R4 = _ENV[K1('table')]
  0027  GETTABLE  R4 = R4[K2('insert')]
  0028  MOVE      R5 = R0
  0029  LOADK     R6 = K8 'playerScore:'
  0030  GETTABUP  R7 = _ENV[K4('tostring')]
  0031  SELF      R9 = R0[K9('GetMyScore')] (self)
  0032  CALL      R8 = call(R8, -1 args, 1 rets)
  0033  CALL      R7 = call(R7, 1 args, -1 rets)
  0034  CONCAT    R6 = concat(R6..R6)
  0035  CALL      R4 = call(R4, 0 args, 2 rets)
  0036  GETTABUP  R4 = _ENV[K1('table')]
  0037  GETTABLE  R4 = R4[K2('insert')]
  0038  MOVE      R5 = R0
  0039  LOADK     R6 = K10 'playerRank:'
  0040  GETTABUP  R7 = _ENV[K4('tostring')]
  0041  SELF      R9 = R0[K11('GetMyRank')] (self)
  0042  CALL      R8 = call(R8, -1 args, 1 rets)
  0043  CALL      R7 = call(R7, 1 args, -1 rets)
  0044  CONCAT    R6 = concat(R6..R6)
  0045  CALL      R4 = call(R4, 0 args, 2 rets)
  0046  SELF      R5 = R0[K12('GetAllPlayerData')] (self)
  0047  CALL      R4 = call(R4, 1 args, 1 rets)
  0048  GETTABUP  R5 = _ENV[K13('ipairs')]
  0049  MOVE      R6 = R0
  0050  CALL      R5 = call(R5, 3 args, 1 rets)
  0051  JMP       (jump)   -> 71
  0052  SELF      R11 = R9[K14('IsMySelf')] (self)
  0053  CALL      R10 = call(R10, 1 args, 1 rets)
  0054  TEST      if not R10 then   -> -131015
  0055  JMP       (jump)   -> 71
  0056  GETTABUP  R10 = _ENV[K1('table')]
  0057  GETTABLE  R10 = R10[K2('insert')]
  0058  MOVE      R11 = R0
  0059  LOADK     R12 = K15 'BotScore'
  0060  SELF      R14 = R9[K16('GetTrack')] (self)
  0061  CALL      R13 = call(R13, 1 args, 1 rets)
  0062  LOADK     R14 = K17 ':'
  0063  GETTABUP  R15 = _ENV[K4('tostring')]
  0064  SELF      R17 = R9[K18('GetCurScore')] (self)
  0065  SELF      R19 = R0[K19('GetGapTime')] (self)
  0066  CALL      R18 = call(R18, -1 args, 1 rets)
  0067  CALL      R16 = call(R16, -1 args, -1 rets)
  0068  CALL      R15 = call(R15, 1 args, -1 rets)
  0069  CONCAT    R12 = concat(R12..R12)
  0070  CALL      R10 = call(R10, 0 args, 2 rets)
  0071  TFORCALL  tforcall R5
  0072  TFORLOOP  tforloop R7(sBx=-21)   -> 52
  0073  GETTABUP  R5 = _ENV[K20('GM')]
  0074  GETTABLE  R5 = R5[K21('BIManager')]
  0075  SELF      R6 = R5[K22('LogAction')] (self)
  0076  GETTABLE  R7 = R0[K23('m_activityDefinition')]
  0077  GETTABLE  R7 = R7[K24('RoundEndBIType')]
  0078  GETTABUP  R8 = _ENV[K1('table')]
  0079  GETTABLE  R8 = R8[K25('concat')]
  0080  MOVE      R9 = R0
  0081  LOADK     R10 = K26 ';'
  0082  CALL      R8 = call(R8, -1 args, 2 rets)
  0083  CALL      R5 = call(R5, 0 args, -1 rets)
  0084  RETURN    return R0..R-1
; ---------- proto64 [TestSuccessRound] ----------
  ; fn ?  line 941-947 np=1 va=0 ms=5 code=13 consts=6 upvals=1 protos=0
  ;   K[0]='GameConfig'
  ;   K[1]='IsTestMode'
  ;   K[2]='_AddMyScore'
  ;   K[3]='GetTargetScore'
  ;   K[4]='EBIType'
  ;   K[5]='Test'
  ;   upvals: _ENV
  ;   locals: self(0-13)
  0000  GETTABUP  R1 = _ENV[K0('GameConfig')]
  0001  GETTABLE  R1 = R1[K1('IsTestMode')]
  0002  CALL      R1 = call(R1, 1 args, 0 rets)
  0003  TEST      if not R1 then   -> -131066
  0004  JMP       (jump)   -> 6
  0005  RETURN    return R0..R-1
  0006  SELF      R2 = R0[K2('_AddMyScore')] (self)
  0007  SELF      R4 = R0[K3('GetTargetScore')] (self)
  0008  CALL      R3 = call(R3, 1 args, 1 rets)
  0009  GETTABUP  R4 = _ENV[K4('EBIType')]
  0010  GETTABLE  R4 = R4[K5('Test')]
  0011  CALL      R1 = call(R1, 0 args, 3 rets)
  0012  RETURN    return R0..R-1
; ---------- proto65 [TestFailRound] ----------
  ; fn ?  line 950-972 np=1 va=0 ms=16 code=49 consts=19 upvals=1 protos=0
  ;   K[0]='GameConfig'
  ;   K[1]='IsTestMode'
  ;   K[2]='GetGapTime'
  ;   K[3]='GetAllPlayerData'
  ;   K[4]='ipairs'
  ;   K[5]='IsMySelf'
  ;   K[6]='TestRobotSuccess'
  ;   K[7]='m_arrUpdateRobotTime'
  ;   K[8]='GM'
  ;   K[9]='GameModel'
  ;   K[10]='GetServerTime'
  ;   K[11]='m_arrBotScoreTimePoint'
  ;   K[12]=1
  ;   K[13]='GetTargetScore'
  ;   K[14]='table'
  ;   K[15]='insert'
  ;   K[16]='time'
  ;   K[17]='score'
  ;   K[18]='track'
  ;   upvals: _ENV
  ;   locals: self(0-49), curTime(8-49), arrPlayerData(10-49), (for generator)(13-48), (for state)(13-48), (for control)(13-48), _(14-46), playerData(14-46), (for index)(34-45), (for limit)(34-45), (for step)(34-45), i(35-44)
  0000  GETTABUP  R1 = _ENV[K0('GameConfig')]
  0001  GETTABLE  R1 = R1[K1('IsTestMode')]
  0002  CALL      R1 = call(R1, 1 args, 0 rets)
  0003  TEST      if not R1 then   -> -131066
  0004  JMP       (jump)   -> 6
  0005  RETURN    return R0..R-1
  0006  SELF      R2 = R0[K2('GetGapTime')] (self)
  0007  CALL      R1 = call(R1, 1 args, 1 rets)
  0008  SELF      R3 = R0[K3('GetAllPlayerData')] (self)
  0009  CALL      R2 = call(R2, 1 args, 1 rets)
  0010  GETTABUP  R3 = _ENV[K4('ipairs')]
  0011  MOVE      R4 = R0
  0012  CALL      R3 = call(R3, 3 args, 1 rets)
  0013  JMP       (jump)   -> 46
  0014  SELF      R9 = R7[K5('IsMySelf')] (self)
  0015  CALL      R8 = call(R8, 1 args, 1 rets)
  0016  TEST      if not R8 then   -> -131053
  0017  JMP       (jump)   -> 46
  0018  SELF      R9 = R7[K6('TestRobotSuccess')] (self)
  0019  MOVE      R10 = R0
  0020  CALL      R8 = call(R8, 0 args, 2 rets)
  0021  NEWTABLE  R8 = {} (0 items)
  0022  GETTABUP  R9 = _ENV[K8('GM')]
  0023  GETTABLE  R9 = R9[K9('GameModel')]
  0024  SELF      R10 = R9[K10('GetServerTime')] (self)
  0025  CALL      R9 = call(R9, -1 args, 1 rets)
  0026  SETLIST   setlist R8[B=1,C=0]
  0027  SETTABLE  R0[K7('m_arrUpdateRobotTime')] = R8
  0028  NEWTABLE  R8 = {} (0 items)
  0029  SETTABLE  R0[K11('m_arrBotScoreTimePoint')] = R8
  0030  LOADK     R8 = K12 1
  0031  SELF      R10 = R0[K13('GetTargetScore')] (self)
  0032  CALL      R9 = call(R9, 1 args, 1 rets)
  0033  LOADK     R10 = K12 1
  0034  FORPREP   forprep R8(sBx=9)   -> 44
  0035  GETTABUP  R12 = _ENV[K14('table')]
  0036  GETTABLE  R12 = R12[K15('insert')]
  0037  GETTABLE  R13 = R0[K11('m_arrBotScoreTimePoint')]
  0038  NEWTABLE  R14 = {} (0 items)
  0039  SETTABLE  R14[K16('time')] = R1
  0040  SETTABLE  R14[K17('score')] = R11
  0041  GETTABLE  R15 = R7[K18('track')]
  0042  SETTABLE  R14[K18('track')] = R15
  0043  CALL      R12 = call(R12, 0 args, 2 rets)
  0044  FORLOOP   forloop R8(sBx=-10)   -> 35
  0045  RETURN    return R0..R-1
  0046  TFORCALL  tforcall R3
  0047  TFORLOOP  tforloop R5(sBx=-34)   -> 14
  0048  RETURN    return R0..R-1
; ---------- proto66 [TestCompleteToFinalRound] ----------
  ; fn ?  line 975-983 np=1 va=0 ms=5 code=15 consts=6 upvals=1 protos=0
  ;   K[0]='GameConfig'
  ;   K[1]='IsTestMode'
  ;   K[2]='GetRoundCount'
  ;   K[3]=1
  ;   K[4]='SetCurrentRound'
  ;   K[5]='TestSuccessRound'
  ;   upvals: _ENV
  ;   locals: self(0-15), targetRound(9-15)
  0000  GETTABUP  R1 = _ENV[K0('GameConfig')]
  0001  GETTABLE  R1 = R1[K1('IsTestMode')]
  0002  CALL      R1 = call(R1, 1 args, 0 rets)
  0003  TEST      if not R1 then   -> -131066
  0004  JMP       (jump)   -> 6
  0005  RETURN    return R0..R-1
  0006  SELF      R2 = R0[K2('GetRoundCount')] (self)
  0007  CALL      R1 = call(R1, 1 args, 1 rets)
  0008  SUB       R1 = K3(1) sub R1
  0009  SELF      R3 = R0[K4('SetCurrentRound')] (self)
  0010  MOVE      R4 = R0
  0011  CALL      R2 = call(R2, 0 args, 2 rets)
  0012  SELF      R3 = R0[K5('TestSuccessRound')] (self)
  0013  CALL      R2 = call(R2, 0 args, 1 rets)
  0014  RETURN    return R0..R-1
; ---------- proto67 [TestSameTime] ----------
  ; fn ?  line 986-989 np=1 va=0 ms=3 code=5 consts=2 upvals=0 protos=0
  ;   K[0]='TestSuccessRound'
  ;   K[1]='TestFailRound'
  ;   locals: self(0-5)
  0000  SELF      R2 = R0[K0('TestSuccessRound')] (self)
  0001  CALL      R1 = call(R1, 0 args, 1 rets)
  0002  SELF      R2 = R0[K1('TestFailRound')] (self)
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  RETURN    return R0..R-1
