# DiscoSpin_Model_DiscoSpinActivityModel_1464.luac
; fn @DiscoSpinActivityModel.lua  line 0-0 np=0 va=1 ms=5 code=254 consts=104 upvals=1 protos=76
;   K[0]='DiscoSpinActivityModel'
;   K[1]='setmetatable'
;   K[2]='BaseActivityModel'
;   K[3]='__index'
;   K[4]='GeneralConfigKey'
;   K[5]='disco_spin'
;   K[6]='ContentConfigKey'
;   K[7]='disco_spin_content'
;   K[8]='RewardConfigKey'
;   K[9]='disco_spin_reward'
;   K[10]='HasPaid'
;   K[11]='has_paid'
;   K[12]='HasPaidThisRound'
;   K[13]='hptr'
;   K[14]='HasSpinWhenEnded'
;   K[15]='spin_end'
;   K[16]='CurrentRound'
;   K[17]='round'
;   K[18]='RewardTaken'
;   K[19]='reward_taken'
;   K[20]='TriggerStartTime'
;   K[21]='s_time'
;   K[22]='LastPopTime'
;   K[23]='pop_time'
;   K[24]='DailyPopCount'
;   K[25]='pop_count'
;   K[26]='Init'
;   K[27]='GetActivityDefinition'
;   K[28]='IsActivityOpen'
;   K[29]='_CalculateState'
;   K[30]='_DropData'
;   K[31]='_OnStateChanged'
;   K[32]='_SetActivityOpened'
;   K[33]='GetResourceLabels'
;   K[34]='_LoadOtherServerConfig'
;   K[35]='_LoadContentConfig'
;   K[36]='_LoadRewardConfig'
;   K[37]='_CheckGeneralConfigValid'
;   K[38]='DiscoSpinActivityModel'
;   K[39]='_CheckConfigContinuous'
;   K[40]='_CheckContentConfigValid'
;   K[41]='DiscoSpinActivityModel'
;   K[42]='_CheckRewardConfigValid'
;   K[43]='DiscoSpinActivityModel'
;   K[44]='_CheckConfigValid'
;   K[45]='GetDailyShowNum'
;   K[46]='GetPopCDInSeconds'
;   K[47]='GetCurrentContentConfig'
;   K[48]='GetRewardConfigByIndex'
;   K[49]='DB_VALUE_KEY'
;   K[50]=1
;   K[51]='_DBTableGetValue'
;   K[52]='_DBTableGetNumber'
;   K[53]='_DBTableSet'
;   K[54]='_DBTableRemove'
;   K[55]='_LoadDBTableData'
;   K[56]='SetHasPaid'
;   K[57]='SetHasPaidThisRound'
;   K[58]='SetHasSpinWhenEnded'
;   K[59]='GetCurrentRound'
;   K[60]='SetCurrentRound'
;   K[61]='_LoadRewardTaken'
;   K[62]='_SaveRewardTaken'
;   K[63]='IsRewardTaken'
;   K[64]='_SetRewardTaken'
;   K[65]='GetTriggerStartTime'
;   K[66]='_SetTriggerStartTime'
;   K[67]='GetLastPopTime'
;   K[68]='_SetLastPopTime'
;   K[69]='GetDailyPopCount'
;   K[70]='_SetDailyPopCount'
;   K[71]='IsMainWindowPoped'
;   K[72]='IsEndWindowPoped'
;   K[73]='SetMainWindowPoped'
;   K[74]='HasLastChance'
;   K[75]='GetLastPopDay'
;   K[76]='GetIAPType'
;   K[77]='GetLocalizedPrice'
;   K[78]='IsFreeThisRound'
;   K[79]='StartPurchase'
;   K[80]='RestoreIapRewards'
;   K[81]='_OnPurchaseSuccess'
;   K[82]='CanSpin'
;   K[83]='GetRewardByIndex'
;   K[84]='GetCurrentWeightInfo'
;   K[85]='_GetPercentage'
;   K[86]='GetProbability'
;   K[87]='Spin'
;   K[88]='GetMaxRound'
;   K[89]='IsAllRewardTaken'
;   K[90]='IsActivityCompleted'
;   K[91]='_TryGotoNextRound'
;   K[92]='OnEntryClicked'
;   K[93]='OpenMainWindow'
;   K[94]='OpenInfoWindow'
;   K[95]='_RecordLoginPopup'
;   K[96]='CanPopupMainWindow'
;   K[97]='OnCheckPopup'
;   K[98]='_DispatchStateChangedEvent'
;   K[99]='_DispatchRefreshEntryEvent'
;   K[100]='_DispatchPurchaseSuccessEvent'
;   K[101]='_IsEntryVisible'
;   K[102]='GetMapEntryShowConfig'
;   K[103]='_LogStartSpin'
;   upvals: _ENV
;   locals: DBKey(23-254), DB_VALUE_KEY(84-254), TRUE_VALUE(85-254)
0000  GETTABUP  R0 = _ENV[K1('setmetatable')]
0001  NEWTABLE  R1 = {} (0 items)
0002  GETTABUP  R2 = _ENV[K2('BaseActivityModel')]
0003  CALL      R0 = call(R0, 1 args, 2 rets)
0004  SETTABUP  _ENV[K0('DiscoSpinActivityModel')] = R0
0005  GETTABUP  R0 = _ENV[K0('DiscoSpinActivityModel')]
0006  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityModel')]
0007  SETTABLE  R0[K3('__index')] = R1
0008  GETTABUP  R0 = _ENV[K0('DiscoSpinActivityModel')]
0009  SETTABLE  R0[K4('GeneralConfigKey')] = K5('disco_spin')
0010  GETTABUP  R0 = _ENV[K0('DiscoSpinActivityModel')]
0011  SETTABLE  R0[K6('ContentConfigKey')] = K7('disco_spin_content')
0012  GETTABUP  R0 = _ENV[K0('DiscoSpinActivityModel')]
0013  SETTABLE  R0[K8('RewardConfigKey')] = K9('disco_spin_reward')
0014  NEWTABLE  R0 = {} (0 items)
0015  SETTABLE  R0[K10('HasPaid')] = K11('has_paid')
0016  SETTABLE  R0[K12('HasPaidThisRound')] = K13('hptr')
0017  SETTABLE  R0[K14('HasSpinWhenEnded')] = K15('spin_end')
0018  SETTABLE  R0[K16('CurrentRound')] = K17('round')
0019  SETTABLE  R0[K18('RewardTaken')] = K19('reward_taken')
0020  SETTABLE  R0[K20('TriggerStartTime')] = K21('s_time')
0021  SETTABLE  R0[K22('LastPopTime')] = K23('pop_time')
0022  SETTABLE  R0[K24('DailyPopCount')] = K25('pop_count')
0023  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityModel')]
0024  CLOSURE   R2 = closure proto0
0025  SETTABLE  R1[K26('Init')] = R2
0026  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityModel')]
0027  CLOSURE   R2 = closure proto1
0028  SETTABLE  R1[K27('GetActivityDefinition')] = R2
0029  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityModel')]
0030  CLOSURE   R2 = closure proto2
0031  SETTABLE  R1[K28('IsActivityOpen')] = R2
0032  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityModel')]
0033  CLOSURE   R2 = closure proto3
0034  SETTABLE  R1[K29('_CalculateState')] = R2
0035  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityModel')]
0036  CLOSURE   R2 = closure proto4
0037  SETTABLE  R1[K30('_DropData')] = R2
0038  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityModel')]
0039  CLOSURE   R2 = closure proto5
0040  SETTABLE  R1[K31('_OnStateChanged')] = R2
0041  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityModel')]
0042  CLOSURE   R2 = closure proto6
0043  SETTABLE  R1[K32('_SetActivityOpened')] = R2
0044  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityModel')]
0045  CLOSURE   R2 = closure proto7
0046  SETTABLE  R1[K33('GetResourceLabels')] = R2
0047  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityModel')]
0048  CLOSURE   R2 = closure proto8
0049  SETTABLE  R1[K34('_LoadOtherServerConfig')] = R2
0050  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityModel')]
0051  CLOSURE   R2 = closure proto9
0052  SETTABLE  R1[K35('_LoadContentConfig')] = R2
0053  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityModel')]
0054  CLOSURE   R2 = closure proto10
0055  SETTABLE  R1[K36('_LoadRewardConfig')] = R2
0056  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityModel')]
0057  CLOSURE   R2 = closure proto11
0058  SETTABLE  R1[K37('_CheckGeneralConfigValid')] = R2
0059  GETTABUP  R1 = _ENV[K38('DiscoSpinActivityModel')]
0060  CLOSURE   R2 = closure proto12
0061  SETTABLE  R1[K39('_CheckConfigContinuous')] = R2
0062  GETTABUP  R1 = _ENV[K38('DiscoSpinActivityModel')]
0063  CLOSURE   R2 = closure proto13
0064  SETTABLE  R1[K40('_CheckContentConfigValid')] = R2
0065  GETTABUP  R1 = _ENV[K41('DiscoSpinActivityModel')]
0066  CLOSURE   R2 = closure proto14
0067  SETTABLE  R1[K42('_CheckRewardConfigValid')] = R2
0068  GETTABUP  R1 = _ENV[K43('DiscoSpinActivityModel')]
0069  CLOSURE   R2 = closure proto15
0070  SETTABLE  R1[K44('_CheckConfigValid')] = R2
0071  GETTABUP  R1 = _ENV[K43('DiscoSpinActivityModel')]
0072  CLOSURE   R2 = closure proto16
0073  SETTABLE  R1[K45('GetDailyShowNum')] = R2
0074  GETTABUP  R1 = _ENV[K43('DiscoSpinActivityModel')]
0075  CLOSURE   R2 = closure proto17
0076  SETTABLE  R1[K46('GetPopCDInSeconds')] = R2
0077  GETTABUP  R1 = _ENV[K43('DiscoSpinActivityModel')]
0078  CLOSURE   R2 = closure proto18
0079  SETTABLE  R1[K47('GetCurrentContentConfig')] = R2
0080  GETTABUP  R1 = _ENV[K43('DiscoSpinActivityModel')]
0081  CLOSURE   R2 = closure proto19
0082  SETTABLE  R1[K48('GetRewardConfigByIndex')] = R2
0083  GETTABUP  R1 = _ENV[K49('DB_VALUE_KEY')]
0084  LOADK     R2 = K50 1
0085  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0086  CLOSURE   R4 = closure proto20
0087  SETTABLE  R3[K51('_DBTableGetValue')] = R4
0088  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0089  CLOSURE   R4 = closure proto21
0090  SETTABLE  R3[K52('_DBTableGetNumber')] = R4
0091  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0092  CLOSURE   R4 = closure proto22
0093  SETTABLE  R3[K53('_DBTableSet')] = R4
0094  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0095  CLOSURE   R4 = closure proto23
0096  SETTABLE  R3[K54('_DBTableRemove')] = R4
0097  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0098  CLOSURE   R4 = closure proto24
0099  SETTABLE  R3[K55('_LoadDBTableData')] = R4
0100  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0101  CLOSURE   R4 = closure proto25
0102  SETTABLE  R3[K10('HasPaid')] = R4
0103  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0104  CLOSURE   R4 = closure proto26
0105  SETTABLE  R3[K56('SetHasPaid')] = R4
0106  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0107  CLOSURE   R4 = closure proto27
0108  SETTABLE  R3[K12('HasPaidThisRound')] = R4
0109  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0110  CLOSURE   R4 = closure proto28
0111  SETTABLE  R3[K57('SetHasPaidThisRound')] = R4
0112  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0113  CLOSURE   R4 = closure proto29
0114  SETTABLE  R3[K14('HasSpinWhenEnded')] = R4
0115  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0116  CLOSURE   R4 = closure proto30
0117  SETTABLE  R3[K58('SetHasSpinWhenEnded')] = R4
0118  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0119  CLOSURE   R4 = closure proto31
0120  SETTABLE  R3[K59('GetCurrentRound')] = R4
0121  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0122  CLOSURE   R4 = closure proto32
0123  SETTABLE  R3[K60('SetCurrentRound')] = R4
0124  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0125  CLOSURE   R4 = closure proto33
0126  SETTABLE  R3[K61('_LoadRewardTaken')] = R4
0127  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0128  CLOSURE   R4 = closure proto34
0129  SETTABLE  R3[K62('_SaveRewardTaken')] = R4
0130  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0131  CLOSURE   R4 = closure proto35
0132  SETTABLE  R3[K63('IsRewardTaken')] = R4
0133  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0134  CLOSURE   R4 = closure proto36
0135  SETTABLE  R3[K64('_SetRewardTaken')] = R4
0136  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0137  CLOSURE   R4 = closure proto37
0138  SETTABLE  R3[K65('GetTriggerStartTime')] = R4
0139  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0140  CLOSURE   R4 = closure proto38
0141  SETTABLE  R3[K66('_SetTriggerStartTime')] = R4
0142  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0143  CLOSURE   R4 = closure proto39
0144  SETTABLE  R3[K67('GetLastPopTime')] = R4
0145  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0146  CLOSURE   R4 = closure proto40
0147  SETTABLE  R3[K68('_SetLastPopTime')] = R4
0148  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0149  CLOSURE   R4 = closure proto41
0150  SETTABLE  R3[K69('GetDailyPopCount')] = R4
0151  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0152  CLOSURE   R4 = closure proto42
0153  SETTABLE  R3[K70('_SetDailyPopCount')] = R4
0154  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0155  CLOSURE   R4 = closure proto43
0156  SETTABLE  R3[K71('IsMainWindowPoped')] = R4
0157  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0158  CLOSURE   R4 = closure proto44
0159  SETTABLE  R3[K72('IsEndWindowPoped')] = R4
0160  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0161  CLOSURE   R4 = closure proto45
0162  SETTABLE  R3[K73('SetMainWindowPoped')] = R4
0163  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0164  CLOSURE   R4 = closure proto46
0165  SETTABLE  R3[K74('HasLastChance')] = R4
0166  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0167  CLOSURE   R4 = closure proto47
0168  SETTABLE  R3[K75('GetLastPopDay')] = R4
0169  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0170  CLOSURE   R4 = closure proto48
0171  SETTABLE  R3[K76('GetIAPType')] = R4
0172  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0173  CLOSURE   R4 = closure proto49
0174  SETTABLE  R3[K77('GetLocalizedPrice')] = R4
0175  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0176  CLOSURE   R4 = closure proto50
0177  SETTABLE  R3[K78('IsFreeThisRound')] = R4
0178  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0179  CLOSURE   R4 = closure proto51
0180  SETTABLE  R3[K79('StartPurchase')] = R4
0181  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0182  CLOSURE   R4 = closure proto52
0183  SETTABLE  R3[K80('RestoreIapRewards')] = R4
0184  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0185  CLOSURE   R4 = closure proto53
0186  SETTABLE  R3[K81('_OnPurchaseSuccess')] = R4
0187  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0188  CLOSURE   R4 = closure proto54
0189  SETTABLE  R3[K82('CanSpin')] = R4
0190  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0191  CLOSURE   R4 = closure proto55
0192  SETTABLE  R3[K83('GetRewardByIndex')] = R4
0193  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0194  CLOSURE   R4 = closure proto56
0195  SETTABLE  R3[K84('GetCurrentWeightInfo')] = R4
0196  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0197  CLOSURE   R4 = closure proto57
0198  SETTABLE  R3[K85('_GetPercentage')] = R4
0199  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0200  CLOSURE   R4 = closure proto58
0201  SETTABLE  R3[K86('GetProbability')] = R4
0202  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0203  CLOSURE   R4 = closure proto59
0204  SETTABLE  R3[K87('Spin')] = R4
0205  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0206  CLOSURE   R4 = closure proto60
0207  SETTABLE  R3[K88('GetMaxRound')] = R4
0208  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0209  CLOSURE   R4 = closure proto61
0210  SETTABLE  R3[K89('IsAllRewardTaken')] = R4
0211  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0212  CLOSURE   R4 = closure proto62
0213  SETTABLE  R3[K90('IsActivityCompleted')] = R4
0214  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0215  CLOSURE   R4 = closure proto63
0216  SETTABLE  R3[K91('_TryGotoNextRound')] = R4
0217  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0218  CLOSURE   R4 = closure proto64
0219  SETTABLE  R3[K92('OnEntryClicked')] = R4
0220  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0221  CLOSURE   R4 = closure proto65
0222  SETTABLE  R3[K93('OpenMainWindow')] = R4
0223  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0224  CLOSURE   R4 = closure proto66
0225  SETTABLE  R3[K94('OpenInfoWindow')] = R4
0226  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0227  CLOSURE   R4 = closure proto67
0228  SETTABLE  R3[K95('_RecordLoginPopup')] = R4
0229  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0230  CLOSURE   R4 = closure proto68
0231  SETTABLE  R3[K96('CanPopupMainWindow')] = R4
0232  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0233  CLOSURE   R4 = closure proto69
0234  SETTABLE  R3[K97('OnCheckPopup')] = R4
0235  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0236  CLOSURE   R4 = closure proto70
0237  SETTABLE  R3[K98('_DispatchStateChangedEvent')] = R4
0238  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0239  CLOSURE   R4 = closure proto71
0240  SETTABLE  R3[K99('_DispatchRefreshEntryEvent')] = R4
0241  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0242  CLOSURE   R4 = closure proto72
0243  SETTABLE  R3[K100('_DispatchPurchaseSuccessEvent')] = R4
0244  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0245  CLOSURE   R4 = closure proto73
0246  SETTABLE  R3[K101('_IsEntryVisible')] = R4
0247  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0248  CLOSURE   R4 = closure proto74
0249  SETTABLE  R3[K102('GetMapEntryShowConfig')] = R4
0250  GETTABUP  R3 = _ENV[K43('DiscoSpinActivityModel')]
0251  CLOSURE   R4 = closure proto75
0252  SETTABLE  R3[K103('_LogStartSpin')] = R4
0253  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 32-38 np=3 va=0 ms=7 code=12 consts=5 upvals=1 protos=0
  ;   K[0]='m_activityDefinition'
  ;   K[1]='DiscoSpinActivityDefinition'
  ;   K[2]='BaseActivityModel'
  ;   K[3]='Init'
  ;   K[4]='_LoadDBTableData'
  ;   upvals: _ENV
  ;   locals: self(0-12), activityType(0-12), virtualDBTable(0-12)
  0000  GETTABUP  R3 = _ENV[K1('DiscoSpinActivityDefinition')]
  0001  GETTABLE  R3 = R3[R1]
  0002  SETTABLE  R0[K0('m_activityDefinition')] = R3
  0003  GETTABUP  R3 = _ENV[K2('BaseActivityModel')]
  0004  GETTABLE  R3 = R3[K3('Init')]
  0005  MOVE      R4 = R0
  0006  MOVE      R5 = R0
  0007  MOVE      R6 = R0
  0008  CALL      R3 = call(R3, 0 args, 3 rets)
  0009  SELF      R4 = R0[K4('_LoadDBTableData')] (self)
  0010  CALL      R3 = call(R3, 0 args, 1 rets)
  0011  RETURN    return R0..R-1
; ---------- proto1 [GetActivityDefinition] ----------
  ; fn ?  line 40-42 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
; ---------- proto2 [IsActivityOpen] ----------
  ; fn ?  line 47-49 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
; ---------- proto3 [_CalculateState] ----------
  ; fn ?  line 53-59 np=2 va=0 ms=6 code=22 consts=8 upvals=1 protos=0
  ;   K[0]='BaseActivityModel'
  ;   K[1]='_CalculateState'
  ;   K[2]='ActivityState'
  ;   K[3]='Started'
  ;   K[4]='IsActivityCompleted'
  ;   K[5]='Ended'
  ;   K[6]='m_config'
  ;   K[7]='rTime'
  ;   upvals: _ENV
  ;   locals: self(0-22), bIgnoreCondition(0-22), state(5-22), nextStateTime(5-22)
  0000  GETTABUP  R2 = _ENV[K0('BaseActivityModel')]
  0001  GETTABLE  R2 = R2[K1('_CalculateState')]
  0002  MOVE      R3 = R0
  0003  MOVE      R4 = R0
  0004  CALL      R2 = call(R2, 2 args, 2 rets)
  0005  GETTABUP  R4 = _ENV[K2('ActivityState')]
  0006  GETTABLE  R4 = R4[K3('Started')]
  0007  EQ        if R0 eq R4   -> -130035
  0008  JMP       (jump)   -> 18
  0009  SELF      R5 = R0[K4('IsActivityCompleted')] (self)
  0010  CALL      R4 = call(R4, 1 args, 1 rets)
  0011  TEST      if not R4 then   -> -131059
  0012  JMP       (jump)   -> 18
  0013  GETTABUP  R4 = _ENV[K2('ActivityState')]
  0014  GETTABLE  R4 = R4[K5('Ended')]
  0015  GETTABLE  R5 = R0[K6('m_config')]
  0016  GETTABLE  R5 = R5[K7('rTime')]
  0017  RETURN    return R4..R3
  0018  MOVE      R4 = R0
  0019  MOVE      R5 = R0
  0020  RETURN    return R4..R3
  0021  RETURN    return R0..R-1
; ---------- proto4 [_DropData] ----------
  ; fn ?  line 62-66 np=1 va=0 ms=3 code=8 consts=5 upvals=1 protos=0
  ;   K[0]='BaseActivityModel'
  ;   K[1]='_DropData'
  ;   K[2]='m_mapRewardTaken'
  ;   K[3]='m_mapProbability'
  ;   K[4]=nil
  ;   upvals: _ENV
  ;   locals: self(0-8)
  0000  GETTABUP  R1 = _ENV[K0('BaseActivityModel')]
  0001  GETTABLE  R1 = R1[K1('_DropData')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  NEWTABLE  R1 = {} (0 items)
  0005  SETTABLE  R0[K2('m_mapRewardTaken')] = R1
  0006  SETTABLE  R0[K3('m_mapProbability')] = K4(nil)
  0007  RETURN    return R0..R-1
; ---------- proto5 [_OnStateChanged] ----------
  ; fn ?  line 69-74 np=1 va=0 ms=3 code=9 consts=4 upvals=1 protos=0
  ;   K[0]='BaseActivityModel'
  ;   K[1]='_OnStateChanged'
  ;   K[2]='_DispatchStateChangedEvent'
  ;   K[3]='_DispatchRefreshEntryEvent'
  ;   upvals: _ENV
  ;   locals: self(0-9)
  0000  GETTABUP  R1 = _ENV[K0('BaseActivityModel')]
  0001  GETTABLE  R1 = R1[K1('_OnStateChanged')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  SELF      R2 = R0[K2('_DispatchStateChangedEvent')] (self)
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  SELF      R2 = R0[K3('_DispatchRefreshEntryEvent')] (self)
  0007  CALL      R1 = call(R1, 0 args, 1 rets)
  0008  RETURN    return R0..R-1
; ---------- proto6 [_SetActivityOpened] ----------
  ; fn ?  line 77-82 np=1 va=0 ms=5 code=15 consts=7 upvals=1 protos=0
  ;   K[0]='HasActivityOpened'
  ;   K[1]='_SetTriggerStartTime'
  ;   K[2]='GM'
  ;   K[3]='GameModel'
  ;   K[4]='GetServerTime'
  ;   K[5]='BaseActivityModel'
  ;   K[6]='_SetActivityOpened'
  ;   upvals: _ENV
  ;   locals: self(0-15)
  0000  SELF      R2 = R0[K0('HasActivityOpened')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131067
  0003  JMP       (jump)   -> 10
  0004  SELF      R2 = R0[K1('_SetTriggerStartTime')] (self)
  0005  GETTABUP  R3 = _ENV[K2('GM')]
  0006  GETTABLE  R3 = R3[K3('GameModel')]
  0007  SELF      R4 = R3[K4('GetServerTime')] (self)
  0008  CALL      R3 = call(R3, -1 args, 1 rets)
  0009  CALL      R1 = call(R1, 0 args, -1 rets)
  0010  GETTABUP  R1 = _ENV[K5('BaseActivityModel')]
  0011  GETTABLE  R1 = R1[K6('_SetActivityOpened')]
  0012  MOVE      R2 = R0
  0013  CALL      R1 = call(R1, 0 args, 1 rets)
  0014  RETURN    return R0..R-1
; ---------- proto7 [GetResourceLabels] ----------
  ; fn ?  line 85-87 np=1 va=0 ms=3 code=5 consts=2 upvals=0 protos=0
  ;   K[0]='GetActivityDefinition'
  ;   K[1]='ResourceLabels'
  ;   locals: self(0-5)
  0000  SELF      R2 = R0[K0('GetActivityDefinition')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  GETTABLE  R1 = R1[K1('ResourceLabels')]
  0003  RETURN    return R1..R0
  0004  RETURN    return R0..R-1
; ---------- proto8 [_LoadOtherServerConfig] ----------
  ; fn ?  line 94-105 np=2 va=0 ms=8 code=23 consts=10 upvals=1 protos=0
  ;   K[0]='DiscoSpinActivityModel'
  ;   K[1]='GeneralConfigKey'
  ;   K[2]='_CheckGeneralConfigValid'
  ;   K[3]=1
  ;   K[4]='m_generalConfig'
  ;   K[5]='DiscoSpinActivityGeneralConfig'
  ;   K[6]='Create'
  ;   K[7]='_LoadContentConfig'
  ;   K[8]='_LoadRewardConfig'
  ;   K[9]='_CheckConfigValid'
  ;   upvals: _ENV
  ;   locals: self(0-23), config(0-23), generalConfigKey(2-23), arrGeneralConfig(3-23), generalConfig(8-23)
  0000  GETTABUP  R2 = _ENV[K0('DiscoSpinActivityModel')]
  0001  GETTABLE  R2 = R2[K1('GeneralConfigKey')]
  0002  GETTABLE  R3 = R1[R2]
  0003  SELF      R5 = R0[K2('_CheckGeneralConfigValid')] (self)
  0004  MOVE      R6 = R0
  0005  MOVE      R7 = R0
  0006  CALL      R4 = call(R4, 0 args, 3 rets)
  0007  GETTABLE  R4 = R3[K3(1)]
  0008  GETTABUP  R5 = _ENV[K5('DiscoSpinActivityGeneralConfig')]
  0009  GETTABLE  R5 = R5[K6('Create')]
  0010  MOVE      R6 = R0
  0011  CALL      R5 = call(R5, 1 args, 1 rets)
  0012  SETTABLE  R0[K4('m_generalConfig')] = R5
  0013  SELF      R6 = R0[K7('_LoadContentConfig')] (self)
  0014  MOVE      R7 = R0
  0015  CALL      R5 = call(R5, 0 args, 2 rets)
  0016  SELF      R6 = R0[K8('_LoadRewardConfig')] (self)
  0017  MOVE      R7 = R0
  0018  CALL      R5 = call(R5, 0 args, 2 rets)
  0019  SELF      R6 = R0[K9('_CheckConfigValid')] (self)
  0020  MOVE      R7 = R0
  0021  CALL      R5 = call(R5, 0 args, 2 rets)
  0022  RETURN    return R0..R-1
; ---------- proto9 [_LoadContentConfig] ----------
  ; fn ?  line 107-123 np=2 va=0 ms=13 code=30 consts=11 upvals=1 protos=1
  ;   K[0]='DiscoSpinActivityModel'
  ;   K[1]='ContentConfigKey'
  ;   K[2]='Table'
  ;   K[3]='DeepCopy'
  ;   K[4]='m_contentConfig'
  ;   K[5]='ipairs'
  ;   K[6]='table'
  ;   K[7]='insert'
  ;   K[8]='DiscoSpinActivityContentConfig'
  ;   K[9]='Create'
  ;   K[10]='sort'
  ;   upvals: _ENV
  ;   locals: self(0-30), generalConfig(0-30), contentConfigKey(2-30), arrContentConfig(7-30), (for generator)(12-23), (for state)(12-23), (for control)(12-23), _(13-21), contentConfig(13-21), SortByRound(24-30)
  0000  GETTABUP  R2 = _ENV[K0('DiscoSpinActivityModel')]
  0001  GETTABLE  R2 = R2[K1('ContentConfigKey')]
  0002  GETTABUP  R3 = _ENV[K2('Table')]
  0003  GETTABLE  R3 = R3[K3('DeepCopy')]
  0004  GETTABLE  R4 = R1[R2]
  0005  LOADBOOL  R5 = true
  0006  CALL      R3 = call(R3, 1 args, 2 rets)
  0007  NEWTABLE  R4 = {} (0 items)
  0008  SETTABLE  R0[K4('m_contentConfig')] = R4
  0009  GETTABUP  R4 = _ENV[K5('ipairs')]
  0010  MOVE      R5 = R0
  0011  CALL      R4 = call(R4, 3 args, 1 rets)
  0012  JMP       (jump)   -> 21
  0013  GETTABUP  R9 = _ENV[K6('table')]
  0014  GETTABLE  R9 = R9[K7('insert')]
  0015  GETTABLE  R10 = R0[K4('m_contentConfig')]
  0016  GETTABUP  R11 = _ENV[K8('DiscoSpinActivityContentConfig')]
  0017  GETTABLE  R11 = R11[K9('Create')]
  0018  MOVE      R12 = R0
  0019  CALL      R11 = call(R11, -1 args, 1 rets)
  0020  CALL      R9 = call(R9, 0 args, -1 rets)
  0021  TFORCALL  tforcall R4
  0022  TFORLOOP  tforloop R6(sBx=-10)   -> 13
  0023  CLOSURE   R4 = closure proto0
  0024  GETTABUP  R5 = _ENV[K6('table')]
  0025  GETTABLE  R5 = R5[K10('sort')]
  0026  GETTABLE  R6 = R0[K4('m_contentConfig')]
  0027  MOVE      R7 = R0
  0028  CALL      R5 = call(R5, 0 args, 2 rets)
  0029  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 119-121 np=2 va=0 ms=5 code=10 consts=1 upvals=0 protos=0
    ;   K[0]='GetRound'
    ;   locals: configA(0-10), configB(0-10)
    0000  SELF      R3 = R0[K0('GetRound')] (self)
    0001  CALL      R2 = call(R2, 1 args, 1 rets)
    0002  SELF      R4 = R1[K0('GetRound')] (self)
    0003  CALL      R3 = call(R3, 1 args, 1 rets)
    0004  LT        if R1 lt R3   -> -130039
    0005  JMP       (jump)   -> 7
    0006  LOADBOOL  R2 = false
    0007  LOADBOOL  R2 = true
    0008  RETURN    return R2..R1
    0009  RETURN    return R0..R-1
; ---------- proto10 [_LoadRewardConfig] ----------
  ; fn ?  line 125-142 np=2 va=0 ms=13 code=30 consts=11 upvals=1 protos=1
  ;   K[0]='DiscoSpinActivityModel'
  ;   K[1]='RewardConfigKey'
  ;   K[2]='Table'
  ;   K[3]='DeepCopy'
  ;   K[4]='m_rewardConfig'
  ;   K[5]='ipairs'
  ;   K[6]='table'
  ;   K[7]='insert'
  ;   K[8]='DiscoSpinActivityRewardConfig'
  ;   K[9]='Create'
  ;   K[10]='sort'
  ;   upvals: _ENV
  ;   locals: self(0-30), generalConfig(0-30), rewardConfigKey(2-30), arrRewardConfig(7-30), (for generator)(12-23), (for state)(12-23), (for control)(12-23), _(13-21), rewardConfig(13-21), SortByIndex(24-30)
  0000  GETTABUP  R2 = _ENV[K0('DiscoSpinActivityModel')]
  0001  GETTABLE  R2 = R2[K1('RewardConfigKey')]
  0002  GETTABUP  R3 = _ENV[K2('Table')]
  0003  GETTABLE  R3 = R3[K3('DeepCopy')]
  0004  GETTABLE  R4 = R1[R2]
  0005  LOADBOOL  R5 = true
  0006  CALL      R3 = call(R3, 1 args, 2 rets)
  0007  NEWTABLE  R4 = {} (0 items)
  0008  SETTABLE  R0[K4('m_rewardConfig')] = R4
  0009  GETTABUP  R4 = _ENV[K5('ipairs')]
  0010  MOVE      R5 = R0
  0011  CALL      R4 = call(R4, 3 args, 1 rets)
  0012  JMP       (jump)   -> 21
  0013  GETTABUP  R9 = _ENV[K6('table')]
  0014  GETTABLE  R9 = R9[K7('insert')]
  0015  GETTABLE  R10 = R0[K4('m_rewardConfig')]
  0016  GETTABUP  R11 = _ENV[K8('DiscoSpinActivityRewardConfig')]
  0017  GETTABLE  R11 = R11[K9('Create')]
  0018  MOVE      R12 = R0
  0019  CALL      R11 = call(R11, -1 args, 1 rets)
  0020  CALL      R9 = call(R9, 0 args, -1 rets)
  0021  TFORCALL  tforcall R4
  0022  TFORLOOP  tforloop R6(sBx=-10)   -> 13
  0023  CLOSURE   R4 = closure proto0
  0024  GETTABUP  R5 = _ENV[K6('table')]
  0025  GETTABLE  R5 = R5[K10('sort')]
  0026  GETTABLE  R6 = R0[K4('m_rewardConfig')]
  0027  MOVE      R7 = R0
  0028  CALL      R5 = call(R5, 0 args, 2 rets)
  0029  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 138-140 np=2 va=0 ms=5 code=10 consts=1 upvals=0 protos=0
    ;   K[0]='GetIndex'
    ;   locals: configA(0-10), configB(0-10)
    0000  SELF      R3 = R0[K0('GetIndex')] (self)
    0001  CALL      R2 = call(R2, 1 args, 1 rets)
    0002  SELF      R4 = R1[K0('GetIndex')] (self)
    0003  CALL      R3 = call(R3, 1 args, 1 rets)
    0004  LT        if R1 lt R3   -> -130039
    0005  JMP       (jump)   -> 7
    0006  LOADBOOL  R2 = false
    0007  LOADBOOL  R2 = true
    0008  RETURN    return R2..R1
    0009  RETURN    return R0..R-1
; ---------- proto11 [_CheckGeneralConfigValid] ----------
  ; fn ?  line 145-158 np=3 va=0 ms=12 code=46 consts=19 upvals=1 protos=0
  ;   K[0]='GameConfig'
  ;   K[1]='IsTestMode'
  ;   K[2]='[转盘礼包] 活动id='
  ;   K[3]='tostring'
  ;   K[4]='id'
  ;   K[5]='，'
  ;   K[6]='DiscoSpinActivityModel'
  ;   K[7]='GeneralConfigKey'
  ;   K[8]='Table'
  ;   K[9]='IsEmpty'
  ;   K[10]=0
  ;   K[11]='Log'
  ;   K[12]='Error'
  ;   K[13]='没有找到配置：'
  ;   K[14]='，配置需要使用dynamie_include关联表'
  ;   K[15]='！'
  ;   K[16]=1
  ;   K[17]='dynamic_include关联表'
  ;   K[18]='多于一个，请检查配置是否重复，筛选条件是否正确！'
  ;   upvals: _ENV
  ;   locals: self(0-46), config(0-46), arrConfig(0-46), logPrefix(12-46), generalConfigKey(14-46)
  0000  GETTABUP  R3 = _ENV[K0('GameConfig')]
  0001  GETTABLE  R3 = R3[K1('IsTestMode')]
  0002  CALL      R3 = call(R3, 1 args, 0 rets)
  0003  TEST      if not R3 then   -> -131066
  0004  JMP       (jump)   -> 6
  0005  RETURN    return R0..R-1
  0006  LOADK     R3 = K2 '[转盘礼包] 活动id='
  0007  GETTABUP  R4 = _ENV[K3('tostring')]
  0008  GETTABLE  R5 = R1[K4('id')]
  0009  CALL      R4 = call(R4, 1 args, 1 rets)
  0010  LOADK     R5 = K5 '，'
  0011  CONCAT    R3 = concat(R3..R3)
  0012  GETTABUP  R4 = _ENV[K6('DiscoSpinActivityModel')]
  0013  GETTABLE  R4 = R4[K7('GeneralConfigKey')]
  0014  GETTABUP  R5 = _ENV[K8('Table')]
  0015  GETTABLE  R5 = R5[K9('IsEmpty')]
  0016  MOVE      R6 = R0
  0017  CALL      R5 = call(R5, 1 args, 1 rets)
  0018  TEST      if not R5 then   -> -131051
  0019  JMP       (jump)   -> 23
  0020  LEN       R5 = len R0
  0021  LE        if R0 le K10(0)   -> -128223
  0022  JMP       (jump)   -> 34
  0023  GETTABUP  R5 = _ENV[K11('Log')]
  0024  GETTABLE  R5 = R5[K12('Error')]
  0025  MOVE      R6 = R0
  0026  LOADK     R7 = K13 '没有找到配置：'
  0027  MOVE      R8 = R0
  0028  LOADK     R9 = K14 '，配置需要使用dynamie_include关联表'
  0029  MOVE      R10 = R0
  0030  LOADK     R11 = K15 '！'
  0031  CONCAT    R6 = concat(R6..R6)
  0032  CALL      R5 = call(R5, 0 args, 1 rets)
  0033  JMP       (jump)   -> 45
  0034  LEN       R5 = len R0
  0035  LT        if R0 lt R5   -> 8234
  0036  JMP       (jump)   -> 45
  0037  GETTABUP  R5 = _ENV[K11('Log')]
  0038  GETTABLE  R5 = R5[K12('Error')]
  0039  MOVE      R6 = R0
  0040  LOADK     R7 = K17 'dynamic_include关联表'
  0041  MOVE      R8 = R0
  0042  LOADK     R9 = K18 '多于一个，请检查配置是否重复，筛选条件是否正确！'
  0043  CONCAT    R6 = concat(R6..R6)
  0044  CALL      R5 = call(R5, 0 args, 1 rets)
  0045  RETURN    return R0..R-1
; ---------- proto12 [_CheckConfigContinuous] ----------
  ; fn ?  line 165-188 np=6 va=0 ms=27 code=103 consts=16 upvals=1 protos=0
  ;   K[0]=1
  ;   K[1]=true
  ;   K[2]='ipairs'
  ;   K[3]='Log'
  ;   K[4]='Error'
  ;   K[5]='错误，存在重复的'
  ;   K[6]='：'
  ;   K[7]='tonumber'
  ;   K[8]='，'
  ;   K[9]='只能是从'
  ;   K[10]='tostring'
  ;   K[11]='到'
  ;   K[12]='之间连续不重复。'
  ;   K[13]='错误，存在无效的'
  ;   K[14]=nil
  ;   K[15]='错误，存在未配置的'
  ;   upvals: _ENV
  ;   locals: self(0-103), arrConfig(0-103), key(0-103), logPrefix(0-103), minimum(0-103), maximum(0-103), mapIndexExpected(1-103), (for index)(4-7), (for limit)(4-7), (for step)(4-7), index(5-6), index(8-103), (for generator)(11-71), (for state)(11-71), (for control)(11-71), _(12-69), config(12-69), (for index)(74-102), (for limit)(74-102), (for step)(74-102), index(75-101)
  0000  NEWTABLE  R6 = {} (0 items)
  0001  MOVE      R7 = R0
  0002  MOVE      R8 = R0
  0003  LOADK     R9 = K0 1
  0004  FORPREP   forprep R7(sBx=1)   -> 6
  0005  SETTABLE  R6[R10] = K1(true)
  0006  FORLOOP   forloop R7(sBx=-2)   -> 5
  0007  LOADNIL   R7..R7 = nil
  0008  GETTABUP  R8 = _ENV[K2('ipairs')]
  0009  MOVE      R9 = R0
  0010  CALL      R8 = call(R8, 3 args, 1 rets)
  0011  JMP       (jump)   -> 69
  0012  GETTABLE  R7 = R12[R2]
  0013  GETTABLE  R13 = R6[R7]
  0014  TEST      if not R13 then   -> -131055
  0015  JMP       (jump)   -> 68
  0016  LE        if R0 le R7   -> -128999
  0017  JMP       (jump)   -> 44
  0018  LE        if R0 le R5   -> -127463
  0019  JMP       (jump)   -> 44
  0020  GETTABUP  R13 = _ENV[K3('Log')]
  0021  GETTABLE  R13 = R13[K4('Error')]
  0022  MOVE      R14 = R0
  0023  MOVE      R15 = R0
  0024  LOADK     R16 = K5 '错误，存在重复的'
  0025  MOVE      R17 = R0
  0026  LOADK     R18 = K6 '：'
  0027  GETTABUP  R19 = _ENV[K7('tonumber')]
  0028  MOVE      R20 = R0
  0029  CALL      R19 = call(R19, 1 args, 1 rets)
  0030  LOADK     R20 = K8 '，'
  0031  MOVE      R21 = R0
  0032  LOADK     R22 = K9 '只能是从'
  0033  GETTABUP  R23 = _ENV[K10('tostring')]
  0034  MOVE      R24 = R0
  0035  CALL      R23 = call(R23, 1 args, 1 rets)
  0036  LOADK     R24 = K11 '到'
  0037  GETTABUP  R25 = _ENV[K10('tostring')]
  0038  MOVE      R26 = R0
  0039  CALL      R25 = call(R25, 1 args, 1 rets)
  0040  LOADK     R26 = K12 '之间连续不重复。'
  0041  CONCAT    R14 = concat(R14..R14)
  0042  CALL      R13 = call(R13, 0 args, 1 rets)
  0043  JMP       (jump)   -> 69
  0044  GETTABUP  R13 = _ENV[K3('Log')]
  0045  GETTABLE  R13 = R13[K4('Error')]
  0046  MOVE      R14 = R0
  0047  MOVE      R15 = R0
  0048  LOADK     R16 = K13 '错误，存在无效的'
  0049  MOVE      R17 = R0
  0050  LOADK     R18 = K6 '：'
  0051  GETTABUP  R19 = _ENV[K7('tonumber')]
  0052  MOVE      R20 = R0
  0053  CALL      R19 = call(R19, 1 args, 1 rets)
  0054  LOADK     R20 = K8 '，'
  0055  MOVE      R21 = R0
  0056  LOADK     R22 = K9 '只能是从'
  0057  GETTABUP  R23 = _ENV[K10('tostring')]
  0058  MOVE      R24 = R0
  0059  CALL      R23 = call(R23, 1 args, 1 rets)
  0060  LOADK     R24 = K11 '到'
  0061  GETTABUP  R25 = _ENV[K10('tostring')]
  0062  MOVE      R26 = R0
  0063  CALL      R25 = call(R25, 1 args, 1 rets)
  0064  LOADK     R26 = K12 '之间连续不重复。'
  0065  CONCAT    R14 = concat(R14..R14)
  0066  CALL      R13 = call(R13, 0 args, 1 rets)
  0067  JMP       (jump)   -> 69
  0068  SETTABLE  R6[R7] = K14(nil)
  0069  TFORCALL  tforcall R8
  0070  TFORLOOP  tforloop R10(sBx=-59)   -> 12
  0071  MOVE      R8 = R0
  0072  MOVE      R9 = R0
  0073  LOADK     R10 = K0 1
  0074  FORPREP   forprep R8(sBx=26)   -> 101
  0075  GETTABLE  R12 = R6[R11]
  0076  TEST      if not R12 then   -> -130994
  0077  JMP       (jump)   -> 101
  0078  GETTABUP  R12 = _ENV[K3('Log')]
  0079  GETTABLE  R12 = R12[K4('Error')]
  0080  MOVE      R13 = R0
  0081  MOVE      R14 = R0
  0082  LOADK     R15 = K15 '错误，存在未配置的'
  0083  MOVE      R16 = R0
  0084  LOADK     R17 = K6 '：'
  0085  GETTABUP  R18 = _ENV[K7('tonumber')]
  0086  MOVE      R19 = R0
  0087  CALL      R18 = call(R18, 1 args, 1 rets)
  0088  LOADK     R19 = K8 '，'
  0089  MOVE      R20 = R0
  0090  LOADK     R21 = K9 '只能是从'
  0091  GETTABUP  R22 = _ENV[K10('tostring')]
  0092  MOVE      R23 = R0
  0093  CALL      R22 = call(R22, 1 args, 1 rets)
  0094  LOADK     R23 = K11 '到'
  0095  GETTABUP  R24 = _ENV[K10('tostring')]
  0096  MOVE      R25 = R0
  0097  CALL      R24 = call(R24, 1 args, 1 rets)
  0098  LOADK     R25 = K12 '之间连续不重复。'
  0099  CONCAT    R13 = concat(R13..R13)
  0100  CALL      R12 = call(R12, 0 args, 1 rets)
  0101  FORLOOP   forloop R8(sBx=-27)   -> 75
  0102  RETURN    return R0..R-1
; ---------- proto13 [_CheckContentConfigValid] ----------
  ; fn ?  line 190-291 np=2 va=0 ms=38 code=228 consts=51 upvals=1 protos=2
  ;   K[0]='GameConfig'
  ;   K[1]='IsTestMode'
  ;   K[2]='[转盘礼包] 活动id='
  ;   K[3]='tostring'
  ;   K[4]='id'
  ;   K[5]='，'
  ;   K[6]='DiscoSpinActivityModel'
  ;   K[7]='GeneralConfigKey'
  ;   K[8]='ContentConfigKey'
  ;   K[9]='m_contentConfig'
  ;   K[10]='GetActivityDefinition'
  ;   K[11]='FixedRewardCount'
  ;   K[12]='Table'
  ;   K[13]='IsEmpty'
  ;   K[14]=0
  ;   K[15]='Log'
  ;   K[16]='Error'
  ;   K[17]='没有找到配置：'
  ;   K[18]='，配置需要在'
  ;   K[19]='表里使用include关联表'
  ;   K[20]='！'
  ;   K[21]='配置表'
  ;   K[22]='里，'
  ;   K[23]='_CheckConfigContinuous'
  ;   K[24]='round'
  ;   K[25]=1
  ;   K[26]='ipairs'
  ;   K[27]='round='
  ;   K[28]='的配置，'
  ;   K[29]='giftWeight'
  ;   K[30]='Index'
  ;   K[31]='table'
  ;   K[32]='sort'
  ;   K[33]='Weight'
  ;   K[34]='insert'
  ;   K[35]=nil
  ;   K[36]='_GetPercentage'
  ;   K[37]='奖励权重存在问题，权重最多的'
  ;   K[38]='个奖励权重总和为'
  ;   K[39]='，最小的权重为'
  ;   K[40]='，在极端情况下该奖励概率有机会显示成0.00%，请检查奖励权重配置。'
  ;   K[41]=true
  ;   K[42]='pairs'
  ;   K[43]='奖励权重存在问题，本轮有效权重的数量为'
  ;   K[44]='，当前轮次必须至少配'
  ;   K[45]='个奖励的权重，否则有可能出现剩下的奖励全部权重为空的情况。\n'
  ;   K[46]='如果是特殊配置情况方式，在确定不可能出现奖励全部权重为空的情况后，可以找程序确认配置并修改校验逻辑。\n\n'
  ;   K[47]='补充信息：本轮前已配置的固定奖励为：'
  ;   K[48]='。'
  ;   K[49]='payID'
  ;   K[50]='payID为空，非第一项不能是免费抽奖机会！'
  ;   upvals: _ENV
  ;   locals: self(0-228), config(0-228), logPrefix(12-228), generalConfigKey(14-228), contentConfigKey(16-228), contentConfig(17-228), contentConfigCount(18-228), fixedRewardCount(21-228), logPrefixRound(54-228), (for generator)(57-74), (for state)(57-74), (for control)(57-74), _(58-72), contentConfig(58-72), mapEnsureReward(75-228), mapImpossibleEnsure(76-228), ensureRewardCount(77-228), nonZeroCount(78-228), arrNonZeroItem(78-228), lastNonZeroItem(78-228), smallestNonZeroWeight(78-228), giftWeight(78-228), maxPossibleTotalWeight(78-228), currentTotalWeightCount(78-228), (for generator)(81-227), (for state)(81-227), (for control)(81-227), round(82-225), contentConfig(82-225), SortByWeight(97-225), (for generator)(105-130), (for state)(105-130), (for control)(105-130), _(106-128), weightInfo(106-128), strEnsureReward(175-207), (for generator)(178-186), (for state)(178-186), (for control)(178-186), ensureReward(179-184), GetLogArray(187-207), (for generator)(221-225), (for state)(221-225), (for control)(221-225), _(222-223), item(222-223)
  0000  GETTABUP  R2 = _ENV[K0('GameConfig')]
  0001  GETTABLE  R2 = R2[K1('IsTestMode')]
  0002  CALL      R2 = call(R2, 1 args, 0 rets)
  0003  TEST      if not R2 then   -> -131066
  0004  JMP       (jump)   -> 6
  0005  RETURN    return R0..R-1
  0006  LOADK     R2 = K2 '[转盘礼包] 活动id='
  0007  GETTABUP  R3 = _ENV[K3('tostring')]
  0008  GETTABLE  R4 = R1[K4('id')]
  0009  CALL      R3 = call(R3, 1 args, 1 rets)
  0010  LOADK     R4 = K5 '，'
  0011  CONCAT    R2 = concat(R2..R2)
  0012  GETTABUP  R3 = _ENV[K6('DiscoSpinActivityModel')]
  0013  GETTABLE  R3 = R3[K7('GeneralConfigKey')]
  0014  GETTABUP  R4 = _ENV[K6('DiscoSpinActivityModel')]
  0015  GETTABLE  R4 = R4[K8('ContentConfigKey')]
  0016  GETTABLE  R5 = R0[K9('m_contentConfig')]
  0017  LEN       R6 = len R0
  0018  SELF      R8 = R0[K10('GetActivityDefinition')] (self)
  0019  CALL      R7 = call(R7, 1 args, 1 rets)
  0020  GETTABLE  R7 = R7[K11('FixedRewardCount')]
  0021  GETTABUP  R8 = _ENV[K12('Table')]
  0022  GETTABLE  R8 = R8[K13('IsEmpty')]
  0023  MOVE      R9 = R0
  0024  CALL      R8 = call(R8, 1 args, 1 rets)
  0025  TEST      if not R8 then   -> -131044
  0026  JMP       (jump)   -> 29
  0027  LE        if R0 le K14(0)   -> -127701
  0028  JMP       (jump)   -> 41
  0029  GETTABUP  R8 = _ENV[K15('Log')]
  0030  GETTABLE  R8 = R8[K16('Error')]
  0031  MOVE      R9 = R0
  0032  LOADK     R10 = K17 '没有找到配置：'
  0033  MOVE      R11 = R0
  0034  LOADK     R12 = K18 '，配置需要在'
  0035  MOVE      R13 = R0
  0036  LOADK     R14 = K19 '表里使用include关联表'
  0037  MOVE      R15 = R0
  0038  LOADK     R16 = K20 '！'
  0039  CONCAT    R9 = concat(R9..R9)
  0040  CALL      R8 = call(R8, 0 args, 1 rets)
  0041  MOVE      R8 = R0
  0042  LOADK     R9 = K21 '配置表'
  0043  MOVE      R10 = R0
  0044  LOADK     R11 = K22 '里，'
  0045  CONCAT    R2 = concat(R2..R8)
  0046  SELF      R9 = R0[K23('_CheckConfigContinuous')] (self)
  0047  MOVE      R10 = R0
  0048  LOADK     R11 = K24 'round'
  0049  MOVE      R12 = R0
  0050  LOADK     R13 = K25 1
  0051  MOVE      R14 = R0
  0052  CALL      R8 = call(R8, 0 args, 6 rets)
  0053  LOADNIL   R8..R8 = nil
  0054  GETTABUP  R9 = _ENV[K26('ipairs')]
  0055  MOVE      R10 = R0
  0056  CALL      R9 = call(R9, 3 args, 1 rets)
  0057  JMP       (jump)   -> 72
  0058  MOVE      R14 = R0
  0059  LOADK     R15 = K27 'round='
  0060  GETTABUP  R16 = _ENV[K3('tostring')]
  0061  GETTABLE  R17 = R13[K24('round')]
  0062  CALL      R16 = call(R16, 1 args, 1 rets)
  0063  LOADK     R17 = K28 '的配置，'
  0064  CONCAT    R8 = concat(R8..R14)
  0065  SELF      R15 = R0[K23('_CheckConfigContinuous')] (self)
  0066  GETTABLE  R16 = R13[K29('giftWeight')]
  0067  LOADK     R17 = K30 'Index'
  0068  MOVE      R18 = R0
  0069  LOADK     R19 = K25 1
  0070  MOVE      R20 = R0
  0071  CALL      R14 = call(R14, 0 args, 6 rets)
  0072  TFORCALL  tforcall R9
  0073  TFORLOOP  tforloop R11(sBx=-16)   -> 58
  0074  NEWTABLE  R9 = {} (0 items)
  0075  NEWTABLE  R10 = {} (0 items)
  0076  LOADK     R11 = K14 0
  0077  LOADNIL   R12..R12 = nil
  0078  GETTABUP  R19 = _ENV[K26('ipairs')]
  0079  MOVE      R20 = R0
  0080  CALL      R19 = call(R19, 3 args, 1 rets)
  0081  JMP       (jump)   -> 225
  0082  MOVE      R24 = R0
  0083  LOADK     R25 = K27 'round='
  0084  GETTABUP  R26 = _ENV[K3('tostring')]
  0085  GETTABLE  R27 = R23[K24('round')]
  0086  CALL      R26 = call(R26, 1 args, 1 rets)
  0087  LOADK     R27 = K28 '的配置，'
  0088  CONCAT    R8 = concat(R8..R24)
  0089  LOADK     R12 = K14 0
  0090  NEWTABLE  R24 = {} (0 items)
  0091  MOVE      R13 = R0
  0092  LOADNIL   R15..R15 = nil
  0093  GETTABLE  R16 = R23[K29('giftWeight')]
  0094  LOADK     R17 = K14 0
  0095  LOADK     R18 = K14 0
  0096  CLOSURE   R24 = closure proto0
  0097  GETTABUP  R25 = _ENV[K31('table')]
  0098  GETTABLE  R25 = R25[K32('sort')]
  0099  MOVE      R26 = R0
  0100  MOVE      R27 = R0
  0101  CALL      R25 = call(R25, 0 args, 2 rets)
  0102  GETTABUP  R25 = _ENV[K26('ipairs')]
  0103  MOVE      R26 = R0
  0104  CALL      R25 = call(R25, 3 args, 1 rets)
  0105  JMP       (jump)   -> 128
  0106  GETTABLE  R30 = R29[K33('Weight')]
  0107  LT        if R0 lt R30   -> 7307
  0108  JMP       (jump)   -> 128
  0109  GETTABLE  R30 = R29[K30('Index')]
  0110  GETTABLE  R30 = R9[R30]
  0111  TEST      if not R30 then   -> -130958
  0112  JMP       (jump)   -> 128
  0113  ADD       R12 = K25(1) add R12
  0114  GETTABUP  R30 = _ENV[K31('table')]
  0115  GETTABLE  R30 = R30[K34('insert')]
  0116  MOVE      R31 = R0
  0117  GETTABLE  R32 = R29[K30('Index')]
  0118  CALL      R30 = call(R30, 0 args, 2 rets)
  0119  GETTABLE  R15 = R29[K33('Weight')]
  0120  GETTABLE  R30 = R23[K24('round')]
  0121  SUB       R30 = R30 sub R7
  0122  ADD       R30 = K25(1) add R30
  0123  LT        if R0 lt R30   -> -121701
  0124  JMP       (jump)   -> 128
  0125  GETTABLE  R30 = R29[K33('Weight')]
  0126  ADD       R17 = R30 add R17
  0127  ADD       R18 = K25(1) add R18
  0128  TFORCALL  tforcall R25
  0129  TFORLOOP  tforloop R27(sBx=-24)   -> 106
  0130  EQ        if R1 eq K35(nil)   -> -122969
  0131  JMP       (jump)   -> 158
  0132  LT        if R0 lt R15   -> 7317
  0133  JMP       (jump)   -> 158
  0134  SELF      R26 = R0[K36('_GetPercentage')] (self)
  0135  MOVE      R27 = R0
  0136  MOVE      R28 = R0
  0137  CALL      R25 = call(R25, 1 args, 3 rets)
  0138  LE        if R0 le K14(0)   -> -117862
  0139  JMP       (jump)   -> 158
  0140  GETTABUP  R25 = _ENV[K15('Log')]
  0141  GETTABLE  R25 = R25[K16('Error')]
  0142  MOVE      R26 = R0
  0143  LOADK     R27 = K37 '奖励权重存在问题，权重最多的'
  0144  GETTABUP  R28 = _ENV[K3('tostring')]
  0145  MOVE      R29 = R0
  0146  CALL      R28 = call(R28, 1 args, 1 rets)
  0147  LOADK     R29 = K38 '个奖励权重总和为'
  0148  GETTABUP  R30 = _ENV[K3('tostring')]
  0149  MOVE      R31 = R0
  0150  CALL      R30 = call(R30, 1 args, 1 rets)
  0151  LOADK     R31 = K39 '，最小的权重为'
  0152  GETTABUP  R32 = _ENV[K3('tostring')]
  0153  MOVE      R33 = R0
  0154  CALL      R32 = call(R32, 1 args, 1 rets)
  0155  LOADK     R33 = K40 '，在极端情况下该奖励概率有机会显示成0.00%，请检查奖励权重配置。'
  0156  CONCAT    R26 = concat(R26..R26)
  0157  CALL      R25 = call(R25, 0 args, 1 rets)
  0158  LEN       R25 = len R0
  0159  GETTABLE  R14 = R13[R25]
  0160  EQ        if R0 eq K25(1)   -> -124485
  0161  JMP       (jump)   -> 171
  0162  GETTABLE  R25 = R9[R14]
  0163  TEST      if not R25 then   -> -130906
  0164  JMP       (jump)   -> 171
  0165  GETTABLE  R25 = R10[R14]
  0166  TEST      if not R25 then   -> -130903
  0167  JMP       (jump)   -> 171
  0168  SETTABLE  R9[R14] = K41(true)
  0169  ADD       R11 = K25(1) add R11
  0170  JMP       (jump)   -> 207
  0171  SUB       R25 = R11 sub R22
  0172  LT        if R0 lt R25   -> -124729
  0173  JMP       (jump)   -> 207
  0174  NEWTABLE  R25 = {} (0 items)
  0175  GETTABUP  R26 = _ENV[K42('pairs')]
  0176  MOVE      R27 = R0
  0177  CALL      R26 = call(R26, 3 args, 1 rets)
  0178  JMP       (jump)   -> 184
  0179  GETTABUP  R30 = _ENV[K31('table')]
  0180  GETTABLE  R30 = R30[K34('insert')]
  0181  MOVE      R31 = R0
  0182  MOVE      R32 = R0
  0183  CALL      R30 = call(R30, 0 args, 2 rets)
  0184  TFORCALL  tforcall R26
  0185  TFORLOOP  tforloop R28(sBx=-7)   -> 179
  0186  CLOSURE   R26 = closure proto1
  0187  GETTABUP  R27 = _ENV[K15('Log')]
  0188  GETTABLE  R27 = R27[K16('Error')]
  0189  MOVE      R28 = R0
  0190  LOADK     R29 = K43 '奖励权重存在问题，本轮有效权重的数量为'
  0191  GETTABUP  R30 = _ENV[K3('tostring')]
  0192  MOVE      R31 = R0
  0193  CALL      R30 = call(R30, 1 args, 1 rets)
  0194  LOADK     R31 = K44 '，当前轮次必须至少配'
  0195  GETTABUP  R32 = _ENV[K3('tostring')]
  0196  SUB       R33 = R11 sub R22
  0197  CALL      R32 = call(R32, 1 args, 1 rets)
  0198  LOADK     R33 = K45 '个奖励的权重，否则有可能出现剩下的奖励全部权重为空的情况。\n'
  0199  LOADK     R34 = K46 '如果是特殊配置情况方式，在确定不可能出现奖励全部权重为空的情况后，可以找程序确认配置并修改校验逻辑。\n\n'
  0200  LOADK     R35 = K47 '补充信息：本轮前已配置的固定奖励为：'
  0201  MOVE      R36 = R0
  0202  MOVE      R37 = R0
  0203  CALL      R36 = call(R36, 1 args, 1 rets)
  0204  LOADK     R37 = K48 '。'
  0205  CONCAT    R28 = concat(R28..R28)
  0206  CALL      R27 = call(R27, 0 args, 1 rets)
  0207  GETTABLE  R25 = R23[K49('payID')]
  0208  EQ        if R0 eq K35(nil)   -> -117771
  0209  JMP       (jump)   -> 218
  0210  LT        if R0 lt R22   -> 13034
  0211  JMP       (jump)   -> 218
  0212  GETTABUP  R25 = _ENV[K15('Log')]
  0213  GETTABLE  R25 = R25[K16('Error')]
  0214  MOVE      R26 = R0
  0215  LOADK     R27 = K50 'payID为空，非第一项不能是免费抽奖机会！'
  0216  CONCAT    R26 = concat(R26..R26)
  0217  CALL      R25 = call(R25, 0 args, 1 rets)
  0218  GETTABUP  R25 = _ENV[K26('ipairs')]
  0219  MOVE      R26 = R0
  0220  CALL      R25 = call(R25, 3 args, 1 rets)
  0221  JMP       (jump)   -> 223
  0222  SETTABLE  R10[R29] = K41(true)
  0223  TFORCALL  tforcall R25
  0224  TFORLOOP  tforloop R27(sBx=-3)   -> 222
  0225  TFORCALL  tforcall R19
  0226  TFORLOOP  tforloop R21(sBx=-145)   -> 82
  0227  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 234-236 np=2 va=0 ms=4 code=8 consts=1 upvals=0 protos=0
    ;   K[0]='Weight'
    ;   locals: weightInfoA(0-8), weightInfoB(0-8)
    0000  GETTABLE  R2 = R0[K0('Weight')]
    0001  GETTABLE  R3 = R1[K0('Weight')]
    0002  LT        if R1 lt R2   -> -129530
    0003  JMP       (jump)   -> 5
    0004  LOADBOOL  R2 = false
    0005  LOADBOOL  R2 = true
    0006  RETURN    return R2..R1
    0007  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 269-272 np=1 va=0 ms=4 code=20 consts=7 upvals=1 protos=0
    ;   K[0]='table'
    ;   K[1]='sort'
    ;   K[2]='Table'
    ;   K[3]='IsEmpty'
    ;   K[4]='（空）'
    ;   K[5]='concat'
    ;   K[6]=','
    ;   upvals: _ENV
    ;   locals: array(0-20)
    0000  GETTABUP  R1 = _ENV[K0('table')]
    0001  GETTABLE  R1 = R1[K1('sort')]
    0002  MOVE      R2 = R0
    0003  CALL      R1 = call(R1, 0 args, 1 rets)
    0004  GETTABUP  R1 = _ENV[K2('Table')]
    0005  GETTABLE  R1 = R1[K3('IsEmpty')]
    0006  MOVE      R2 = R0
    0007  CALL      R1 = call(R1, 1 args, 1 rets)
    0008  TEST      if not R1 then   -> -131062
    0009  JMP       (jump)   -> 13
    0010  LOADK     R1 = K4 '（空）'
    0011  TEST      if not R1 then   -> -131058
    0012  JMP       (jump)   -> 18
    0013  GETTABUP  R1 = _ENV[K0('table')]
    0014  GETTABLE  R1 = R1[K5('concat')]
    0015  MOVE      R2 = R0
    0016  LOADK     R3 = K6 ','
    0017  CALL      R1 = call(R1, 1 args, 2 rets)
    0018  RETURN    return R1..R0
    0019  RETURN    return R0..R-1
; ---------- proto14 [_CheckRewardConfigValid] ----------
  ; fn ?  line 293-326 np=2 va=0 ms=24 code=95 consts=39 upvals=1 protos=0
  ;   K[0]='GameConfig'
  ;   K[1]='IsTestMode'
  ;   K[2]='[转盘礼包] 活动id='
  ;   K[3]='tostring'
  ;   K[4]='id'
  ;   K[5]='，'
  ;   K[6]='DiscoSpinActivityModel'
  ;   K[7]='GeneralConfigKey'
  ;   K[8]='RewardConfigKey'
  ;   K[9]='m_rewardConfig'
  ;   K[10]='GetActivityDefinition'
  ;   K[11]='FixedRewardCount'
  ;   K[12]='Table'
  ;   K[13]='IsEmpty'
  ;   K[14]=0
  ;   K[15]='Log'
  ;   K[16]='Error'
  ;   K[17]='没有找到配置：'
  ;   K[18]='，配置需要在'
  ;   K[19]='表里使用include关联表'
  ;   K[20]='！'
  ;   K[21]='配置表'
  ;   K[22]='里，'
  ;   K[23]='_CheckConfigContinuous'
  ;   K[24]='index'
  ;   K[25]=1
  ;   K[26]='ipairs'
  ;   K[27]='content'
  ;   K[28]='index='
  ;   K[29]='的配置，'
  ;   K[30]=2
  ;   K[31]='content错误，当前content='
  ;   K[32]='table'
  ;   K[33]='concat'
  ;   K[34]='ConfigUtil'
  ;   K[35]='GetArrFromCurrency'
  ;   K[36]=';'
  ;   K[37]='，奖励数量为'
  ;   K[38]='，奖励数量必须是1或2。'
  ;   upvals: _ENV
  ;   locals: self(0-95), config(0-95), logPrefix(12-95), generalConfigKey(14-95), rewardConfigKey(16-95), rewardConfig(17-95), rewardConfigCount(18-95), fixedRewardCount(21-95), logPrefixIndex(54-95), index(54-95), content(54-95), contentCount(54-95), (for generator)(57-94), (for state)(57-94), (for control)(57-94), _(58-92), rewardConfig(58-92)
  0000  GETTABUP  R2 = _ENV[K0('GameConfig')]
  0001  GETTABLE  R2 = R2[K1('IsTestMode')]
  0002  CALL      R2 = call(R2, 1 args, 0 rets)
  0003  TEST      if not R2 then   -> -131066
  0004  JMP       (jump)   -> 6
  0005  RETURN    return R0..R-1
  0006  LOADK     R2 = K2 '[转盘礼包] 活动id='
  0007  GETTABUP  R3 = _ENV[K3('tostring')]
  0008  GETTABLE  R4 = R1[K4('id')]
  0009  CALL      R3 = call(R3, 1 args, 1 rets)
  0010  LOADK     R4 = K5 '，'
  0011  CONCAT    R2 = concat(R2..R2)
  0012  GETTABUP  R3 = _ENV[K6('DiscoSpinActivityModel')]
  0013  GETTABLE  R3 = R3[K7('GeneralConfigKey')]
  0014  GETTABUP  R4 = _ENV[K6('DiscoSpinActivityModel')]
  0015  GETTABLE  R4 = R4[K8('RewardConfigKey')]
  0016  GETTABLE  R5 = R0[K9('m_rewardConfig')]
  0017  LEN       R6 = len R0
  0018  SELF      R8 = R0[K10('GetActivityDefinition')] (self)
  0019  CALL      R7 = call(R7, 1 args, 1 rets)
  0020  GETTABLE  R7 = R7[K11('FixedRewardCount')]
  0021  GETTABUP  R8 = _ENV[K12('Table')]
  0022  GETTABLE  R8 = R8[K13('IsEmpty')]
  0023  MOVE      R9 = R0
  0024  CALL      R8 = call(R8, 1 args, 1 rets)
  0025  TEST      if not R8 then   -> -131044
  0026  JMP       (jump)   -> 29
  0027  LE        if R0 le K14(0)   -> -127701
  0028  JMP       (jump)   -> 41
  0029  GETTABUP  R8 = _ENV[K15('Log')]
  0030  GETTABLE  R8 = R8[K16('Error')]
  0031  MOVE      R9 = R0
  0032  LOADK     R10 = K17 '没有找到配置：'
  0033  MOVE      R11 = R0
  0034  LOADK     R12 = K18 '，配置需要在'
  0035  MOVE      R13 = R0
  0036  LOADK     R14 = K19 '表里使用include关联表'
  0037  MOVE      R15 = R0
  0038  LOADK     R16 = K20 '！'
  0039  CONCAT    R9 = concat(R9..R9)
  0040  CALL      R8 = call(R8, 0 args, 1 rets)
  0041  MOVE      R8 = R0
  0042  LOADK     R9 = K21 '配置表'
  0043  MOVE      R10 = R0
  0044  LOADK     R11 = K22 '里，'
  0045  CONCAT    R2 = concat(R2..R8)
  0046  SELF      R9 = R0[K23('_CheckConfigContinuous')] (self)
  0047  MOVE      R10 = R0
  0048  LOADK     R11 = K24 'index'
  0049  MOVE      R12 = R0
  0050  LOADK     R13 = K25 1
  0051  MOVE      R14 = R0
  0052  CALL      R8 = call(R8, 0 args, 6 rets)
  0053  LOADNIL   R8..R8 = nil
  0054  GETTABUP  R12 = _ENV[K26('ipairs')]
  0055  MOVE      R13 = R0
  0056  CALL      R12 = call(R12, 3 args, 1 rets)
  0057  JMP       (jump)   -> 92
  0058  GETTABLE  R17 = R16[K24('index')]
  0059  GETTABLE  R10 = R16[K27('content')]
  0060  MOVE      R9 = R0
  0061  MOVE      R17 = R0
  0062  LOADK     R18 = K28 'index='
  0063  GETTABUP  R19 = _ENV[K3('tostring')]
  0064  MOVE      R20 = R0
  0065  CALL      R19 = call(R19, 1 args, 1 rets)
  0066  LOADK     R20 = K29 '的配置，'
  0067  CONCAT    R8 = concat(R8..R17)
  0068  LEN       R11 = len R0
  0069  LE        if R1 le K14(0)   -> -125099
  0070  JMP       (jump)   -> 73
  0071  LT        if R0 lt R11   -> 15444
  0072  JMP       (jump)   -> 92
  0073  GETTABUP  R17 = _ENV[K15('Log')]
  0074  GETTABLE  R17 = R17[K16('Error')]
  0075  MOVE      R18 = R0
  0076  LOADK     R19 = K31 'content错误，当前content='
  0077  GETTABUP  R20 = _ENV[K32('table')]
  0078  GETTABLE  R20 = R20[K33('concat')]
  0079  GETTABUP  R21 = _ENV[K34('ConfigUtil')]
  0080  GETTABLE  R21 = R21[K35('GetArrFromCurrency')]
  0081  MOVE      R22 = R0
  0082  CALL      R21 = call(R21, 1 args, 1 rets)
  0083  LOADK     R22 = K36 ';'
  0084  CALL      R20 = call(R20, 1 args, 2 rets)
  0085  LOADK     R21 = K37 '，奖励数量为'
  0086  GETTABUP  R22 = _ENV[K3('tostring')]
  0087  MOVE      R23 = R0
  0088  CALL      R22 = call(R22, 1 args, 1 rets)
  0089  LOADK     R23 = K38 '，奖励数量必须是1或2。'
  0090  CONCAT    R18 = concat(R18..R18)
  0091  CALL      R17 = call(R17, 0 args, 1 rets)
  0092  TFORCALL  tforcall R12
  0093  TFORLOOP  tforloop R14(sBx=-36)   -> 58
  0094  RETURN    return R0..R-1
; ---------- proto15 [_CheckConfigValid] ----------
  ; fn ?  line 328-335 np=2 va=0 ms=5 code=13 consts=4 upvals=1 protos=0
  ;   K[0]='GameConfig'
  ;   K[1]='IsTestMode'
  ;   K[2]='_CheckContentConfigValid'
  ;   K[3]='_CheckRewardConfigValid'
  ;   upvals: _ENV
  ;   locals: self(0-13), config(0-13)
  0000  GETTABUP  R2 = _ENV[K0('GameConfig')]
  0001  GETTABLE  R2 = R2[K1('IsTestMode')]
  0002  CALL      R2 = call(R2, 1 args, 0 rets)
  0003  TEST      if not R2 then   -> -131066
  0004  JMP       (jump)   -> 6
  0005  RETURN    return R0..R-1
  0006  SELF      R3 = R0[K2('_CheckContentConfigValid')] (self)
  0007  MOVE      R4 = R0
  0008  CALL      R2 = call(R2, 0 args, 2 rets)
  0009  SELF      R3 = R0[K3('_CheckRewardConfigValid')] (self)
  0010  MOVE      R4 = R0
  0011  CALL      R2 = call(R2, 0 args, 2 rets)
  0012  RETURN    return R0..R-1
; ---------- proto16 [GetDailyShowNum] ----------
  ; fn ?  line 337-339 np=1 va=0 ms=3 code=5 consts=2 upvals=0 protos=0
  ;   K[0]='m_generalConfig'
  ;   K[1]='GetDailyShowNum'
  ;   locals: self(0-5)
  0000  GETTABLE  R1 = R0[K0('m_generalConfig')]
  0001  SELF      R2 = R1[K1('GetDailyShowNum')] (self)
  0002  TAILCALL  tailcall(R1, 0)
  0003  RETURN    return R1..R0
  0004  RETURN    return R0..R-1
; ---------- proto17 [GetPopCDInSeconds] ----------
  ; fn ?  line 341-343 np=1 va=0 ms=3 code=5 consts=2 upvals=0 protos=0
  ;   K[0]='m_generalConfig'
  ;   K[1]='GetPopCDInSeconds'
  ;   locals: self(0-5)
  0000  GETTABLE  R1 = R0[K0('m_generalConfig')]
  0001  SELF      R2 = R1[K1('GetPopCDInSeconds')] (self)
  0002  TAILCALL  tailcall(R1, 0)
  0003  RETURN    return R1..R0
  0004  RETURN    return R0..R-1
; ---------- proto18 [GetCurrentContentConfig] ----------
  ; fn ?  line 345-347 np=1 va=0 ms=4 code=6 consts=2 upvals=0 protos=0
  ;   K[0]='m_contentConfig'
  ;   K[1]='GetCurrentRound'
  ;   locals: self(0-6)
  0000  GETTABLE  R1 = R0[K0('m_contentConfig')]
  0001  SELF      R3 = R0[K1('GetCurrentRound')] (self)
  0002  CALL      R2 = call(R2, 1 args, 1 rets)
  0003  GETTABLE  R1 = R1[R2]
  0004  RETURN    return R1..R0
  0005  RETURN    return R0..R-1
; ---------- proto19 [GetRewardConfigByIndex] ----------
  ; fn ?  line 350-352 np=2 va=0 ms=3 code=4 consts=1 upvals=0 protos=0
  ;   K[0]='m_rewardConfig'
  ;   locals: self(0-4), index(0-4)
  0000  GETTABLE  R2 = R0[K0('m_rewardConfig')]
  0001  GETTABLE  R2 = R2[R1]
  0002  RETURN    return R2..R1
  0003  RETURN    return R0..R-1
; ---------- proto20 [_DBTableGetValue] ----------
  ; fn ?  line 363-365 np=2 va=0 ms=6 code=7 consts=2 upvals=1 protos=0
  ;   K[0]='m_dbTable'
  ;   K[1]='GetValue'
  ;   upvals: DB_VALUE_KEY
  ;   locals: self(0-7), key(0-7)
  0000  GETTABLE  R2 = R0[K0('m_dbTable')]
  0001  SELF      R3 = R2[K1('GetValue')] (self)
  0002  MOVE      R4 = R0
  0003  GETUPVAL  R5 = DB_VALUE_KEY
  0004  TAILCALL  tailcall(R2, 0)
  0005  RETURN    return R2..R1
  0006  RETURN    return R0..R-1
; ---------- proto21 [_DBTableGetNumber] ----------
  ; fn ?  line 369-372 np=3 va=0 ms=7 code=13 consts=3 upvals=1 protos=0
  ;   K[0]=0
  ;   K[1]='tonumber'
  ;   K[2]='_DBTableGetValue'
  ;   upvals: _ENV
  ;   locals: self(0-13), key(0-13), defaultValue(0-13)
  0000  TEST      if not R2 then   -> -131069
  0001  JMP       (jump)   -> 3
  0002  LOADK     R2 = K0 0
  0003  GETTABUP  R3 = _ENV[K1('tonumber')]
  0004  SELF      R5 = R0[K2('_DBTableGetValue')] (self)
  0005  MOVE      R6 = R0
  0006  CALL      R4 = call(R4, -1 args, 2 rets)
  0007  CALL      R3 = call(R3, 1 args, -1 rets)
  0008  TEST      if not R3 then   -> -131061
  0009  JMP       (jump)   -> 11
  0010  MOVE      R3 = R0
  0011  RETURN    return R3..R2
  0012  RETURN    return R0..R-1
; ---------- proto22 [_DBTableSet] ----------
  ; fn ?  line 376-378 np=3 va=0 ms=8 code=7 consts=2 upvals=1 protos=0
  ;   K[0]='m_dbTable'
  ;   K[1]='Set'
  ;   upvals: DB_VALUE_KEY
  ;   locals: self(0-7), key(0-7), value(0-7)
  0000  GETTABLE  R3 = R0[K0('m_dbTable')]
  0001  SELF      R4 = R3[K1('Set')] (self)
  0002  MOVE      R5 = R0
  0003  GETUPVAL  R6 = DB_VALUE_KEY
  0004  MOVE      R7 = R0
  0005  CALL      R3 = call(R3, 0 args, 4 rets)
  0006  RETURN    return R0..R-1
; ---------- proto23 [_DBTableRemove] ----------
  ; fn ?  line 381-383 np=2 va=0 ms=5 code=5 consts=2 upvals=0 protos=0
  ;   K[0]='m_dbTable'
  ;   K[1]='Remove'
  ;   locals: self(0-5), key(0-5)
  0000  GETTABLE  R2 = R0[K0('m_dbTable')]
  0001  SELF      R3 = R2[K1('Remove')] (self)
  0002  MOVE      R4 = R0
  0003  CALL      R2 = call(R2, 0 args, 2 rets)
  0004  RETURN    return R0..R-1
; ---------- proto24 [_LoadDBTableData] ----------
  ; fn ?  line 386-388 np=1 va=0 ms=3 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='_LoadRewardTaken'
  ;   locals: self(0-3)
  0000  SELF      R2 = R0[K0('_LoadRewardTaken')] (self)
  0001  CALL      R1 = call(R1, 0 args, 1 rets)
  0002  RETURN    return R0..R-1
; ---------- proto25 [HasPaid] ----------
  ; fn ?  line 390-392 np=1 va=0 ms=4 code=10 consts=2 upvals=2 protos=0
  ;   K[0]='_DBTableGetNumber'
  ;   K[1]='HasPaid'
  ;   upvals: DBKey, TRUE_VALUE
  ;   locals: self(0-10)
  0000  SELF      R2 = R0[K0('_DBTableGetNumber')] (self)
  0001  GETTABUP  R3 = DBKey[K1('HasPaid')]
  0002  CALL      R1 = call(R1, 1 args, 2 rets)
  0003  GETUPVAL  R2 = DBKey
  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
; ---------- proto26 [SetHasPaid] ----------
  ; fn ?  line 394-400 np=2 va=0 ms=6 code=11 consts=3 upvals=2 protos=0
  ;   K[0]='_DBTableSet'
  ;   K[1]='HasPaid'
  ;   K[2]='_DBTableRemove'
  ;   upvals: DBKey, TRUE_VALUE
  ;   locals: self(0-11), bHasPaid(0-11)
  0000  TEST      if not R1 then   -> -131070
  0001  JMP       (jump)   -> 7
  0002  SELF      R3 = R0[K0('_DBTableSet')] (self)
  0003  GETTABUP  R4 = DBKey[K1('HasPaid')]
  0004  GETUPVAL  R5 = DBKey
  0005  CALL      R2 = call(R2, 0 args, 3 rets)
  0006  JMP       (jump)   -> 10
  0007  SELF      R3 = R0[K2('_DBTableRemove')] (self)
  0008  GETTABUP  R4 = DBKey[K1('HasPaid')]
  0009  CALL      R2 = call(R2, 0 args, 2 rets)
  0010  RETURN    return R0..R-1
; ---------- proto27 [HasPaidThisRound] ----------
  ; fn ?  line 402-404 np=1 va=0 ms=4 code=10 consts=2 upvals=2 protos=0
  ;   K[0]='_DBTableGetNumber'
  ;   K[1]='HasPaidThisRound'
  ;   upvals: DBKey, TRUE_VALUE
  ;   locals: self(0-10)
  0000  SELF      R2 = R0[K0('_DBTableGetNumber')] (self)
  0001  GETTABUP  R3 = DBKey[K1('HasPaidThisRound')]
  0002  CALL      R1 = call(R1, 1 args, 2 rets)
  0003  GETUPVAL  R2 = DBKey
  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
; ---------- proto28 [SetHasPaidThisRound] ----------
  ; fn ?  line 406-412 np=2 va=0 ms=6 code=11 consts=3 upvals=2 protos=0
  ;   K[0]='_DBTableSet'
  ;   K[1]='HasPaidThisRound'
  ;   K[2]='_DBTableRemove'
  ;   upvals: DBKey, TRUE_VALUE
  ;   locals: self(0-11), bHasPaidThisRound(0-11)
  0000  TEST      if not R1 then   -> -131070
  0001  JMP       (jump)   -> 7
  0002  SELF      R3 = R0[K0('_DBTableSet')] (self)
  0003  GETTABUP  R4 = DBKey[K1('HasPaidThisRound')]
  0004  GETUPVAL  R5 = DBKey
  0005  CALL      R2 = call(R2, 0 args, 3 rets)
  0006  JMP       (jump)   -> 10
  0007  SELF      R3 = R0[K2('_DBTableRemove')] (self)
  0008  GETTABUP  R4 = DBKey[K1('HasPaidThisRound')]
  0009  CALL      R2 = call(R2, 0 args, 2 rets)
  0010  RETURN    return R0..R-1
; ---------- proto29 [HasSpinWhenEnded] ----------
  ; fn ?  line 414-416 np=1 va=0 ms=4 code=10 consts=2 upvals=2 protos=0
  ;   K[0]='_DBTableGetNumber'
  ;   K[1]='HasSpinWhenEnded'
  ;   upvals: DBKey, TRUE_VALUE
  ;   locals: self(0-10)
  0000  SELF      R2 = R0[K0('_DBTableGetNumber')] (self)
  0001  GETTABUP  R3 = DBKey[K1('HasSpinWhenEnded')]
  0002  CALL      R1 = call(R1, 1 args, 2 rets)
  0003  GETUPVAL  R2 = DBKey
  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
; ---------- proto30 [SetHasSpinWhenEnded] ----------
  ; fn ?  line 418-424 np=2 va=0 ms=6 code=11 consts=3 upvals=2 protos=0
  ;   K[0]='_DBTableSet'
  ;   K[1]='HasSpinWhenEnded'
  ;   K[2]='_DBTableRemove'
  ;   upvals: DBKey, TRUE_VALUE
  ;   locals: self(0-11), bHasSpinWhenEnded(0-11)
  0000  TEST      if not R1 then   -> -131070
  0001  JMP       (jump)   -> 7
  0002  SELF      R3 = R0[K0('_DBTableSet')] (self)
  0003  GETTABUP  R4 = DBKey[K1('HasSpinWhenEnded')]
  0004  GETUPVAL  R5 = DBKey
  0005  CALL      R2 = call(R2, 0 args, 3 rets)
  0006  JMP       (jump)   -> 10
  0007  SELF      R3 = R0[K2('_DBTableRemove')] (self)
  0008  GETTABUP  R4 = DBKey[K1('HasSpinWhenEnded')]
  0009  CALL      R2 = call(R2, 0 args, 2 rets)
  0010  RETURN    return R0..R-1
; ---------- proto31 [GetCurrentRound] ----------
  ; fn ?  line 426-428 np=1 va=0 ms=5 code=6 consts=3 upvals=1 protos=0
  ;   K[0]='_DBTableGetNumber'
  ;   K[1]='CurrentRound'
  ;   K[2]=1
  ;   upvals: DBKey
  ;   locals: self(0-6)
  0000  SELF      R2 = R0[K0('_DBTableGetNumber')] (self)
  0001  GETTABUP  R3 = DBKey[K1('CurrentRound')]
  0002  LOADK     R4 = K2 1
  0003  TAILCALL  tailcall(R1, 0)
  0004  RETURN    return R1..R0
  0005  RETURN    return R0..R-1
; ---------- proto32 [SetCurrentRound] ----------
  ; fn ?  line 431-433 np=2 va=0 ms=6 code=5 consts=2 upvals=1 protos=0
  ;   K[0]='_DBTableSet'
  ;   K[1]='CurrentRound'
  ;   upvals: DBKey
  ;   locals: self(0-5), currentRound(0-5)
  0000  SELF      R3 = R0[K0('_DBTableSet')] (self)
  0001  GETTABUP  R4 = DBKey[K1('CurrentRound')]
  0002  MOVE      R5 = R0
  0003  CALL      R2 = call(R2, 0 args, 3 rets)
  0004  RETURN    return R0..R-1
; ---------- proto33 [_LoadRewardTaken] ----------
  ; fn ?  line 435-445 np=1 va=0 ms=9 code=29 consts=12 upvals=2 protos=0
  ;   K[0]='m_mapRewardTaken'
  ;   K[1]='_DBTableGetValue'
  ;   K[2]='RewardTaken'
  ;   K[3]='StringUtil'
  ;   K[4]='IsNilOrEmpty'
  ;   K[5]='json'
  ;   K[6]='decode'
  ;   K[7]='Replace'
  ;   K[8]='@'
  ;   K[9]=','
  ;   K[10]='ipairs'
  ;   K[11]=true
  ;   upvals: DBKey, _ENV
  ;   locals: self(0-29), strData(5-29), cacheTb(20-28), (for generator)(23-28), (for state)(23-28), (for control)(23-28), _(24-26), index(24-26)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  SETTABLE  R0[K0('m_mapRewardTaken')] = R1
  0002  SELF      R2 = R0[K1('_DBTableGetValue')] (self)
  0003  GETTABUP  R3 = DBKey[K2('RewardTaken')]
  0004  CALL      R1 = call(R1, 1 args, 2 rets)
  0005  GETTABUP  R2 = _ENV[K3('StringUtil')]
  0006  GETTABLE  R2 = R2[K4('IsNilOrEmpty')]
  0007  MOVE      R3 = R0
  0008  CALL      R2 = call(R2, 1 args, 1 rets)
  0009  TEST      if not R2 then   -> -131060
  0010  JMP       (jump)   -> 28
  0011  GETTABUP  R2 = _ENV[K5('json')]
  0012  GETTABLE  R2 = R2[K6('decode')]
  0013  GETTABUP  R3 = _ENV[K3('StringUtil')]
  0014  GETTABLE  R3 = R3[K7('Replace')]
  0015  MOVE      R4 = R0
  0016  LOADK     R5 = K8 '@'
  0017  LOADK     R6 = K9 ','
  0018  CALL      R3 = call(R3, -1 args, 3 rets)
  0019  CALL      R2 = call(R2, 1 args, -1 rets)
  0020  GETTABUP  R3 = _ENV[K10('ipairs')]
  0021  MOVE      R4 = R0
  0022  CALL      R3 = call(R3, 3 args, 1 rets)
  0023  JMP       (jump)   -> 26
  0024  GETTABLE  R8 = R0[K0('m_mapRewardTaken')]
  0025  SETTABLE  R8[R7] = K11(true)
  0026  TFORCALL  tforcall R3
  0027  TFORLOOP  tforloop R5(sBx=-4)   -> 24
  0028  RETURN    return R0..R-1
; ---------- proto34 [_SaveRewardTaken] ----------
  ; fn ?  line 447-457 np=1 va=0 ms=9 code=35 consts=14 upvals=2 protos=0
  ;   K[0]='Table'
  ;   K[1]='IsEmpty'
  ;   K[2]='m_mapRewardTaken'
  ;   K[3]='_DBTableSet'
  ;   K[4]='RewardTaken'
  ;   K[5]='pairs'
  ;   K[6]='table'
  ;   K[7]='insert'
  ;   K[8]='StringUtil'
  ;   K[9]='Replace'
  ;   K[10]='json'
  ;   K[11]='encode'
  ;   K[12]=','
  ;   K[13]='@'
  ;   upvals: _ENV, DBKey
  ;   locals: self(0-35), cacheTb(11-34), (for generator)(14-22), (for state)(14-22), (for control)(14-22), index(15-20)
  0000  GETTABUP  R1 = _ENV[K0('Table')]
  0001  GETTABLE  R1 = R1[K1('IsEmpty')]
  0002  GETTABLE  R2 = R0[K2('m_mapRewardTaken')]
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  TEST      if not R1 then   -> -131066
  0005  JMP       (jump)   -> 10
  0006  SELF      R2 = R0[K3('_DBTableSet')] (self)
  0007  GETTABUP  R3 = DBKey[K4('RewardTaken')]
  0008  CALL      R1 = call(R1, 0 args, 2 rets)
  0009  JMP       (jump)   -> 34
  0010  NEWTABLE  R1 = {} (0 items)
  0011  GETTABUP  R2 = _ENV[K5('pairs')]
  0012  GETTABLE  R3 = R0[K2('m_mapRewardTaken')]
  0013  CALL      R2 = call(R2, 3 args, 1 rets)
  0014  JMP       (jump)   -> 20
  0015  GETTABUP  R6 = _ENV[K6('table')]
  0016  GETTABLE  R6 = R6[K7('insert')]
  0017  MOVE      R7 = R0
  0018  MOVE      R8 = R0
  0019  CALL      R6 = call(R6, 0 args, 2 rets)
  0020  TFORCALL  tforcall R2
  0021  TFORLOOP  tforloop R4(sBx=-7)   -> 15
  0022  SELF      R3 = R0[K3('_DBTableSet')] (self)
  0023  GETTABUP  R4 = DBKey[K4('RewardTaken')]
  0024  GETTABUP  R5 = _ENV[K8('StringUtil')]
  0025  GETTABLE  R5 = R5[K9('Replace')]
  0026  GETTABUP  R6 = _ENV[K10('json')]
  0027  GETTABLE  R6 = R6[K11('encode')]
  0028  MOVE      R7 = R0
  0029  CALL      R6 = call(R6, 1 args, 1 rets)
  0030  LOADK     R7 = K12 ','
  0031  LOADK     R8 = K13 '@'
  0032  CALL      R5 = call(R5, -1 args, 3 rets)
  0033  CALL      R2 = call(R2, 0 args, -1 rets)
  0034  RETURN    return R0..R-1
; ---------- proto35 [IsRewardTaken] ----------
  ; fn ?  line 460-462 np=2 va=0 ms=3 code=4 consts=1 upvals=0 protos=0
  ;   K[0]='m_mapRewardTaken'
  ;   locals: self(0-4), index(0-4)
  0000  GETTABLE  R2 = R0[K0('m_mapRewardTaken')]
  0001  GETTABLE  R2 = R2[R1]
  0002  RETURN    return R2..R1
  0003  RETURN    return R0..R-1
; ---------- proto36 [_SetRewardTaken] ----------
  ; fn ?  line 465-468 np=2 va=0 ms=4 code=5 consts=3 upvals=0 protos=0
  ;   K[0]='m_mapRewardTaken'
  ;   K[1]=true
  ;   K[2]='_SaveRewardTaken'
  ;   locals: self(0-5), index(0-5)
  0000  GETTABLE  R2 = R0[K0('m_mapRewardTaken')]
  0001  SETTABLE  R2[R1] = K1(true)
  0002  SELF      R3 = R0[K2('_SaveRewardTaken')] (self)
  0003  CALL      R2 = call(R2, 0 args, 1 rets)
  0004  RETURN    return R0..R-1
; ---------- proto37 [GetTriggerStartTime] ----------
  ; fn ?  line 470-472 np=1 va=0 ms=4 code=5 consts=2 upvals=1 protos=0
  ;   K[0]='_DBTableGetNumber'
  ;   K[1]='TriggerStartTime'
  ;   upvals: DBKey
  ;   locals: self(0-5)
  0000  SELF      R2 = R0[K0('_DBTableGetNumber')] (self)
  0001  GETTABUP  R3 = DBKey[K1('TriggerStartTime')]
  0002  TAILCALL  tailcall(R1, 0)
  0003  RETURN    return R1..R0
  0004  RETURN    return R0..R-1
; ---------- proto38 [_SetTriggerStartTime] ----------
  ; fn ?  line 475-477 np=2 va=0 ms=6 code=5 consts=2 upvals=1 protos=0
  ;   K[0]='_DBTableSet'
  ;   K[1]='TriggerStartTime'
  ;   upvals: DBKey
  ;   locals: self(0-5), triggerStartTime(0-5)
  0000  SELF      R3 = R0[K0('_DBTableSet')] (self)
  0001  GETTABUP  R4 = DBKey[K1('TriggerStartTime')]
  0002  MOVE      R5 = R0
  0003  CALL      R2 = call(R2, 0 args, 3 rets)
  0004  RETURN    return R0..R-1
; ---------- proto39 [GetLastPopTime] ----------
  ; fn ?  line 479-481 np=1 va=0 ms=4 code=5 consts=2 upvals=1 protos=0
  ;   K[0]='_DBTableGetNumber'
  ;   K[1]='LastPopTime'
  ;   upvals: DBKey
  ;   locals: self(0-5)
  0000  SELF      R2 = R0[K0('_DBTableGetNumber')] (self)
  0001  GETTABUP  R3 = DBKey[K1('LastPopTime')]
  0002  TAILCALL  tailcall(R1, 0)
  0003  RETURN    return R1..R0
  0004  RETURN    return R0..R-1
; ---------- proto40 [_SetLastPopTime] ----------
  ; fn ?  line 484-486 np=2 va=0 ms=6 code=5 consts=2 upvals=1 protos=0
  ;   K[0]='_DBTableSet'
  ;   K[1]='LastPopTime'
  ;   upvals: DBKey
  ;   locals: self(0-5), lastPopTime(0-5)
  0000  SELF      R3 = R0[K0('_DBTableSet')] (self)
  0001  GETTABUP  R4 = DBKey[K1('LastPopTime')]
  0002  MOVE      R5 = R0
  0003  CALL      R2 = call(R2, 0 args, 3 rets)
  0004  RETURN    return R0..R-1
; ---------- proto41 [GetDailyPopCount] ----------
  ; fn ?  line 488-490 np=1 va=0 ms=4 code=5 consts=2 upvals=1 protos=0
  ;   K[0]='_DBTableGetNumber'
  ;   K[1]='DailyPopCount'
  ;   upvals: DBKey
  ;   locals: self(0-5)
  0000  SELF      R2 = R0[K0('_DBTableGetNumber')] (self)
  0001  GETTABUP  R3 = DBKey[K1('DailyPopCount')]
  0002  TAILCALL  tailcall(R1, 0)
  0003  RETURN    return R1..R0
  0004  RETURN    return R0..R-1
; ---------- proto42 [_SetDailyPopCount] ----------
  ; fn ?  line 493-495 np=2 va=0 ms=6 code=5 consts=2 upvals=1 protos=0
  ;   K[0]='_DBTableSet'
  ;   K[1]='DailyPopCount'
  ;   upvals: DBKey
  ;   locals: self(0-5), dailyPopCount(0-5)
  0000  SELF      R3 = R0[K0('_DBTableSet')] (self)
  0001  GETTABUP  R4 = DBKey[K1('DailyPopCount')]
  0002  MOVE      R5 = R0
  0003  CALL      R2 = call(R2, 0 args, 3 rets)
  0004  RETURN    return R0..R-1
; ---------- proto43 [IsMainWindowPoped] ----------
  ; fn ?  line 502-504 np=1 va=0 ms=4 code=6 consts=3 upvals=1 protos=0
  ;   K[0]='HasWindowOpenedOnce'
  ;   K[1]='ActivityState'
  ;   K[2]='Started'
  ;   upvals: _ENV
  ;   locals: self(0-6)
  0000  SELF      R2 = R0[K0('HasWindowOpenedOnce')] (self)
  0001  GETTABUP  R3 = _ENV[K1('ActivityState')]
  0002  GETTABLE  R3 = R3[K2('Started')]
  0003  TAILCALL  tailcall(R1, 0)
  0004  RETURN    return R1..R0
  0005  RETURN    return R0..R-1
; ---------- proto44 [IsEndWindowPoped] ----------
  ; fn ?  line 507-509 np=1 va=0 ms=4 code=6 consts=3 upvals=1 protos=0
  ;   K[0]='HasWindowOpenedOnce'
  ;   K[1]='ActivityState'
  ;   K[2]='Ended'
  ;   upvals: _ENV
  ;   locals: self(0-6)
  0000  SELF      R2 = R0[K0('HasWindowOpenedOnce')] (self)
  0001  GETTABUP  R3 = _ENV[K1('ActivityState')]
  0002  GETTABLE  R3 = R3[K2('Ended')]
  0003  TAILCALL  tailcall(R1, 0)
  0004  RETURN    return R1..R0
  0005  RETURN    return R0..R-1
; ---------- proto45 [SetMainWindowPoped] ----------
  ; fn ?  line 512-514 np=1 va=0 ms=3 code=4 consts=1 upvals=0 protos=0
  ;   K[0]='SetWindowOpened'
  ;   locals: self(0-4)
  0000  SELF      R2 = R0[K0('SetWindowOpened')] (self)
  0001  TAILCALL  tailcall(R1, 0)
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
; ---------- proto46 [HasLastChance] ----------
  ; fn ?  line 517-519 np=1 va=0 ms=3 code=17 consts=5 upvals=1 protos=0
  ;   K[0]='GetState'
  ;   K[1]='ActivityState'
  ;   K[2]='Ended'
  ;   K[3]='HasPaid'
  ;   K[4]='CanSpin'
  ;   upvals: _ENV
  ;   locals: self(0-17)
  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('Ended')]
  0004  EQ        if R0 eq R2   -> -130552
  0005  JMP       (jump)   -> 13
  0006  SELF      R2 = R0[K3('HasPaid')] (self)
  0007  CALL      R1 = call(R1, 1 args, 1 rets)
  0008  TEST      if not R1 then   -> -131062
  0009  JMP       (jump)   -> 15
  0010  SELF      R2 = R0[K4('CanSpin')] (self)
  0011  CALL      R1 = call(R1, 1 args, 1 rets)
  0012  JMP       (jump)   -> 15
  0013  LOADBOOL  R1 = false
  0014  LOADBOOL  R1 = true
  0015  RETURN    return R1..R0
  0016  RETURN    return R0..R-1
; ---------- proto47 [GetLastPopDay] ----------
  ; fn ?  line 521-523 np=1 va=0 ms=3 code=6 consts=2 upvals=1 protos=0
  ;   K[0]='GetLastPopTime'
  ;   K[1]='Sec2Day'
  ;   upvals: _ENV
  ;   locals: self(0-6)
  0000  SELF      R2 = R0[K0('GetLastPopTime')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  GETTABUP  R2 = _ENV[K1('Sec2Day')]
  0003  IDIV      R1 = R2 idiv R1
  0004  RETURN    return R1..R0
  0005  RETURN    return R0..R-1
; ---------- proto48 [GetIAPType] ----------
  ; fn ?  line 530-533 np=1 va=0 ms=4 code=8 consts=2 upvals=0 protos=0
  ;   K[0]='GetCurrentContentConfig'
  ;   K[1]='GetIAPType'
  ;   locals: self(0-8), currentContentConfig(2-8)
  0000  SELF      R2 = R0[K0('GetCurrentContentConfig')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TESTSET   if R0 then R2   -> -130556
  0003  JMP       (jump)   -> 6
  0004  SELF      R3 = R1[K1('GetIAPType')] (self)
  0005  CALL      R2 = call(R2, 1 args, 1 rets)
  0006  RETURN    return R2..R1
  0007  RETURN    return R0..R-1
; ---------- proto49 [GetLocalizedPrice] ----------
  ; fn ?  line 536-538 np=1 va=0 ms=5 code=8 consts=4 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='InAppPurchaseModel'
  ;   K[2]='GetLocalizedPrice'
  ;   K[3]='GetIAPType'
  ;   upvals: _ENV
  ;   locals: self(0-8)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('InAppPurchaseModel')]
  0002  SELF      R2 = R1[K2('GetLocalizedPrice')] (self)
  0003  SELF      R4 = R0[K3('GetIAPType')] (self)
  0004  CALL      R3 = call(R3, -1 args, 1 rets)
  0005  TAILCALL  tailcall(R1, 0)
  0006  RETURN    return R1..R0
  0007  RETURN    return R0..R-1
; ---------- proto50 [IsFreeThisRound] ----------
  ; fn ?  line 541-543 np=1 va=0 ms=3 code=8 consts=2 upvals=0 protos=0
  ;   K[0]='GetIAPType'
  ;   K[1]=nil
  ;   locals: self(0-8)
  0000  SELF      R2 = R0[K0('GetIAPType')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  EQ        if R1 eq K1(nil)   -> -130299
  0003  JMP       (jump)   -> 5
  0004  LOADBOOL  R1 = false
  0005  LOADBOOL  R1 = true
  0006  RETURN    return R1..R0
  0007  RETURN    return R0..R-1
; ---------- proto51 [StartPurchase] ----------
  ; fn ?  line 546-564 np=1 va=0 ms=7 code=39 consts=14 upvals=1 protos=1
  ;   K[0]='HasPaidThisRound'
  ;   K[1]='GameConfig'
  ;   K[2]='IsTestMode'
  ;   K[3]='Log'
  ;   K[4]='Error'
  ;   K[5]='[转盘礼包] 已购买本轮，但仍然尝试发起支付！'
  ;   K[6]='IsFreeThisRound'
  ;   K[7]='[转盘礼包] 本轮免费，但仍然尝试发起支付！'
  ;   K[8]='GM'
  ;   K[9]='InAppPurchaseModel'
  ;   K[10]='StartPurchase'
  ;   K[11]='GetIAPType'
  ;   K[12]='EBIType'
  ;   K[13]='ShopBuy'
  ;   upvals: _ENV
  ;   locals: self(0-39), purchaseCallback(29-39)
  0000  SELF      R2 = R0[K0('HasPaidThisRound')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131068
  0003  JMP       (jump)   -> 14
  0004  GETTABUP  R1 = _ENV[K1('GameConfig')]
  0005  GETTABLE  R1 = R1[K2('IsTestMode')]
  0006  CALL      R1 = call(R1, 1 args, 0 rets)
  0007  TEST      if not R1 then   -> -131063
  0008  JMP       (jump)   -> 13
  0009  GETTABUP  R1 = _ENV[K3('Log')]
  0010  GETTABLE  R1 = R1[K4('Error')]
  0011  LOADK     R2 = K5 '[转盘礼包] 已购买本轮，但仍然尝试发起支付！'
  0012  CALL      R1 = call(R1, 0 args, 1 rets)
  0013  RETURN    return R0..R-1
  0014  SELF      R2 = R0[K6('IsFreeThisRound')] (self)
  0015  CALL      R1 = call(R1, 1 args, 1 rets)
  0016  TEST      if not R1 then   -> -131054
  0017  JMP       (jump)   -> 28
  0018  GETTABUP  R1 = _ENV[K1('GameConfig')]
  0019  GETTABLE  R1 = R1[K2('IsTestMode')]
  0020  CALL      R1 = call(R1, 1 args, 0 rets)
  0021  TEST      if not R1 then   -> -131049
  0022  JMP       (jump)   -> 27
  0023  GETTABUP  R1 = _ENV[K3('Log')]
  0024  GETTABLE  R1 = R1[K4('Error')]
  0025  LOADK     R2 = K7 '[转盘礼包] 本轮免费，但仍然尝试发起支付！'
  0026  CALL      R1 = call(R1, 0 args, 1 rets)
  0027  RETURN    return R0..R-1
  0028  CLOSURE   R1 = closure proto0
  0029  GETTABUP  R2 = _ENV[K8('GM')]
  0030  GETTABLE  R2 = R2[K9('InAppPurchaseModel')]
  0031  SELF      R3 = R2[K10('StartPurchase')] (self)
  0032  SELF      R5 = R0[K11('GetIAPType')] (self)
  0033  CALL      R4 = call(R4, 1 args, 1 rets)
  0034  MOVE      R5 = R0
  0035  GETTABUP  R6 = _ENV[K12('EBIType')]
  0036  GETTABLE  R6 = R6[K13('ShopBuy')]
  0037  CALL      R2 = call(R2, 0 args, 4 rets)
  0038  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 560-562 np=0 va=0 ms=2 code=4 consts=1 upvals=1 protos=0
    ;   K[0]='_OnPurchaseSuccess'
    ;   upvals: self
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('_OnPurchaseSuccess')] (self)
    0002  CALL      R0 = call(R0, 0 args, 1 rets)
    0003  RETURN    return R0..R-1
; ---------- proto52 [RestoreIapRewards] ----------
  ; fn ?  line 568-580 np=2 va=0 ms=4 code=21 consts=4 upvals=0 protos=0
  ;   K[0]='HasSpinWhenEnded'
  ;   K[1]='GetIAPType'
  ;   K[2]='HasPaidThisRound'
  ;   K[3]='_OnPurchaseSuccess'
  ;   locals: self(0-21), eIAPType(0-21)
  0000  SELF      R3 = R0[K0('HasSpinWhenEnded')] (self)
  0001  CALL      R2 = call(R2, 1 args, 1 rets)
  0002  TEST      if not R2 then   -> -131068
  0003  JMP       (jump)   -> 6
  0004  LOADBOOL  R2 = false
  0005  RETURN    return R2..R1
  0006  SELF      R3 = R0[K1('GetIAPType')] (self)
  0007  CALL      R2 = call(R2, 1 args, 1 rets)
  0008  EQ        if R0 eq R2   -> -130548
  0009  JMP       (jump)   -> 18
  0010  SELF      R3 = R0[K2('HasPaidThisRound')] (self)
  0011  CALL      R2 = call(R2, 1 args, 1 rets)
  0012  TEST      if not R2 then   -> -131057
  0013  JMP       (jump)   -> 18
  0014  SELF      R3 = R0[K3('_OnPurchaseSuccess')] (self)
  0015  CALL      R2 = call(R2, 0 args, 1 rets)
  0016  LOADBOOL  R2 = true
  0017  RETURN    return R2..R1
  0018  LOADBOOL  R2 = false
  0019  RETURN    return R2..R1
  0020  RETURN    return R0..R-1
; ---------- proto53 [_OnPurchaseSuccess] ----------
  ; fn ?  line 583-587 np=1 va=0 ms=4 code=9 consts=3 upvals=0 protos=0
  ;   K[0]='SetHasPaid'
  ;   K[1]='SetHasPaidThisRound'
  ;   K[2]='_DispatchPurchaseSuccessEvent'
  ;   locals: self(0-9)
  0000  SELF      R2 = R0[K0('SetHasPaid')] (self)
  0001  LOADBOOL  R3 = true
  0002  CALL      R1 = call(R1, 0 args, 2 rets)
  0003  SELF      R2 = R0[K1('SetHasPaidThisRound')] (self)
  0004  LOADBOOL  R3 = true
  0005  CALL      R1 = call(R1, 0 args, 2 rets)
  0006  SELF      R2 = R0[K2('_DispatchPurchaseSuccessEvent')] (self)
  0007  CALL      R1 = call(R1, 0 args, 1 rets)
  0008  RETURN    return R0..R-1
; ---------- proto54 [CanSpin] ----------
  ; fn ?  line 593-610 np=1 va=0 ms=3 code=21 consts=3 upvals=0 protos=0
  ;   K[0]='IsActivityCompleted'
  ;   K[1]='IsFreeThisRound'
  ;   K[2]='HasPaidThisRound'
  ;   locals: self(0-21)
  0000  SELF      R2 = R0[K0('IsActivityCompleted')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131068
  0003  JMP       (jump)   -> 6
  0004  LOADBOOL  R1 = false
  0005  RETURN    return R1..R0
  0006  SELF      R2 = R0[K1('IsFreeThisRound')] (self)
  0007  CALL      R1 = call(R1, 1 args, 1 rets)
  0008  TEST      if not R1 then   -> -131062
  0009  JMP       (jump)   -> 12
  0010  LOADBOOL  R1 = true
  0011  RETURN    return R1..R0
  0012  SELF      R2 = R0[K2('HasPaidThisRound')] (self)
  0013  CALL      R1 = call(R1, 1 args, 1 rets)
  0014  TEST      if not R1 then   -> -131056
  0015  JMP       (jump)   -> 18
  0016  LOADBOOL  R1 = true
  0017  RETURN    return R1..R0
  0018  LOADBOOL  R1 = false
  0019  RETURN    return R1..R0
  0020  RETURN    return R0..R-1
; ---------- proto55 [GetRewardByIndex] ----------
  ; fn ?  line 613-615 np=2 va=0 ms=5 code=7 consts=2 upvals=0 protos=0
  ;   K[0]='GetRewardConfigByIndex'
  ;   K[1]='GetContent'
  ;   locals: self(0-7), index(0-7)
  0000  SELF      R3 = R0[K0('GetRewardConfigByIndex')] (self)
  0001  MOVE      R4 = R0
  0002  CALL      R2 = call(R2, 1 args, 2 rets)
  0003  SELF      R3 = R2[K1('GetContent')] (self)
  0004  TAILCALL  tailcall(R2, 0)
  0005  RETURN    return R2..R1
  0006  RETURN    return R0..R-1
; ---------- proto56 [GetCurrentWeightInfo] ----------
  ; fn ?  line 617-633 np=1 va=0 ms=11 code=34 consts=11 upvals=1 protos=0
  ;   K[0]=0
  ;   K[1]=1
  ;   K[2]='GetActivityDefinition'
  ;   K[3]='FixedRewardCount'
  ;   K[4]='IsRewardTaken'
  ;   K[5]='GetCurrentContentConfig'
  ;   K[6]='GetWeightInfoByIndex'
  ;   K[7]=nil
  ;   K[8]='table'
  ;   K[9]='insert'
  ;   K[10]='Weight'
  ;   upvals: _ENV
  ;   locals: self(0-34), currentWeightInfo(1-34), weightInfo(2-34), totalWeight(3-34), (for index)(8-30), (for limit)(8-30), (for step)(8-30), index(9-29)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  LOADNIL   R2..R2 = nil
  0002  LOADK     R3 = K0 0
  0003  LOADK     R4 = K1 1
  0004  SELF      R6 = R0[K2('GetActivityDefinition')] (self)
  0005  CALL      R5 = call(R5, 1 args, 1 rets)
  0006  GETTABLE  R5 = R5[K3('FixedRewardCount')]
  0007  LOADK     R6 = K1 1
  0008  FORPREP   forprep R4(sBx=20)   -> 29
  0009  SELF      R9 = R0[K4('IsRewardTaken')] (self)
  0010  MOVE      R10 = R0
  0011  CALL      R8 = call(R8, 1 args, 2 rets)
  0012  TEST      if not R8 then   -> -131057
  0013  JMP       (jump)   -> 29
  0014  SELF      R9 = R0[K5('GetCurrentContentConfig')] (self)
  0015  CALL      R8 = call(R8, 1 args, 1 rets)
  0016  SELF      R9 = R8[K6('GetWeightInfoByIndex')] (self)
  0017  MOVE      R10 = R0
  0018  CALL      R8 = call(R8, 1 args, 2 rets)
  0019  MOVE      R2 = R0
  0020  EQ        if R1 eq K7(nil)   -> -129763
  0021  JMP       (jump)   -> 29
  0022  GETTABUP  R8 = _ENV[K8('table')]
  0023  GETTABLE  R8 = R8[K9('insert')]
  0024  MOVE      R9 = R0
  0025  MOVE      R10 = R0
  0026  CALL      R8 = call(R8, 0 args, 2 rets)
  0027  GETTABLE  R8 = R2[K10('Weight')]
  0028  ADD       R3 = R8 add R3
  0029  FORLOOP   forloop R4(sBx=-21)   -> 9
  0030  MOVE      R4 = R0
  0031  MOVE      R5 = R0
  0032  RETURN    return R4..R3
  0033  RETURN    return R0..R-1
; ---------- proto57 [_GetPercentage] ----------
  ; fn ?  line 635-640 np=3 va=0 ms=6 code=12 consts=4 upvals=1 protos=0
  ;   K[0]='math'
  ;   K[1]='max'
  ;   K[2]=1
  ;   K[3]=100
  ;   upvals: _ENV
  ;   locals: self(0-12), weight(0-12), totalWeight(0-12), percentage(7-12)
  0000  GETTABUP  R3 = _ENV[K0('math')]
  0001  GETTABLE  R3 = R3[K1('max')]
  0002  LOADK     R4 = K2 1
  0003  MOVE      R5 = R0
  0004  CALL      R3 = call(R3, 1 args, 2 rets)
  0005  DIV       R3 = R3 div R1
  0006  MUL       R3 = K3(100) mul R3
  0007  MUL       R4 = K3(100) mul R3
  0008  IDIV      R4 = K2(1) idiv R4
  0009  DIV       R4 = K3(100) div R4
  0010  RETURN    return R4..R3
  0011  RETURN    return R0..R-1
; ---------- proto58 [GetProbability] ----------
  ; fn ?  line 643-662 np=2 va=0 ms=16 code=39 consts=9 upvals=1 protos=0
  ;   K[0]='m_mapProbability'
  ;   K[1]=nil
  ;   K[2]='GetCurrentWeightInfo'
  ;   K[3]=0
  ;   K[4]='ipairs'
  ;   K[5]='_GetPercentage'
  ;   K[6]='Weight'
  ;   K[7]='Index'
  ;   K[8]=100
  ;   upvals: _ENV
  ;   locals: self(0-39), index(0-39), currentWeightInfo(7-35), totalWeight(7-35), percentage(8-35), lastIndex(8-35), totalPercentage(9-35), (for generator)(12-25), (for state)(12-25), (for control)(12-25), _(13-23), weightInfo(13-23)
  0000  GETTABLE  R2 = R0[K0('m_mapProbability')]
  0001  EQ        if R0 eq K1(nil)   -> -129788
  0002  JMP       (jump)   -> 35
  0003  NEWTABLE  R2 = {} (0 items)
  0004  SETTABLE  R0[K0('m_mapProbability')] = R2
  0005  SELF      R3 = R0[K2('GetCurrentWeightInfo')] (self)
  0006  CALL      R2 = call(R2, 2 args, 1 rets)
  0007  LOADNIL   R4..R4 = nil
  0008  LOADK     R6 = K3 0
  0009  GETTABUP  R7 = _ENV[K4('ipairs')]
  0010  MOVE      R8 = R0
  0011  CALL      R7 = call(R7, 3 args, 1 rets)
  0012  JMP       (jump)   -> 23
  0013  SELF      R13 = R0[K5('_GetPercentage')] (self)
  0014  GETTABLE  R14 = R11[K6('Weight')]
  0015  MOVE      R15 = R0
  0016  CALL      R12 = call(R12, 1 args, 3 rets)
  0017  MOVE      R4 = R0
  0018  GETTABLE  R12 = R0[K0('m_mapProbability')]
  0019  GETTABLE  R13 = R11[K7('Index')]
  0020  SETTABLE  R12[R13] = R4
  0021  GETTABLE  R5 = R11[K7('Index')]
  0022  ADD       R6 = R4 add R6
  0023  TFORCALL  tforcall R7
  0024  TFORLOOP  tforloop R9(sBx=-12)   -> 13
  0025  EQ        if R1 eq K1(nil)   -> -128228
  0026  JMP       (jump)   -> 35
  0027  LT        if R0 lt R3   -> 1568
  0028  JMP       (jump)   -> 35
  0029  GETTABLE  R7 = R0[K0('m_mapProbability')]
  0030  GETTABLE  R8 = R0[K0('m_mapProbability')]
  0031  GETTABLE  R8 = R8[R5]
  0032  ADD       R8 = K8(100) add R8
  0033  SUB       R8 = R6 sub R8
  0034  SETTABLE  R7[R5] = R8
  0035  GETTABLE  R2 = R0[K0('m_mapProbability')]
  0036  GETTABLE  R2 = R2[R1]
  0037  RETURN    return R2..R1
  0038  RETURN    return R0..R-1
; ---------- proto59 [Spin] ----------
  ; fn ?  line 664-707 np=1 va=0 ms=28 code=113 consts=46 upvals=1 protos=0
  ;   K[0]='CanSpin'
  ;   K[1]='GetCurrentWeightInfo'
  ;   K[2]=0
  ;   K[3]='Table'
  ;   K[4]='ListWeightSelectOne'
  ;   K[5]='Index'
  ;   K[6]='GetRewardByIndex'
  ;   K[7]='GetActivityDefinition'
  ;   K[8]='RewardScene'
  ;   K[9]='RewardApi'
  ;   K[10]='FilterRewards'
  ;   K[11]='HasPaid'
  ;   K[12]='EPropertySource'
  ;   K[13]='Buy'
  ;   K[14]='Give'
  ;   K[15]='AcquireRewardsLogic'
  ;   K[16]='EBIType'
  ;   K[17]='DiscoSpinClaimReward'
  ;   K[18]='GameConfig'
  ;   K[19]='IsTestMode'
  ;   K[20]='GetProbability'
  ;   K[21]='Log'
  ;   K[22]='Info'
  ;   K[23]='[转盘礼包] 开始转盘，当前轮次：'
  ;   K[24]='tostring'
  ;   K[25]='GetCurrentRound'
  ;   K[26]='，'
  ;   K[27]='本轮抽取结果：'
  ;   K[28]='奖励内容为：'
  ;   K[29]='table'
  ;   K[30]='concat'
  ;   K[31]='ConfigUtil'
  ;   K[32]='GetArrFromCurrency'
  ;   K[33]=';'
  ;   K[34]='概率为：'
  ;   K[35]='Weight'
  ;   K[36]=' / '
  ;   K[37]=' = '
  ;   K[38]='string'
  ;   K[39]='format'
  ;   K[40]='%.2f%%'
  ;   K[41]='_LogStartSpin'
  ;   K[42]='_SetRewardTaken'
  ;   K[43]='_TryGotoNextRound'
  ;   K[44]='IsActivityOpen'
  ;   K[45]='SetHasSpinWhenEnded'
  ;   upvals: _ENV
  ;   locals: self(0-113), currentWeightInfo(8-113), totalWeight(8-113), spinResult(16-113), index(17-113), arrRewards(20-113), rewardScene(23-113), propertySource(39-113), probability(55-95), logRewards(56-95)
  0000  SELF      R2 = R0[K0('CanSpin')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131067
  0003  JMP       (jump)   -> 6
  0004  LOADNIL   R1..R1 = nil
  0005  RETURN    return R1..R0
  0006  SELF      R2 = R0[K1('GetCurrentWeightInfo')] (self)
  0007  CALL      R1 = call(R1, 2 args, 1 rets)
  0008  LE        if R0 le K2(0)   -> -129780
  0009  JMP       (jump)   -> 12
  0010  LOADNIL   R3..R3 = nil
  0011  RETURN    return R3..R2
  0012  GETTABUP  R3 = _ENV[K3('Table')]
  0013  GETTABLE  R3 = R3[K4('ListWeightSelectOne')]
  0014  MOVE      R4 = R0
  0015  CALL      R3 = call(R3, 1 args, 1 rets)
  0016  GETTABLE  R4 = R3[K5('Index')]
  0017  SELF      R6 = R0[K6('GetRewardByIndex')] (self)
  0018  MOVE      R7 = R0
  0019  CALL      R5 = call(R5, 1 args, 2 rets)
  0020  SELF      R7 = R0[K7('GetActivityDefinition')] (self)
  0021  CALL      R6 = call(R6, 1 args, 1 rets)
  0022  GETTABLE  R6 = R6[K8('RewardScene')]
  0023  GETTABUP  R7 = _ENV[K9('RewardApi')]
  0024  GETTABLE  R7 = R7[K10('FilterRewards')]
  0025  MOVE      R8 = R0
  0026  MOVE      R9 = R0
  0027  CALL      R7 = call(R7, 1 args, 2 rets)
  0028  MOVE      R5 = R0
  0029  SELF      R8 = R0[K11('HasPaid')] (self)
  0030  CALL      R7 = call(R7, 1 args, 1 rets)
  0031  TEST      if not R7 then   -> -131039
  0032  JMP       (jump)   -> 37
  0033  GETTABUP  R7 = _ENV[K12('EPropertySource')]
  0034  GETTABLE  R7 = R7[K13('Buy')]
  0035  TEST      if not R7 then   -> -131034
  0036  JMP       (jump)   -> 39
  0037  GETTABUP  R7 = _ENV[K12('EPropertySource')]
  0038  GETTABLE  R7 = R7[K14('Give')]
  0039  GETTABUP  R8 = _ENV[K9('RewardApi')]
  0040  GETTABLE  R8 = R8[K15('AcquireRewardsLogic')]
  0041  MOVE      R9 = R0
  0042  MOVE      R10 = R0
  0043  GETTABUP  R11 = _ENV[K16('EBIType')]
  0044  GETTABLE  R11 = R11[K17('DiscoSpinClaimReward')]
  0045  MOVE      R12 = R0
  0046  CALL      R8 = call(R8, 0 args, 4 rets)
  0047  GETTABUP  R8 = _ENV[K18('GameConfig')]
  0048  GETTABLE  R8 = R8[K19('IsTestMode')]
  0049  CALL      R8 = call(R8, 1 args, 0 rets)
  0050  TEST      if not R8 then   -> -131020
  0051  JMP       (jump)   -> 95
  0052  SELF      R9 = R0[K20('GetProbability')] (self)
  0053  MOVE      R10 = R0
  0054  CALL      R8 = call(R8, 1 args, 2 rets)
  0055  NEWTABLE  R9 = {} (0 items)
  0056  GETTABUP  R10 = _ENV[K21('Log')]
  0057  GETTABLE  R10 = R10[K22('Info')]
  0058  LOADK     R11 = K23 '[转盘礼包] 开始转盘，当前轮次：'
  0059  GETTABUP  R12 = _ENV[K24('tostring')]
  0060  SELF      R14 = R0[K25('GetCurrentRound')] (self)
  0061  CALL      R13 = call(R13, -1 args, 1 rets)
  0062  CALL      R12 = call(R12, 1 args, -1 rets)
  0063  LOADK     R13 = K26 '，'
  0064  LOADK     R14 = K27 '本轮抽取结果：'
  0065  GETTABUP  R15 = _ENV[K24('tostring')]
  0066  MOVE      R16 = R0
  0067  CALL      R15 = call(R15, 1 args, 1 rets)
  0068  LOADK     R16 = K26 '，'
  0069  LOADK     R17 = K28 '奖励内容为：'
  0070  GETTABUP  R18 = _ENV[K29('table')]
  0071  GETTABLE  R18 = R18[K30('concat')]
  0072  GETTABUP  R19 = _ENV[K31('ConfigUtil')]
  0073  GETTABLE  R19 = R19[K32('GetArrFromCurrency')]
  0074  MOVE      R20 = R0
  0075  CALL      R19 = call(R19, 1 args, 1 rets)
  0076  LOADK     R20 = K33 ';'
  0077  CALL      R18 = call(R18, 1 args, 2 rets)
  0078  LOADK     R19 = K26 '，'
  0079  LOADK     R20 = K34 '概率为：'
  0080  GETTABUP  R21 = _ENV[K24('tostring')]
  0081  GETTABLE  R22 = R3[K35('Weight')]
  0082  CALL      R21 = call(R21, 1 args, 1 rets)
  0083  LOADK     R22 = K36 ' / '
  0084  GETTABUP  R23 = _ENV[K24('tostring')]
  0085  MOVE      R24 = R0
  0086  CALL      R23 = call(R23, 1 args, 1 rets)
  0087  LOADK     R24 = K37 ' = '
  0088  GETTABUP  R25 = _ENV[K38('string')]
  0089  GETTABLE  R25 = R25[K39('format')]
  0090  LOADK     R26 = K40 '%.2f%%'
  0091  MOVE      R27 = R0
  0092  CALL      R25 = call(R25, 1 args, 2 rets)
  0093  CONCAT    R11 = concat(R11..R11)
  0094  CALL      R10 = call(R10, 0 args, 1 rets)
  0095  SELF      R9 = R0[K41('_LogStartSpin')] (self)
  0096  CALL      R8 = call(R8, 0 args, 1 rets)
  0097  SELF      R9 = R0[K42('_SetRewardTaken')] (self)
  0098  MOVE      R10 = R0
  0099  CALL      R8 = call(R8, 0 args, 2 rets)
  0100  SELF      R9 = R0[K43('_TryGotoNextRound')] (self)
  0101  CALL      R8 = call(R8, 0 args, 1 rets)
  0102  SELF      R9 = R0[K44('IsActivityOpen')] (self)
  0103  CALL      R8 = call(R8, 1 args, 1 rets)
  0104  TEST      if not R8 then   -> -130965
  0105  JMP       (jump)   -> 109
  0106  SELF      R9 = R0[K45('SetHasSpinWhenEnded')] (self)
  0107  LOADBOOL  R10 = true
  0108  CALL      R8 = call(R8, 0 args, 2 rets)
  0109  MOVE      R8 = R0
  0110  MOVE      R9 = R0
  0111  RETURN    return R8..R7
  0112  RETURN    return R0..R-1
; ---------- proto60 [GetMaxRound] ----------
  ; fn ?  line 713-715 np=1 va=0 ms=2 code=4 consts=1 upvals=0 protos=0
  ;   K[0]='m_contentConfig'
  ;   locals: self(0-4)
  0000  GETTABLE  R1 = R0[K0('m_contentConfig')]
  0001  LEN       R1 = len R0
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
; ---------- proto61 [IsAllRewardTaken] ----------
  ; fn ?  line 717-724 np=1 va=0 ms=8 code=17 consts=4 upvals=0 protos=0
  ;   K[0]=1
  ;   K[1]='GetActivityDefinition'
  ;   K[2]='FixedRewardCount'
  ;   K[3]='IsRewardTaken'
  ;   locals: self(0-17), (for index)(5-14), (for limit)(5-14), (for step)(5-14), index(6-13)
  0000  LOADK     R1 = K0 1
  0001  SELF      R3 = R0[K1('GetActivityDefinition')] (self)
  0002  CALL      R2 = call(R2, 1 args, 1 rets)
  0003  GETTABLE  R2 = R2[K2('FixedRewardCount')]
  0004  LOADK     R3 = K0 1
  0005  FORPREP   forprep R1(sBx=7)   -> 13
  0006  SELF      R6 = R0[K3('IsRewardTaken')] (self)
  0007  MOVE      R7 = R0
  0008  CALL      R5 = call(R5, 1 args, 2 rets)
  0009  TEST      if not R5 then   -> -131060
  0010  JMP       (jump)   -> 13
  0011  LOADBOOL  R5 = false
  0012  RETURN    return R5..R4
  0013  FORLOOP   forloop R1(sBx=-8)   -> 6
  0014  LOADBOOL  R1 = true
  0015  RETURN    return R1..R0
  0016  RETURN    return R0..R-1
; ---------- proto62 [IsActivityCompleted] ----------
  ; fn ?  line 726-728 np=1 va=0 ms=4 code=10 consts=2 upvals=0 protos=0
  ;   K[0]='GetCurrentRound'
  ;   K[1]='GetMaxRound'
  ;   locals: self(0-10)
  0000  SELF      R2 = R0[K0('GetCurrentRound')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  SELF      R3 = R0[K1('GetMaxRound')] (self)
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  LT        if R1 lt R1   -> -130041
  0005  JMP       (jump)   -> 7
  0006  LOADBOOL  R1 = false
  0007  LOADBOOL  R1 = true
  0008  RETURN    return R1..R0
  0009  RETURN    return R0..R-1
; ---------- proto63 [_TryGotoNextRound] ----------
  ; fn ?  line 730-736 np=1 va=0 ms=5 code=10 consts=6 upvals=0 protos=0
  ;   K[0]='SetCurrentRound'
  ;   K[1]='GetCurrentRound'
  ;   K[2]=1
  ;   K[3]='SetHasPaidThisRound'
  ;   K[4]='m_mapProbability'
  ;   K[5]=nil
  ;   locals: self(0-10)
  0000  SELF      R2 = R0[K0('SetCurrentRound')] (self)
  0001  SELF      R4 = R0[K1('GetCurrentRound')] (self)
  0002  CALL      R3 = call(R3, 1 args, 1 rets)
  0003  ADD       R3 = K2(1) add R3
  0004  CALL      R1 = call(R1, 0 args, 2 rets)
  0005  SELF      R2 = R0[K3('SetHasPaidThisRound')] (self)
  0006  LOADBOOL  R3 = false
  0007  CALL      R1 = call(R1, 0 args, 2 rets)
  0008  SETTABLE  R0[K4('m_mapProbability')] = K5(nil)
  0009  RETURN    return R0..R-1
; ---------- proto64 [OnEntryClicked] ----------
  ; fn ?  line 743-747 np=1 va=0 ms=3 code=7 consts=2 upvals=0 protos=0
  ;   K[0]='IsActivityOpen'
  ;   K[1]='OpenMainWindow'
  ;   locals: self(0-7)
  0000  SELF      R2 = R0[K0('IsActivityOpen')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131068
  0003  JMP       (jump)   -> 6
  0004  SELF      R2 = R0[K1('OpenMainWindow')] (self)
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  RETURN    return R0..R-1
; ---------- proto65 [OpenMainWindow] ----------
  ; fn ?  line 750-752 np=2 va=0 ms=8 code=13 consts=7 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='UIManager'
  ;   K[2]='OpenView'
  ;   K[3]='GetActivityDefinition'
  ;   K[4]='MainWindowPrefabName'
  ;   K[5]='GetType'
  ;   K[6]='GetId'
  ;   upvals: _ENV
  ;   locals: self(0-13), bAuto(0-13)
  0000  GETTABUP  R2 = _ENV[K0('GM')]
  0001  GETTABLE  R2 = R2[K1('UIManager')]
  0002  SELF      R3 = R2[K2('OpenView')] (self)
  0003  SELF      R5 = R0[K3('GetActivityDefinition')] (self)
  0004  CALL      R4 = call(R4, 1 args, 1 rets)
  0005  GETTABLE  R4 = R4[K4('MainWindowPrefabName')]
  0006  SELF      R6 = R0[K5('GetType')] (self)
  0007  CALL      R5 = call(R5, 1 args, 1 rets)
  0008  SELF      R7 = R0[K6('GetId')] (self)
  0009  CALL      R6 = call(R6, 1 args, 1 rets)
  0010  MOVE      R7 = R0
  0011  CALL      R2 = call(R2, 0 args, 5 rets)
  0012  RETURN    return R0..R-1
; ---------- proto66 [OpenInfoWindow] ----------
  ; fn ?  line 755-757 np=1 va=0 ms=7 code=12 consts=7 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='UIManager'
  ;   K[2]='OpenView'
  ;   K[3]='GetActivityDefinition'
  ;   K[4]='InfoWindowPrefabName'
  ;   K[5]='GetType'
  ;   K[6]='GetId'
  ;   upvals: _ENV
  ;   locals: self(0-12)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('UIManager')]
  0002  SELF      R2 = R1[K2('OpenView')] (self)
  0003  SELF      R4 = R0[K3('GetActivityDefinition')] (self)
  0004  CALL      R3 = call(R3, 1 args, 1 rets)
  0005  GETTABLE  R3 = R3[K4('InfoWindowPrefabName')]
  0006  SELF      R5 = R0[K5('GetType')] (self)
  0007  CALL      R4 = call(R4, 1 args, 1 rets)
  0008  SELF      R6 = R0[K6('GetId')] (self)
  0009  CALL      R5 = call(R5, -1 args, 1 rets)
  0010  CALL      R1 = call(R1, 0 args, -1 rets)
  0011  RETURN    return R0..R-1
; ---------- proto67 [_RecordLoginPopup] ----------
  ; fn ?  line 760-763 np=1 va=0 ms=5 code=12 consts=7 upvals=1 protos=0
  ;   K[0]='_SetLastPopTime'
  ;   K[1]='GM'
  ;   K[2]='GameModel'
  ;   K[3]='GetServerTime'
  ;   K[4]='_SetDailyPopCount'
  ;   K[5]='GetDailyPopCount'
  ;   K[6]=1
  ;   upvals: _ENV
  ;   locals: self(0-12)
  0000  SELF      R2 = R0[K0('_SetLastPopTime')] (self)
  0001  GETTABUP  R3 = _ENV[K1('GM')]
  0002  GETTABLE  R3 = R3[K2('GameModel')]
  0003  SELF      R4 = R3[K3('GetServerTime')] (self)
  0004  CALL      R3 = call(R3, -1 args, 1 rets)
  0005  CALL      R1 = call(R1, 0 args, -1 rets)
  0006  SELF      R2 = R0[K4('_SetDailyPopCount')] (self)
  0007  SELF      R4 = R0[K5('GetDailyPopCount')] (self)
  0008  CALL      R3 = call(R3, 1 args, 1 rets)
  0009  ADD       R3 = K6(1) add R3
  0010  CALL      R1 = call(R1, 0 args, 2 rets)
  0011  RETURN    return R0..R-1
; ---------- proto68 [CanPopupMainWindow] ----------
  ; fn ?  line 769-797 np=2 va=0 ms=6 code=51 consts=12 upvals=1 protos=0
  ;   K[0]='IsMainWindowPoped'
  ;   K[1]='GM'
  ;   K[2]='GameModel'
  ;   K[3]='GetServerTime'
  ;   K[4]='GetLastPopTime'
  ;   K[5]='GetPopCDInSeconds'
  ;   K[6]='Sec2Day'
  ;   K[7]='GetLastPopDay'
  ;   K[8]='_SetDailyPopCount'
  ;   K[9]=0
  ;   K[10]='GetDailyPopCount'
  ;   K[11]='GetDailyShowNum'
  ;   upvals: _ENV
  ;   locals: self(0-51), bFromLogin(0-51), currentTime(13-47)
  0000  SELF      R3 = R0[K0('IsMainWindowPoped')] (self)
  0001  CALL      R2 = call(R2, 1 args, 1 rets)
  0002  TEST      if not R2 then   -> -131067
  0003  JMP       (jump)   -> 7
  0004  LOADBOOL  R2 = true
  0005  LOADBOOL  R3 = true
  0006  RETURN    return R2..R1
  0007  TEST      if not R1 then   -> -131063
  0008  JMP       (jump)   -> 47
  0009  GETTABUP  R2 = _ENV[K1('GM')]
  0010  GETTABLE  R2 = R2[K2('GameModel')]
  0011  SELF      R3 = R2[K3('GetServerTime')] (self)
  0012  CALL      R2 = call(R2, 1 args, 1 rets)
  0013  SELF      R4 = R0[K4('GetLastPopTime')] (self)
  0014  CALL      R3 = call(R3, 1 args, 1 rets)
  0015  SELF      R5 = R0[K5('GetPopCDInSeconds')] (self)
  0016  CALL      R4 = call(R4, 1 args, 1 rets)
  0017  ADD       R3 = R4 add R3
  0018  LT        if R0 lt R3   -> -130025
  0019  JMP       (jump)   -> 23
  0020  LOADBOOL  R3 = false
  0021  LOADNIL   R4..R4 = nil
  0022  RETURN    return R3..R2
  0023  GETTABUP  R3 = _ENV[K6('Sec2Day')]
  0024  IDIV      R3 = R3 idiv R2
  0025  SELF      R5 = R0[K7('GetLastPopDay')] (self)
  0026  CALL      R4 = call(R4, 1 args, 1 rets)
  0027  EQ        if R1 eq R4   -> -129503
  0028  JMP       (jump)   -> 35
  0029  SELF      R4 = R0[K8('_SetDailyPopCount')] (self)
  0030  LOADK     R5 = K9 0
  0031  CALL      R3 = call(R3, 0 args, 2 rets)
  0032  LOADBOOL  R3 = true
  0033  LOADBOOL  R4 = true
  0034  RETURN    return R3..R2
  0035  SELF      R4 = R0[K10('GetDailyPopCount')] (self)
  0036  CALL      R3 = call(R3, 1 args, 1 rets)
  0037  SELF      R5 = R0[K11('GetDailyShowNum')] (self)
  0038  CALL      R4 = call(R4, 1 args, 1 rets)
  0039  LE        if R0 le R3   -> -128980
  0040  JMP       (jump)   -> 44
  0041  LOADBOOL  R3 = false
  0042  LOADNIL   R4..R4 = nil
  0043  RETURN    return R3..R2
  0044  LOADBOOL  R3 = true
  0045  LOADBOOL  R4 = true
  0046  RETURN    return R3..R2
  0047  LOADBOOL  R2 = false
  0048  LOADNIL   R3..R3 = nil
  0049  RETURN    return R2..R1
  0050  RETURN    return R0..R-1
; ---------- proto69 [OnCheckPopup] ----------
  ; fn ?  line 802-819 np=3 va=0 ms=8 code=45 consts=10 upvals=1 protos=0
  ;   K[0]='GetState'
  ;   K[1]='ActivityState'
  ;   K[2]='Started'
  ;   K[3]='CanPopupMainWindow'
  ;   K[4]='_RecordLoginPopup'
  ;   K[5]='OpenMainWindow'
  ;   K[6]='Ended'
  ;   K[7]='IsMainWindowPoped'
  ;   K[8]='IsEndWindowPoped'
  ;   K[9]='HasLastChance'
  ;   upvals: _ENV
  ;   locals: self(0-45), ePopupScene(0-45), bFromLogin(0-45), bCanPopup(9-20), bRecordPopup(9-20)
  0000  SELF      R4 = R0[K0('GetState')] (self)
  0001  CALL      R3 = call(R3, 1 args, 1 rets)
  0002  GETTABUP  R4 = _ENV[K1('ActivityState')]
  0003  GETTABLE  R4 = R4[K2('Started')]
  0004  EQ        if R0 eq R4   -> -129526
  0005  JMP       (jump)   -> 21
  0006  SELF      R4 = R0[K3('CanPopupMainWindow')] (self)
  0007  MOVE      R5 = R0
  0008  CALL      R3 = call(R3, 2 args, 2 rets)
  0009  TEST      if not R3 then   -> -131061
  0010  JMP       (jump)   -> 44
  0011  TEST      if not R4 then   -> -131059
  0012  JMP       (jump)   -> 15
  0013  SELF      R6 = R0[K4('_RecordLoginPopup')] (self)
  0014  CALL      R5 = call(R5, 0 args, 1 rets)
  0015  SELF      R6 = R0[K5('OpenMainWindow')] (self)
  0016  LOADBOOL  R7 = true
  0017  CALL      R5 = call(R5, 0 args, 2 rets)
  0018  LOADBOOL  R5 = true
  0019  RETURN    return R5..R4
  0020  JMP       (jump)   -> 44
  0021  SELF      R4 = R0[K0('GetState')] (self)
  0022  CALL      R3 = call(R3, 1 args, 1 rets)
  0023  GETTABUP  R4 = _ENV[K1('ActivityState')]
  0024  GETTABLE  R4 = R4[K6('Ended')]
  0025  EQ        if R0 eq R4   -> -129505
  0026  JMP       (jump)   -> 44
  0027  SELF      R4 = R0[K7('IsMainWindowPoped')] (self)
  0028  CALL      R3 = call(R3, 1 args, 1 rets)
  0029  TEST      if not R3 then   -> -131041
  0030  JMP       (jump)   -> 44
  0031  SELF      R4 = R0[K8('IsEndWindowPoped')] (self)
  0032  CALL      R3 = call(R3, 1 args, 1 rets)
  0033  TEST      if not R3 then   -> -131036
  0034  JMP       (jump)   -> 44
  0035  SELF      R4 = R0[K9('HasLastChance')] (self)
  0036  CALL      R3 = call(R3, 1 args, 1 rets)
  0037  TEST      if not R3 then   -> -131033
  0038  JMP       (jump)   -> 44
  0039  SELF      R4 = R0[K5('OpenMainWindow')] (self)
  0040  LOADBOOL  R5 = true
  0041  CALL      R3 = call(R3, 0 args, 2 rets)
  0042  LOADBOOL  R3 = true
  0043  RETURN    return R3..R2
  0044  RETURN    return R0..R-1
; ---------- proto70 [_DispatchStateChangedEvent] ----------
  ; fn ?  line 825-827 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
; ---------- proto71 [_DispatchRefreshEntryEvent] ----------
  ; fn ?  line 829-831 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]='RefreshEntryEvent'
  ;   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('RefreshEntryEvent')]
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  RETURN    return R0..R-1
; ---------- proto72 [_DispatchPurchaseSuccessEvent] ----------
  ; fn ?  line 833-835 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]='PurchaseSuccessEvent'
  ;   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('PurchaseSuccessEvent')]
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  RETURN    return R0..R-1
; ---------- proto73 [_IsEntryVisible] ----------
  ; fn ?  line 841-846 np=1 va=0 ms=3 code=9 consts=1 upvals=0 protos=0
  ;   K[0]='IsActivityOpen'
  ;   locals: self(0-9)
  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  LOADBOOL  R1 = true
  0007  RETURN    return R1..R0
  0008  RETURN    return R0..R-1
; ---------- proto74 [GetMapEntryShowConfig] ----------
  ; fn ?  line 849-859 np=1 va=0 ms=4 code=20 consts=11 upvals=1 protos=1
  ;   K[0]='statusChangeEvent'
  ;   K[1]='GetActivityDefinition'
  ;   K[2]='RefreshEntryEvent'
  ;   K[3]='eEntryRootKey'
  ;   K[4]='EEntryRootKey'
  ;   K[5]='Bundle'
  ;   K[6]='entryPrefabName'
  ;   K[7]='EntryPrefabName'
  ;   K[8]='hudKey'
  ;   K[9]='EntryButtonKey'
  ;   K[10]='checkFun'
  ;   upvals: _ENV
  ;   locals: self(0-20)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  SELF      R3 = R0[K1('GetActivityDefinition')] (self)
  0002  CALL      R2 = call(R2, 1 args, 1 rets)
  0003  GETTABLE  R2 = R2[K2('RefreshEntryEvent')]
  0004  SETTABLE  R1[K0('statusChangeEvent')] = R2
  0005  GETTABUP  R2 = _ENV[K4('EEntryRootKey')]
  0006  GETTABLE  R2 = R2[K5('Bundle')]
  0007  SETTABLE  R1[K3('eEntryRootKey')] = R2
  0008  SELF      R3 = R0[K1('GetActivityDefinition')] (self)
  0009  CALL      R2 = call(R2, 1 args, 1 rets)
  0010  GETTABLE  R2 = R2[K7('EntryPrefabName')]
  0011  SETTABLE  R1[K6('entryPrefabName')] = R2
  0012  SELF      R3 = R0[K1('GetActivityDefinition')] (self)
  0013  CALL      R2 = call(R2, 1 args, 1 rets)
  0014  GETTABLE  R2 = R2[K9('EntryButtonKey')]
  0015  SETTABLE  R1[K8('hudKey')] = R2
  0016  CLOSURE   R2 = closure proto0
  0017  SETTABLE  R1[K10('checkFun')] = R2
  0018  RETURN    return R1..R0
  0019  RETURN    return R0..R-1
  ; ---------- proto0 [checkFun] ----------
    ; fn ?  line 855-857 np=0 va=0 ms=2 code=5 consts=1 upvals=1 protos=0
    ;   K[0]='_IsEntryVisible'
    ;   upvals: self
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('_IsEntryVisible')] (self)
    0002  TAILCALL  tailcall(R0, 0)
    0003  RETURN    return R0..R-1
    0004  RETURN    return R0..R-1
; ---------- proto75 [_LogStartSpin] ----------
  ; fn ?  line 863-870 np=1 va=0 ms=12 code=58 consts=23 upvals=1 protos=0
  ;   K[0]='GetIAPType'
  ;   K[1]='table'
  ;   K[2]='insert'
  ;   K[3]='price:'
  ;   K[4]='tostring'
  ;   K[5]='string'
  ;   K[6]='format'
  ;   K[7]='%.2f'
  ;   K[8]='GM'
  ;   K[9]='InAppPurchaseModel'
  ;   K[10]='GetProductData'
  ;   K[11]='fixedMoney'
  ;   K[12]=0
  ;   K[13]='round:'
  ;   K[14]='GetCurrentRound'
  ;   K[15]='pay:'
  ;   K[16]='HasPaidThisRound'
  ;   K[17]='BIManager'
  ;   K[18]='LogAction'
  ;   K[19]='EBIType'
  ;   K[20]='DiscoSpinStartSpin'
  ;   K[21]='concat'
  ;   K[22]=';'
  ;   upvals: _ENV
  ;   locals: self(0-58), strAction(1-58), eIAPType(3-58)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  SELF      R3 = R0[K0('GetIAPType')] (self)
  0002  CALL      R2 = call(R2, 1 args, 1 rets)
  0003  GETTABUP  R3 = _ENV[K1('table')]
  0004  GETTABLE  R3 = R3[K2('insert')]
  0005  MOVE      R4 = R0
  0006  LOADK     R5 = K3 'price:'
  0007  GETTABUP  R6 = _ENV[K4('tostring')]
  0008  TEST      if not R2 then   -> -131062
  0009  JMP       (jump)   -> 22
  0010  GETTABUP  R7 = _ENV[K5('string')]
  0011  GETTABLE  R7 = R7[K6('format')]
  0012  LOADK     R8 = K7 '%.2f'
  0013  GETTABUP  R9 = _ENV[K8('GM')]
  0014  GETTABLE  R9 = R9[K9('InAppPurchaseModel')]
  0015  SELF      R10 = R9[K10('GetProductData')] (self)
  0016  MOVE      R11 = R0
  0017  CALL      R9 = call(R9, 1 args, 2 rets)
  0018  GETTABLE  R9 = R9[K11('fixedMoney')]
  0019  CALL      R7 = call(R7, 1 args, 2 rets)
  0020  TEST      if not R7 then   -> -131049
  0021  JMP       (jump)   -> 23
  0022  LOADK     R7 = K12 0
  0023  CALL      R6 = call(R6, 1 args, 1 rets)
  0024  CONCAT    R5 = concat(R5..R5)
  0025  CALL      R3 = call(R3, 0 args, 2 rets)
  0026  GETTABUP  R3 = _ENV[K1('table')]
  0027  GETTABLE  R3 = R3[K2('insert')]
  0028  MOVE      R4 = R0
  0029  LOADK     R5 = K13 'round:'
  0030  GETTABUP  R6 = _ENV[K4('tostring')]
  0031  SELF      R8 = R0[K14('GetCurrentRound')] (self)
  0032  CALL      R7 = call(R7, -1 args, 1 rets)
  0033  CALL      R6 = call(R6, 1 args, -1 rets)
  0034  CONCAT    R5 = concat(R5..R5)
  0035  CALL      R3 = call(R3, 0 args, 2 rets)
  0036  GETTABUP  R3 = _ENV[K1('table')]
  0037  GETTABLE  R3 = R3[K2('insert')]
  0038  MOVE      R4 = R0
  0039  LOADK     R5 = K15 'pay:'
  0040  GETTABUP  R6 = _ENV[K4('tostring')]
  0041  SELF      R8 = R0[K16('HasPaidThisRound')] (self)
  0042  CALL      R7 = call(R7, -1 args, 1 rets)
  0043  CALL      R6 = call(R6, 1 args, -1 rets)
  0044  CONCAT    R5 = concat(R5..R5)
  0045  CALL      R3 = call(R3, 0 args, 2 rets)
  0046  GETTABUP  R3 = _ENV[K8('GM')]
  0047  GETTABLE  R3 = R3[K17('BIManager')]
  0048  SELF      R4 = R3[K18('LogAction')] (self)
  0049  GETTABUP  R5 = _ENV[K19('EBIType')]
  0050  GETTABLE  R5 = R5[K20('DiscoSpinStartSpin')]
  0051  GETTABUP  R6 = _ENV[K1('table')]
  0052  GETTABLE  R6 = R6[K21('concat')]
  0053  MOVE      R7 = R0
  0054  LOADK     R8 = K22 ';'
  0055  CALL      R6 = call(R6, -1 args, 2 rets)
  0056  CALL      R3 = call(R3, 0 args, -1 rets)
  0057  RETURN    return R0..R-1
