# Model_Bundle_BundleManager_120.luac
; fn @BundleManager.lua  line 0-0 np=0 va=1 ms=4 code=226 consts=72 upvals=1 protos=32
;   K[0]='require'
;   K[1]='Model.Bundle.BundleBaseModel'
;   K[2]='Model.Bundle.BundleActivityBaseModel'
;   K[3]='Model.Bundle.BundleNormalModel'
;   K[4]='Model.Bundle.BundleMultiTierModel'
;   K[5]='Model.Bundle.BundleChainModel'
;   K[6]='Model.Bundle.BundleOnePlusNModel'
;   K[7]='Model.Bundle.BundleOneByOneModel'
;   K[8]='BundleVirtualDBTableName'
;   K[9]='Starter'
;   K[10]='starter'
;   K[11]='Energy'
;   K[12]='energy'
;   K[13]='Energy2'
;   K[14]='energy2'
;   K[15]='CDFill'
;   K[16]='cdFill'
;   K[17]='OrderGroup'
;   K[18]='orderGroup'
;   K[19]='Normal'
;   K[20]='normal'
;   K[21]='MultiTier'
;   K[22]='multiTier'
;   K[23]='Chain'
;   K[24]='chain'
;   K[25]='OnePlusN'
;   K[26]='onePlusN'
;   K[27]='OneByOne'
;   K[28]='oneByOne'
;   K[29]='EBundleType'
;   K[30]='class'
;   K[31]='BundleNormalModel'
;   K[32]='dbName'
;   K[33]='BundleMultiTierModel'
;   K[34]='BundleChainModel'
;   K[35]='BundleOnePlusNModel'
;   K[36]='BundleOneByOneModel'
;   K[37]='BundleManager'
;   K[38]='__index'
;   K[39]='Init'
;   K[40]='Destroy'
;   K[41]='OnSyncDataFinished'
;   K[42]='OnSceneViewLoaded'
;   K[43]='LoadServerConfig'
;   K[44]='GetServerConfigs'
;   K[45]='UpdatePerSecond'
;   K[46]='GetModel'
;   K[47]='GetActiveGroupDatas'
;   K[48]='Buy'
;   K[49]='GetBundleConfigData'
;   K[50]='OnRestoreIAPRewards'
;   K[51]='CheckNeedGiveGems'
;   K[52]='_RecordPurchaseInfo'
;   K[53]='_GetRecordPurchaseInfo'
;   K[54]='_ReleasePurchaseInfo'
;   K[55]='_GetPurchaseMetaKey'
;   K[56]='GetBundleMetaDBTable'
;   K[57]='_AcquireRewards'
;   K[58]='TryTriggerActivityBundle'
;   K[59]='OnLackGem'
;   K[60]='OnItemRecharge'
;   K[61]='BundleManager'
;   K[62]='GetBundleTriggerConfig'
;   K[63]='GetBundleTriggerMaxNum'
;   K[64]='GetBundleTriggerOrderList'
;   K[65]='CheckTriggerConfigValid'
;   K[66]='OnLoginFinished'
;   K[67]='_OnOrderFinished'
;   K[68]='_OnMainTaskFinished'
;   K[69]='OnCloseView'
;   K[70]='TryStartBundlePopupChain'
;   K[71]='GetBundleHudKey'
;   upvals: _ENV
;   locals: BundleModelInfo(124-226), activeGroups(154-226)
0000  GETTABUP  R0 = _ENV[K0('require')]
0001  LOADK     R1 = K1 'Model.Bundle.BundleBaseModel'
0002  CALL      R0 = call(R0, 0 args, 1 rets)
0003  GETTABUP  R0 = _ENV[K0('require')]
0004  LOADK     R1 = K2 'Model.Bundle.BundleActivityBaseModel'
0005  CALL      R0 = call(R0, 0 args, 1 rets)
0006  GETTABUP  R0 = _ENV[K0('require')]
0007  LOADK     R1 = K3 'Model.Bundle.BundleNormalModel'
0008  CALL      R0 = call(R0, 0 args, 1 rets)
0009  GETTABUP  R0 = _ENV[K0('require')]
0010  LOADK     R1 = K4 'Model.Bundle.BundleMultiTierModel'
0011  CALL      R0 = call(R0, 0 args, 1 rets)
0012  GETTABUP  R0 = _ENV[K0('require')]
0013  LOADK     R1 = K5 'Model.Bundle.BundleChainModel'
0014  CALL      R0 = call(R0, 0 args, 1 rets)
0015  GETTABUP  R0 = _ENV[K0('require')]
0016  LOADK     R1 = K6 'Model.Bundle.BundleOnePlusNModel'
0017  CALL      R0 = call(R0, 0 args, 1 rets)
0018  GETTABUP  R0 = _ENV[K0('require')]
0019  LOADK     R1 = K7 'Model.Bundle.BundleOneByOneModel'
0020  CALL      R0 = call(R0, 0 args, 1 rets)
0021  NEWTABLE  R0 = {} (0 items)
0022  SETTABLE  R0[K9('Starter')] = K10('starter')
0023  SETTABLE  R0[K11('Energy')] = K12('energy')
0024  SETTABLE  R0[K13('Energy2')] = K14('energy2')
0025  SETTABLE  R0[K15('CDFill')] = K16('cdFill')
0026  SETTABLE  R0[K17('OrderGroup')] = K18('orderGroup')
0027  SETTABLE  R0[K19('Normal')] = K20('normal')
0028  SETTABLE  R0[K21('MultiTier')] = K22('multiTier')
0029  SETTABLE  R0[K23('Chain')] = K24('chain')
0030  SETTABLE  R0[K25('OnePlusN')] = K26('onePlusN')
0031  SETTABLE  R0[K27('OneByOne')] = K28('oneByOne')
0032  SETTABUP  _ENV[K8('BundleVirtualDBTableName')] = R0
0033  NEWTABLE  R0 = {} (0 items)
0034  GETTABUP  R1 = _ENV[K29('EBundleType')]
0035  GETTABLE  R1 = R1[K9('Starter')]
0036  NEWTABLE  R2 = {} (0 items)
0037  GETTABUP  R3 = _ENV[K31('BundleNormalModel')]
0038  SETTABLE  R2[K30('class')] = R3
0039  GETTABUP  R3 = _ENV[K8('BundleVirtualDBTableName')]
0040  GETTABLE  R3 = R3[K9('Starter')]
0041  SETTABLE  R2[K32('dbName')] = R3
0042  SETTABLE  R0[R1] = R2
0043  GETTABUP  R1 = _ENV[K29('EBundleType')]
0044  GETTABLE  R1 = R1[K11('Energy')]
0045  NEWTABLE  R2 = {} (0 items)
0046  GETTABUP  R3 = _ENV[K31('BundleNormalModel')]
0047  SETTABLE  R2[K30('class')] = R3
0048  GETTABUP  R3 = _ENV[K8('BundleVirtualDBTableName')]
0049  GETTABLE  R3 = R3[K11('Energy')]
0050  SETTABLE  R2[K32('dbName')] = R3
0051  SETTABLE  R0[R1] = R2
0052  GETTABUP  R1 = _ENV[K29('EBundleType')]
0053  GETTABLE  R1 = R1[K13('Energy2')]
0054  NEWTABLE  R2 = {} (0 items)
0055  GETTABUP  R3 = _ENV[K31('BundleNormalModel')]
0056  SETTABLE  R2[K30('class')] = R3
0057  GETTABUP  R3 = _ENV[K8('BundleVirtualDBTableName')]
0058  GETTABLE  R3 = R3[K13('Energy2')]
0059  SETTABLE  R2[K32('dbName')] = R3
0060  SETTABLE  R0[R1] = R2
0061  GETTABUP  R1 = _ENV[K29('EBundleType')]
0062  GETTABLE  R1 = R1[K15('CDFill')]
0063  NEWTABLE  R2 = {} (0 items)
0064  GETTABUP  R3 = _ENV[K31('BundleNormalModel')]
0065  SETTABLE  R2[K30('class')] = R3
0066  GETTABUP  R3 = _ENV[K8('BundleVirtualDBTableName')]
0067  GETTABLE  R3 = R3[K15('CDFill')]
0068  SETTABLE  R2[K32('dbName')] = R3
0069  SETTABLE  R0[R1] = R2
0070  GETTABUP  R1 = _ENV[K29('EBundleType')]
0071  GETTABLE  R1 = R1[K17('OrderGroup')]
0072  NEWTABLE  R2 = {} (0 items)
0073  GETTABUP  R3 = _ENV[K31('BundleNormalModel')]
0074  SETTABLE  R2[K30('class')] = R3
0075  GETTABUP  R3 = _ENV[K8('BundleVirtualDBTableName')]
0076  GETTABLE  R3 = R3[K17('OrderGroup')]
0077  SETTABLE  R2[K32('dbName')] = R3
0078  SETTABLE  R0[R1] = R2
0079  GETTABUP  R1 = _ENV[K29('EBundleType')]
0080  GETTABLE  R1 = R1[K19('Normal')]
0081  NEWTABLE  R2 = {} (0 items)
0082  GETTABUP  R3 = _ENV[K31('BundleNormalModel')]
0083  SETTABLE  R2[K30('class')] = R3
0084  GETTABUP  R3 = _ENV[K8('BundleVirtualDBTableName')]
0085  GETTABLE  R3 = R3[K19('Normal')]
0086  SETTABLE  R2[K32('dbName')] = R3
0087  SETTABLE  R0[R1] = R2
0088  GETTABUP  R1 = _ENV[K29('EBundleType')]
0089  GETTABLE  R1 = R1[K21('MultiTier')]
0090  NEWTABLE  R2 = {} (0 items)
0091  GETTABUP  R3 = _ENV[K33('BundleMultiTierModel')]
0092  SETTABLE  R2[K30('class')] = R3
0093  GETTABUP  R3 = _ENV[K8('BundleVirtualDBTableName')]
0094  GETTABLE  R3 = R3[K21('MultiTier')]
0095  SETTABLE  R2[K32('dbName')] = R3
0096  SETTABLE  R0[R1] = R2
0097  GETTABUP  R1 = _ENV[K29('EBundleType')]
0098  GETTABLE  R1 = R1[K23('Chain')]
0099  NEWTABLE  R2 = {} (0 items)
0100  GETTABUP  R3 = _ENV[K34('BundleChainModel')]
0101  SETTABLE  R2[K30('class')] = R3
0102  GETTABUP  R3 = _ENV[K8('BundleVirtualDBTableName')]
0103  GETTABLE  R3 = R3[K23('Chain')]
0104  SETTABLE  R2[K32('dbName')] = R3
0105  SETTABLE  R0[R1] = R2
0106  GETTABUP  R1 = _ENV[K29('EBundleType')]
0107  GETTABLE  R1 = R1[K25('OnePlusN')]
0108  NEWTABLE  R2 = {} (0 items)
0109  GETTABUP  R3 = _ENV[K35('BundleOnePlusNModel')]
0110  SETTABLE  R2[K30('class')] = R3
0111  GETTABUP  R3 = _ENV[K8('BundleVirtualDBTableName')]
0112  GETTABLE  R3 = R3[K25('OnePlusN')]
0113  SETTABLE  R2[K32('dbName')] = R3
0114  SETTABLE  R0[R1] = R2
0115  GETTABUP  R1 = _ENV[K29('EBundleType')]
0116  GETTABLE  R1 = R1[K27('OneByOne')]
0117  NEWTABLE  R2 = {} (0 items)
0118  GETTABUP  R3 = _ENV[K36('BundleOneByOneModel')]
0119  SETTABLE  R2[K30('class')] = R3
0120  GETTABUP  R3 = _ENV[K8('BundleVirtualDBTableName')]
0121  GETTABLE  R3 = R3[K27('OneByOne')]
0122  SETTABLE  R2[K32('dbName')] = R3
0123  SETTABLE  R0[R1] = R2
0124  NEWTABLE  R1 = {} (0 items)
0125  SETTABUP  _ENV[K37('BundleManager')] = R1
0126  GETTABUP  R1 = _ENV[K37('BundleManager')]
0127  GETTABUP  R2 = _ENV[K37('BundleManager')]
0128  SETTABLE  R1[K38('__index')] = R2
0129  GETTABUP  R1 = _ENV[K37('BundleManager')]
0130  CLOSURE   R2 = closure proto0
0131  SETTABLE  R1[K39('Init')] = R2
0132  GETTABUP  R1 = _ENV[K37('BundleManager')]
0133  CLOSURE   R2 = closure proto1
0134  SETTABLE  R1[K40('Destroy')] = R2
0135  GETTABUP  R1 = _ENV[K37('BundleManager')]
0136  CLOSURE   R2 = closure proto2
0137  SETTABLE  R1[K41('OnSyncDataFinished')] = R2
0138  GETTABUP  R1 = _ENV[K37('BundleManager')]
0139  CLOSURE   R2 = closure proto3
0140  SETTABLE  R1[K42('OnSceneViewLoaded')] = R2
0141  GETTABUP  R1 = _ENV[K37('BundleManager')]
0142  CLOSURE   R2 = closure proto4
0143  SETTABLE  R1[K43('LoadServerConfig')] = R2
0144  GETTABUP  R1 = _ENV[K37('BundleManager')]
0145  CLOSURE   R2 = closure proto5
0146  SETTABLE  R1[K44('GetServerConfigs')] = R2
0147  GETTABUP  R1 = _ENV[K37('BundleManager')]
0148  CLOSURE   R2 = closure proto6
0149  SETTABLE  R1[K45('UpdatePerSecond')] = R2
0150  GETTABUP  R1 = _ENV[K37('BundleManager')]
0151  CLOSURE   R2 = closure proto7
0152  SETTABLE  R1[K46('GetModel')] = R2
0153  NEWTABLE  R1 = {} (0 items)
0154  GETTABUP  R2 = _ENV[K37('BundleManager')]
0155  CLOSURE   R3 = closure proto8
0156  SETTABLE  R2[K47('GetActiveGroupDatas')] = R3
0157  GETTABUP  R2 = _ENV[K37('BundleManager')]
0158  CLOSURE   R3 = closure proto9
0159  SETTABLE  R2[K48('Buy')] = R3
0160  GETTABUP  R2 = _ENV[K37('BundleManager')]
0161  CLOSURE   R3 = closure proto10
0162  SETTABLE  R2[K49('GetBundleConfigData')] = R3
0163  GETTABUP  R2 = _ENV[K37('BundleManager')]
0164  CLOSURE   R3 = closure proto11
0165  SETTABLE  R2[K50('OnRestoreIAPRewards')] = R3
0166  GETTABUP  R2 = _ENV[K37('BundleManager')]
0167  CLOSURE   R3 = closure proto12
0168  SETTABLE  R2[K51('CheckNeedGiveGems')] = R3
0169  GETTABUP  R2 = _ENV[K37('BundleManager')]
0170  CLOSURE   R3 = closure proto13
0171  SETTABLE  R2[K52('_RecordPurchaseInfo')] = R3
0172  GETTABUP  R2 = _ENV[K37('BundleManager')]
0173  CLOSURE   R3 = closure proto14
0174  SETTABLE  R2[K53('_GetRecordPurchaseInfo')] = R3
0175  GETTABUP  R2 = _ENV[K37('BundleManager')]
0176  CLOSURE   R3 = closure proto15
0177  SETTABLE  R2[K54('_ReleasePurchaseInfo')] = R3
0178  GETTABUP  R2 = _ENV[K37('BundleManager')]
0179  CLOSURE   R3 = closure proto16
0180  SETTABLE  R2[K55('_GetPurchaseMetaKey')] = R3
0181  GETTABUP  R2 = _ENV[K37('BundleManager')]
0182  CLOSURE   R3 = closure proto17
0183  SETTABLE  R2[K56('GetBundleMetaDBTable')] = R3
0184  GETTABUP  R2 = _ENV[K37('BundleManager')]
0185  CLOSURE   R3 = closure proto18
0186  SETTABLE  R2[K57('_AcquireRewards')] = R3
0187  GETTABUP  R2 = _ENV[K37('BundleManager')]
0188  CLOSURE   R3 = closure proto19
0189  SETTABLE  R2[K58('TryTriggerActivityBundle')] = R3
0190  GETTABUP  R2 = _ENV[K37('BundleManager')]
0191  CLOSURE   R3 = closure proto20
0192  SETTABLE  R2[K59('OnLackGem')] = R3
0193  GETTABUP  R2 = _ENV[K37('BundleManager')]
0194  CLOSURE   R3 = closure proto21
0195  SETTABLE  R2[K60('OnItemRecharge')] = R3
0196  GETTABUP  R2 = _ENV[K61('BundleManager')]
0197  CLOSURE   R3 = closure proto22
0198  SETTABLE  R2[K62('GetBundleTriggerConfig')] = R3
0199  GETTABUP  R2 = _ENV[K61('BundleManager')]
0200  CLOSURE   R3 = closure proto23
0201  SETTABLE  R2[K63('GetBundleTriggerMaxNum')] = R3
0202  GETTABUP  R2 = _ENV[K61('BundleManager')]
0203  CLOSURE   R3 = closure proto24
0204  SETTABLE  R2[K64('GetBundleTriggerOrderList')] = R3
0205  GETTABUP  R2 = _ENV[K61('BundleManager')]
0206  CLOSURE   R3 = closure proto25
0207  SETTABLE  R2[K65('CheckTriggerConfigValid')] = R3
0208  GETTABUP  R2 = _ENV[K61('BundleManager')]
0209  CLOSURE   R3 = closure proto26
0210  SETTABLE  R2[K66('OnLoginFinished')] = R3
0211  GETTABUP  R2 = _ENV[K61('BundleManager')]
0212  CLOSURE   R3 = closure proto27
0213  SETTABLE  R2[K67('_OnOrderFinished')] = R3
0214  GETTABUP  R2 = _ENV[K61('BundleManager')]
0215  CLOSURE   R3 = closure proto28
0216  SETTABLE  R2[K68('_OnMainTaskFinished')] = R3
0217  GETTABUP  R2 = _ENV[K61('BundleManager')]
0218  CLOSURE   R3 = closure proto29
0219  SETTABLE  R2[K69('OnCloseView')] = R3
0220  GETTABUP  R2 = _ENV[K61('BundleManager')]
0221  CLOSURE   R3 = closure proto30
0222  SETTABLE  R2[K70('TryStartBundlePopupChain')] = R3
0223  CLOSURE   R2 = closure proto31
0224  SETTABUP  _ENV[K71('GetBundleHudKey')] = R2
0225  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 42-57 np=1 va=0 ms=7 code=60 consts=25 upvals=1 protos=0
  ;   K[0]='VIRTUAL_DEFINE_SYNC_DATA'
  ;   K[1]='BundleDataTable'
  ;   K[2]='GM'
  ;   K[3]='DBTableManager'
  ;   K[4]='GetTable'
  ;   K[5]='EDBTableConfigs'
  ;   K[6]='Bundles'
  ;   K[7]='ModelHelper'
  ;   K[8]='DefineSyncData'
  ;   K[9]='BundleMetaDataTable'
  ;   K[10]='BundleMeta'
  ;   K[11]='DefineDispatchEvent'
  ;   K[12]='LateInit'
  ;   K[13]='UpdateAfterLoginFinished'
  ;   K[14]='EventDispatcher'
  ;   K[15]='AddListener'
  ;   K[16]='EEventType'
  ;   K[17]='LoginFinished'
  ;   K[18]='OnLoginFinished'
  ;   K[19]='CloseView'
  ;   K[20]='OnCloseView'
  ;   K[21]='OrderFinished'
  ;   K[22]='_OnOrderFinished'
  ;   K[23]='MainTaskFinished'
  ;   K[24]='_OnMainTaskFinished'
  ;   upvals: _ENV
  ;   locals: self(0-60)
  0000  GETTABUP  R1 = _ENV[K0('VIRTUAL_DEFINE_SYNC_DATA')]
  0001  MOVE      R2 = R0
  0002  LOADK     R3 = K1 'BundleDataTable'
  0003  GETTABUP  R4 = _ENV[K2('GM')]
  0004  GETTABLE  R4 = R4[K3('DBTableManager')]
  0005  SELF      R5 = R4[K4('GetTable')] (self)
  0006  GETTABUP  R6 = _ENV[K5('EDBTableConfigs')]
  0007  GETTABLE  R6 = R6[K6('Bundles')]
  0008  CALL      R4 = call(R4, -1 args, 2 rets)
  0009  CALL      R1 = call(R1, 0 args, -1 rets)
  0010  GETTABUP  R1 = _ENV[K7('ModelHelper')]
  0011  GETTABLE  R1 = R1[K8('DefineSyncData')]
  0012  MOVE      R2 = R0
  0013  LOADK     R3 = K9 'BundleMetaDataTable'
  0014  GETTABUP  R4 = _ENV[K2('GM')]
  0015  GETTABLE  R4 = R4[K3('DBTableManager')]
  0016  SELF      R5 = R4[K4('GetTable')] (self)
  0017  GETTABUP  R6 = _ENV[K5('EDBTableConfigs')]
  0018  GETTABLE  R6 = R6[K10('BundleMeta')]
  0019  CALL      R4 = call(R4, -1 args, 2 rets)
  0020  CALL      R1 = call(R1, 0 args, -1 rets)
  0021  GETTABUP  R1 = _ENV[K7('ModelHelper')]
  0022  GETTABLE  R1 = R1[K11('DefineDispatchEvent')]
  0023  MOVE      R2 = R0
  0024  LOADK     R3 = K12 'LateInit'
  0025  CALL      R1 = call(R1, 0 args, 2 rets)
  0026  GETTABUP  R1 = _ENV[K7('ModelHelper')]
  0027  GETTABLE  R1 = R1[K11('DefineDispatchEvent')]
  0028  MOVE      R2 = R0
  0029  LOADK     R3 = K13 'UpdateAfterLoginFinished'
  0030  CALL      R1 = call(R1, 0 args, 2 rets)
  0031  GETTABUP  R1 = _ENV[K14('EventDispatcher')]
  0032  GETTABLE  R1 = R1[K15('AddListener')]
  0033  GETTABUP  R2 = _ENV[K16('EEventType')]
  0034  GETTABLE  R2 = R2[K17('LoginFinished')]
  0035  MOVE      R3 = R0
  0036  GETTABLE  R4 = R0[K18('OnLoginFinished')]
  0037  CALL      R1 = call(R1, 0 args, 3 rets)
  0038  GETTABUP  R1 = _ENV[K14('EventDispatcher')]
  0039  GETTABLE  R1 = R1[K15('AddListener')]
  0040  GETTABUP  R2 = _ENV[K16('EEventType')]
  0041  GETTABLE  R2 = R2[K19('CloseView')]
  0042  MOVE      R3 = R0
  0043  GETTABLE  R4 = R0[K20('OnCloseView')]
  0044  CALL      R1 = call(R1, 0 args, 3 rets)
  0045  GETTABUP  R1 = _ENV[K14('EventDispatcher')]
  0046  GETTABLE  R1 = R1[K15('AddListener')]
  0047  GETTABUP  R2 = _ENV[K16('EEventType')]
  0048  GETTABLE  R2 = R2[K21('OrderFinished')]
  0049  MOVE      R3 = R0
  0050  GETTABLE  R4 = R0[K22('_OnOrderFinished')]
  0051  CALL      R1 = call(R1, 0 args, 3 rets)
  0052  GETTABUP  R1 = _ENV[K14('EventDispatcher')]
  0053  GETTABLE  R1 = R1[K15('AddListener')]
  0054  GETTABUP  R2 = _ENV[K16('EEventType')]
  0055  GETTABLE  R2 = R2[K23('MainTaskFinished')]
  0056  MOVE      R3 = R0
  0057  GETTABLE  R4 = R0[K24('_OnMainTaskFinished')]
  0058  CALL      R1 = call(R1, 0 args, 3 rets)
  0059  RETURN    return R0..R-1
; ---------- proto1 [Destroy] ----------
  ; fn ?  line 59-66 np=1 va=0 ms=8 code=16 consts=6 upvals=1 protos=0
  ;   K[0]='m_models'
  ;   K[1]=nil
  ;   K[2]='pairs'
  ;   K[3]='Destroy'
  ;   K[4]='EventDispatcher'
  ;   K[5]='RemoveTarget'
  ;   upvals: _ENV
  ;   locals: self(0-16), (for generator)(6-11), (for state)(6-11), (for control)(6-11), _(7-9), model(7-9)
  0000  GETTABLE  R1 = R0[K0('m_models')]
  0001  EQ        if R1 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 11
  0003  GETTABUP  R1 = _ENV[K2('pairs')]
  0004  GETTABLE  R2 = R0[K0('m_models')]
  0005  CALL      R1 = call(R1, 3 args, 1 rets)
  0006  JMP       (jump)   -> 9
  0007  SELF      R7 = R5[K3('Destroy')] (self)
  0008  CALL      R6 = call(R6, 0 args, 1 rets)
  0009  TFORCALL  tforcall R1
  0010  TFORLOOP  tforloop R3(sBx=-4)   -> 7
  0011  GETTABUP  R1 = _ENV[K4('EventDispatcher')]
  0012  GETTABLE  R1 = R1[K5('RemoveTarget')]
  0013  MOVE      R2 = R0
  0014  CALL      R1 = call(R1, 0 args, 1 rets)
  0015  RETURN    return R0..R-1
; ---------- proto2 [OnSyncDataFinished] ----------
  ; fn ?  line 68-80 np=1 va=0 ms=12 code=28 consts=11 upvals=2 protos=0
  ;   K[0]='m_models'
  ;   K[1]='pairs'
  ;   K[2]='setmetatable'
  ;   K[3]='class'
  ;   K[4]='VirtualDBTable'
  ;   K[5]='Create'
  ;   K[6]='m_bundleDataTable'
  ;   K[7]='dbName'
  ;   K[8]='Init'
  ;   K[9]='m_inited'
  ;   K[10]=true
  ;   upvals: _ENV, BundleModelInfo
  ;   locals: self(0-28), model(3-28), virtualDBTable(3-28), (for generator)(6-26), (for state)(6-26), (for control)(6-26), bundleType(7-24), info(7-24)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  SETTABLE  R0[K0('m_models')] = R1
  0002  LOADNIL   R1..R1 = nil
  0003  GETTABUP  R3 = _ENV[K1('pairs')]
  0004  GETUPVAL  R4 = _ENV
  0005  CALL      R3 = call(R3, 3 args, 1 rets)
  0006  JMP       (jump)   -> 24
  0007  GETTABUP  R8 = _ENV[K2('setmetatable')]
  0008  NEWTABLE  R9 = {} (0 items)
  0009  GETTABLE  R10 = R7[K3('class')]
  0010  CALL      R8 = call(R8, 1 args, 2 rets)
  0011  MOVE      R1 = R0
  0012  GETTABUP  R8 = _ENV[K4('VirtualDBTable')]
  0013  GETTABLE  R8 = R8[K5('Create')]
  0014  GETTABLE  R9 = R0[K6('m_bundleDataTable')]
  0015  GETTABLE  R10 = R7[K7('dbName')]
  0016  CALL      R8 = call(R8, 1 args, 2 rets)
  0017  MOVE      R2 = R0
  0018  SELF      R9 = R1[K8('Init')] (self)
  0019  MOVE      R10 = R0
  0020  MOVE      R11 = R0
  0021  CALL      R8 = call(R8, 0 args, 3 rets)
  0022  GETTABLE  R8 = R0[K0('m_models')]
  0023  SETTABLE  R8[R6] = R1
  0024  TFORCALL  tforcall R3
  0025  TFORLOOP  tforloop R5(sBx=-19)   -> 7
  0026  SETTABLE  R0[K9('m_inited')] = K10(true)
  0027  RETURN    return R0..R-1
; ---------- proto3 [OnSceneViewLoaded] ----------
  ; fn ?  line 82-100 np=1 va=0 ms=8 code=27 consts=14 upvals=1 protos=0
  ;   K[0]='UpdatePerSecond'
  ;   K[1]='m_bSceneViewLoaded'
  ;   K[2]=true
  ;   K[3]='m_models'
  ;   K[4]=nil
  ;   K[5]='pairs'
  ;   K[6]='OnSceneViewLoaded'
  ;   K[7]='CheckTriggerConfigValid'
  ;   K[8]='Log'
  ;   K[9]='Error'
  ;   K[10]='BundleTrigger 同一时间内相同的trigger配置了不同的popOrder或popNum请检查!'
  ;   K[11]='TryStartBundlePopupChain'
  ;   K[12]='EBundleTriggerType'
  ;   K[13]='Login'
  ;   upvals: _ENV
  ;   locals: self(0-27), (for generator)(9-14), (for state)(9-14), (for control)(9-14), _(10-12), model(10-12)
  0000  SELF      R2 = R0[K0('UpdatePerSecond')] (self)
  0001  CALL      R1 = call(R1, 0 args, 1 rets)
  0002  SETTABLE  R0[K1('m_bSceneViewLoaded')] = K2(true)
  0003  GETTABLE  R1 = R0[K3('m_models')]
  0004  EQ        if R1 eq K4(nil)   -> -130294
  0005  JMP       (jump)   -> 14
  0006  GETTABUP  R1 = _ENV[K5('pairs')]
  0007  GETTABLE  R2 = R0[K3('m_models')]
  0008  CALL      R1 = call(R1, 3 args, 1 rets)
  0009  JMP       (jump)   -> 12
  0010  SELF      R7 = R5[K6('OnSceneViewLoaded')] (self)
  0011  CALL      R6 = call(R6, 0 args, 1 rets)
  0012  TFORCALL  tforcall R1
  0013  TFORLOOP  tforloop R3(sBx=-4)   -> 10
  0014  SELF      R2 = R0[K7('CheckTriggerConfigValid')] (self)
  0015  CALL      R1 = call(R1, 1 args, 1 rets)
  0016  TEST      if not R1 then   -> -131053
  0017  JMP       (jump)   -> 22
  0018  GETTABUP  R1 = _ENV[K8('Log')]
  0019  GETTABLE  R1 = R1[K9('Error')]
  0020  LOADK     R2 = K10 'BundleTrigger 同一时间内相同的trigger配置了不同的popOrder或popNum请检查!'
  0021  CALL      R1 = call(R1, 0 args, 1 rets)
  0022  SELF      R2 = R0[K11('TryStartBundlePopupChain')] (self)
  0023  GETTABUP  R3 = _ENV[K12('EBundleTriggerType')]
  0024  GETTABLE  R3 = R3[K13('Login')]
  0025  CALL      R1 = call(R1, 0 args, 2 rets)
  0026  RETURN    return R0..R-1
; ---------- proto4 [LoadServerConfig] ----------
  ; fn ?  line 102-124 np=1 va=0 ms=11 code=60 consts=18 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='ConfigModel'
  ;   K[2]='GetServerConfig'
  ;   K[3]='ServerConfigKey'
  ;   K[4]='BundleController'
  ;   K[5]='GetServerConfigMD5'
  ;   K[6]='m_md5'
  ;   K[7]='m_mapType2Configs'
  ;   K[8]='ipairs'
  ;   K[9]='specialType'
  ;   K[10]=nil
  ;   K[11]='table'
  ;   K[12]='insert'
  ;   K[13]='Table'
  ;   K[14]='IsEmpty'
  ;   K[15]='m_models'
  ;   K[16]='pairs'
  ;   K[17]='LoadServerConfig'
  ;   upvals: _ENV
  ;   locals: self(0-60), serverConfig(6-60), md5(12-60), (for generator)(23-42), (for state)(23-42), (for control)(23-42), _(24-40), config(24-40), (for generator)(51-59), (for state)(51-59), (for control)(51-59), _(52-57), model(52-57)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('ConfigModel')]
  0002  SELF      R2 = R1[K2('GetServerConfig')] (self)
  0003  GETTABUP  R3 = _ENV[K3('ServerConfigKey')]
  0004  GETTABLE  R3 = R3[K4('BundleController')]
  0005  CALL      R1 = call(R1, 1 args, 2 rets)
  0006  GETTABUP  R2 = _ENV[K0('GM')]
  0007  GETTABLE  R2 = R2[K1('ConfigModel')]
  0008  SELF      R3 = R2[K5('GetServerConfigMD5')] (self)
  0009  GETTABUP  R4 = _ENV[K3('ServerConfigKey')]
  0010  GETTABLE  R4 = R4[K4('BundleController')]
  0011  CALL      R2 = call(R2, 1 args, 2 rets)
  0012  GETTABLE  R3 = R0[K6('m_md5')]
  0013  EQ        if R1 eq R2   -> -129519
  0014  JMP       (jump)   -> 42
  0015  SETTABLE  R0[K6('m_md5')] = R2
  0016  NEWTABLE  R3 = {} (0 items)
  0017  SETTABLE  R0[K7('m_mapType2Configs')] = R3
  0018  GETTABUP  R3 = _ENV[K8('ipairs')]
  0019  TESTSET   if R1 then R4   -> -130538
  0020  JMP       (jump)   -> 22
  0021  NEWTABLE  R4 = {} (0 items)
  0022  CALL      R3 = call(R3, 3 args, 1 rets)
  0023  JMP       (jump)   -> 40
  0024  GETTABLE  R8 = R0[K7('m_mapType2Configs')]
  0025  GETTABLE  R9 = R7[K9('specialType')]
  0026  GETTABLE  R8 = R8[R9]
  0027  EQ        if R0 eq K10(nil)   -> -126681
  0028  JMP       (jump)   -> 33
  0029  GETTABLE  R8 = R0[K7('m_mapType2Configs')]
  0030  GETTABLE  R9 = R7[K9('specialType')]
  0031  NEWTABLE  R10 = {} (0 items)
  0032  SETTABLE  R8[R9] = R10
  0033  GETTABUP  R8 = _ENV[K11('table')]
  0034  GETTABLE  R8 = R8[K12('insert')]
  0035  GETTABLE  R9 = R0[K7('m_mapType2Configs')]
  0036  GETTABLE  R10 = R7[K9('specialType')]
  0037  GETTABLE  R9 = R9[R10]
  0038  MOVE      R10 = R0
  0039  CALL      R8 = call(R8, 0 args, 2 rets)
  0040  TFORCALL  tforcall R3
  0041  TFORLOOP  tforloop R5(sBx=-18)   -> 24
  0042  GETTABUP  R3 = _ENV[K13('Table')]
  0043  GETTABLE  R3 = R3[K14('IsEmpty')]
  0044  GETTABLE  R4 = R0[K15('m_models')]
  0045  CALL      R3 = call(R3, 1 args, 1 rets)
  0046  TEST      if not R3 then   -> -131023
  0047  JMP       (jump)   -> 59
  0048  GETTABUP  R3 = _ENV[K16('pairs')]
  0049  GETTABLE  R4 = R0[K15('m_models')]
  0050  CALL      R3 = call(R3, 3 args, 1 rets)
  0051  JMP       (jump)   -> 57
  0052  GETTABLE  R8 = R7[K17('LoadServerConfig')]
  0053  EQ        if R1 eq K10(nil)   -> -126655
  0054  JMP       (jump)   -> 57
  0055  SELF      R9 = R7[K17('LoadServerConfig')] (self)
  0056  CALL      R8 = call(R8, 0 args, 1 rets)
  0057  TFORCALL  tforcall R3
  0058  TFORLOOP  tforloop R5(sBx=-7)   -> 52
  0059  RETURN    return R0..R-1
; ---------- proto5 [GetServerConfigs] ----------
  ; fn ?  line 126-128 np=2 va=0 ms=3 code=7 consts=1 upvals=0 protos=0
  ;   K[0]='m_mapType2Configs'
  ;   locals: self(0-7), bundleType(0-7)
  0000  GETTABLE  R2 = R0[K0('m_mapType2Configs')]
  0001  TEST      if not R2 then   -> -131069
  0002  JMP       (jump)   -> 5
  0003  GETTABLE  R2 = R0[K0('m_mapType2Configs')]
  0004  GETTABLE  R2 = R2[R1]
  0005  RETURN    return R2..R1
  0006  RETURN    return R0..R-1
; ---------- proto6 [UpdatePerSecond] ----------
  ; fn ?  line 130-136 np=1 va=0 ms=8 code=12 consts=4 upvals=1 protos=0
  ;   K[0]='m_models'
  ;   K[1]=nil
  ;   K[2]='pairs'
  ;   K[3]='UpdatePerSecond'
  ;   upvals: _ENV
  ;   locals: self(0-12), (for generator)(6-11), (for state)(6-11), (for control)(6-11), _(7-9), model(7-9)
  0000  GETTABLE  R1 = R0[K0('m_models')]
  0001  EQ        if R1 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 11
  0003  GETTABUP  R1 = _ENV[K2('pairs')]
  0004  GETTABLE  R2 = R0[K0('m_models')]
  0005  CALL      R1 = call(R1, 3 args, 1 rets)
  0006  JMP       (jump)   -> 9
  0007  SELF      R7 = R5[K3('UpdatePerSecond')] (self)
  0008  CALL      R6 = call(R6, 0 args, 1 rets)
  0009  TFORCALL  tforcall R1
  0010  TFORLOOP  tforloop R3(sBx=-4)   -> 7
  0011  RETURN    return R0..R-1
; ---------- proto7 [GetModel] ----------
  ; fn ?  line 139-141 np=2 va=0 ms=3 code=7 consts=1 upvals=0 protos=0
  ;   K[0]='m_models'
  ;   locals: self(0-7), bundleType(0-7)
  0000  GETTABLE  R2 = R0[K0('m_models')]
  0001  TEST      if not R2 then   -> -131069
  0002  JMP       (jump)   -> 5
  0003  GETTABLE  R2 = R0[K0('m_models')]
  0004  GETTABLE  R2 = R2[R1]
  0005  RETURN    return R2..R1
  0006  RETURN    return R0..R-1
; ---------- proto8 [GetActiveGroupDatas] ----------
  ; fn ?  line 144-161 np=2 va=0 ms=11 code=42 consts=9 upvals=2 protos=0
  ;   K[0]=0
  ;   K[1]='table'
  ;   K[2]='remove'
  ;   K[3]=nil
  ;   K[4]='pairs'
  ;   K[5]='m_models'
  ;   K[6]='GetActiveGroupDatas'
  ;   K[7]='ipairs'
  ;   K[8]='GetModel'
  ;   upvals: activeGroups, _ENV
  ;   locals: self(0-42), arrSequence(0-42), (for generator)(14-20), (for state)(14-20), (for control)(14-20), _(15-18), model(15-18), (for generator)(24-39), (for state)(24-39), (for control)(24-39), _(25-37), bundleType(25-37)
  0000  GETUPVAL  R2 = activeGroups
  0001  LEN       R2 = len R0
  0002  LT        if R0 lt R2   -> 6
  0003  JMP       (jump)   -> 9
  0004  GETTABUP  R2 = _ENV[K1('table')]
  0005  GETTABLE  R2 = R2[K2('remove')]
  0006  GETUPVAL  R3 = activeGroups
  0007  CALL      R2 = call(R2, 0 args, 1 rets)
  0008  JMP       (jump)   -> 0
  0009  EQ        if R0 eq K3(nil)   -> -130290
  0010  JMP       (jump)   -> 21
  0011  GETTABUP  R2 = _ENV[K4('pairs')]
  0012  GETTABLE  R3 = R0[K5('m_models')]
  0013  CALL      R2 = call(R2, 3 args, 1 rets)
  0014  JMP       (jump)   -> 18
  0015  SELF      R8 = R6[K6('GetActiveGroupDatas')] (self)
  0016  GETUPVAL  R9 = activeGroups
  0017  CALL      R7 = call(R7, 0 args, 2 rets)
  0018  TFORCALL  tforcall R2
  0019  TFORLOOP  tforloop R4(sBx=-5)   -> 15
  0020  JMP       (jump)   -> 39
  0021  GETTABUP  R2 = _ENV[K7('ipairs')]
  0022  MOVE      R3 = R0
  0023  CALL      R2 = call(R2, 3 args, 1 rets)
  0024  JMP       (jump)   -> 37
  0025  SELF      R8 = R0[K8('GetModel')] (self)
  0026  MOVE      R9 = R0
  0027  CALL      R7 = call(R7, 1 args, 2 rets)
  0028  TEST      if not R7 then   -> -131042
  0029  JMP       (jump)   -> 37
  0030  SELF      R8 = R0[K8('GetModel')] (self)
  0031  MOVE      R9 = R0
  0032  CALL      R7 = call(R7, 1 args, 2 rets)
  0033  SELF      R8 = R7[K6('GetActiveGroupDatas')] (self)
  0034  GETUPVAL  R9 = activeGroups
  0035  MOVE      R10 = R0
  0036  CALL      R7 = call(R7, 0 args, 3 rets)
  0037  TFORCALL  tforcall R2
  0038  TFORLOOP  tforloop R4(sBx=-14)   -> 25
  0039  GETUPVAL  R2 = activeGroups
  0040  RETURN    return R2..R1
  0041  RETURN    return R0..R-1
; ---------- proto9 [Buy] ----------
  ; fn ?  line 165-200 np=5 va=0 ms=16 code=52 consts=25 upvals=1 protos=1
  ;   K[0]='GetModel'
  ;   K[1]='GetGroupData'
  ;   K[2]='GetGroupId'
  ;   K[3]='GetPurchaseId'
  ;   K[4]=nil
  ;   K[5]='GM'
  ;   K[6]='UIManager'
  ;   K[7]='ShowPromptWithKey'
  ;   K[8]='bundle_buy_fail_tips'
  ;   K[9]='BIManager'
  ;   K[10]='LogErrorInfo'
  ;   K[11]='EBIProjectType'
  ;   K[12]='BundleBuyFailed'
  ;   K[13]=' purchaseId missing'
  ;   K[14]='GetBundleId'
  ;   K[15]='groupId'
  ;   K[16]='bundleId'
  ;   K[17]='bundleType'
  ;   K[18]='rewards'
  ;   K[19]='GetGoods'
  ;   K[20]='_RecordPurchaseInfo'
  ;   K[21]='InAppPurchaseModel'
  ;   K[22]='StartPurchase'
  ;   K[23]='EBIType'
  ;   K[24]='BundleBuy'
  ;   upvals: _ENV
  ;   locals: self(0-52), bundleType(0-52), bundleData(0-52), successCallback(0-52), bIgnoreRecord(0-52), bundleModel(3-52), groupData(5-52), groupId(7-52), purchaseId(28-52), bundleId(30-52), bundleInfo(37-52)
  0000  SELF      R6 = R0[K0('GetModel')] (self)
  0001  MOVE      R7 = R0
  0002  CALL      R5 = call(R5, 1 args, 2 rets)
  0003  SELF      R7 = R2[K1('GetGroupData')] (self)
  0004  CALL      R6 = call(R6, 1 args, 1 rets)
  0005  SELF      R8 = R6[K2('GetGroupId')] (self)
  0006  CALL      R7 = call(R7, 1 args, 1 rets)
  0007  SELF      R9 = R2[K3('GetPurchaseId')] (self)
  0008  CALL      R8 = call(R8, 1 args, 1 rets)
  0009  EQ        if R0 eq K4(nil)   -> -126705
  0010  JMP       (jump)   -> 26
  0011  GETTABUP  R8 = _ENV[K5('GM')]
  0012  GETTABLE  R8 = R8[K6('UIManager')]
  0013  SELF      R9 = R8[K7('ShowPromptWithKey')] (self)
  0014  LOADK     R10 = K8 'bundle_buy_fail_tips'
  0015  CALL      R8 = call(R8, 0 args, 2 rets)
  0016  GETTABUP  R8 = _ENV[K5('GM')]
  0017  GETTABLE  R8 = R8[K9('BIManager')]
  0018  SELF      R9 = R8[K10('LogErrorInfo')] (self)
  0019  GETTABUP  R10 = _ENV[K11('EBIProjectType')]
  0020  GETTABLE  R10 = R10[K12('BundleBuyFailed')]
  0021  MOVE      R11 = R0
  0022  LOADK     R12 = K13 ' purchaseId missing'
  0023  CONCAT    R11 = concat(R11..R11)
  0024  CALL      R8 = call(R8, 0 args, 3 rets)
  0025  RETURN    return R0..R-1
  0026  SELF      R9 = R2[K3('GetPurchaseId')] (self)
  0027  CALL      R8 = call(R8, 1 args, 1 rets)
  0028  SELF      R10 = R2[K14('GetBundleId')] (self)
  0029  CALL      R9 = call(R9, 1 args, 1 rets)
  0030  NEWTABLE  R10 = {} (0 items)
  0031  SETTABLE  R10[K15('groupId')] = R7
  0032  SETTABLE  R10[K16('bundleId')] = R9
  0033  SETTABLE  R10[K17('bundleType')] = R1
  0034  SELF      R12 = R2[K19('GetGoods')] (self)
  0035  CALL      R11 = call(R11, 1 args, 1 rets)
  0036  SETTABLE  R10[K18('rewards')] = R11
  0037  TEST      if not R4 then   -> -131032
  0038  JMP       (jump)   -> 43
  0039  SELF      R12 = R0[K20('_RecordPurchaseInfo')] (self)
  0040  MOVE      R13 = R0
  0041  MOVE      R14 = R0
  0042  CALL      R11 = call(R11, 0 args, 3 rets)
  0043  GETTABUP  R11 = _ENV[K5('GM')]
  0044  GETTABLE  R11 = R11[K21('InAppPurchaseModel')]
  0045  SELF      R12 = R11[K22('StartPurchase')] (self)
  0046  MOVE      R13 = R0
  0047  CLOSURE   R14 = closure proto0
  0048  GETTABUP  R15 = _ENV[K23('EBIType')]
  0049  GETTABLE  R15 = R15[K24('BundleBuy')]
  0050  CALL      R11 = call(R11, 0 args, 4 rets)
  0051  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 190-199 np=0 va=0 ms=7 code=35 consts=17 upvals=10 protos=0
    ;   K[0]='_ReleasePurchaseInfo'
    ;   K[1]='RewardApi'
    ;   K[2]='AcquireRewardsLogic'
    ;   K[3]='GetGoods'
    ;   K[4]='EPropertySource'
    ;   K[5]='Buy'
    ;   K[6]='EBIType'
    ;   K[7]='IAP'
    ;   K[8]='ERewardScene'
    ;   K[9]='Bundle'
    ;   K[10]='EGameMode'
    ;   K[11]='Board'
    ;   K[12]='CacheItemType'
    ;   K[13]='Stack'
    ;   K[14]='OnPurchaseFinished'
    ;   K[15]=nil
    ;   K[16]='rewards'
    ;   upvals: bIgnoreRecord, self, purchaseId, _ENV, bundleData, bundleModel, groupId, bundleId, successCallback, bundleInfo
    0000  GETUPVAL  R0 = bIgnoreRecord
    0001  TEST      if not R0 then   -> -131068
    0002  JMP       (jump)   -> 7
    0003  GETUPVAL  R0 = bIgnoreRecord
    0004  SELF      R1 = R0[K0('_ReleasePurchaseInfo')] (self)
    0005  GETUPVAL  R2 = bIgnoreRecord
    0006  CALL      R0 = call(R0, 0 args, 2 rets)
    0007  GETTABUP  R0 = _ENV[K1('RewardApi')]
    0008  GETTABLE  R0 = R0[K2('AcquireRewardsLogic')]
    0009  GETUPVAL  R1 = bIgnoreRecord
    0010  SELF      R2 = R1[K3('GetGoods')] (self)
    0011  CALL      R1 = call(R1, 1 args, 1 rets)
    0012  GETTABUP  R2 = _ENV[K4('EPropertySource')]
    0013  GETTABLE  R2 = R2[K5('Buy')]
    0014  GETTABUP  R3 = _ENV[K6('EBIType')]
    0015  GETTABLE  R3 = R3[K7('IAP')]
    0016  GETTABUP  R4 = _ENV[K8('ERewardScene')]
    0017  GETTABLE  R4 = R4[K9('Bundle')]
    0018  GETTABUP  R5 = _ENV[K10('EGameMode')]
    0019  GETTABLE  R5 = R5[K11('Board')]
    0020  GETTABUP  R6 = _ENV[K12('CacheItemType')]
    0021  GETTABLE  R6 = R6[K13('Stack')]
    0022  CALL      R0 = call(R0, 0 args, 6 rets)
    0023  GETUPVAL  R0 = bIgnoreRecord
    0024  SELF      R1 = R0[K14('OnPurchaseFinished')] (self)
    0025  GETUPVAL  R2 = bIgnoreRecord
    0026  GETUPVAL  R3 = bIgnoreRecord
    0027  CALL      R0 = call(R0, 0 args, 3 rets)
    0028  GETUPVAL  R0 = bIgnoreRecord
    0029  EQ        if R1 eq K15(nil)   -> -130770
    0030  JMP       (jump)   -> 34
    0031  GETUPVAL  R0 = bIgnoreRecord
    0032  GETTABUP  R1 = bundleInfo[K16('rewards')]
    0033  CALL      R0 = call(R0, 0 args, 1 rets)
    0034  RETURN    return R0..R-1
; ---------- proto10 [GetBundleConfigData] ----------
  ; fn ?  line 202-211 np=2 va=0 ms=11 code=16 consts=4 upvals=1 protos=0
  ;   K[0]='pairs'
  ;   K[1]='m_models'
  ;   K[2]='GetBundleConfigData'
  ;   K[3]=nil
  ;   upvals: _ENV
  ;   locals: self(0-16), eIAPType(0-16), configData(1-16), (for generator)(4-14), (for state)(4-14), (for control)(4-14), _(5-12), model(5-12)
  0000  LOADNIL   R2..R2 = nil
  0001  GETTABUP  R3 = _ENV[K0('pairs')]
  0002  GETTABLE  R4 = R0[K1('m_models')]
  0003  CALL      R3 = call(R3, 3 args, 1 rets)
  0004  JMP       (jump)   -> 12
  0005  SELF      R9 = R7[K2('GetBundleConfigData')] (self)
  0006  MOVE      R10 = R0
  0007  CALL      R8 = call(R8, 1 args, 2 rets)
  0008  MOVE      R2 = R0
  0009  EQ        if R1 eq K3(nil)   -> -129778
  0010  JMP       (jump)   -> 12
  0011  RETURN    return R2..R1
  0012  TFORCALL  tforcall R3
  0013  TFORLOOP  tforloop R5(sBx=-9)   -> 5
  0014  RETURN    return R2..R1
  0015  RETURN    return R0..R-1
; ---------- proto11 [OnRestoreIAPRewards] ----------
  ; fn ?  line 213-250 np=2 va=0 ms=12 code=75 consts=19 upvals=1 protos=0
  ;   K[0]='pairs'
  ;   K[1]='m_models'
  ;   K[2]='OnRestoreIAPRewards'
  ;   K[3]='SafeCall'
  ;   K[4]='_GetRecordPurchaseInfo'
  ;   K[5]=nil
  ;   K[6]='GetModel'
  ;   K[7]='bundleType'
  ;   K[8]='OnPurchaseFinished'
  ;   K[9]='groupId'
  ;   K[10]='bundleId'
  ;   K[11]='_ReleasePurchaseInfo'
  ;   K[12]='CheckNeedGiveGems'
  ;   K[13]='rewards'
  ;   K[14]='RewardApi'
  ;   K[15]='CryptRewards'
  ;   K[16]='_AcquireRewards'
  ;   K[17]='GetBundleConfigData'
  ;   K[18]='GetGoods'
  ;   upvals: _ENV
  ;   locals: self(0-75), eIAPType(0-75), (for generator)(3-23), (for state)(3-23), (for control)(3-23), _(4-21), model(4-21), isOk(15-21), result(15-21), recordBundleInfo(26-75), model(31-55), configData(58-75)
  0000  GETTABUP  R2 = _ENV[K0('pairs')]
  0001  GETTABLE  R3 = R0[K1('m_models')]
  0002  CALL      R2 = call(R2, 3 args, 1 rets)
  0003  JMP       (jump)   -> 21
  0004  TEST      if not R6 then   -> -131066
  0005  JMP       (jump)   -> 21
  0006  GETTABLE  R7 = R6[K2('OnRestoreIAPRewards')]
  0007  TEST      if not R7 then   -> -131063
  0008  JMP       (jump)   -> 21
  0009  GETTABUP  R7 = _ENV[K3('SafeCall')]
  0010  GETTABLE  R8 = R6[K2('OnRestoreIAPRewards')]
  0011  LOADNIL   R9..R9 = nil
  0012  MOVE      R10 = R0
  0013  MOVE      R11 = R0
  0014  CALL      R7 = call(R7, 2 args, 4 rets)
  0015  TEST      if not R7 then   -> -131055
  0016  JMP       (jump)   -> 21
  0017  TEST      if not R8 then   -> -131053
  0018  JMP       (jump)   -> 21
  0019  LOADBOOL  R9 = true
  0020  RETURN    return R9..R8
  0021  TFORCALL  tforcall R2
  0022  TFORLOOP  tforloop R4(sBx=-19)   -> 4
  0023  SELF      R3 = R0[K4('_GetRecordPurchaseInfo')] (self)
  0024  MOVE      R4 = R0
  0025  CALL      R2 = call(R2, 1 args, 2 rets)
  0026  EQ        if R1 eq K5(nil)   -> -129759
  0027  JMP       (jump)   -> 55
  0028  SELF      R4 = R0[K6('GetModel')] (self)
  0029  GETTABLE  R5 = R2[K7('bundleType')]
  0030  CALL      R3 = call(R3, 1 args, 2 rets)
  0031  SELF      R5 = R3[K8('OnPurchaseFinished')] (self)
  0032  GETTABLE  R6 = R2[K9('groupId')]
  0033  GETTABLE  R7 = R2[K10('bundleId')]
  0034  CALL      R4 = call(R4, 0 args, 3 rets)
  0035  SELF      R5 = R0[K11('_ReleasePurchaseInfo')] (self)
  0036  MOVE      R6 = R0
  0037  CALL      R4 = call(R4, 0 args, 2 rets)
  0038  SELF      R5 = R0[K12('CheckNeedGiveGems')] (self)
  0039  GETTABLE  R6 = R2[K13('rewards')]
  0040  CALL      R4 = call(R4, 1 args, 2 rets)
  0041  TEST      if not R4 then   -> -131029
  0042  JMP       (jump)   -> 45
  0043  LOADBOOL  R4 = false
  0044  RETURN    return R4..R3
  0045  GETTABUP  R4 = _ENV[K14('RewardApi')]
  0046  GETTABLE  R4 = R4[K15('CryptRewards')]
  0047  GETTABLE  R5 = R2[K13('rewards')]
  0048  LOADBOOL  R6 = true
  0049  CALL      R4 = call(R4, 0 args, 2 rets)
  0050  SELF      R5 = R0[K16('_AcquireRewards')] (self)
  0051  GETTABLE  R6 = R2[K13('rewards')]
  0052  CALL      R4 = call(R4, 0 args, 2 rets)
  0053  LOADBOOL  R4 = true
  0054  RETURN    return R4..R3
  0055  SELF      R4 = R0[K17('GetBundleConfigData')] (self)
  0056  MOVE      R5 = R0
  0057  CALL      R3 = call(R3, 1 args, 2 rets)
  0058  EQ        if R1 eq K5(nil)   -> -129215
  0059  JMP       (jump)   -> 66
  0060  SELF      R5 = R0[K12('CheckNeedGiveGems')] (self)
  0061  SELF      R7 = R3[K18('GetGoods')] (self)
  0062  CALL      R6 = call(R6, -1 args, 1 rets)
  0063  CALL      R4 = call(R4, 1 args, -1 rets)
  0064  TEST      if not R4 then   -> -131006
  0065  JMP       (jump)   -> 68
  0066  LOADBOOL  R4 = false
  0067  RETURN    return R4..R3
  0068  SELF      R5 = R0[K16('_AcquireRewards')] (self)
  0069  SELF      R7 = R3[K18('GetGoods')] (self)
  0070  CALL      R6 = call(R6, -1 args, 1 rets)
  0071  CALL      R4 = call(R4, 0 args, -1 rets)
  0072  LOADBOOL  R4 = true
  0073  RETURN    return R4..R3
  0074  RETURN    return R0..R-1
; ---------- proto12 [CheckNeedGiveGems] ----------
  ; fn ?  line 253-260 np=2 va=0 ms=9 code=20 consts=4 upvals=1 protos=0
  ;   K[0]='ipairs'
  ;   K[1]='RewardApi'
  ;   K[2]='CheckRewardTypeValid'
  ;   K[3]='PROPERTY_TYPE'
  ;   upvals: _ENV
  ;   locals: self(0-20), rewards(0-20), (for generator)(5-17), (for state)(5-17), (for control)(5-17), _(6-15), v(6-15)
  0000  GETTABUP  R2 = _ENV[K0('ipairs')]
  0001  TESTSET   if R1 then R3   -> -130556
  0002  JMP       (jump)   -> 4
  0003  NEWTABLE  R3 = {} (0 items)
  0004  CALL      R2 = call(R2, 3 args, 1 rets)
  0005  JMP       (jump)   -> 15
  0006  GETTABUP  R7 = _ENV[K1('RewardApi')]
  0007  GETTABLE  R7 = R7[K2('CheckRewardTypeValid')]
  0008  GETTABUP  R8 = _ENV[K3('PROPERTY_TYPE')]
  0009  GETTABLE  R8 = R6[R8]
  0010  CALL      R7 = call(R7, 1 args, 1 rets)
  0011  TEST      if not R7 then   -> -131058
  0012  JMP       (jump)   -> 15
  0013  LOADBOOL  R7 = true
  0014  RETURN    return R7..R6
  0015  TFORCALL  tforcall R2
  0016  TFORLOOP  tforloop R4(sBx=-11)   -> 6
  0017  LOADBOOL  R2 = false
  0018  RETURN    return R2..R1
  0019  RETURN    return R0..R-1
; ---------- proto13 [_RecordPurchaseInfo] ----------
  ; fn ?  line 262-269 np=3 va=0 ms=12 code=24 consts=11 upvals=1 protos=0
  ;   K[0]='_GetPurchaseMetaKey'
  ;   K[1]=nil
  ;   K[2]='m_bundleMetaDataTable'
  ;   K[3]='Set'
  ;   K[4]='BundleColumnValue'
  ;   K[5]='StringUtil'
  ;   K[6]='Replace'
  ;   K[7]='json'
  ;   K[8]='encode'
  ;   K[9]=','
  ;   K[10]='@'
  ;   upvals: _ENV
  ;   locals: self(0-24), purchaseId(0-24), bundleInfo(0-24), k(3-24)
  0000  SELF      R4 = R0[K0('_GetPurchaseMetaKey')] (self)
  0001  MOVE      R5 = R0
  0002  CALL      R3 = call(R3, 1 args, 2 rets)
  0003  EQ        if R1 eq K1(nil)   -> -129274
  0004  JMP       (jump)   -> 21
  0005  GETTABLE  R4 = R0[K2('m_bundleMetaDataTable')]
  0006  SELF      R5 = R4[K3('Set')] (self)
  0007  MOVE      R6 = R0
  0008  GETTABUP  R7 = _ENV[K4('BundleColumnValue')]
  0009  GETTABUP  R8 = _ENV[K5('StringUtil')]
  0010  GETTABLE  R8 = R8[K6('Replace')]
  0011  GETTABUP  R9 = _ENV[K7('json')]
  0012  GETTABLE  R9 = R9[K8('encode')]
  0013  MOVE      R10 = R0
  0014  CALL      R9 = call(R9, 1 args, 1 rets)
  0015  LOADK     R10 = K9 ','
  0016  LOADK     R11 = K10 '@'
  0017  CALL      R8 = call(R8, -1 args, 3 rets)
  0018  CALL      R4 = call(R4, 0 args, -1 rets)
  0019  LOADBOOL  R4 = true
  0020  RETURN    return R4..R3
  0021  LOADBOOL  R4 = false
  0022  RETURN    return R4..R3
  0023  RETURN    return R0..R-1
; ---------- proto14 [_GetRecordPurchaseInfo] ----------
  ; fn ?  line 271-281 np=2 va=0 ms=8 code=31 consts=12 upvals=1 protos=0
  ;   K[0]='_GetPurchaseMetaKey'
  ;   K[1]=nil
  ;   K[2]='m_bundleMetaDataTable'
  ;   K[3]='GetValue'
  ;   K[4]='BundleColumnValue'
  ;   K[5]='StringUtil'
  ;   K[6]='IsNilOrEmpty'
  ;   K[7]='Replace'
  ;   K[8]='@'
  ;   K[9]=','
  ;   K[10]='json'
  ;   K[11]='decode'
  ;   upvals: _ENV
  ;   locals: self(0-31), purchaseId(0-31), k(3-31), v(10-28)
  0000  SELF      R3 = R0[K0('_GetPurchaseMetaKey')] (self)
  0001  MOVE      R4 = R0
  0002  CALL      R2 = call(R2, 1 args, 2 rets)
  0003  EQ        if R1 eq K1(nil)   -> -129786
  0004  JMP       (jump)   -> 28
  0005  GETTABLE  R3 = R0[K2('m_bundleMetaDataTable')]
  0006  SELF      R4 = R3[K3('GetValue')] (self)
  0007  MOVE      R5 = R0
  0008  GETTABUP  R6 = _ENV[K4('BundleColumnValue')]
  0009  CALL      R3 = call(R3, 1 args, 3 rets)
  0010  GETTABUP  R4 = _ENV[K5('StringUtil')]
  0011  GETTABLE  R4 = R4[K6('IsNilOrEmpty')]
  0012  MOVE      R5 = R0
  0013  CALL      R4 = call(R4, 1 args, 1 rets)
  0014  TEST      if not R4 then   -> -131055
  0015  JMP       (jump)   -> 28
  0016  GETTABUP  R4 = _ENV[K5('StringUtil')]
  0017  GETTABLE  R4 = R4[K7('Replace')]
  0018  MOVE      R5 = R0
  0019  LOADK     R6 = K8 '@'
  0020  LOADK     R7 = K9 ','
  0021  CALL      R4 = call(R4, 1 args, 3 rets)
  0022  MOVE      R3 = R0
  0023  GETTABUP  R4 = _ENV[K10('json')]
  0024  GETTABLE  R4 = R4[K11('decode')]
  0025  MOVE      R5 = R0
  0026  TAILCALL  tailcall(R4, 0)
  0027  RETURN    return R4..R3
  0028  LOADNIL   R3..R3 = nil
  0029  RETURN    return R3..R2
  0030  RETURN    return R0..R-1
; ---------- proto15 [_ReleasePurchaseInfo] ----------
  ; fn ?  line 283-288 np=2 va=0 ms=6 code=16 consts=5 upvals=0 protos=0
  ;   K[0]='_GetPurchaseMetaKey'
  ;   K[1]=nil
  ;   K[2]='m_bundleMetaDataTable'
  ;   K[3]='HasRow'
  ;   K[4]='Remove'
  ;   locals: self(0-16), purchaseId(0-16), k(3-16)
  0000  SELF      R3 = R0[K0('_GetPurchaseMetaKey')] (self)
  0001  MOVE      R4 = R0
  0002  CALL      R2 = call(R2, 1 args, 2 rets)
  0003  EQ        if R1 eq K1(nil)   -> -129786
  0004  JMP       (jump)   -> 15
  0005  GETTABLE  R3 = R0[K2('m_bundleMetaDataTable')]
  0006  SELF      R4 = R3[K3('HasRow')] (self)
  0007  MOVE      R5 = R0
  0008  CALL      R3 = call(R3, 1 args, 2 rets)
  0009  TEST      if not R3 then   -> -131061
  0010  JMP       (jump)   -> 15
  0011  GETTABLE  R3 = R0[K2('m_bundleMetaDataTable')]
  0012  SELF      R4 = R3[K4('Remove')] (self)
  0013  MOVE      R5 = R0
  0014  CALL      R3 = call(R3, 0 args, 2 rets)
  0015  RETURN    return R0..R-1
; ---------- proto16 [_GetPurchaseMetaKey] ----------
  ; fn ?  line 290-292 np=2 va=0 ms=4 code=10 consts=2 upvals=1 protos=0
  ;   K[0]=nil
  ;   K[1]='BundleMetaPurchaseInfoKeySuffix'
  ;   upvals: _ENV
  ;   locals: self(0-10), purchaseId(0-10)
  0000  EQ        if R1 eq K0(nil)   -> -130302
  0001  JMP       (jump)   -> 7
  0002  MOVE      R2 = R0
  0003  GETTABUP  R3 = _ENV[K1('BundleMetaPurchaseInfoKeySuffix')]
  0004  CONCAT    R2 = concat(R2..R2)
  0005  TEST      if not R2 then   -> -131064
  0006  JMP       (jump)   -> 8
  0007  LOADNIL   R2..R2 = nil
  0008  RETURN    return R2..R1
  0009  RETURN    return R0..R-1
; ---------- proto17 [GetBundleMetaDBTable] ----------
  ; fn ?  line 295-297 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_bundleMetaDataTable'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_bundleMetaDataTable')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto18 [_AcquireRewards] ----------
  ; fn ?  line 299-306 np=2 va=0 ms=9 code=29 consts=20 upvals=1 protos=0
  ;   K[0]='RewardApi'
  ;   K[1]='AcquireRewardsLogic'
  ;   K[2]='EPropertySource'
  ;   K[3]='Buy'
  ;   K[4]='EBIType'
  ;   K[5]='Restore'
  ;   K[6]='ERewardScene'
  ;   K[7]='Other'
  ;   K[8]='EGameMode'
  ;   K[9]='Board'
  ;   K[10]='CacheItemType'
  ;   K[11]='Stack'
  ;   K[12]=0
  ;   K[13]='GM'
  ;   K[14]='UIManager'
  ;   K[15]='OpenViewWhenIdle'
  ;   K[16]='UIPrefabConfigName'
  ;   K[17]='AnimatedRewardWindow'
  ;   K[18]='rewards_window_title_shop'
  ;   K[19]='Bundle'
  ;   upvals: _ENV
  ;   locals: self(0-29), rewards(0-29)
  0000  GETTABUP  R2 = _ENV[K0('RewardApi')]
  0001  GETTABLE  R2 = R2[K1('AcquireRewardsLogic')]
  0002  MOVE      R3 = R0
  0003  GETTABUP  R4 = _ENV[K2('EPropertySource')]
  0004  GETTABLE  R4 = R4[K3('Buy')]
  0005  GETTABUP  R5 = _ENV[K4('EBIType')]
  0006  GETTABLE  R5 = R5[K5('Restore')]
  0007  GETTABUP  R6 = _ENV[K6('ERewardScene')]
  0008  GETTABLE  R6 = R6[K7('Other')]
  0009  GETTABUP  R7 = _ENV[K8('EGameMode')]
  0010  GETTABLE  R7 = R7[K9('Board')]
  0011  GETTABUP  R8 = _ENV[K10('CacheItemType')]
  0012  GETTABLE  R8 = R8[K11('Stack')]
  0013  CALL      R2 = call(R2, 0 args, 6 rets)
  0014  LEN       R2 = len R0
  0015  LT        if R0 lt R2   -> 6163
  0016  JMP       (jump)   -> 28
  0017  GETTABUP  R2 = _ENV[K13('GM')]
  0018  GETTABLE  R2 = R2[K14('UIManager')]
  0019  SELF      R3 = R2[K15('OpenViewWhenIdle')] (self)
  0020  GETTABUP  R4 = _ENV[K16('UIPrefabConfigName')]
  0021  GETTABLE  R4 = R4[K17('AnimatedRewardWindow')]
  0022  MOVE      R5 = R0
  0023  LOADK     R6 = K18 'rewards_window_title_shop'
  0024  LOADBOOL  R7 = true
  0025  GETTABUP  R8 = _ENV[K6('ERewardScene')]
  0026  GETTABLE  R8 = R8[K19('Bundle')]
  0027  CALL      R2 = call(R2, 0 args, 6 rets)
  0028  RETURN    return R0..R-1
; ---------- proto19 [TryTriggerActivityBundle] ----------
  ; fn ?  line 310-329 np=6 va=0 ms=20 code=44 consts=5 upvals=1 protos=0
  ;   K[0]=nil
  ;   K[1]='GetBundleTriggerOrderList'
  ;   K[2]='ipairs'
  ;   K[3]='GetModel'
  ;   K[4]='TryTriggerBundle'
  ;   upvals: _ENV
  ;   locals: self(0-44), eTriggerType(0-44), triggerArg(0-44), lastBundleType(0-44), bOpenImmediately(0-44), delay(0-44), bStartCheck(4-44), arrOrderList(7-44), (for generator)(10-41), (for state)(10-41), (for control)(10-41), _(11-39), bundleType(11-39), bundleModel(16-35), bTriggerd(27-35), viewName(27-35)
  0000  EQ        if R1 eq K0(nil)   -> -129278
  0001  JMP       (jump)   -> 3
  0002  LOADBOOL  R6 = false
  0003  LOADBOOL  R6 = true
  0004  SELF      R8 = R0[K1('GetBundleTriggerOrderList')] (self)
  0005  MOVE      R9 = R0
  0006  CALL      R7 = call(R7, 1 args, 2 rets)
  0007  GETTABUP  R8 = _ENV[K2('ipairs')]
  0008  MOVE      R9 = R0
  0009  CALL      R8 = call(R8, 3 args, 1 rets)
  0010  JMP       (jump)   -> 39
  0011  TEST      if not R6 then   -> -131059
  0012  JMP       (jump)   -> 36
  0013  SELF      R14 = R0[K3('GetModel')] (self)
  0014  MOVE      R15 = R0
  0015  CALL      R13 = call(R13, 1 args, 2 rets)
  0016  TEST      if not R13 then   -> -131054
  0017  JMP       (jump)   -> 39
  0018  GETTABLE  R14 = R13[K4('TryTriggerBundle')]
  0019  TEST      if not R14 then   -> -131051
  0020  JMP       (jump)   -> 39
  0021  SELF      R15 = R13[K4('TryTriggerBundle')] (self)
  0022  MOVE      R16 = R0
  0023  MOVE      R17 = R0
  0024  MOVE      R18 = R0
  0025  MOVE      R19 = R0
  0026  CALL      R14 = call(R14, 2 args, 5 rets)
  0027  TEST      if not R14 then   -> -131043
  0028  JMP       (jump)   -> 39
  0029  TEST      if not R15 then   -> -131041
  0030  JMP       (jump)   -> 39
  0031  MOVE      R16 = R0
  0032  MOVE      R17 = R0
  0033  MOVE      R18 = R0
  0034  RETURN    return R16..R15
  0035  JMP       (jump)   -> 39
  0036  EQ        if R0 eq R3   -> -124887
  0037  JMP       (jump)   -> 39
  0038  LOADBOOL  R6 = true
  0039  TFORCALL  tforcall R8
  0040  TFORLOOP  tforloop R10(sBx=-30)   -> 11
  0041  LOADBOOL  R8 = false
  0042  RETURN    return R8..R7
  0043  RETURN    return R0..R-1
; ---------- proto20 [OnLackGem] ----------
  ; fn ?  line 331-349 np=3 va=0 ms=13 code=23 consts=8 upvals=1 protos=2
  ;   K[0]='GM'
  ;   K[1]='PropertyDataManager'
  ;   K[2]='GetPropertyNum'
  ;   K[3]='EPropertyType'
  ;   K[4]='Gem'
  ;   K[5]='TryStartBundlePopupChain'
  ;   K[6]='EBundleTriggerType'
  ;   K[7]='LackGem'
  ;   upvals: _ENV
  ;   locals: self(0-23), lackNum(0-23), endFunc(0-23), originGemNum(6-23), checkFunc(7-23), openShopWindowFunc(8-23)
  0000  GETTABUP  R3 = _ENV[K0('GM')]
  0001  GETTABLE  R3 = R3[K1('PropertyDataManager')]
  0002  SELF      R4 = R3[K2('GetPropertyNum')] (self)
  0003  GETTABUP  R5 = _ENV[K3('EPropertyType')]
  0004  GETTABLE  R5 = R5[K4('Gem')]
  0005  CALL      R3 = call(R3, 1 args, 2 rets)
  0006  CLOSURE   R4 = closure proto0
  0007  CLOSURE   R5 = closure proto1
  0008  SELF      R7 = R0[K5('TryStartBundlePopupChain')] (self)
  0009  GETTABUP  R8 = _ENV[K6('EBundleTriggerType')]
  0010  GETTABLE  R8 = R8[K7('LackGem')]
  0011  MOVE      R9 = R0
  0012  MOVE      R10 = R0
  0013  MOVE      R11 = R0
  0014  LOADBOOL  R12 = true
  0015  CALL      R6 = call(R6, 1 args, 6 rets)
  0016  TEST      if not R6 then   -> -131054
  0017  JMP       (jump)   -> 20
  0018  LOADBOOL  R6 = true
  0019  RETURN    return R6..R5
  0020  LOADBOOL  R6 = false
  0021  RETURN    return R6..R5
  0022  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 333-336 np=0 va=0 ms=3 code=15 consts=5 upvals=3 protos=0
    ;   K[0]='GM'
    ;   K[1]='PropertyDataManager'
    ;   K[2]='GetPropertyNum'
    ;   K[3]='EPropertyType'
    ;   K[4]='Gem'
    ;   upvals: _ENV, originGemNum, lackNum
    ;   locals: curGemNum(6-15)
    0000  GETTABUP  R0 = _ENV[K0('GM')]
    0001  GETTABLE  R0 = R0[K1('PropertyDataManager')]
    0002  SELF      R1 = R0[K2('GetPropertyNum')] (self)
    0003  GETTABUP  R2 = _ENV[K3('EPropertyType')]
    0004  GETTABLE  R2 = R2[K4('Gem')]
    0005  CALL      R0 = call(R0, 1 args, 2 rets)
    0006  GETUPVAL  R1 = _ENV
    0007  SUB       R1 = R1 sub R0
    0008  GETUPVAL  R2 = _ENV
    0009  LT        if R1 lt R2   -> -130547
    0010  JMP       (jump)   -> 12
    0011  LOADBOOL  R1 = false
    0012  LOADBOOL  R1 = true
    0013  RETURN    return R1..R0
    0014  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 338-342 np=0 va=0 ms=2 code=10 consts=1 upvals=2 protos=0
    ;   K[0]=nil
    ;   upvals: checkFunc, endFunc
    0000  GETUPVAL  R0 = checkFunc
    0001  CALL      R0 = call(R0, 1 args, 0 rets)
    0002  TEST      if not R0 then   -> -131068
    0003  JMP       (jump)   -> 9
    0004  GETUPVAL  R0 = checkFunc
    0005  EQ        if R1 eq K0(nil)   -> -130809
    0006  JMP       (jump)   -> 9
    0007  GETUPVAL  R0 = checkFunc
    0008  CALL      R0 = call(R0, 0 args, 0 rets)
    0009  RETURN    return R0..R-1
; ---------- proto21 [OnItemRecharge] ----------
  ; fn ?  line 351-387 np=2 va=0 ms=8 code=39 consts=13 upvals=1 protos=2
  ;   K[0]='GM'
  ;   K[1]='ItemDataModel'
  ;   K[2]='MainBoardModel'
  ;   K[3]='FilterItems'
  ;   K[4]='BundleManager'
  ;   K[5]='TryStartBundlePopupChain'
  ;   K[6]='EBundleTriggerType'
  ;   K[7]='PdCDNumber'
  ;   K[8]='GetChainId'
  ;   K[9]='GetType'
  ;   K[10]='Table'
  ;   K[11]='IsEmpty'
  ;   K[12]='ClickCDGenerator'
  ;   upvals: _ENV
  ;   locals: self(0-39), itemModel(0-39), itemDataModel(2-39), arrItem(7-39), targetChainId(20-39)
  0000  GETTABUP  R2 = _ENV[K0('GM')]
  0001  GETTABLE  R2 = R2[K1('ItemDataModel')]
  0002  GETTABUP  R3 = _ENV[K0('GM')]
  0003  GETTABLE  R3 = R3[K2('MainBoardModel')]
  0004  SELF      R4 = R3[K3('FilterItems')] (self)
  0005  CLOSURE   R5 = closure proto0
  0006  CALL      R3 = call(R3, 1 args, 2 rets)
  0007  GETTABUP  R4 = _ENV[K0('GM')]
  0008  GETTABLE  R4 = R4[K4('BundleManager')]
  0009  SELF      R5 = R4[K5('TryStartBundlePopupChain')] (self)
  0010  GETTABUP  R6 = _ENV[K6('EBundleTriggerType')]
  0011  GETTABLE  R6 = R6[K7('PdCDNumber')]
  0012  LEN       R7 = len R0
  0013  CALL      R4 = call(R4, 0 args, 3 rets)
  0014  GETTABUP  R4 = _ENV[K0('GM')]
  0015  GETTABLE  R4 = R4[K1('ItemDataModel')]
  0016  SELF      R5 = R4[K8('GetChainId')] (self)
  0017  SELF      R7 = R1[K9('GetType')] (self)
  0018  CALL      R6 = call(R6, -1 args, 1 rets)
  0019  CALL      R4 = call(R4, 1 args, -1 rets)
  0020  GETTABUP  R5 = _ENV[K0('GM')]
  0021  GETTABLE  R5 = R5[K2('MainBoardModel')]
  0022  SELF      R6 = R5[K3('FilterItems')] (self)
  0023  CLOSURE   R7 = closure proto1
  0024  CALL      R5 = call(R5, 1 args, 2 rets)
  0025  MOVE      R3 = R0
  0026  GETTABUP  R5 = _ENV[K10('Table')]
  0027  GETTABLE  R5 = R5[K11('IsEmpty')]
  0028  MOVE      R6 = R0
  0029  CALL      R5 = call(R5, 1 args, 1 rets)
  0030  TEST      if not R5 then   -> -131040
  0031  JMP       (jump)   -> 38
  0032  GETTABUP  R5 = _ENV[K0('GM')]
  0033  GETTABLE  R5 = R5[K4('BundleManager')]
  0034  SELF      R6 = R5[K5('TryStartBundlePopupChain')] (self)
  0035  GETTABUP  R7 = _ENV[K6('EBundleTriggerType')]
  0036  GETTABLE  R7 = R7[K12('ClickCDGenerator')]
  0037  CALL      R5 = call(R5, 0 args, 2 rets)
  0038  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 355-365 np=1 va=0 ms=5 code=23 consts=6 upvals=2 protos=0
    ;   K[0]='IsPd'
    ;   K[1]='GetType'
    ;   K[2]='GetComponent'
    ;   K[3]='ItemSpread'
    ;   K[4]=nil
    ;   K[5]='ShowCountDown'
    ;   upvals: itemDataModel, _ENV
    ;   locals: itemModel(0-23), itemSpread(12-23)
    0000  GETUPVAL  R1 = itemDataModel
    0001  SELF      R2 = R1[K0('IsPd')] (self)
    0002  SELF      R4 = R0[K1('GetType')] (self)
    0003  CALL      R3 = call(R3, -1 args, 1 rets)
    0004  CALL      R1 = call(R1, 1 args, -1 rets)
    0005  TEST      if not R1 then   -> -131064
    0006  JMP       (jump)   -> 9
    0007  LOADBOOL  R1 = false
    0008  RETURN    return R1..R0
    0009  SELF      R2 = R0[K2('GetComponent')] (self)
    0010  GETTABUP  R3 = _ENV[K3('ItemSpread')]
    0011  CALL      R1 = call(R1, 1 args, 2 rets)
    0012  EQ        if R1 eq K4(nil)   -> -130286
    0013  JMP       (jump)   -> 20
    0014  SELF      R3 = R1[K5('ShowCountDown')] (self)
    0015  CALL      R2 = call(R2, 1 args, 1 rets)
    0016  TEST      if not R2 then   -> -131054
    0017  JMP       (jump)   -> 20
    0018  LOADBOOL  R2 = true
    0019  RETURN    return R2..R1
    0020  LOADBOOL  R2 = false
    0021  RETURN    return R2..R1
    0022  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 372-382 np=1 va=0 ms=5 code=22 consts=6 upvals=3 protos=0
    ;   K[0]='GetChainId'
    ;   K[1]='GetType'
    ;   K[2]='GetComponent'
    ;   K[3]='ItemSpread'
    ;   K[4]=nil
    ;   K[5]='ShowCountDown'
    ;   upvals: itemDataModel, targetChainId, _ENV
    ;   locals: itemModel(0-22), chainId(5-22), itemSpread(13-22)
    0000  GETUPVAL  R1 = itemDataModel
    0001  SELF      R2 = R1[K0('GetChainId')] (self)
    0002  SELF      R4 = R0[K1('GetType')] (self)
    0003  CALL      R3 = call(R3, -1 args, 1 rets)
    0004  CALL      R1 = call(R1, 1 args, -1 rets)
    0005  GETUPVAL  R2 = itemDataModel
    0006  EQ        if R1 eq R1   -> -130039
    0007  JMP       (jump)   -> 10
    0008  LOADBOOL  R2 = false
    0009  RETURN    return R2..R1
    0010  SELF      R3 = R0[K2('GetComponent')] (self)
    0011  GETTABUP  R4 = _ENV[K3('ItemSpread')]
    0012  CALL      R2 = call(R2, 1 args, 2 rets)
    0013  EQ        if R1 eq K4(nil)   -> -129773
    0014  JMP       (jump)   -> 21
    0015  SELF      R4 = R2[K5('ShowCountDown')] (self)
    0016  CALL      R3 = call(R3, 1 args, 1 rets)
    0017  TEST      if not R3 then   -> -131052
    0018  JMP       (jump)   -> 21
    0019  LOADBOOL  R3 = true
    0020  RETURN    return R3..R2
    0021  RETURN    return R0..R-1
; ---------- proto22 [GetBundleTriggerConfig] ----------
  ; fn ?  line 389-398 np=2 va=0 ms=11 code=15 consts=4 upvals=1 protos=0
  ;   K[0]='pairs'
  ;   K[1]='m_models'
  ;   K[2]='GetTargetPopOrderConfig'
  ;   K[3]=nil
  ;   upvals: _ENV
  ;   locals: self(0-15), eTriggerType(0-15), popOrderConfig(1-15), (for generator)(4-14), (for state)(4-14), (for control)(4-14), _(5-12), model(5-12)
  0000  LOADNIL   R2..R2 = nil
  0001  GETTABUP  R3 = _ENV[K0('pairs')]
  0002  GETTABLE  R4 = R0[K1('m_models')]
  0003  CALL      R3 = call(R3, 3 args, 1 rets)
  0004  JMP       (jump)   -> 12
  0005  SELF      R9 = R7[K2('GetTargetPopOrderConfig')] (self)
  0006  MOVE      R10 = R0
  0007  CALL      R8 = call(R8, 1 args, 2 rets)
  0008  MOVE      R2 = R0
  0009  EQ        if R1 eq K3(nil)   -> -129778
  0010  JMP       (jump)   -> 12
  0011  RETURN    return R2..R1
  0012  TFORCALL  tforcall R3
  0013  TFORLOOP  tforloop R5(sBx=-9)   -> 5
  0014  RETURN    return R0..R-1
; ---------- proto23 [GetBundleTriggerMaxNum] ----------
  ; fn ?  line 400-405 np=2 va=0 ms=5 code=20 consts=7 upvals=1 protos=0
  ;   K[0]='GetBundleTriggerConfig'
  ;   K[1]='EBundleTriggerType'
  ;   K[2]='Login'
  ;   K[3]=1
  ;   K[4]='math'
  ;   K[5]='maxinteger'
  ;   K[6]='popNum'
  ;   upvals: _ENV
  ;   locals: self(0-20), eTriggerType(0-20), config(3-20), defaultNum(12-20)
  0000  SELF      R3 = R0[K0('GetBundleTriggerConfig')] (self)
  0001  MOVE      R4 = R0
  0002  CALL      R2 = call(R2, 1 args, 2 rets)
  0003  GETTABUP  R3 = _ENV[K1('EBundleTriggerType')]
  0004  GETTABLE  R3 = R3[K2('Login')]
  0005  EQ        if R1 eq R3   -> -130550
  0006  JMP       (jump)   -> 10
  0007  LOADK     R3 = K3 1
  0008  TEST      if not R3 then   -> -131061
  0009  JMP       (jump)   -> 12
  0010  GETTABUP  R3 = _ENV[K4('math')]
  0011  GETTABLE  R3 = R3[K5('maxinteger')]
  0012  TEST      if not R2 then   -> -131058
  0013  JMP       (jump)   -> 17
  0014  GETTABLE  R4 = R2[K6('popNum')]
  0015  TEST      if not R4 then   -> -131054
  0016  JMP       (jump)   -> 18
  0017  MOVE      R4 = R0
  0018  RETURN    return R4..R3
  0019  RETURN    return R0..R-1
; ---------- proto24 [GetBundleTriggerOrderList] ----------
  ; fn ?  line 407-417 np=2 va=0 ms=12 code=30 consts=8 upvals=1 protos=0
  ;   K[0]='GetBundleTriggerConfig'
  ;   K[1]='popOrder'
  ;   K[2]='ipairs'
  ;   K[3]='BundleTypeOrderList'
  ;   K[4]='Table'
  ;   K[5]='ListContain'
  ;   K[6]='table'
  ;   K[7]='insert'
  ;   upvals: _ENV
  ;   locals: self(0-30), eTriggerType(0-30), config(6-30), arrBundleType(10-30), (for generator)(13-28), (for state)(13-28), (for control)(13-28), _(14-26), bundleType(14-26)
  0000  SELF      R3 = R0[K0('GetBundleTriggerConfig')] (self)
  0001  MOVE      R4 = R0
  0002  CALL      R2 = call(R2, 1 args, 2 rets)
  0003  TEST      if not R2 then   -> -131066
  0004  JMP       (jump)   -> 6
  0005  NEWTABLE  R2 = {} (0 items)
  0006  GETTABLE  R3 = R2[K1('popOrder')]
  0007  TEST      if not R3 then   -> -131062
  0008  JMP       (jump)   -> 10
  0009  NEWTABLE  R3 = {} (0 items)
  0010  GETTABUP  R4 = _ENV[K2('ipairs')]
  0011  GETTABUP  R5 = _ENV[K3('BundleTypeOrderList')]
  0012  CALL      R4 = call(R4, 3 args, 1 rets)
  0013  JMP       (jump)   -> 26
  0014  GETTABUP  R9 = _ENV[K4('Table')]
  0015  GETTABLE  R9 = R9[K5('ListContain')]
  0016  MOVE      R10 = R0
  0017  MOVE      R11 = R0
  0018  CALL      R9 = call(R9, 1 args, 2 rets)
  0019  TEST      if not R9 then   -> -131050
  0020  JMP       (jump)   -> 26
  0021  GETTABUP  R9 = _ENV[K6('table')]
  0022  GETTABLE  R9 = R9[K7('insert')]
  0023  MOVE      R10 = R0
  0024  MOVE      R11 = R0
  0025  CALL      R9 = call(R9, 0 args, 2 rets)
  0026  TFORCALL  tforcall R4
  0027  TFORLOOP  tforloop R6(sBx=-14)   -> 14
  0028  RETURN    return R3..R2
  0029  RETURN    return R0..R-1
; ---------- proto25 [CheckTriggerConfigValid] ----------
  ; fn ?  line 420-455 np=1 va=0 ms=22 code=47 consts=9 upvals=1 protos=1
  ;   K[0]='pairs'
  ;   K[1]='EBundleTriggerType'
  ;   K[2]='GetBundleTriggerConfig'
  ;   K[3]=nil
  ;   K[4]='m_models'
  ;   K[5]='GetAllPopOrderConfig'
  ;   K[6]='Table'
  ;   K[7]='IsEmpty'
  ;   K[8]='ipairs'
  ;   upvals: _ENV
  ;   locals: self(0-47), checkFunc(1-47), arrOrderConfig(2-47), firstConfig(2-47), (for generator)(5-44), (for state)(5-44), (for control)(5-44), _(6-42), triggerType(6-42), (for generator)(15-42), (for state)(15-42), (for control)(15-42), _(16-40), model(16-40), (for generator)(29-40), (for state)(29-40), (for control)(29-40), _(30-38), config(30-38)
  0000  CLOSURE   R1 = closure proto0
  0001  LOADNIL   R2..R2 = nil
  0002  GETTABUP  R4 = _ENV[K0('pairs')]
  0003  GETTABUP  R5 = _ENV[K1('EBundleTriggerType')]
  0004  CALL      R4 = call(R4, 3 args, 1 rets)
  0005  JMP       (jump)   -> 42
  0006  SELF      R10 = R0[K2('GetBundleTriggerConfig')] (self)
  0007  MOVE      R11 = R0
  0008  CALL      R9 = call(R9, 1 args, 2 rets)
  0009  MOVE      R3 = R0
  0010  EQ        if R1 eq K3(nil)   -> -129265
  0011  JMP       (jump)   -> 42
  0012  GETTABUP  R9 = _ENV[K0('pairs')]
  0013  GETTABLE  R10 = R0[K4('m_models')]
  0014  CALL      R9 = call(R9, 3 args, 1 rets)
  0015  JMP       (jump)   -> 40
  0016  SELF      R15 = R13[K5('GetAllPopOrderConfig')] (self)
  0017  MOVE      R16 = R0
  0018  CALL      R14 = call(R14, 1 args, 2 rets)
  0019  MOVE      R2 = R0
  0020  GETTABUP  R14 = _ENV[K6('Table')]
  0021  GETTABLE  R14 = R14[K7('IsEmpty')]
  0022  MOVE      R15 = R0
  0023  CALL      R14 = call(R14, 1 args, 1 rets)
  0024  TEST      if not R14 then   -> -131045
  0025  JMP       (jump)   -> 40
  0026  GETTABUP  R14 = _ENV[K8('ipairs')]
  0027  MOVE      R15 = R0
  0028  CALL      R14 = call(R14, 3 args, 1 rets)
  0029  JMP       (jump)   -> 38
  0030  MOVE      R19 = R0
  0031  MOVE      R20 = R0
  0032  MOVE      R21 = R0
  0033  CALL      R19 = call(R19, 1 args, 2 rets)
  0034  TEST      if not R19 then   -> -131035
  0035  JMP       (jump)   -> 38
  0036  LOADBOOL  R19 = false
  0037  RETURN    return R19..R18
  0038  TFORCALL  tforcall R14
  0039  TFORLOOP  tforloop R16(sBx=-10)   -> 30
  0040  TFORCALL  tforcall R9
  0041  TFORLOOP  tforloop R11(sBx=-26)   -> 16
  0042  TFORCALL  tforcall R4
  0043  TFORLOOP  tforloop R6(sBx=-38)   -> 6
  0044  LOADBOOL  R4 = true
  0045  RETURN    return R4..R3
  0046  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 421-433 np=2 va=0 ms=10 code=28 consts=3 upvals=0 protos=0
    ;   K[0]='popNum'
    ;   K[1]='popOrder'
    ;   K[2]=1
    ;   locals: a(0-28), b(0-28), orderListA(10-28), orderListB(14-28), (for index)(17-25), (for limit)(17-25), (for step)(17-25), i(18-24)
    0000  GETTABLE  R2 = R0[K0('popNum')]
    0001  GETTABLE  R3 = R1[K0('popNum')]
    0002  EQ        if R1 eq R3   -> -130041
    0003  JMP       (jump)   -> 6
    0004  LOADBOOL  R2 = false
    0005  RETURN    return R2..R1
    0006  GETTABLE  R2 = R0[K1('popOrder')]
    0007  TEST      if not R2 then   -> -131062
    0008  JMP       (jump)   -> 10
    0009  NEWTABLE  R2 = {} (0 items)
    0010  GETTABLE  R3 = R1[K1('popOrder')]
    0011  TEST      if not R3 then   -> -131058
    0012  JMP       (jump)   -> 14
    0013  NEWTABLE  R3 = {} (0 items)
    0014  LOADK     R4 = K2 1
    0015  LEN       R5 = len R0
    0016  LOADK     R6 = K2 1
    0017  FORPREP   forprep R4(sBx=6)   -> 24
    0018  GETTABLE  R8 = R2[R7]
    0019  GETTABLE  R9 = R3[R7]
    0020  EQ        if R1 eq R9   -> -126945
    0021  JMP       (jump)   -> 24
    0022  LOADBOOL  R8 = false
    0023  RETURN    return R8..R7
    0024  FORLOOP   forloop R4(sBx=-7)   -> 18
    0025  LOADBOOL  R4 = true
    0026  RETURN    return R4..R3
    0027  RETURN    return R0..R-1
; ---------- proto26 [OnLoginFinished] ----------
  ; fn ?  line 457-463 np=2 va=0 ms=5 code=19 consts=10 upvals=1 protos=0
  ;   K[0]='bSuccess'
  ;   K[1]='m_bSceneViewLoaded'
  ;   K[2]='GM'
  ;   K[3]='SceneManager'
  ;   K[4]='GetGameMode'
  ;   K[5]='EGameMode'
  ;   K[6]='Main'
  ;   K[7]='TryStartBundlePopupChain'
  ;   K[8]='EBundleTriggerType'
  ;   K[9]='Login'
  ;   upvals: _ENV
  ;   locals: self(0-19), msg(0-19)
  0000  GETTABLE  R2 = R1[K0('bSuccess')]
  0001  TEST      if not R2 then   -> -131069
  0002  JMP       (jump)   -> 18
  0003  GETTABLE  R2 = R0[K1('m_bSceneViewLoaded')]
  0004  TEST      if not R2 then   -> -131066
  0005  JMP       (jump)   -> 18
  0006  GETTABUP  R2 = _ENV[K2('GM')]
  0007  GETTABLE  R2 = R2[K3('SceneManager')]
  0008  SELF      R3 = R2[K4('GetGameMode')] (self)
  0009  CALL      R2 = call(R2, 1 args, 1 rets)
  0010  GETTABUP  R3 = _ENV[K5('EGameMode')]
  0011  GETTABLE  R3 = R3[K6('Main')]
  0012  EQ        if R0 eq R3   -> -130031
  0013  JMP       (jump)   -> 18
  0014  SELF      R3 = R0[K7('TryStartBundlePopupChain')] (self)
  0015  GETTABUP  R4 = _ENV[K8('EBundleTriggerType')]
  0016  GETTABLE  R4 = R4[K9('Login')]
  0017  CALL      R2 = call(R2, 0 args, 2 rets)
  0018  RETURN    return R0..R-1
; ---------- proto27 [_OnOrderFinished] ----------
  ; fn ?  line 465-471 np=2 va=0 ms=6 code=13 consts=7 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='MainBoardModel'
  ;   K[2]='GetOrderModel'
  ;   K[3]='CanClaimGroupReward'
  ;   K[4]='TryStartBundlePopupChain'
  ;   K[5]='EBundleTriggerType'
  ;   K[6]='FinishOrderGroup'
  ;   upvals: _ENV
  ;   locals: self(0-13), msg(0-13), orderModel(4-13)
  0000  GETTABUP  R2 = _ENV[K0('GM')]
  0001  GETTABLE  R2 = R2[K1('MainBoardModel')]
  0002  SELF      R3 = R2[K2('GetOrderModel')] (self)
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  SELF      R4 = R2[K3('CanClaimGroupReward')] (self)
  0005  CALL      R3 = call(R3, 1 args, 1 rets)
  0006  TEST      if not R3 then   -> -131064
  0007  JMP       (jump)   -> 12
  0008  SELF      R4 = R0[K4('TryStartBundlePopupChain')] (self)
  0009  GETTABUP  R5 = _ENV[K5('EBundleTriggerType')]
  0010  GETTABLE  R5 = R5[K6('FinishOrderGroup')]
  0011  CALL      R3 = call(R3, 0 args, 2 rets)
  0012  RETURN    return R0..R-1
; ---------- proto28 [_OnMainTaskFinished] ----------
  ; fn ?  line 473-475 np=2 va=0 ms=5 code=5 consts=3 upvals=1 protos=0
  ;   K[0]='TryStartBundlePopupChain'
  ;   K[1]='EBundleTriggerType'
  ;   K[2]='TaskFinished'
  ;   upvals: _ENV
  ;   locals: self(0-5), msg(0-5)
  0000  SELF      R3 = R0[K0('TryStartBundlePopupChain')] (self)
  0001  GETTABUP  R4 = _ENV[K1('EBundleTriggerType')]
  0002  GETTABLE  R4 = R4[K2('TaskFinished')]
  0003  CALL      R2 = call(R2, 0 args, 2 rets)
  0004  RETURN    return R0..R-1
; ---------- proto29 [OnCloseView] ----------
  ; fn ?  line 477-482 np=2 va=0 ms=6 code=17 consts=6 upvals=1 protos=0
  ;   K[0]='m_mapView2MonitorFunc'
  ;   K[1]='name'
  ;   K[2]='Table'
  ;   K[3]='IsEmpty'
  ;   K[4]='func'
  ;   K[5]='bundleType'
  ;   upvals: _ENV
  ;   locals: self(0-17), msg(0-17), info(6-17)
  0000  GETTABLE  R2 = R0[K0('m_mapView2MonitorFunc')]
  0001  TEST      if not R2 then   -> -131069
  0002  JMP       (jump)   -> 6
  0003  GETTABLE  R2 = R0[K0('m_mapView2MonitorFunc')]
  0004  GETTABLE  R3 = R1[K1('name')]
  0005  GETTABLE  R2 = R2[R3]
  0006  GETTABUP  R3 = _ENV[K2('Table')]
  0007  GETTABLE  R3 = R3[K3('IsEmpty')]
  0008  MOVE      R4 = R0
  0009  CALL      R3 = call(R3, 1 args, 1 rets)
  0010  TEST      if not R3 then   -> -131059
  0011  JMP       (jump)   -> 16
  0012  GETTABLE  R3 = R2[K4('func')]
  0013  GETTABLE  R4 = R1[K1('name')]
  0014  GETTABLE  R5 = R2[K5('bundleType')]
  0015  CALL      R3 = call(R3, 0 args, 2 rets)
  0016  RETURN    return R0..R-1
; ---------- proto30 [TryStartBundlePopupChain] ----------
  ; fn ?  line 488-537 np=7 va=0 ms=16 code=56 consts=22 upvals=1 protos=1
  ;   K[0]='m_bSceneViewLoaded'
  ;   K[1]='Log'
  ;   K[2]='Error'
  ;   K[3]='SceneViewLoaded 之前不应调用触发礼包！'
  ;   K[4]='PlayerPrefs'
  ;   K[5]='GetInt'
  ;   K[6]='EPlayerPrefKey'
  ;   K[7]='TestBundleTrigger'
  ;   K[8]=0
  ;   K[9]=1
  ;   K[10]='GM'
  ;   K[11]='UIManager'
  ;   K[12]='ShowTestPrompt'
  ;   K[13]='礼包 Trigger:'
  ;   K[14]='tostring'
  ;   K[15]='m_mapView2MonitorFunc'
  ;   K[16]='GetBundleTriggerMaxNum'
  ;   K[17]='TryTriggerActivityBundle'
  ;   K[18]='m_mapView2MonitorFunc'
  ;   K[19]='func'
  ;   K[20]='bundleType'
  ;   K[21]=1
  ;   upvals: _ENV
  ;   locals: self(0-56), eTriggerType(0-56), triggerArg(0-56), checkFunc(0-56), endFunc(0-56), bOpenImmediately(0-56), delay(0-56), maxNum(33-56), closeViewFunc(34-56), bTriggerd(41-56), viewName(41-56), bundleType(41-56)
  0000  GETTABLE  R7 = R0[K0('m_bSceneViewLoaded')]
  0001  TEST      if not R7 then   -> -131068
  0002  JMP       (jump)   -> 8
  0003  GETTABUP  R7 = _ENV[K1('Log')]
  0004  GETTABLE  R7 = R7[K2('Error')]
  0005  LOADK     R8 = K3 'SceneViewLoaded 之前不应调用触发礼包！'
  0006  CALL      R7 = call(R7, 0 args, 1 rets)
  0007  RETURN    return R0..R-1
  0008  GETTABUP  R7 = _ENV[K4('PlayerPrefs')]
  0009  GETTABLE  R7 = R7[K5('GetInt')]
  0010  GETTABUP  R8 = _ENV[K6('EPlayerPrefKey')]
  0011  GETTABLE  R8 = R8[K7('TestBundleTrigger')]
  0012  LOADK     R9 = K8 0
  0013  CALL      R7 = call(R7, 1 args, 2 rets)
  0014  EQ        if R0 eq K9(1)   -> -127207
  0015  JMP       (jump)   -> 25
  0016  GETTABUP  R7 = _ENV[K10('GM')]
  0017  GETTABLE  R7 = R7[K11('UIManager')]
  0018  SELF      R8 = R7[K12('ShowTestPrompt')] (self)
  0019  LOADK     R9 = K13 '礼包 Trigger:'
  0020  GETTABUP  R10 = _ENV[K14('tostring')]
  0021  MOVE      R11 = R0
  0022  CALL      R10 = call(R10, 1 args, 1 rets)
  0023  CONCAT    R9 = concat(R9..R9)
  0024  CALL      R7 = call(R7, 0 args, 2 rets)
  0025  TEST      if not R5 then   -> -131044
  0026  JMP       (jump)   -> 28
  0027  LOADBOOL  R5 = false
  0028  NEWTABLE  R7 = {} (0 items)
  0029  SETTABLE  R0[K15('m_mapView2MonitorFunc')] = R7
  0030  SELF      R8 = R0[K16('GetBundleTriggerMaxNum')] (self)
  0031  MOVE      R9 = R0
  0032  CALL      R7 = call(R7, 1 args, 2 rets)
  0033  CLOSURE   R8 = closure proto0
  0034  SELF      R10 = R0[K17('TryTriggerActivityBundle')] (self)
  0035  MOVE      R11 = R0
  0036  MOVE      R12 = R0
  0037  LOADNIL   R13..R13 = nil
  0038  MOVE      R14 = R0
  0039  MOVE      R15 = R0
  0040  CALL      R9 = call(R9, 3 args, 6 rets)
  0041  TEST      if not R9 then   -> -131029
  0042  JMP       (jump)   -> 53
  0043  TEST      if not R10 then   -> -131027
  0044  JMP       (jump)   -> 53
  0045  GETTABLE  R12 = R0[K18('m_mapView2MonitorFunc')]
  0046  NEWTABLE  R13 = {} (0 items)
  0047  SETTABLE  R13[K19('func')] = R8
  0048  SETTABLE  R13[K20('bundleType')] = R11
  0049  SETTABLE  R12[R10] = R13
  0050  SUB       R7 = K21(1) sub R7
  0051  LOADBOOL  R12 = true
  0052  RETURN    return R12..R11
  0053  LOADBOOL  R12 = false
  0054  RETURN    return R12..R11
  0055  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 505-529 np=2 va=0 ms=9 code=52 consts=7 upvals=7 protos=0
    ;   K[0]=nil
    ;   K[1]=0
    ;   K[2]='TryTriggerActivityBundle'
    ;   K[3]='m_mapView2MonitorFunc'
    ;   K[4]='func'
    ;   K[5]='bundleType'
    ;   K[6]=1
    ;   upvals: checkFunc, maxNum, endFunc, self, eTriggerType, triggerArg, bOpenImmediately
    ;   locals: closeViewName(0-52), closeBundleType(0-52), originNum(17-51), bTriggerd(24-51), viewName(24-51), bundleType(24-51)
    0000  GETUPVAL  R2 = checkFunc
    0001  EQ        if R1 eq K0(nil)   -> -129789
    0002  JMP       (jump)   -> 7
    0003  GETUPVAL  R2 = checkFunc
    0004  CALL      R2 = call(R2, 1 args, 0 rets)
    0005  TEST      if not R2 then   -> -131065
    0006  JMP       (jump)   -> 51
    0007  GETUPVAL  R2 = checkFunc
    0008  EQ        if R0 eq K1(0)   -> -129781
    0009  JMP       (jump)   -> 16
    0010  GETUPVAL  R2 = checkFunc
    0011  EQ        if R1 eq K0(nil)   -> -129779
    0012  JMP       (jump)   -> 15
    0013  GETUPVAL  R2 = checkFunc
    0014  CALL      R2 = call(R2, 0 args, 0 rets)
    0015  RETURN    return R0..R-1
    0016  GETUPVAL  R2 = checkFunc
    0017  GETUPVAL  R3 = checkFunc
    0018  SELF      R4 = R3[K2('TryTriggerActivityBundle')] (self)
    0019  GETUPVAL  R5 = checkFunc
    0020  GETUPVAL  R6 = checkFunc
    0021  MOVE      R7 = R0
    0022  GETUPVAL  R8 = checkFunc
    0023  CALL      R3 = call(R3, 3 args, 5 rets)
    0024  TEST      if not R3 then   -> -131046
    0025  JMP       (jump)   -> 39
    0026  TEST      if not R4 then   -> -131044
    0027  JMP       (jump)   -> 39
    0028  GETTABUP  R6 = self[K3('m_mapView2MonitorFunc')]
    0029  NEWTABLE  R7 = {} (0 items)
    0030  GETTABUP  R8 = self[K3('m_mapView2MonitorFunc')]
    0031  GETTABLE  R8 = R8[R0]
    0032  GETTABLE  R8 = R8[K4('func')]
    0033  SETTABLE  R7[K4('func')] = R8
    0034  SETTABLE  R7[K5('bundleType')] = R5
    0035  SETTABLE  R6[R4] = R7
    0036  GETUPVAL  R6 = checkFunc
    0037  SUB       R6 = K6(1) sub R6
    0038  SETUPVAL  bOpenImmediately = R0
    0039  EQ        if R1 eq R0   -> -128983
    0040  JMP       (jump)   -> 43
    0041  GETTABUP  R6 = self[K3('m_mapView2MonitorFunc')]
    0042  SETTABLE  R6[R0] = K0(nil)
    0043  GETUPVAL  R6 = checkFunc
    0044  EQ        if R0 eq R6   -> -129996
    0045  JMP       (jump)   -> 51
    0046  GETUPVAL  R6 = checkFunc
    0047  EQ        if R1 eq K0(nil)   -> -127695
    0048  JMP       (jump)   -> 51
    0049  GETUPVAL  R6 = checkFunc
    0050  CALL      R6 = call(R6, 0 args, 0 rets)
    0051  RETURN    return R0..R-1
; ---------- proto31 [] ----------
  ; fn ?  line 540-542 np=2 va=0 ms=4 code=5 consts=0 upvals=0 protos=0
  ;   locals: bundleType(0-5), groupId(0-5)
  0000  MOVE      R2 = R0
  0001  MOVE      R3 = R0
  0002  CONCAT    R2 = concat(R2..R2)
  0003  RETURN    return R2..R1
  0004  RETURN    return R0..R-1
