# Model_Activity_VirtualDBTable_156.luac
; fn @VirtualDBTable.lua  line 0-0 np=0 va=1 ms=3 code=41 consts=15 upvals=1 protos=11
;   K[0]='VIRTUAL_DEFINE_SYNC_DATA'
;   K[1]='VirtualDBTable'
;   K[2]='setmetatable'
;   K[3]='BaseDBTable'
;   K[4]='__index'
;   K[5]='Create'
;   K[6]='Init'
;   K[7]='IsEmpty'
;   K[8]='GetValue'
;   K[9]='GetInNumber'
;   K[10]='GetValues'
;   K[11]='Set'
;   K[12]='BatchSet'
;   K[13]='Remove'
;   K[14]='Drop'
;   upvals: _ENV
0000  CLOSURE   R0 = closure proto0
0001  SETTABUP  _ENV[K0('VIRTUAL_DEFINE_SYNC_DATA')] = R0
0002  GETTABUP  R0 = _ENV[K2('setmetatable')]
0003  NEWTABLE  R1 = {} (0 items)
0004  GETTABUP  R2 = _ENV[K3('BaseDBTable')]
0005  CALL      R0 = call(R0, 1 args, 2 rets)
0006  SETTABUP  _ENV[K1('VirtualDBTable')] = R0
0007  GETTABUP  R0 = _ENV[K1('VirtualDBTable')]
0008  GETTABUP  R1 = _ENV[K1('VirtualDBTable')]
0009  SETTABLE  R0[K4('__index')] = R1
0010  GETTABUP  R0 = _ENV[K1('VirtualDBTable')]
0011  CLOSURE   R1 = closure proto1
0012  SETTABLE  R0[K5('Create')] = R1
0013  GETTABUP  R0 = _ENV[K1('VirtualDBTable')]
0014  CLOSURE   R1 = closure proto2
0015  SETTABLE  R0[K6('Init')] = R1
0016  GETTABUP  R0 = _ENV[K1('VirtualDBTable')]
0017  CLOSURE   R1 = closure proto3
0018  SETTABLE  R0[K7('IsEmpty')] = R1
0019  GETTABUP  R0 = _ENV[K1('VirtualDBTable')]
0020  CLOSURE   R1 = closure proto4
0021  SETTABLE  R0[K8('GetValue')] = R1
0022  GETTABUP  R0 = _ENV[K1('VirtualDBTable')]
0023  CLOSURE   R1 = closure proto5
0024  SETTABLE  R0[K9('GetInNumber')] = R1
0025  GETTABUP  R0 = _ENV[K1('VirtualDBTable')]
0026  CLOSURE   R1 = closure proto6
0027  SETTABLE  R0[K10('GetValues')] = R1
0028  GETTABUP  R0 = _ENV[K1('VirtualDBTable')]
0029  CLOSURE   R1 = closure proto7
0030  SETTABLE  R0[K11('Set')] = R1
0031  GETTABUP  R0 = _ENV[K1('VirtualDBTable')]
0032  CLOSURE   R1 = closure proto8
0033  SETTABLE  R0[K12('BatchSet')] = R1
0034  GETTABUP  R0 = _ENV[K1('VirtualDBTable')]
0035  CLOSURE   R1 = closure proto9
0036  SETTABLE  R0[K13('Remove')] = R1
0037  GETTABUP  R0 = _ENV[K1('VirtualDBTable')]
0038  CLOSURE   R1 = closure proto10
0039  SETTABLE  R0[K14('Drop')] = R1
0040  RETURN    return R0..R-1
; ---------- proto0 [] ----------
  ; fn ?  line 2-19 np=3 va=0 ms=9 code=28 consts=8 upvals=1 protos=2
  ;   K[0]='m_'
  ;   K[1]='string'
  ;   K[2]='lower'
  ;   K[3]='sub'
  ;   K[4]=1
  ;   K[5]=2
  ;   K[6]='Get'
  ;   K[7]='Sync'
  ;   upvals: _ENV
  ;   locals: model(0-28), name(0-28), value(0-28), variableName(16-28)
  0000  LOADK     R3 = K0 'm_'
  0001  GETTABUP  R4 = _ENV[K1('string')]
  0002  GETTABLE  R4 = R4[K2('lower')]
  0003  GETTABUP  R5 = _ENV[K1('string')]
  0004  GETTABLE  R5 = R5[K3('sub')]
  0005  MOVE      R6 = R0
  0006  LOADK     R7 = K4 1
  0007  LOADK     R8 = K4 1
  0008  CALL      R5 = call(R5, -1 args, 3 rets)
  0009  CALL      R4 = call(R4, 1 args, -1 rets)
  0010  GETTABUP  R5 = _ENV[K1('string')]
  0011  GETTABLE  R5 = R5[K3('sub')]
  0012  MOVE      R6 = R0
  0013  LOADK     R7 = K5 2
  0014  CALL      R5 = call(R5, 1 args, 2 rets)
  0015  CONCAT    R3 = concat(R3..R3)
  0016  SETTABLE  R0[R3] = R2
  0017  LOADK     R4 = K6 'Get'
  0018  MOVE      R5 = R0
  0019  CONCAT    R4 = concat(R4..R4)
  0020  CLOSURE   R5 = closure proto0
  0021  SETTABLE  R0[R4] = R5
  0022  LOADK     R4 = K7 'Sync'
  0023  MOVE      R5 = R0
  0024  CONCAT    R4 = concat(R4..R4)
  0025  CLOSURE   R5 = closure proto1
  0026  SETTABLE  R0[R4] = R5
  0027  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 5-5 np=1 va=0 ms=2 code=4 consts=0 upvals=1 protos=0
    ;   upvals: variableName
    ;   locals: model(0-4)
    0000  GETUPVAL  R1 = variableName
    0001  GETTABLE  R1 = R0[R1]
    0002  RETURN    return R1..R0
    0003  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 6-18 np=2 va=0 ms=13 code=34 consts=9 upvals=2 protos=0
    ;   K[0]='Clear'
    ;   K[1]='ipairs'
    ;   K[2]='string'
    ;   K[3]='find'
    ;   K[4]=','
    ;   K[5]='sub'
    ;   K[6]=1
    ;   K[7]='data'
    ;   K[8]='BatchSet'
    ;   upvals: value, _ENV
    ;   locals: model(0-34), dataArray(0-34), contents(4-34), (for generator)(7-29), (for state)(7-29), (for control)(7-29), _(8-27), data(8-27), index(13-27), name(19-27), data(24-27)
    0000  GETUPVAL  R2 = value
    0001  SELF      R3 = R2[K0('Clear')] (self)
    0002  CALL      R2 = call(R2, 0 args, 1 rets)
    0003  NEWTABLE  R2 = {} (0 items)
    0004  GETTABUP  R3 = _ENV[K1('ipairs')]
    0005  MOVE      R4 = R0
    0006  CALL      R3 = call(R3, 3 args, 1 rets)
    0007  JMP       (jump)   -> 27
    0008  GETTABUP  R8 = _ENV[K2('string')]
    0009  GETTABLE  R8 = R8[K3('find')]
    0010  MOVE      R9 = R0
    0011  LOADK     R10 = K4 ','
    0012  CALL      R8 = call(R8, 1 args, 2 rets)
    0013  GETTABUP  R9 = _ENV[K2('string')]
    0014  GETTABLE  R9 = R9[K5('sub')]
    0015  MOVE      R10 = R0
    0016  LOADK     R11 = K6 1
    0017  SUB       R12 = K6(1) sub R8
    0018  CALL      R9 = call(R9, 1 args, 3 rets)
    0019  GETTABUP  R10 = _ENV[K2('string')]
    0020  GETTABLE  R10 = R10[K5('sub')]
    0021  MOVE      R11 = R0
    0022  ADD       R12 = K6(1) add R8
    0023  CALL      R10 = call(R10, 1 args, 2 rets)
    0024  NEWTABLE  R11 = {} (0 items)
    0025  SETTABLE  R11[K7('data')] = R10
    0026  SETTABLE  R2[R9] = R11
    0027  TFORCALL  tforcall R3
    0028  TFORLOOP  tforloop R5(sBx=-21)   -> 8
    0029  GETUPVAL  R3 = value
    0030  SELF      R4 = R3[K8('BatchSet')] (self)
    0031  MOVE      R5 = R0
    0032  CALL      R3 = call(R3, 0 args, 2 rets)
    0033  RETURN    return R0..R-1
; ---------- proto1 [Create] ----------
  ; fn ?  line 30-34 np=2 va=0 ms=7 code=10 consts=3 upvals=1 protos=0
  ;   K[0]='setmetatable'
  ;   K[1]='VirtualDBTable'
  ;   K[2]='Init'
  ;   upvals: _ENV
  ;   locals: dbTable(0-10), name(0-10), kvTable(4-10)
  0000  GETTABUP  R2 = _ENV[K0('setmetatable')]
  0001  NEWTABLE  R3 = {} (0 items)
  0002  GETTABUP  R4 = _ENV[K1('VirtualDBTable')]
  0003  CALL      R2 = call(R2, 1 args, 2 rets)
  0004  SELF      R4 = R2[K2('Init')] (self)
  0005  MOVE      R5 = R0
  0006  MOVE      R6 = R0
  0007  CALL      R3 = call(R3, 0 args, 3 rets)
  0008  RETURN    return R2..R1
  0009  RETURN    return R0..R-1
; ---------- proto2 [Init] ----------
  ; fn ?  line 36-46 np=3 va=0 ms=6 code=16 consts=10 upvals=1 protos=0
  ;   K[0]='m_dbTable'
  ;   K[1]='m_bIgnoreValueCommaCheck'
  ;   K[2]=true
  ;   K[3]='m_name'
  ;   K[4]='GetValues'
  ;   K[5]=nil
  ;   K[6]='m_data'
  ;   K[7]='json'
  ;   K[8]='decode'
  ;   K[9]='data'
  ;   upvals: _ENV
  ;   locals: self(0-16), dbTable(0-16), name(0-16), data(8-16)
  0000  SETTABLE  R0[K0('m_dbTable')] = R1
  0001  GETTABLE  R3 = R0[K0('m_dbTable')]
  0002  SETTABLE  R3[K1('m_bIgnoreValueCommaCheck')] = K2(true)
  0003  SETTABLE  R0[K3('m_name')] = R2
  0004  GETTABLE  R3 = R0[K0('m_dbTable')]
  0005  SELF      R4 = R3[K4('GetValues')] (self)
  0006  CALL      R3 = call(R3, 1 args, 1 rets)
  0007  GETTABLE  R3 = R3[R2]
  0008  EQ        if R1 eq K5(nil)   -> -129265
  0009  JMP       (jump)   -> 15
  0010  GETTABUP  R4 = _ENV[K7('json')]
  0011  GETTABLE  R4 = R4[K8('decode')]
  0012  GETTABLE  R5 = R3[K9('data')]
  0013  CALL      R4 = call(R4, 1 args, 1 rets)
  0014  SETTABLE  R0[K6('m_data')] = R4
  0015  RETURN    return R0..R-1
; ---------- proto3 [IsEmpty] ----------
  ; fn ?  line 48-50 np=1 va=0 ms=3 code=12 consts=3 upvals=1 protos=0
  ;   K[0]='m_data'
  ;   K[1]=nil
  ;   K[2]='next'
  ;   upvals: _ENV
  ;   locals: self(0-12)
  0000  GETTABLE  R1 = R0[K0('m_data')]
  0001  EQ        if R1 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 9
  0003  GETTABUP  R1 = _ENV[K2('next')]
  0004  GETTABLE  R2 = R0[K0('m_data')]
  0005  CALL      R1 = call(R1, 1 args, 1 rets)
  0006  EQ        if R1 eq K1(nil)   -> -130295
  0007  JMP       (jump)   -> 9
  0008  LOADBOOL  R1 = false
  0009  LOADBOOL  R1 = true
  0010  RETURN    return R1..R0
  0011  RETURN    return R0..R-1
; ---------- proto4 [GetValue] ----------
  ; fn ?  line 52-63 np=3 va=0 ms=5 code=14 consts=2 upvals=0 protos=0
  ;   K[0]='m_data'
  ;   K[1]=nil
  ;   locals: self(0-14), primaryValue(0-14), column(0-14), row(7-14)
  0000  GETTABLE  R3 = R0[K0('m_data')]
  0001  EQ        if R0 eq K1(nil)   -> -129276
  0002  JMP       (jump)   -> 5
  0003  LOADNIL   R3..R3 = nil
  0004  RETURN    return R3..R2
  0005  GETTABLE  R3 = R0[K0('m_data')]
  0006  GETTABLE  R3 = R3[R1]
  0007  EQ        if R0 eq K1(nil)   -> -129270
  0008  JMP       (jump)   -> 11
  0009  LOADNIL   R4..R4 = nil
  0010  RETURN    return R4..R3
  0011  GETTABLE  R4 = R3[R2]
  0012  RETURN    return R4..R3
  0013  RETURN    return R0..R-1
; ---------- proto5 [GetInNumber] ----------
  ; fn ?  line 66-68 np=1 va=1 ms=5 code=7 consts=2 upvals=1 protos=0
  ;   K[0]='tonumber'
  ;   K[1]='GetValue'
  ;   upvals: _ENV
  ;   locals: self(0-7)
  0000  GETTABUP  R1 = _ENV[K0('tonumber')]
  0001  SELF      R3 = R0[K1('GetValue')] (self)
  0002  VARARG    R4 = vararg(0)
  0003  CALL      R2 = call(R2, -1 args, -1 rets)
  0004  TAILCALL  tailcall(R1, 0)
  0005  RETURN    return R1..R0
  0006  RETURN    return R0..R-1
; ---------- proto6 [GetValues] ----------
  ; fn ?  line 70-76 np=1 va=0 ms=3 code=11 consts=4 upvals=1 protos=0
  ;   K[0]='m_data'
  ;   K[1]=nil
  ;   K[2]='Table'
  ;   K[3]='DeepCopy'
  ;   upvals: _ENV
  ;   locals: self(0-11)
  0000  GETTABLE  R1 = R0[K0('m_data')]
  0001  EQ        if R0 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 5
  0003  NEWTABLE  R1 = {} (0 items)
  0004  RETURN    return R1..R0
  0005  GETTABUP  R1 = _ENV[K2('Table')]
  0006  GETTABLE  R1 = R1[K3('DeepCopy')]
  0007  GETTABLE  R2 = R0[K0('m_data')]
  0008  TAILCALL  tailcall(R1, 0)
  0009  RETURN    return R1..R0
  0010  RETURN    return R0..R-1
; ---------- proto7 [Set] ----------
  ; fn ?  line 78-89 np=4 va=0 ms=10 code=25 consts=8 upvals=1 protos=0
  ;   K[0]='m_data'
  ;   K[1]=nil
  ;   K[2]='m_dbTable'
  ;   K[3]='Set'
  ;   K[4]='m_name'
  ;   K[5]='data'
  ;   K[6]='json'
  ;   K[7]='encode'
  ;   upvals: _ENV
  ;   locals: self(0-25), primaryValue(0-25), column(0-25), columnValue(0-25)
  0000  GETTABLE  R4 = R0[K0('m_data')]
  0001  EQ        if R0 eq K1(nil)   -> -128764
  0002  JMP       (jump)   -> 5
  0003  NEWTABLE  R4 = {} (0 items)
  0004  SETTABLE  R0[K0('m_data')] = R4
  0005  GETTABLE  R4 = R0[K0('m_data')]
  0006  GETTABLE  R4 = R4[R1]
  0007  EQ        if R0 eq K1(nil)   -> -128758
  0008  JMP       (jump)   -> 12
  0009  GETTABLE  R4 = R0[K0('m_data')]
  0010  NEWTABLE  R5 = {} (0 items)
  0011  SETTABLE  R4[R1] = R5
  0012  GETTABLE  R4 = R0[K0('m_data')]
  0013  GETTABLE  R4 = R4[R1]
  0014  SETTABLE  R4[R2] = R3
  0015  GETTABLE  R4 = R0[K2('m_dbTable')]
  0016  SELF      R5 = R4[K3('Set')] (self)
  0017  GETTABLE  R6 = R0[K4('m_name')]
  0018  LOADK     R7 = K5 'data'
  0019  GETTABUP  R8 = _ENV[K6('json')]
  0020  GETTABLE  R8 = R8[K7('encode')]
  0021  GETTABLE  R9 = R0[K0('m_data')]
  0022  CALL      R8 = call(R8, -1 args, 1 rets)
  0023  CALL      R4 = call(R4, 0 args, -1 rets)
  0024  RETURN    return R0..R-1
; ---------- proto8 [BatchSet] ----------
  ; fn ?  line 91-107 np=2 va=0 ms=13 code=37 consts=9 upvals=1 protos=0
  ;   K[0]='m_data'
  ;   K[1]=nil
  ;   K[2]='pairs'
  ;   K[3]='m_dbTable'
  ;   K[4]='Set'
  ;   K[5]='m_name'
  ;   K[6]='data'
  ;   K[7]='json'
  ;   K[8]='encode'
  ;   upvals: _ENV
  ;   locals: self(0-37), primaryColumnsMap(0-37), (for generator)(8-27), (for state)(8-27), (for control)(8-27), primaryValue(9-25), columns(9-25), (for generator)(19-25), (for state)(19-25), (for control)(19-25), column(20-23), value(20-23)
  0000  GETTABLE  R2 = R0[K0('m_data')]
  0001  EQ        if R0 eq K1(nil)   -> -129788
  0002  JMP       (jump)   -> 5
  0003  NEWTABLE  R2 = {} (0 items)
  0004  SETTABLE  R0[K0('m_data')] = R2
  0005  GETTABUP  R2 = _ENV[K2('pairs')]
  0006  MOVE      R3 = R0
  0007  CALL      R2 = call(R2, 3 args, 1 rets)
  0008  JMP       (jump)   -> 25
  0009  GETTABLE  R7 = R0[K0('m_data')]
  0010  GETTABLE  R7 = R7[R5]
  0011  EQ        if R0 eq K1(nil)   -> -127218
  0012  JMP       (jump)   -> 16
  0013  GETTABLE  R7 = R0[K0('m_data')]
  0014  NEWTABLE  R8 = {} (0 items)
  0015  SETTABLE  R7[R5] = R8
  0016  GETTABUP  R7 = _ENV[K2('pairs')]
  0017  MOVE      R8 = R0
  0018  CALL      R7 = call(R7, 3 args, 1 rets)
  0019  JMP       (jump)   -> 23
  0020  GETTABLE  R12 = R0[K0('m_data')]
  0021  GETTABLE  R12 = R12[R5]
  0022  SETTABLE  R12[R10] = R11
  0023  TFORCALL  tforcall R7
  0024  TFORLOOP  tforloop R9(sBx=-5)   -> 20
  0025  TFORCALL  tforcall R2
  0026  TFORLOOP  tforloop R4(sBx=-18)   -> 9
  0027  GETTABLE  R2 = R0[K3('m_dbTable')]
  0028  SELF      R3 = R2[K4('Set')] (self)
  0029  GETTABLE  R4 = R0[K5('m_name')]
  0030  LOADK     R5 = K6 'data'
  0031  GETTABUP  R6 = _ENV[K7('json')]
  0032  GETTABLE  R6 = R6[K8('encode')]
  0033  GETTABLE  R7 = R0[K0('m_data')]
  0034  CALL      R6 = call(R6, -1 args, 1 rets)
  0035  CALL      R2 = call(R2, 0 args, -1 rets)
  0036  RETURN    return R0..R-1
; ---------- proto9 [Remove] ----------
  ; fn ?  line 109-121 np=3 va=0 ms=9 code=26 consts=8 upvals=1 protos=0
  ;   K[0]='m_data'
  ;   K[1]=nil
  ;   K[2]='m_dbTable'
  ;   K[3]='Set'
  ;   K[4]='m_name'
  ;   K[5]='data'
  ;   K[6]='json'
  ;   K[7]='encode'
  ;   upvals: _ENV
  ;   locals: self(0-26), primaryValue(0-26), column(0-26)
  0000  GETTABLE  R3 = R0[K0('m_data')]
  0001  EQ        if R1 eq K1(nil)   -> -129276
  0002  JMP       (jump)   -> 7
  0003  GETTABLE  R3 = R0[K0('m_data')]
  0004  GETTABLE  R3 = R3[R1]
  0005  EQ        if R0 eq K1(nil)   -> -129272
  0006  JMP       (jump)   -> 8
  0007  RETURN    return R0..R-1
  0008  EQ        if R0 eq K1(nil)   -> -129781
  0009  JMP       (jump)   -> 13
  0010  GETTABLE  R3 = R0[K0('m_data')]
  0011  SETTABLE  R3[R1] = K1(nil)
  0012  JMP       (jump)   -> 16
  0013  GETTABLE  R3 = R0[K0('m_data')]
  0014  GETTABLE  R3 = R3[R1]
  0015  SETTABLE  R3[R2] = K1(nil)
  0016  GETTABLE  R3 = R0[K2('m_dbTable')]
  0017  SELF      R4 = R3[K3('Set')] (self)
  0018  GETTABLE  R5 = R0[K4('m_name')]
  0019  LOADK     R6 = K5 'data'
  0020  GETTABUP  R7 = _ENV[K6('json')]
  0021  GETTABLE  R7 = R7[K7('encode')]
  0022  GETTABLE  R8 = R0[K0('m_data')]
  0023  CALL      R7 = call(R7, -1 args, 1 rets)
  0024  CALL      R3 = call(R3, 0 args, -1 rets)
  0025  RETURN    return R0..R-1
; ---------- proto10 [Drop] ----------
  ; fn ?  line 123-126 np=1 va=0 ms=4 code=6 consts=5 upvals=0 protos=0
  ;   K[0]='m_data'
  ;   K[1]=nil
  ;   K[2]='m_dbTable'
  ;   K[3]='Remove'
  ;   K[4]='m_name'
  ;   locals: self(0-6)
  0000  SETTABLE  R0[K0('m_data')] = K1(nil)
  0001  GETTABLE  R1 = R0[K2('m_dbTable')]
  0002  SELF      R2 = R1[K3('Remove')] (self)
  0003  GETTABLE  R3 = R0[K4('m_name')]
  0004  CALL      R1 = call(R1, 0 args, 2 rets)
  0005  RETURN    return R0..R-1
