mongofire 6.5.5 → 6.5.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +288 -334
- package/bin/mongofire.cjs +1237 -0
- package/dist/bin/mongofire.cjs +1 -1
- package/dist/src/changetrack.js +1 -1
- package/dist/src/compactor.js +1 -1
- package/dist/src/connection.js +1 -1
- package/dist/src/device.js +1 -1
- package/dist/src/diff.js +1 -1
- package/dist/src/field-merge.js +1 -1
- package/dist/src/index.cjs +1 -1
- package/dist/src/local-manager.js +1 -0
- package/dist/src/plugin.js +1 -1
- package/dist/src/rate-limiter.js +1 -1
- package/dist/src/reconcile.js +1 -1
- package/dist/src/schema-manager.js +1 -1
- package/dist/src/state.js +1 -1
- package/dist/src/sync.js +1 -1
- package/dist/src/utils.js +1 -1
- package/dist/types/index.d.ts +140 -1
- package/index.cjs +17 -1
- package/index.mjs +7 -1
- package/package.json +11 -10
- package/types/index.d.ts +317 -0
package/dist/src/sync.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(_0x592b78,_0x58f9d2){const _0xfcefed={_0x231f7e:0x18b,_0x3313bb:0x115,_0x1864d8:0xdb,_0x998a30:0x181,_0x262684:0x10c,_0x4b70e8:0x16e,_0x773ca:0x161,_0x3a6bd7:0x145,_0x40c1df:0x110},_0x3575c4={_0x314559:0xe7},_0x5abc7a=_0x592b78();function _0x28a467(_0x10853e,_0x158178){return _0x360b(_0x10853e- -_0x3575c4._0x314559,_0x158178);}while(!![]){try{const _0x3e895d=-parseInt(_0x28a467(_0xfcefed._0x231f7e,0x187))/0x1*(parseInt(_0x28a467(_0xfcefed._0x3313bb,_0xfcefed._0x1864d8))/0x2)+-parseInt(_0x28a467(_0xfcefed._0x998a30,0x1a5))/0x3+parseInt(_0x28a467(_0xfcefed._0x262684,0xd6))/0x4+-parseInt(_0x28a467(0x1ae,0x1ec))/0x5+-parseInt(_0x28a467(0x128,_0xfcefed._0x4b70e8))/0x6+parseInt(_0x28a467(0x13e,_0xfcefed._0x773ca))/0x7+parseInt(_0x28a467(_0xfcefed._0x3a6bd7,_0xfcefed._0x40c1df))/0x8;if(_0x3e895d===_0x58f9d2)break;else _0x5abc7a['push'](_0x5abc7a['shift']());}catch(_0x266523){_0x5abc7a['push'](_0x5abc7a['shift']());}}}(_0x1be7,0x99d8f));function _0x1be7(){const _0x195e8a=['ihjLDhjPzwq6','CMvWBgfJzq','BwvZC2fNzq','zMLSDgvY','BgvNywn5lq','y29UBMvJDgLVBG','w01VBMDVrMLYzv0Gq29UzMXPy3qGB24G','yxrSyxm','ChjVAMvJDa','BMv0D29YAW','BgfZDfDYAxrLCKrLDMLJzuLK','B3bSB2C','w01VBMDVrMLYzv0Gx2rPC21PC3ntDgfSzunYzwf0zu9WCYbLCNjVCIaOBM9UlwzHDgfSktO','jhn5BMnLza','C2v0','Bwf4qxr0zw1WDhm','igLUDgvYBwvKAwf0zsb1CgrHDgvZigzVCIa','BwfQB3jPDhK','jhr5Cgu','ks4Gtg9JywWGreiGD2fZihjLC2v0ig9YigfWCcbYzs1JCMvHDgvKigeGChjLDMLVDxnSEs1ZEw5JzwqGzg9JDw1LBNqGB24GC3rHCNr1Cc4GuNvUigbTB25NB2zPCMuGCMvZzxqTBg9JywXGigjLzM9YzsbJCMvHDgLUzYbKB2nZig5LEhqGDgLTzsbMB3iGysbJBgvHBIbYzxnLDc4','C3rHCNrtzxnZAw9U','qxrSyxmGy29UBMvJDgLVBIbPCYbUB3qGyxzHAwXHyMXL','jgrVy0LK','zxHWB3j0CW','yMfZzurLBgf5txm','B25SAw5L','lI9JB25Uzwn0Aw9U','twLZC2LUzYbWyxLSB2fKigzVCIa','yM9VDhn0CMfWx3jLC3vTzq','CMvKDwnL','w01VBMDVrMLYzv0Gu3LUyYbZDgfYDgLUzYaODhLWztOG','igzHAwXLzdO','y291BNreB2n1BwvUDhm','x21Mx29Wswq','y3jLyxrLzef0','vhjHBNnPzw50vhjHBNnHy3rPB25fCNjVCG','DgLTzxn0yw1W','mJq1mdm0m0v1EKPjCq','Dg9mB3DLCKnHC2u','AgfZ','y3jLyxrL','ywnRzwq','ywXS','zgv2AwnLswq','zxHWzwn0zwq','zMLUze9Uzq','w01VBMDVrMLYzv0GqM9VDhn0CMfWici','mLPlAg1eDa','BgfZDe9Wswq','yMfZzvzLCNnPB24','w01VBMDVrMLYzv0GqxbWBhKGCMvTB3rLig9WigzHAwXLzcbMB3iG','DxbKyxrL','icHVzMzSAw5LignYzwf0zsTKzwXLDguP','lI4U','y29UzMXPy3reyxrH','w01VBMDVrMLYzv0GvxbSB2fKihn5BMmGzxjYB3i6','iIdIGjqGzg9JswqGAxmGBwLZC2LUzY4GvgHPCYbYzwnVCMqGBwf5igjLig1HBgzVCM1LzcbVCIbMCM9TigeGzMfPBgvKig1Pz3jHDgLVBI4','x21Mx2rVy21LDge','zMfPBgvK','ks4UlG','ywDNCMvNyxrL','zNvSzMLSBgvK','D2fYBG','Cgf5Bg9HzenOzwnRC3vT','zg9Jswq','zNvUy3rPB24','Bg9JywXLq29TCgfYzq','ihnRAxa6','y3vYCMvUDa','rgvSzxrLig9Uia','C2vYDMvYvMvYC2LVBG','x21Mx3zLCNnPB24','C2TPChbLza','BwfW','y2f0y2G','yxbWBgLLza','B3bZ','zwnVBM5YzxnLDa','Dg9tDhjPBMC','y29UzMXPy3rZ','w01VBMDVrMLYzv0GvxbSB2fKihnHzMv0EsbSAw1PDcbHChbYB2fJAgLUzYbMB3iGiG','iIaO','mtG1nda2nuX6wgD6DG','C3rHDhvZ','ChvZAa','iIbMCM9Tif9Pzca','w01VBMDVrMLYzv0GvxbSB2fKici','Bw9Uz29KyG','igrVy3m','ywXSu2v0DgXLza','DxbSB2fKzwq','C2vYDMvYq2HLy2TZDw0','tu9or09gsvjfx0npteXfq1rjt05Fq09oq1vsuKvoq1K','lI9KzxzPy2u','iJOGChjLlwrPC21PC3nLzca','C3vWzxjZzwrLza','ywnRu3rHDgu','zMLUza','ig9Wia','CMfUzg9Tvvvjra','lI9ZDgf0zq','zgLZBwLZC2vK','Bg9N','x21Mx2XHC3rxCML0zxjezxzPy2vjza','D2L0AfrYyw5Zywn0Aw9U','z2v0vgLTzq','vw5RBM93BLrYyw5Zywn0Aw9Uq29TBwL0uMvZDwX0','DMvYC2LVBG','icHSB2nHBcbIyxnLvMvYC2LVBJ0WlcbbDgXHCYb2','B3DUzxjlzxK','y2HLy2TZDw0','yMf0y2HtAxPL','w01VBMDVrMLYzv0GuMv0CNKGB3aG','mJaZmJyWoeDtvMzcCW','yNvSA1DYAxrL','zgvSzxrLt25L','y29TChjLC3nLza','BxmP','CMv0CMLLza','x21Mx2XHC3rpCeLK','BwLU','AgfZq3jLyxrL','nJaXmtu0Auj3wLb3','lI9JAgfUz2v0CMfJAW','igv4y2vLzhmGBwf4ig9MidmYiokaLcbJyxbWzwqGDg8GChjLDMvUDcbWB29Sigv4Agf1C3rPB24U','ksdIGjqGB3bjzdOG','CgvUzgLUzW','CMvXDwLYzwq','zg9J','CMvWBgfJzw1LBNq','zgvSzxrL','z2XVyMfS','CMvTB3rLqwnRqxq','C3LUy2vKqxq','rg93BMXVywqGy29SBgvJDgLVBG','w01VBMDVrMLYzv0Gt3aGy29TChjLC3nPB24GzMfPBgvKicHJB250Aw51Aw5NktO','Dw5RBM93BIb1CgXVywqGC3rHDgu','Cgf5Bg9Hza','B25szxrYEq','iIbKB25LiokaLca','BgvUz3rO','ndm4nZKWohfRy3jyBq','w01VBMDVrMLYzv0Grg9UzsdIGjqG4OAt','lI91DgLSCW','ignVBMzSAwn0CZO','ChjPBwfYEq','Bwf4','y29SBgvJDgLVBG','BNvTyMvY','w01VBMDVrMLYzv0GvxbSB2fKigzHAwXLzcbMB3iG','w01VBMDVrMLYzv0GuMvZDw1PBMCGyM9VDhn0CMfWici','w01VBMDVrMLYzv0G','w01VBMDVrMLYzv0Gu3rHBguTB3aGChjLlwrPC21PC3nHBcbMywLSzwqGkgnVBNrPBNvPBMCPoG','w01VBMDVrMLYzv0Gq29TChjLC3nLzca','icHHDhrLBxb0ia','Dg9bCNjHEq','ywXYzwfKEv9HChbSAwvK','x2LK','AgfZrxjYB3jmywjLBa','BM90ihbYAw1HCNK','lZeWmdaWkq','w01VBMDVrMLYzv0Gu3vWzxjZzwrLzca','yxrSyxndBgLLBNq','nJiYmtm1nwjiuhviza','DxbKyxrLzef0','zg93BMXVywrLza','w01VBMDVrMLYzv0Grg93BMXVywqGzMfPBgvKigzVCIaI','DxbKyxrLzej5t3bjza','zxjYB3i','igDOB3n0ignYzwf0zsbVCcHZksaOBg9JywWGreiGD2fZihjLC2v0iokaLcbbDgXHCYbHBhjLywr5ig93BNmGDgHLC2uGzg9JDw1LBNrZks4','mtqWmJy0nJrQs2vcsvq','iIbPBIbJB2XSzwn0Aw9Uici','iJOGC2TPChbLzca','Aw5JBhvKzxm','vxbSB2fKignVBgXLy3rPB24','Bg9JywW','ihn0ywXLihbLBMrPBMCGy3jLyxrLig9WkhmPiokaLcbSB2nHBcbeqIb3yxmGCMvZzxqGD2L0Ag91DcbJBgvHCMLUzYbFBwzFy2HHBMDLDhjHy2SUifrOzxnLig9WCYb3zxjLigfSCMvHzhKGChjLC2vUDcbVBIbbDgXHCYbHBMqGAgf2zsbIzwvUigf1Dg8TCMvZB2X2zwqU','BgfZDfr5Cgu','BwLZC2LUzYbKB2njzcdIGjqGBwfSzM9YBwvKignOyw5NzxrYywnRihjLy29Yza','w01VBMDVrMLYzv0Gtu9or09gsvjfx0npteXfq1rjt05Fq09oq1vsuKvoq1K9','DhLWzq','x21Mx2nOyw5NzxrYywnR','y2HHBMDLzef0','zw52','DxbKyxrLt25L','y29UzMXPy3q','DMfSDwu','z2v0','CMvWBgfJzu9Uzq','zgvSzxrLza','B3bjza','C2XPy2u','jg9W'];_0x1be7=function(){return _0x195e8a;};return _0x1be7();}const crypto=require('crypto'),{ObjectId:ObjectId}=require(_0x33b438(-0x9e,-0xe5)),defaultConn=require(_0x33b438(-0xd2,-0x122)),{getPending:getPending,markSynced:markSynced,markFailed:markFailed}=require(_0x33b438(-0x196,-0x182)),{getDeviceId:getDeviceId}=require(_0x33b438(-0x126,-0xdf)),{getCursor:getCursor,setCursor:setCursor,deleteCursor:deleteCursor}=require(_0x33b438(-0xb7,-0xd8)),{asDate:asDate,asInt:asInt,metaId:metaId,toObjectId:toObjectId,safeDoc:safeDoc,payloadChecksum:payloadChecksum,resolveOwnerKey:resolveOwnerKey,resolveOpType:resolveOpType,buildDocPayload:buildDocPayload,buildPendingSets:buildPendingSets}=require(_0x33b438(-0x1b4,-0x16e));let _conn=defaultConn;const VERIFY_REMOTE_STATE='1'===process[_0x33b438(-0x190,-0x146)]['MONGOFIRE_VERIFY_REMOTE'],_RAW_CONCURRENCY=asInt(process['env'][_0x33b438(-0x123,-0xe0)],0x4),COLLECTION_CONCURRENCY=Math['max'](0x1,Math[_0x33b438(-0x14c,-0x185)](_RAW_CONCURRENCY,0x20));_RAW_CONCURRENCY>0x20&&console['warn'](_0x33b438(-0x198,-0x14a)+_RAW_CONCURRENCY+_0x33b438(-0x15d,-0x181));const SYNC_BATCH_SIZE=0x32,OPS_WINDOW=0x64,BULK_SIZE=0x1f4,TXN_OPTIONS={'readPreference':_0x33b438(-0x196,-0x16c),'readConcern':{'level':'snapshot'},'writeConcern':{'w':_0x33b438(-0x185,-0x12b)},'maxTimeMS':0x3a98};class ConflictError extends Error{constructor(_0x58dc0d,_0x219a98={}){super(_0x58dc0d),this['conflictData']=_0x219a98;}}async function _runParallel(_0x5ce81f,_0x41602a,_0x5313f4=COLLECTION_CONCURRENCY,_0x5497a4=_0x33b438(-0x168,-0x16a)){const _0x39ca0a={_0x4d4042:0x16,_0xf2ec27:0x6e,_0x2adccc:0x153,_0x1481d2:0xfc,_0x3526cc:0xf0,_0x4e74d1:0xec,_0x102c29:0x71,_0xb87cd9:0x76,_0x1bcd1a:0x11d,_0x309fdb:0xdd,_0x30c061:0x82},_0x4b8921={_0x33d3e1:0x1df};function _0x3fc25a(_0x4fc796,_0x2101ba){return _0x33b438(_0x4fc796,_0x2101ba-_0x4b8921._0x33d3e1);}const _0x50bbb1={};for(let _0x13246c=0x0;_0x13246c<_0x5ce81f[_0x3fc25a(_0x39ca0a._0x4d4042,_0x39ca0a._0xf2ec27)];_0x13246c+=_0x5313f4){const _0xaadcde=_0x5ce81f[_0x3fc25a(0x6b,0xa1)](_0x13246c,_0x13246c+_0x5313f4),_0x265a95=await Promise[_0x3fc25a(_0x39ca0a._0x2adccc,_0x39ca0a._0x1481d2)](_0xaadcde[_0x3fc25a(_0x39ca0a._0x3526cc,_0x39ca0a._0x4e74d1)](_0x41602a));for(const _0x541a5a of _0x265a95)if(_0x3fc25a(0xf4,0xe0)===_0x541a5a['status']){for(const [_0x1efcc3,_0x646f5f]of Object['entries'](_0x541a5a[_0x3fc25a(_0x39ca0a._0x102c29,0x9c)]))_0x50bbb1[_0x1efcc3]=(_0x50bbb1[_0x1efcc3]||0x0)+(_0x3fc25a(0x3b,_0x39ca0a._0xb87cd9)==typeof _0x646f5f?_0x646f5f:0x0);}else _0x50bbb1[_0x3fc25a(_0x39ca0a._0x1bcd1a,_0x39ca0a._0x309fdb)]=(_0x50bbb1['failed']||0x0)+0x1,console[_0x3fc25a(0x90,0x8a)](_0x3fc25a(_0x39ca0a._0x30c061,0x79)+_0x5497a4+'\x20error:',_0x541a5a['reason']?.['message']);}return _0x50bbb1;}async function _upsertDocMeta(_0x57f940,{op:_0x35cb0f,nextVersion:_0x1a1bc3,opUpdatedAt:_0x4197a1,writerDeviceId:_0x2fc464,checksum:_0x206146,now:_0x33f99c,session:_0x273b66}={}){const _0x49b84e={_0x385316:0x359,_0xea05fb:0x32a,_0x3822e4:0x2da,_0x1b142e:0x32a,_0x870750:0x398,_0x3ad295:0x319,_0x34c403:0x308,_0x1ecb63:0x37b,_0x5e0120:0x2fe},_0x23f698={_0x4c546b:0x494};function _0x4a23fd(_0x4be1a8,_0x27c9ee){return _0x33b438(_0x27c9ee,_0x4be1a8-_0x23f698._0x4c546b);}const _0x341c89=_0x273b66?{'upsert':!0x0,'session':_0x273b66}:{'upsert':!0x0};await _0x57f940[_0x4a23fd(0x34f,_0x49b84e._0x385316)]({'_id':metaId(_0x35cb0f[_0x4a23fd(_0x49b84e._0xea05fb,_0x49b84e._0x3822e4)],_0x35cb0f['docId'])},{'$set':{'collection':_0x35cb0f[_0x4a23fd(_0x49b84e._0x1b142e,0x377)],'docId':_0x35cb0f[_0x4a23fd(_0x49b84e._0x870750,0x3d0)],'version':_0x1a1bc3,'updatedAt':_0x4197a1,'lastWriterDeviceId':_0x2fc464,'deleted':_0x4a23fd(_0x49b84e._0x3ad295,_0x49b84e._0x34c403)===_0x35cb0f[_0x4a23fd(0x34b,_0x49b84e._0x1ecb63)],'ownerKey':resolveOwnerKey(_0x35cb0f),'updatedByOpId':_0x35cb0f['opId'],'lastOpId':_0x35cb0f[_0x4a23fd(0x355,_0x49b84e._0x5e0120)],'payloadChecksum':_0x206146},'$setOnInsert':{'createdAt':_0x33f99c}},_0x341c89);}async function runSync(_0x2bd7f6,_0x41a653=_0x33b438(-0x18b,-0x17e),_0x424e52='*',_0x1cd015=null,_0x58b241=null,_0x4afe2b){const _0x380695={_0x476945:0x337,_0x506153:0x359,_0x13126c:0x3b5,_0x3b34fc:0x368,_0x5a9309:0x33a,_0x448d55:0x31a,_0x876306:0x389,_0x2db3da:0x2d3,_0x425ad0:0x302,_0x441723:0x31a,_0xc44175:0x28e,_0x42f14a:0x378,_0x268d15:0x31a,_0x289196:0x392,_0x58ef8d:0x3b5,_0x3f715c:0x3b4,_0x52f1f7:0x33d,_0x716b4:0x358,_0x59a4b9:0x2af},_0x67f7f={_0xb11ba8:0x45a};function _0x16f9a2(_0x5a1c24,_0x630ac6){return _0x33b438(_0x5a1c24,_0x630ac6-_0x67f7f._0xb11ba8);}const _0x2fcd96=_0x4afe2b||_conn;if(!_0x2fcd96[_0x16f9a2(0x30f,_0x380695._0x476945)])return null;const _0x1737d3=_resolveOwnerParam(_0x424e52),_0x349163=_0x58b241||getDeviceId(),_0xebf03b=COLLECTION_CONCURRENCY;console['log'](_0x16f9a2(0x36d,0x33c)+_0x41a653+',\x20owner:\x20'+_0x1737d3+',\x20cols:\x20'+_0x2bd7f6['length']+_0x16f9a2(0x30b,_0x380695._0x506153));const _0x10505d=await _downloadSync(_0x2bd7f6,_0x1737d3,_0x349163,_0xebf03b,_0x2fcd96)[_0x16f9a2(_0x380695._0x13126c,_0x380695._0x3b34fc)](_0x4f1e00=>(console[_0x16f9a2(0x2fc,0x305)]('[MongoFire]\x20Download\x20sync\x20error:',_0x4f1e00[_0x16f9a2(0x2e3,0x320)]),{'downloaded':0x0,'deleted':0x0,'failed':0x1})),_0x80b01f=await _uploadSync(_0x2bd7f6,_0x1737d3,_0xebf03b,_0x1cd015,_0x2fcd96)[_0x16f9a2(_0x380695._0x5a9309,0x368)](_0x4e3e81=>(console[_0x16f9a2(0x2f9,0x305)](_0x16f9a2(0x360,0x355),_0x4e3e81['message']),{'uploaded':0x0,'deleted':0x0,'failed':0x1,'conflicts':0x0,'retried':0x0,'skipped':0x0})),_0x1fcc57={'downloaded':_0x10505d['downloaded']||0x0,'deleted':(_0x10505d[_0x16f9a2(0x303,_0x380695._0x448d55)]||0x0)+(_0x80b01f['deleted']||0x0),'uploaded':_0x80b01f[_0x16f9a2(0x377,0x378)]||0x0,'failed':(_0x10505d['failed']||0x0)+(_0x80b01f[_0x16f9a2(_0x380695._0x876306,0x358)]||0x0),'conflicts':_0x80b01f['conflicts']||0x0,'retried':_0x80b01f[_0x16f9a2(0x2ee,_0x380695._0x2db3da)]||0x0,'skipped':_0x80b01f[_0x16f9a2(0x39f,0x366)]||0x0};return(_0x1fcc57[_0x16f9a2(0x2d3,_0x380695._0x425ad0)]+_0x1fcc57['uploaded']+_0x1fcc57[_0x16f9a2(_0x380695._0x2db3da,_0x380695._0x441723)]+_0x1fcc57['skipped']>0x0||_0x1fcc57[_0x16f9a2(0x2fd,0x358)]>0x0)&&console['log'](_0x16f9a2(_0x380695._0xc44175,0x2eb)+_0x1fcc57[_0x16f9a2(0x32c,0x302)]+'\x20↑'+_0x1fcc57[_0x16f9a2(0x33f,_0x380695._0x42f14a)]+'\x20DEL:'+_0x1fcc57[_0x16f9a2(0x31e,_0x380695._0x268d15)]+_0x16f9a2(_0x380695._0x289196,0x361)+_0x1fcc57[_0x16f9a2(_0x380695._0x58ef8d,0x366)]+_0x16f9a2(0x2b2,0x2ed)+_0x1fcc57[_0x16f9a2(_0x380695._0x3f715c,0x36d)]+_0x16f9a2(0x375,_0x380695._0x52f1f7)+_0x1fcc57[_0x16f9a2(0x326,_0x380695._0x716b4)]+_0x16f9a2(0x36c,0x31e)+_0x1fcc57[_0x16f9a2(_0x380695._0x59a4b9,0x2d3)]),_0x1fcc57;}async function getSyncStatus(_0x5042cf=!0x1,_0x516089){const _0xb504ba={_0x256d36:0x206,_0x388376:0x200,_0x5b9faa:0x1f9,_0x3184cb:0x1e7,_0x1ad1fa:0x211,_0x414878:0x222,_0x3a49a0:0x26a,_0x19974e:0x1e8,_0x596a45:0x22d,_0x39bed7:0x20d,_0x147b5b:0x20a,_0x5a5682:0x252,_0x242696:0x261,_0x393c86:0x1c8},_0xb20890={_0x17d708:0x36a},_0x3df90e=_0x516089||_conn,_0x42dc22=_0x3df90e['local'],[_0x1b7cce,_0x5c6413]=await Promise[_0x4f5917(0x258,_0xb504ba._0x256d36)]([_0x42dc22[_0x4f5917(_0xb504ba._0x388376,_0xb504ba._0x5b9faa)](_0x4f5917(0x222,_0xb504ba._0x3184cb))[_0x4f5917(0x24e,0x2a4)]({'synced':!0x1}),_0x42dc22[_0x4f5917(0x200,_0xb504ba._0x1ad1fa)](_0x4f5917(_0xb504ba._0x414878,_0xb504ba._0x1ad1fa))[_0x4f5917(_0xb504ba._0x3a49a0,0x257)]([{'$match':{'synced':!0x1}},{'$group':{'_id':{'$ifNull':[_0x4f5917(0x240,_0xb504ba._0x19974e),_0x4f5917(_0xb504ba._0x596a45,0x287)]},'count':{'$sum':0x1}}}])[_0x4f5917(0x208,_0xb504ba._0x39bed7)]()]),_0x16fd0d={};function _0x4f5917(_0xf99c99,_0x924b41){return _0x33b438(_0x924b41,_0xf99c99-_0xb20890._0x17d708);}for(const _0x514922 of _0x5c6413)_0x16fd0d[_0x514922[_0x4f5917(_0xb504ba._0x147b5b,0x23c)]]=_0x514922['count'];return{'online':_0x3df90e['online'],'pending':_0x1b7cce,'creates':_0x16fd0d[_0x4f5917(0x256,_0xb504ba._0x5a5682)]||0x0,'updates':_0x16fd0d[_0x4f5917(_0xb504ba._0x242696,0x29a)]||0x0,'deletes':_0x16fd0d[_0x4f5917(0x1ef,_0xb504ba._0x393c86)]||0x0,'realtime':!!_0x5042cf};}async function _downloadSync(_0xe515df,_0x32be8d,_0x490d60,_0x105988,_0x559498){const _0x1e4f07={_0x3a861c:0x626};function _0x4f585a(_0x9c6563,_0x59c50c){return _0x33b438(_0x59c50c,_0x9c6563-_0x1e4f07._0x3a861c);}return _runParallel(_0xe515df,_0x553d4a=>_downloadCollection(_0x553d4a,_0x32be8d,_0x490d60,_0x559498),_0x105988,_0x4f585a(0x4af,0x48a));}async function _downloadCollection(_0x21daed,_0x3a3b96,_0x1df40d,_0x5eaa46){const _0xb284bb={_0x1eecf4:0x5f9,_0x13623d:0x597,_0x4f44bf:0x5ce,_0x19a250:0x621,_0x5be243:0x60d,_0x195551:0x627,_0x200961:0x650,_0x1be9f9:0x5fa,_0xa4e0c4:0x612,_0x256322:0x5cc,_0x305f44:0x602,_0x3907c7:0x618,_0x3b59b8:0x619,_0x503735:0x5c6,_0x213ccb:0x619,_0x3666a2:0x652,_0x3cb29e:0x639,_0xea95bb:0x646,_0x404d30:0x59e,_0x535538:0x5b4,_0x5a8aae:0x5a8,_0x4dcb68:0x5d7,_0x2de527:0x5d6,_0x4579d4:0x5fd,_0x1a5f7b:0x61a,_0x3265f6:0x5bc,_0x551f41:0x6a0,_0x5e7c3b:0x64a,_0x30800b:0x58d,_0x1efb52:0x5b8,_0x16276d:0x654,_0x2e8add:0x653,_0x59ec78:0x5e5,_0x2052ac:0x5aa,_0x54a73f:0x5c4,_0x2c61e:0x5e6,_0x1ef640:0x653,_0x5ad416:0x5e0,_0x554cac:0x5a0,_0x2be511:0x608,_0x24b10f:0x5ce,_0x484afe:0x616,_0x56cd59:0x61d,_0x494b29:0x5fe,_0x4d63d:0x646,_0xfd1f09:0x598,_0x248412:0x5d9,_0x539e3e:0x5f4},_0x36781e={_0x1ca9b9:0x4db,_0xf6030:0x559,_0x49d8ef:0x559,_0x22caf7:0x52d,_0x11e18b:0x5a7,_0x326848:0x549,_0x7f3970:0x571,_0xd090e9:0x4e1,_0x310a11:0x510,_0x5569c9:0x550,_0x55f31e:0x503,_0x15d6cd:0x4a9,_0x9ef7b3:0x4f7,_0x47c581:0x587,_0x32851d:0x512,_0x3ec8ae:0x4db},_0x4e1a21={_0x23f856:0x134,_0x4c7e2c:0x16e,_0x41449b:0x10c,_0x591672:0x128,_0x2a9f21:0x146,_0x113096:0x15e,_0x2b6626:0x1b7,_0x497dc1:0x186,_0x58a829:0x12d,_0x36917c:0xf1,_0x321481:0x17b,_0x24ce2d:0x133,_0x242bdb:0xdb,_0x39d5b0:0xf0,_0x2d7be6:0xeb,_0x2bf91e:0xe5,_0x3c3d42:0x101,_0x51b4c5:0x114,_0x4ddd20:0x16c,_0x51daa9:0xe3,_0x36f989:0x11f,_0x203515:0x179,_0x22dea4:0x164,_0x4567d5:0x153,_0x1e523f:0x110,_0x35da71:0x112,_0x67278c:0xf7,_0x13d743:0xd6,_0x2cca99:0x141},_0x4df826={_0x49d3fc:0x72e},_0x511e53=_0x5eaa46||_conn,_0x3275c1=_0x511e53['local'],_0x234ea0=_0x511e53[_0x2f705d(0x5c4,_0xb284bb._0x1eecf4)];let _0x5092d0=0x0,_0x5886a0=0x0,_0x131925=0x0;function _0x2f705d(_0x455176,_0x5cd6e9){return _0x33b438(_0x455176,_0x5cd6e9-_0x4df826._0x49d3fc);}try{const _0x552d0b=await getCursor(_0x3a3b96,_0x21daed,'oplog',_0x511e53);if(null==_0x552d0b){console[_0x2f705d(0x5cc,_0xb284bb._0x13623d)]('[MongoFire]\x20Bootstrap\x20\x22'+_0x21daed+'\x22...');const _0x9c54e8=new Date(),_0x4d2e31='*'!==_0x3a3b96?{'ownerKey':_0x3a3b96}:{},_0x5166d8=await getCursor(_0x3a3b96,_0x21daed,_0x2f705d(0x5fe,0x60e),_0x511e53);if(_0x5166d8){const _0x51b4c3=_0x5166d8['id']||_0x5166d8['ts'];_0x51b4c3&&(_0x4d2e31[_0x2f705d(0x5af,_0xb284bb._0x4f44bf)]={'$gt':toObjectId(String(_0x51b4c3))},console['log'](_0x2f705d(_0xb284bb._0x19a250,0x5c7)+_0x21daed+_0x2f705d(_0xb284bb._0x5be243,0x647)+_0x51b4c3+_0x2f705d(0x5dd,_0xb284bb._0x195551)));}const _0xc2a8a0=await _0x3275c1['collection'](_0x2f705d(0x609,0x5e6))[_0x2f705d(_0xb284bb._0x200961,0x653)]({'collection':_0x21daed,'synced':!0x1})[_0x2f705d(0x5a9,_0xb284bb._0x1be9f9)]({'docId':0x1,'type':0x1,'op':0x1})[_0x2f705d(_0xb284bb._0xa4e0c4,_0xb284bb._0x256322)](),{pendingDeleteIds:_0xd30810,pendingAnyIds:_0x375fad}=buildPendingSets(_0xc2a8a0),_0x5aad9e=_0x234ea0['collection'](_0x21daed)[_0x2f705d(0x64c,0x653)](_0x4d2e31)['sort']({'_id':0x1}),_0x252699=[],_0x4d5e50=[];let _0x1565bf=0x0,_0x274749=null;const _0x951f29=async()=>{const _0x3ccef9={_0x1e362b:0x4cd};if(!_0x252699['length']&&!_0x4d5e50[_0x17f1e9(0xbc,0xf0)])return;const _0x3b5b40=_0x252699[_0x17f1e9(_0x4e1a21._0x23f856,_0x4e1a21._0x4c7e2c)](_0x5a8a9f=>String(_0x5a8a9f['replaceOne']?.[_0x17f1e9(0xe7,0xe5)]?.['_id']||''))[_0x17f1e9(_0x4e1a21._0x41449b,_0x4e1a21._0x591672)](Boolean);let _0x4366c6=new Map();if(_0x3b5b40[_0x17f1e9(0x121,0xf0)]){const _0x1efbe6=_0x3b5b40[_0x17f1e9(0x13e,_0x4e1a21._0x4c7e2c)](_0x5eb088=>metaId(_0x21daed,_0x5eb088)),_0x4b64c3=await _0x3275c1[_0x17f1e9(_0x4e1a21._0x2a9f21,0xf7)](_0x17f1e9(0x1a3,_0x4e1a21._0x113096))[_0x17f1e9(_0x4e1a21._0x2b6626,_0x4e1a21._0x497dc1)]({'_id':{'$in':_0x1efbe6}})[_0x17f1e9(0x113,_0x4e1a21._0x58a829)]({'_id':0x1,'version':0x1})['toArray']();for(const _0x44bf78 of _0x4b64c3){const _0x567452=String(_0x44bf78[_0x17f1e9(_0x4e1a21._0x36917c,0x101)])[_0x17f1e9(0xeb,0x126)](_0x21daed+':','');_0x4366c6[_0x17f1e9(_0x4e1a21._0x321481,_0x4e1a21._0x24ce2d)](_0x567452,asInt(_0x44bf78[_0x17f1e9(_0x4e1a21._0x242bdb,0xcf)],0x0));}}function _0x17f1e9(_0x57c1b2,_0x5b0d95){return _0x2f705d(_0x57c1b2,_0x5b0d95- -_0x3ccef9._0x1e362b);}const _0x3e97e7=[],_0xcdd132=[];let _0x290bc7=0x0;for(let _0xf943df=0x0;_0xf943df<_0x252699[_0x17f1e9(0x13b,_0x4e1a21._0x39d5b0)];_0xf943df++){const _0x431ac5=_0x252699[_0xf943df][_0x17f1e9(0x164,0x120)]?.[_0x17f1e9(_0x4e1a21._0x2d7be6,_0x4e1a21._0x2bf91e)],_0x2cf5a4=String(_0x431ac5?.[_0x17f1e9(0x10e,_0x4e1a21._0x3c3d42)]||''),_0x39b59a=asInt(_0x431ac5?.[_0x17f1e9(_0x4e1a21._0x51b4c5,_0x4e1a21._0x4ddd20)],0x1);(_0x4366c6[_0x17f1e9(_0x4e1a21._0x51daa9,_0x4e1a21._0x36f989)](_0x2cf5a4)||0x0)>=_0x39b59a?_0x290bc7++:(_0x3e97e7[_0x17f1e9(0x1c1,0x179)](_0x252699[_0xf943df]),_0x4d5e50[_0xf943df]&&_0xcdd132[_0x17f1e9(0x1bd,_0x4e1a21._0x203515)](_0x4d5e50[_0xf943df]));}_0x290bc7>0x0&&console['log'](_0x17f1e9(_0x4e1a21._0x22dea4,_0x4e1a21._0x4567d5)+_0x21daed+_0x17f1e9(_0x4e1a21._0x36917c,_0x4e1a21._0x1e523f)+_0x290bc7+'\x20doc(s)\x20whose\x20local\x20version\x20>=\x20remote\x20(CRIT-4\x20race\x20guard)'),_0x3e97e7['length']&&await _0x3275c1['collection'](_0x21daed)['bulkWrite'](_0x3e97e7,{'ordered':!0x1}),_0xcdd132[_0x17f1e9(_0x4e1a21._0x35da71,0xf0)]&&await _0x3275c1[_0x17f1e9(_0x4e1a21._0x24ce2d,_0x4e1a21._0x67278c)](_0x17f1e9(0x198,0x15e))[_0x17f1e9(0xeb,_0x4e1a21._0x13d743)](_0xcdd132,{'ordered':!0x1}),_0x252699['length']=0x0,_0x4d5e50['length']=0x0,_0x274749&&await setCursor(_0x3a3b96,_0x21daed,_0x17f1e9(0x149,_0x4e1a21._0x2cca99),{'ts':null,'id':String(_0x274749)},_0x511e53);};for await(const _0x9062ad of _0x5aad9e){const _0xa62883=String(_0x9062ad[_0x2f705d(0x5f5,0x5ce)]);if(_0x274749=_0x9062ad[_0x2f705d(_0xb284bb._0x305f44,_0xb284bb._0x4f44bf)],_0xd30810[_0x2f705d(_0xb284bb._0x3907c7,_0xb284bb._0x3b59b8)](_0xa62883)||_0x375fad[_0x2f705d(_0xb284bb._0x503735,_0xb284bb._0x213ccb)](_0xa62883))continue;const _0x3976fb=toObjectId(_0x9062ad[_0x2f705d(0x5e2,0x5ce)]),_0x141ca5=metaId(_0x21daed,_0xa62883),_0x889073=asInt(_0x9062ad[_0x2f705d(_0xb284bb._0x3666a2,_0xb284bb._0x3cb29e)],0x1),_0x1208f9=new Date(),_0x5956b4=asDate(_0x9062ad[_0x2f705d(0x626,0x5d5)])||_0x1208f9,_0x4891fa=payloadChecksum(_0x9062ad,!0x0);_0x252699[_0x2f705d(0x654,_0xb284bb._0xea95bb)]({'replaceOne':{'filter':{'_id':_0x3976fb},'replacement':_0x9062ad,'upsert':!0x0}}),_0x4d5e50['push']({'updateOne':{'filter':{'_id':_0x141ca5},'update':{'$set':{'collection':_0x21daed,'docId':_0xa62883,'version':_0x889073,'updatedAt':_0x5956b4,'lastWriterDeviceId':_0x9062ad['_mf_lastWriterDeviceId']||'','deleted':!0x1,'ownerKey':_0x9062ad[_0x2f705d(0x554,_0xb284bb._0x404d30)]||_0x3a3b96||_0x2f705d(0x5a0,_0xb284bb._0x535538),'updatedByOpId':_0x9062ad[_0x2f705d(0x5ef,0x613)]||_0x9062ad[_0x2f705d(0x5de,_0xb284bb._0x5a8aae)]||null,'lastOpId':_0x9062ad[_0x2f705d(0x5de,0x5a8)]||_0x9062ad[_0x2f705d(_0xb284bb._0x4dcb68,0x613)]||null,'payloadChecksum':_0x4891fa},'$setOnInsert':{'createdAt':_0x1208f9}},'upsert':!0x0}}),_0x1565bf++,_0x5092d0++,_0x252699['length']>=0x1f4&&await _0x951f29();}await _0x951f29();const _0x5f017d=await _dismissStaleCreateOps(_0x21daed,_0x3275c1,_0x511e53);return _0x5f017d>0x0&&console['warn'](_0x2f705d(0x5f9,0x620)+_0x21daed+'\x22:\x20dismissed\x20'+_0x5f017d+_0x2f705d(_0xb284bb._0x2de527,0x5e1)),await setCursor(_0x3a3b96,_0x21daed,_0x2f705d(0x5ea,_0xb284bb._0x4579d4),_0x9c54e8,_0x511e53),await deleteCursor(_0x3a3b96,_0x21daed,'bootstrap_resume',_0x511e53)['catch'](()=>{}),console[_0x2f705d(0x5dc,_0xb284bb._0x13623d)](_0x2f705d(_0xb284bb._0x1a5f7b,0x620)+_0x21daed+_0x2f705d(0x600,_0xb284bb._0x3265f6)+_0x1565bf+_0x2f705d(_0xb284bb._0x551f41,_0xb284bb._0x5e7c3b)),{'downloaded':_0x5092d0,'deleted':_0x5886a0,'failed':_0x131925};}const _0x1f19c4=_0x552d0b,_0x3e40fa={'collection':_0x21daed,'$and':[_0x1f19c4['id']?{'$or':[{'timestamp':{'$gt':_0x1f19c4['ts']}},{'timestamp':_0x1f19c4['ts'],'_id':{'$gt':_0x1f19c4['id']}}]}:{'timestamp':{'$gt':_0x1f19c4['ts']}},{'$or':[{'applyStatus':_0x2f705d(_0xb284bb._0x3666a2,0x63d)},{'applyStatus':{'$exists':!0x1}}]}]};'*'!==_0x3a3b96&&(_0x3e40fa[_0x2f705d(_0xb284bb._0x30800b,0x59e)]=_0x3a3b96);const _0x2f6751=await _0x3275c1['collection'](_0x2f705d(_0xb284bb._0x1efb52,0x5e6))[_0x2f705d(_0xb284bb._0x16276d,_0xb284bb._0x2e8add)]({'collection':_0x21daed,'synced':!0x1})[_0x2f705d(_0xb284bb._0x59ec78,0x5fa)]({'docId':0x1,'type':0x1,'op':0x1})[_0x2f705d(_0xb284bb._0x2052ac,0x5cc)](),{pendingDeleteIds:_0x34c963,pendingAnyIds:_0x345d38}=buildPendingSets(_0x2f6751),_0x1c92fd=_0x511e53[_0x2f705d(0x5da,_0xb284bb._0x1eecf4)][_0x2f705d(0x60d,_0xb284bb._0x54a73f)](_0x2f705d(0x595,_0xb284bb._0x2c61e))[_0x2f705d(0x697,_0xb284bb._0x1ef640)](_0x3e40fa)['sort']({'timestamp':0x1,'_id':0x1})[_0x2f705d(_0xb284bb._0x5ad416,_0xb284bb._0x554cac)](0xc8),_0xa8854=[];let _0x55bf5b=_0x1f19c4['ts'],_0x2a933c=_0x1f19c4['id'];const _0x12fe73=async()=>{if(!_0xa8854[_0x4d1e2d(0x53c,_0x36781e._0x1ca9b9)])return;const _0x446bd2=[...new Set(_0xa8854[_0x4d1e2d(0x5a8,_0x36781e._0xf6030)](_0x1795a4=>String(_0x1795a4[_0x4d1e2d(0x52d,0x550)])))][_0x4d1e2d(0x560,_0x36781e._0x49d8ef)](_0x7cd33b=>metaId(_0x21daed,_0x7cd33b)),_0x3b709c=await _0x3275c1[_0x4d1e2d(_0x36781e._0x22caf7,0x4e2)](_0x4d1e2d(_0x36781e._0x11e18b,_0x36781e._0x326848))[_0x4d1e2d(0x59d,_0x36781e._0x7f3970)]({'_id':{'$in':_0x446bd2}})[_0x4d1e2d(_0x36781e._0xd090e9,0x4ea)](),_0x759dd3=new Map(_0x3b709c[_0x4d1e2d(0x53c,0x559)](_0x2d6933=>[_0x2d6933['_id'],_0x2d6933]));function _0x4d1e2d(_0x1fee65,_0x3bda73){return _0x2f705d(_0x1fee65,_0x3bda73- -0xe2);}for(const _0x546bca of _0xa8854)try{const _0x505a1c=_0x759dd3['get'](metaId(_0x21daed,String(_0x546bca[_0x4d1e2d(_0x36781e._0x310a11,_0x36781e._0x5569c9)])))||null;if(!await _applyRemoteOpLocally(_0x3275c1,_0x546bca,_0x505a1c))continue;_0x4d1e2d(0x476,0x4d1)===_0x546bca[_0x4d1e2d(0x4e0,_0x36781e._0x55f31e)]?_0x5886a0++:_0x5092d0++;}catch(_0xd906a1){_0x131925++,console[_0x4d1e2d(_0x36781e._0x15d6cd,_0x36781e._0x9ef7b3)](_0x4d1e2d(_0x36781e._0x47c581,0x542)+_0x21daed+'/'+_0x546bca['docId']+':',_0xd906a1[_0x4d1e2d(0x4ee,_0x36781e._0x32851d)]);}_0xa8854[_0x4d1e2d(_0x36781e._0x3ec8ae,_0x36781e._0x3ec8ae)]=0x0;};for await(const _0x4231f1 of _0x1c92fd){const _0x29579e=_normalizeOpRow(_0x4231f1);if(!_0x29579e){_0x2a933c=String(_0x4231f1[_0x2f705d(_0xb284bb._0x2be511,_0xb284bb._0x24b10f)]||_0x2a933c);continue;}if(_0x55bf5b=asDate(_0x29579e[_0x2f705d(0x5f5,_0xb284bb._0x484afe)])||_0x55bf5b,_0x2a933c=String(_0x4231f1[_0x2f705d(0x60b,0x5ce)]||_0x2a933c),_0x29579e[_0x2f705d(_0xb284bb._0x56cd59,_0xb284bb._0x56cd59)]===_0x1df40d)continue;const _0x1793bf=String(_0x29579e['docId']);_0x34c963[_0x2f705d(0x66f,0x619)](_0x1793bf)||_0x345d38['has'](_0x1793bf)&&'delete'!==_0x29579e[_0x2f705d(0x604,0x5e5)]||(_0xa8854[_0x2f705d(_0xb284bb._0x494b29,_0xb284bb._0x4d63d)](_0x29579e),_0xa8854['length']>=0x64&&await _0x12fe73());}await _0x12fe73(),_0x55bf5b===_0x1f19c4['ts']&&_0x2a933c===_0x1f19c4['id']||await setCursor(_0x3a3b96,_0x21daed,_0x2f705d(0x5df,0x5fd),{'ts':_0x55bf5b,'id':_0x2a933c},_0x511e53);}catch(_0x3175cb){_0x131925++,console[_0x2f705d(_0xb284bb._0xfd1f09,_0xb284bb._0x248412)](_0x2f705d(_0xb284bb._0x2052ac,0x5d7)+_0x21daed+'\x22:',_0x3175cb[_0x2f705d(0x63e,_0xb284bb._0x539e3e)]);}return{'downloaded':_0x5092d0,'deleted':_0x5886a0,'failed':_0x131925};}async function _uploadSync(_0x1a9c7e,_0x1e61d8,_0xfa11af,_0x4199e6,_0x35af72){const _0xfd68bb={_0x33ac19:0x14c};function _0x201d58(_0x16bca0,_0x64d737){return _0x33b438(_0x64d737,_0x16bca0- -0x2b);}return _runParallel(_0x1a9c7e,_0x1b97b4=>_uploadCollection(_0x1b97b4,_0x1e61d8,_0x4199e6,_0x35af72),_0xfa11af,_0x201d58(-0x17a,-_0xfd68bb._0x33ac19));}async function _compressOps(_0x17f3e8,_0x4ef78d){const _0x554e2c={_0x561d7d:0x5dc,_0x4d23d7:0x5ef,_0x5665ba:0x5e2,_0x241ad1:0x5f8,_0x6d9737:0x604,_0xb74536:0x5ab,_0x3d8c3b:0x5ed,_0x4212f8:0x5e8,_0x10f5e2:0x600,_0x52e2fe:0x636,_0x34a412:0x616,_0x4a3a31:0x653,_0xa259ec:0x654,_0xe178fe:0x5ed,_0x486165:0x5ad,_0xe83694:0x573,_0x4cae0c:0x5c8,_0x54c660:0x5a6,_0x14b9a7:0x5b5,_0x1e1ad3:0x5af,_0x32ad92:0x5de,_0x3acbae:0x5c6,_0x5b0e9a:0x5b9,_0x36b5a3:0x593,_0x12ee81:0x5c6,_0x5eba5d:0x618,_0x4aaec3:0x582,_0x411330:0x5ef,_0x318e2e:0x63a,_0x30929d:0x5b9,_0x173c34:0x59b,_0x11df3d:0x5b9,_0x27c936:0x580,_0x1e4112:0x5db,_0x7f5b93:0x5c9},_0x239abd=_0x4ef78d||_conn;function _0x1f66ef(_0x11d287,_0x34781d){return _0x33b438(_0x34781d,_0x11d287-0x72a);}let _0x54d285=0x0;const _0x2dfcf9=await _0x239abd[_0x1f66ef(_0x554e2c._0x561d7d,0x5b4)][_0x1f66ef(0x5c0,_0x554e2c._0x4d23d7)](_0x1f66ef(_0x554e2c._0x5665ba,_0x554e2c._0x241ad1))['aggregate']([{'$match':{'collection':_0x17f3e8,'synced':!0x1,'ackState':{'$nin':['conflict','compressed','superseded']}}},{'$sort':{'timestamp':0x1}},{'$group':{'_id':_0x1f66ef(_0x554e2c._0x6d9737,0x5f0),'ops':{'$push':{'id':'$_id','type':{'$ifNull':[_0x1f66ef(0x600,_0x554e2c._0xb74536),_0x1f66ef(_0x554e2c._0x3d8c3b,_0x554e2c._0x4212f8)]},'synced':_0x1f66ef(0x5fb,0x5af)}},'hasCreate':{'$sum':{'$cond':[{'$eq':[{'$ifNull':[_0x1f66ef(_0x554e2c._0x10f5e2,0x600),_0x1f66ef(_0x554e2c._0x3d8c3b,_0x554e2c._0x52e2fe)]},_0x1f66ef(_0x554e2c._0x34a412,_0x554e2c._0x4a3a31)]},0x1,0x0]}},'hasAnySynced':{'$sum':{'$cond':[_0x1f66ef(0x5fb,_0x554e2c._0xa259ec),0x1,0x0]}},'lastType':{'$last':{'$ifNull':[_0x1f66ef(_0x554e2c._0x10f5e2,0x65f),_0x1f66ef(_0x554e2c._0xe178fe,_0x554e2c._0x486165)]}},'totalOps':{'$sum':0x1}}},{'$match':{'hasAnySynced':0x0,'$or':[{'hasCreate':{'$gt':0x0},'lastType':_0x1f66ef(0x5af,_0x554e2c._0xe83694)},{'hasCreate':0x0,'lastType':_0x1f66ef(0x621,0x619),'totalOps':{'$gt':0x1}}]}}])[_0x1f66ef(_0x554e2c._0x4cae0c,0x5ad)]();for(const _0x56882e of _0x2dfcf9)if(_0x56882e[_0x1f66ef(_0x554e2c._0x54c660,_0x554e2c._0x14b9a7)]>0x0&&_0x1f66ef(_0x554e2c._0x1e1ad3,0x57d)===_0x56882e[_0x1f66ef(_0x554e2c._0x32ad92,0x5d6)]){const _0x4e073a=_0x56882e['ops']['map'](_0x45971f=>_0x45971f['id']);await markSynced(_0x4e073a,{'ackState':_0x1f66ef(0x5a1,_0x554e2c._0x3acbae),'remoteAckAt':new Date()},_0x239abd),_0x54d285+=_0x4e073a[_0x1f66ef(_0x554e2c._0x5b0e9a,0x578)],console[_0x1f66ef(_0x554e2c._0x36b5a3,0x5e7)](_0x1f66ef(_0x554e2c._0x12ee81,_0x554e2c._0x5eba5d)+_0x4e073a[_0x1f66ef(0x5b9,_0x554e2c._0x4aaec3)]+'\x20ops\x20for\x20'+_0x17f3e8+'/'+_0x56882e['_id']+_0x1f66ef(0x622,_0x554e2c._0x411330));}else{const _0x572e01=_0x56882e[_0x1f66ef(_0x554e2c._0x318e2e,0x693)][_0x1f66ef(0x637,0x691)](_0x5e3ed8=>_0x5e3ed8['id'])[_0x1f66ef(0x5ec,0x5fa)](0x0,-0x1);_0x572e01[_0x1f66ef(_0x554e2c._0x30929d,0x5d6)]&&(await markSynced(_0x572e01,{'ackState':'superseded','remoteAckAt':new Date()},_0x239abd),_0x54d285+=_0x572e01[_0x1f66ef(0x5b9,0x58d)],console['log'](_0x1f66ef(0x5ce,_0x554e2c._0x173c34)+_0x572e01[_0x1f66ef(_0x554e2c._0x11df3d,_0x554e2c._0x27c936)]+_0x1f66ef(0x5fe,_0x554e2c._0x1e4112)+_0x17f3e8+'/'+_0x56882e[_0x1f66ef(0x5ca,_0x554e2c._0x7f5b93)]));}return _0x54d285;}async function _flushSyncBatch(_0x1ead22,_0x6654e){const _0x33f03e={_0x100c42:0xc4,_0x366aba:0x70,_0x22e635:0x10d,_0x2cf9e5:0x159,_0x5db3cf:0x124,_0x29243d:0x116,_0x4482da:0xd8,_0x5f5add:0xc4};if(!_0x1ead22[_0x5b8b95(_0x33f03e._0x100c42,_0x33f03e._0x366aba)])return;const _0x15b8d4=new Map();for(const _0x2afca9 of _0x1ead22)_0x15b8d4[_0x5b8b95(0x120,_0x33f03e._0x22e635)](_0x2afca9['ackState'])||_0x15b8d4[_0x5b8b95(0x107,0x150)](_0x2afca9[_0x5b8b95(_0x33f03e._0x2cf9e5,_0x33f03e._0x5db3cf)],[]),_0x15b8d4['get'](_0x2afca9['ackState'])['push'](_0x2afca9);function _0x5b8b95(_0x1b88d4,_0x1df442){return _0x33b438(_0x1df442,_0x1b88d4-0x235);}for(const [_0xd9ad3a,_0x46868a]of _0x15b8d4){const _0x49a165=_0x46868a['map'](_0x3c631a=>_0x3c631a['id']),_0x3b2b4e=_0x46868a[_0x5b8b95(_0x33f03e._0x29243d,_0x33f03e._0x4482da)]((_0x529027,_0x54ead5)=>!_0x529027||_0x54ead5[_0x5b8b95(0xbc,0x116)]&&_0x54ead5[_0x5b8b95(0xbc,0xed)]>_0x529027?_0x54ead5[_0x5b8b95(0xbc,0x116)]:_0x529027,null);await markSynced(_0x49a165,{'ackState':_0xd9ad3a,'remoteAckAt':_0x3b2b4e},_0x6654e);}_0x1ead22[_0x5b8b95(_0x33f03e._0x5f5add,0x120)]=0x0;}async function _uploadCollection(_0x4112de,_0xf84463,_0x391acf,_0x5292b4){const _0xdde567={_0xe3594:0x5f3,_0x5f5ccf:0x572,_0x34c4b4:0x55e,_0x4c2807:0x602,_0x5251cf:0x594,_0x453fa3:0x5a1,_0x2422e3:0x583,_0x34576e:0x5e4,_0xa628a6:0x5e4,_0x450b86:0x5fd,_0x51ea5a:0x657,_0x2e5ffc:0x56f,_0x1e8fdc:0x588,_0x4f16b3:0x598,_0x5ef75b:0x52c,_0x23a905:0x601,_0x3bc4d7:0x600,_0x1c808c:0x5d5,_0x5bb6f3:0x577,_0x429ee2:0x588,_0x2015dc:0x560,_0x4edb74:0x5b2,_0x194456:0x5ae,_0x4e30cd:0x596,_0x36aa44:0x53f,_0x5e1a04:0x5ed,_0x3395a8:0x5e2,_0x2dbceb:0x593,_0x36d356:0x57e,_0x2243fb:0x5ec,_0x5ab1c5:0x61e,_0x3dddf0:0x60b,_0x597259:0x5c1,_0xb43adf:0x5a8,_0x515b89:0x588,_0xaa5a9c:0x578,_0x2271bd:0x5e1},_0x1861f1={_0x48fa29:0x153,_0x383c68:0x1a4,_0x357299:0x1c5,_0x85e3fc:0x1be,_0x3d3499:0x1a2},_0x201fba={_0x167795:0x74a},_0x3013e9={_0x2c617e:0x6e8},_0x580770=_0x5292b4||_conn;let _0x4c641f=0x0,_0x24a847=0x0,_0x1b95da=0x0,_0x32dac7=0x0,_0x36c3f5=0x0,_0x5896dc=0x0;try{_0x5896dc=await _compressOps(_0x4112de,_0x580770);}catch(_0x3ce177){console[_0x22f911(0x5ea,_0xdde567._0xe3594)](_0x22f911(_0xdde567._0x5f5ccf,_0xdde567._0x34c4b4),_0x3ce177[_0x22f911(0x5ae,0x5de)]);}try{const _0x425415=await _dismissStaleCreateOps(_0x4112de,_0x580770[_0x22f911(0x59a,0x5c6)],_0x580770);_0x425415>0x0&&(_0x5896dc+=_0x425415,console[_0x22f911(0x5ea,0x62a)](_0x22f911(_0xdde567._0x4c2807,0x653)+_0x4112de+_0x22f911(0x60a,0x613)+_0x425415+_0x22f911(_0xdde567._0x5251cf,_0xdde567._0x453fa3)));}catch(_0x36efae){console['warn'](_0x22f911(_0xdde567._0x2422e3,0x5a3),_0x36efae[_0x22f911(0x5ae,_0xdde567._0x34576e)]);}const _0x27cc6d=[];function _0x22f911(_0x15fcf3,_0x3f0cb0){return _0x33b438(_0x3f0cb0,_0x15fcf3-_0x3013e9._0x2c617e);}let _0x3c71ec=null,_0x19a163=0x0;for(;_0x19a163<0x2710;){_0x19a163++,0x2328===_0x19a163&&console[_0x22f911(0x5ea,_0xdde567._0xa628a6)](_0x22f911(0x5fc,0x5ff)+_0x4112de+_0x22f911(_0xdde567._0x450b86,_0xdde567._0x51ea5a)+_0x19a163+_0x22f911(0x58b,_0xdde567._0x2e5ffc));const _0x4b2284=await getPending(_0x4112de,0x1f4,_0x3c71ec,_0x580770);if(!_0x4b2284['length'])break;let _0x4f2b6b=0x0;for(const _0x5f22e1 of _0x4b2284){_0x3c71ec=_0x5f22e1[_0x22f911(_0xdde567._0x1e8fdc,_0xdde567._0x4f16b3)];const _0x13efeb=resolveOwnerKey(_0x5f22e1);if('*'!==_0xf84463&&_0x13efeb!==_0xf84463)continue;_0x4f2b6b++;const _0x2f1f1c=_normalizeOpRow(_0x5f22e1);if(_0x2f1f1c)try{_0x22f911(0x56d,_0xdde567._0x5ef75b)===_0x2f1f1c[_0x22f911(0x59f,0x5ec)]&&await _reconcileDeleteBaseVersion(_0x2f1f1c,_0x580770);const _0x1a14b6=await _withRetry(()=>_uploadOneOperation(_0x2f1f1c,_0x580770),{'maxAttempts':0x5,'baseDelayMs':0xfa,'onRetry':(_0x473d07,_0x5c4f44)=>{function _0x508ed2(_0x5890a3,_0x1db7fa){return _0x22f911(_0x5890a3- -_0x201fba._0x167795,_0x1db7fa);}_0x36c3f5++,console[_0x508ed2(-0x160,-_0x1861f1._0x48fa29)](_0x508ed2(-0x1ef,-_0x1861f1._0x383c68)+_0x2f1f1c[_0x508ed2(-0x1a1,-0x193)]+_0x508ed2(-_0x1861f1._0x357299,-_0x1861f1._0x85e3fc)+_0x473d07+',\x20'+_0x5c4f44+_0x508ed2(-0x1ea,-_0x1861f1._0x3d3499));}});if('applied'===_0x1a14b6?.['status']||_0x22f911(0x587,0x5dc)===_0x1a14b6?.[_0x22f911(0x5ff,_0xdde567._0x23a905)]){let _0x5d5063=null;if(VERIFY_REMOTE_STATE){const _0x2628c9=await _verifyRemoteState(_0x2f1f1c,_0x1a14b6,_0x580770);_0x5d5063=_0x2628c9?new Date():null,_0x2628c9||console['warn']('[MongoFire]\x20Checksum\x20mismatch\x20after\x20upload\x20for\x20'+_0x2f1f1c[_0x22f911(0x57e,0x5bd)]+'/'+_0x2f1f1c[_0x22f911(0x5ec,0x63a)]);}_0x27cc6d[_0x22f911(_0xdde567._0x3bc4d7,0x65c)]({'id':_0x5f22e1[_0x22f911(0x588,0x531)],'ackState':_0x5d5063?'verified':_0x22f911(_0xdde567._0x1c808c,0x5e9),'remoteAckAt':_0x1a14b6['remoteAckAt']||new Date()}),_0x27cc6d[_0x22f911(_0xdde567._0x5bb6f3,0x5a6)]>=0x32&&await _flushSyncBatch(_0x27cc6d,_0x580770),'delete'===_0x2f1f1c['type']?_0x24a847++:_0x4c641f++;continue;}await markFailed(_0x5f22e1[_0x22f911(_0xdde567._0x429ee2,0x5b0)],_0x22f911(0x573,_0xdde567._0x2015dc),'error',_0x580770),_0x1b95da++;}catch(_0x3a7815){if(_0x3a7815 instanceof ConflictError){if(_0x32dac7++,_0x1b95da++,console[_0x22f911(0x593,0x55d)](_0x22f911(_0xdde567._0x4edb74,0x612)+_0x2f1f1c[_0x22f911(0x57e,0x54a)]+'/'+_0x2f1f1c[_0x22f911(0x5ec,0x608)]+':',_0x3a7815[_0x22f911(_0xdde567._0x194456,_0xdde567._0x4e30cd)]),await markFailed(_0x5f22e1[_0x22f911(0x588,_0xdde567._0x36aa44)],_0x3a7815[_0x22f911(0x5ae,0x5a0)],_0x22f911(0x5a4,0x5e9),_0x580770),_0x22f911(_0xdde567._0x5e1a04,0x5ed)==typeof _0x391acf&&_0x3a7815[_0x22f911(_0xdde567._0x3395a8,0x613)])try{_0x391acf(_0x3a7815[_0x22f911(0x5e2,0x5fc)]);}catch(_0x3f27aa){}}else _0x1b95da++,console[_0x22f911(_0xdde567._0x2dbceb,0x5c5)](_0x22f911(0x580,0x599)+_0x2f1f1c[_0x22f911(_0xdde567._0x36d356,0x56c)]+'/'+_0x2f1f1c[_0x22f911(_0xdde567._0x2243fb,_0xdde567._0x5ab1c5)]+':',_0x3a7815[_0x22f911(_0xdde567._0x194456,_0xdde567._0x3dddf0)]),await markFailed(_0x5f22e1['_id'],_0x3a7815[_0x22f911(_0xdde567._0x194456,_0xdde567._0x597259)],_0x22f911(_0xdde567._0x2dbceb,_0xdde567._0xb43adf),_0x580770);}else await markFailed(_0x5f22e1[_0x22f911(_0xdde567._0x515b89,_0xdde567._0xaa5a9c)],_0x22f911(0x59d,_0xdde567._0x2271bd),'error',_0x580770),_0x1b95da++;}if('*'!==_0xf84463&&0x0===_0x4f2b6b)break;}return await _flushSyncBatch(_0x27cc6d,_0x580770),{'uploaded':_0x4c641f,'deleted':_0x24a847,'failed':_0x1b95da,'conflicts':_0x32dac7,'retried':_0x36c3f5,'skipped':_0x5896dc};}function _0x33b438(_0x2f18d1,_0x489827){const _0x2ea529={_0x528ff1:0x37f};return _0x360b(_0x489827- -_0x2ea529._0x528ff1,_0x2f18d1);}async function _uploadOneOperation(_0x443e7c,_0x21911c){const _0x506028={_0x3a955a:0xd6,_0x22ad8a:0x78,_0x126a3c:0xbe,_0x509666:0xc5,_0x396d73:0x6a,_0x30456e:0x8e},_0xc102ae={_0x2f55c2:0x5e4,_0x3cba97:0x62b,_0x3248f8:0x611,_0x1c5066:0x5d0,_0x2d3bcc:0x610,_0x486001:0x60d,_0x24152f:0x5ef,_0x18060f:0x5e5,_0x56fb89:0x69d,_0x64b71b:0x648,_0x551bd0:0x5e3,_0x2949af:0x637,_0x257948:0x638,_0x48ae7b:0x641,_0x2c9b1e:0x641,_0x882542:0x627,_0x24c495:0x68d,_0x11c8d7:0x65c,_0x1ed906:0x624,_0x101be0:0x5da,_0x5b354f:0x5ee,_0x36573a:0x61a,_0x3fc0a8:0x58e,_0x14befb:0x614,_0x819fe2:0x63f,_0x3f978b:0x670,_0x3d4d48:0x649,_0xe1cf86:0x5f8,_0x41b6b9:0x6b8,_0x2c8585:0x615,_0x324074:0x625,_0x6101cd:0x66f,_0x377fe3:0x615,_0x27bac7:0x64a,_0x4979b3:0x5bd,_0x29b69a:0x615,_0x1be8ab:0x661,_0x5a3931:0x5d9,_0x5577ed:0x668,_0x5ecfff:0x656,_0x573b44:0x65e,_0x11b0fa:0x66e,_0x4ae304:0x615,_0x3b096e:0x61a,_0x589eb3:0x6c0,_0x2858ee:0x587,_0x57d870:0x61f,_0x3696a4:0x5e0,_0x58e994:0x663,_0x571ea2:0x58c,_0x20bceb:0x5ca},_0x2b5c83=_0x21911c||_conn,_0x4154c4=_0x2b5c83[_0x32e305(0xb0,_0x506028._0x3a955a)],_0x415c0a=_0x2b5c83[_0x32e305(0x8a,_0x506028._0x22ad8a)];if(!_0x4154c4||!_0x415c0a)throw new Error(_0x32e305(_0x506028._0x126a3c,_0x506028._0x509666));function _0x32e305(_0x4f8f2c,_0x2e141c){return _0x33b438(_0x2e141c,_0x4f8f2c-0x1e5);}const _0x453087=_0x415c0a[_0x32e305(0xbd,_0x506028._0x396d73)](),_0xf7b64={};try{await _0x453087[_0x32e305(0x50,_0x506028._0x30456e)](async()=>{const _0x493113={_0x2717f1:0x574},_0x3aff22=_0x4154c4[_0x3edb5f(_0xc102ae._0x2f55c2,0x5ef)](_0x3edb5f(_0xc102ae._0x3cba97,_0xc102ae._0x3248f8)),_0x18d371=new Date(),_0x546b84={'opId':_0x443e7c['opId'],'type':_0x443e7c[_0x3edb5f(_0xc102ae._0x1c5066,_0xc102ae._0x2d3bcc)],'collection':_0x443e7c[_0x3edb5f(_0xc102ae._0x486001,_0xc102ae._0x24152f)],'docId':_0x443e7c['docId'],'payload':_0x443e7c[_0x3edb5f(0x58d,_0xc102ae._0x18060f)],'ownerKey':resolveOwnerKey(_0x443e7c),'deviceId':_0x443e7c[_0x3edb5f(_0xc102ae._0x56fb89,_0xc102ae._0x64b71b)],'timestamp':_0x443e7c[_0x3edb5f(_0xc102ae._0x551bd0,0x641)],'updatedAt':_0x443e7c[_0x3edb5f(_0xc102ae._0x2949af,0x600)]||_0x443e7c[_0x3edb5f(_0xc102ae._0x257948,_0xc102ae._0x48ae7b)],'baseVersion':_0x443e7c['baseVersion'],'version':_0x443e7c['version'],'lastWriterDeviceId':_0x443e7c[_0x3edb5f(_0xc102ae._0x2c9b1e,_0xc102ae._0x882542)],'payloadChecksum':_0x443e7c[_0x3edb5f(_0xc102ae._0x24c495,_0xc102ae._0x11c8d7)],'createdAt':_0x18d371,'applyStatus':_0x3edb5f(_0xc102ae._0x1ed906,_0xc102ae._0x101be0)};function _0x3edb5f(_0x410bfa,_0x4f8be5){return _0x32e305(_0x4f8be5-_0x493113._0x2717f1,_0x410bfa);}await _0x3aff22[_0x3edb5f(_0xc102ae._0x5b354f,0x614)]({'opId':_0x443e7c[_0x3edb5f(0x5d8,0x61a)]},{'$setOnInsert':_0x546b84},{'upsert':!0x0,'session':_0x453087});const _0x1dac7b=await _0x3aff22['findOne']({'opId':_0x443e7c[_0x3edb5f(0x608,_0xc102ae._0x36573a)]},{'session':_0x453087,'projection':{'applyStatus':0x1,'remoteAckAt':0x1,'serverVersion':0x1,'serverChecksum':0x1}});if('applied'===_0x1dac7b?.['applyStatus'])return _0x1dac7b[_0x3edb5f(_0xc102ae._0x3fc0a8,0x5e1)]||await _0x3aff22[_0x3edb5f(0x5de,_0xc102ae._0x14befb)]({'opId':_0x443e7c[_0x3edb5f(_0xc102ae._0x819fe2,0x61a)]},{'$set':{'syncedAt':_0x18d371}},{'session':_0x453087}),_0xf7b64[_0x3edb5f(0x6bb,_0xc102ae._0x3f978b)]=_0x3edb5f(_0xc102ae._0x3d4d48,_0xc102ae._0xe1cf86),_0xf7b64[_0x3edb5f(0x635,0x5e0)]=_0x1dac7b['remoteAckAt']||_0x18d371,_0xf7b64[_0x3edb5f(0x6a6,0x663)]=asInt(_0x1dac7b[_0x3edb5f(0x612,0x663)],_0x443e7c['version']),void(_0xf7b64['serverChecksum']=_0x1dac7b[_0x3edb5f(_0xc102ae._0x41b6b9,0x678)]||null);const _0x2fc097=await _applyOpToAtlasData(_0x4154c4,_0x443e7c,_0x453087);if(_0x3edb5f(_0xc102ae._0x64b71b,_0xc102ae._0x2c8585)===_0x2fc097[_0x3edb5f(_0xc102ae._0x324074,0x670)])throw await _0x3aff22['updateOne']({'opId':_0x443e7c[_0x3edb5f(0x669,0x61a)]},{'$set':{'applyStatus':'conflict','conflictAt':_0x18d371,'conflict':_0x2fc097[_0x3edb5f(_0xc102ae._0x6101cd,_0xc102ae._0x377fe3)],'updatedAt':_0x18d371}},{'session':_0x453087}),new ConflictError('version\x20mismatch\x20for\x20'+_0x443e7c['collection']+'/'+_0x443e7c[_0x3edb5f(_0xc102ae._0x27bac7,0x65d)]+'\x20(expected\x20'+_0x2fc097[_0x3edb5f(_0xc102ae._0x4979b3,0x615)][_0x3edb5f(0x63f,0x649)]+',\x20got\x20'+_0x2fc097[_0x3edb5f(0x5e7,_0xc102ae._0x29b69a)][_0x3edb5f(0x650,_0xc102ae._0x1be8ab)]+_0x3edb5f(0x61b,_0xc102ae._0x5a3931)+_0x443e7c[_0x3edb5f(_0xc102ae._0x5577ed,_0xc102ae._0x36573a)],{'collection':_0x443e7c['collection'],'docId':_0x443e7c[_0x3edb5f(_0xc102ae._0x5ecfff,0x65d)],'opId':_0x443e7c[_0x3edb5f(0x652,0x61a)],'localVersion':_0x2fc097[_0x3edb5f(_0xc102ae._0x573b44,_0xc102ae._0x29b69a)][_0x3edb5f(_0xc102ae._0x11b0fa,_0xc102ae._0x3d4d48)],'remoteVersion':_0x2fc097[_0x3edb5f(_0xc102ae._0x3cba97,_0xc102ae._0x4ae304)]['current'],'op':_0x443e7c[_0x3edb5f(0x63f,0x610)]});await _0x3aff22['updateOne']({'opId':_0x443e7c[_0x3edb5f(0x5d8,_0xc102ae._0x3b096e)]},{'$set':{'applyStatus':_0x3edb5f(_0xc102ae._0x589eb3,0x668),'applied':!0x0,'remoteAckAt':_0x18d371,'syncedAt':_0x18d371,'serverVersion':_0x2fc097[_0x3edb5f(_0xc102ae._0x2858ee,0x5c7)],'serverChecksum':_0x2fc097[_0x3edb5f(0x624,0x5ca)],'updatedAt':_0x18d371}},{'session':_0x453087}),_0xf7b64['status']=_0x3edb5f(0x5af,_0xc102ae._0xe1cf86)===_0x2fc097[_0x3edb5f(_0xc102ae._0x57d870,_0xc102ae._0x3f978b)]?_0x3edb5f(0x5d0,0x5f8):'applied',_0xf7b64[_0x3edb5f(0x615,_0xc102ae._0x3696a4)]=_0x18d371,_0xf7b64[_0x3edb5f(0x676,_0xc102ae._0x58e994)]=_0x2fc097['version'],_0xf7b64[_0x3edb5f(0x62a,0x678)]=_0x2fc097[_0x3edb5f(_0xc102ae._0x571ea2,_0xc102ae._0x20bceb)];},TXN_OPTIONS);}finally{await _0x453087['endSession']();}return _0xf7b64;}async function _applyOpToAtlasData(_0x460745,_0x59336f,_0x2452e5){const _0x7fea68={_0x209b96:0x1b,_0x40d47e:0x1b,_0x15b82a:0x78,_0x1f6607:0x4c,_0x81c028:0x46,_0x55c1db:0x59,_0x448076:0x60,_0x3d29b7:0x43,_0x4eb337:0xa0,_0x2141fc:0x43,_0x2326b4:0x77,_0x1f54f1:0x40,_0x1f1d11:0x43,_0x4d8b13:0x6,_0x478905:0x1e,_0xe42332:0x1b,_0x53c1b6:0x52,_0x553f7f:0x92,_0x4f77a5:0x37,_0x4a3302:0x43,_0x5ba032:0x89,_0x2d1441:0x3f,_0x110583:0xe,_0x51f6aa:0x53,_0x12d63a:0x1d,_0x54d4a5:0x3e,_0x12e500:0x5e},_0xb26998=_0x460745['collection'](_0x59336f[_0x42c108(-_0x7fea68._0x209b96,-0x1e)]),_0x283975=_0x460745[_0x42c108(-_0x7fea68._0x40d47e,-_0x7fea68._0x15b82a)](_0x42c108(_0x7fea68._0x1f6607,_0x7fea68._0x81c028)),_0xe3b000=metaId(_0x59336f['collection'],_0x59336f[_0x42c108(0x53,_0x7fea68._0x55c1db)]),_0x5042c5=toObjectId(_0x59336f[_0x42c108(0x53,0x38)]),_0x2a6fe0=await _0x283975['findOne']({'_id':_0xe3b000},{'session':_0x2452e5,'projection':{'version':0x1,'updatedByOpId':0x1,'updatedAt':0x1,'lastWriterDeviceId':0x1}});if(_0x2a6fe0?.[_0x42c108(-0x7,0x13)]===_0x59336f[_0x42c108(0x10,-0x20)])return{'status':'already_applied','version':asInt(_0x2a6fe0[_0x42c108(-0x43,-_0x7fea68._0x448076)],_0x59336f[_0x42c108(-_0x7fea68._0x3d29b7,-0x1b)]),'checksum':_0x59336f[_0x42c108(0x52,_0x7fea68._0x4eb337)]};let _0x50a5b8=asInt(_0x2a6fe0?.[_0x42c108(-_0x7fea68._0x2141fc,-_0x7fea68._0x2326b4)],0x0);if(!_0x2a6fe0){const _0x572d70=await _0xb26998[_0x42c108(0x40,0x95)]({'_id':_0x5042c5},{'session':_0x2452e5,'projection':{'_mf_version':0x1}});_0x50a5b8=asInt(_0x572d70?.[_0x42c108(0x5a,_0x7fea68._0x1f54f1)],0x0);}const _0x34f900=asInt(_0x59336f[_0x42c108(0x44,0x71)],Math[_0x42c108(-0x1c,0x9)](asInt(_0x59336f[_0x42c108(-_0x7fea68._0x1f1d11,0x4)],0x1)-0x1,0x0));if(_0x50a5b8!==_0x34f900)return'create'===_0x59336f[_0x42c108(_0x7fea68._0x4d8b13,-_0x7fea68._0x478905)]&&0x0===_0x34f900&&_0x50a5b8>0x0?(console['warn']('[MongoFire]\x20Ghost\x20create\x20auto-resolved\x20for\x20'+_0x59336f[_0x42c108(-_0x7fea68._0xe42332,-0x31)]+'/'+_0x59336f['docId']+_0x42c108(-0x42,-0x86)+_0x50a5b8+_0x42c108(0x26,0xa)),{'status':_0x42c108(-0x12,0xc),'version':_0x50a5b8,'checksum':_0x59336f[_0x42c108(_0x7fea68._0x53c1b6,_0x7fea68._0x553f7f)]}):{'status':'conflict','conflict':{'expected':_0x34f900,'current':_0x50a5b8}};const _0x747fe5=new Date(),_0x49818a=asDate(_0x59336f[_0x42c108(-0xa,-0x17)])||asDate(_0x59336f[_0x42c108(_0x7fea68._0x4f77a5,0x3e)])||_0x747fe5,_0x56b1db=asInt(_0x59336f[_0x42c108(-_0x7fea68._0x4a3302,-0x6)],_0x34f900+0x1);let _0x2ef812=_0x59336f[_0x42c108(_0x7fea68._0x53c1b6,0x3a)];function _0x42c108(_0x5d6d7b,_0x39449f){return _0x33b438(_0x39449f,_0x5d6d7b-0x14f);}if(_0x42c108(-0x2c,-0x81)===_0x59336f[_0x42c108(_0x7fea68._0x4d8b13,_0x7fea68._0x40d47e)])await _0xb26998[_0x42c108(-0x3b,-_0x7fea68._0x5ba032)]({'_id':_0x5042c5},{'session':_0x2452e5});else{const _0x3e3477=buildDocPayload(_0x59336f,_0x56b1db,_0x59336f['lastWriterDeviceId']||_0x59336f['deviceId']);if(!_0x3e3477)throw new Error(_0x42c108(0x2e,0x87)+_0x59336f['type']+_0x42c108(0x75,_0x7fea68._0x2d1441)+_0x59336f[_0x42c108(0x10,0x60)]);_0x3e3477['updatedAt']=_0x49818a,_0x2ef812=payloadChecksum(_0x3e3477),await _0xb26998[_0x42c108(_0x7fea68._0x110583,0x2)]({'_id':toObjectId(_0x59336f[_0x42c108(_0x7fea68._0x51f6aa,0x42)])},_0x3e3477,{'upsert':!0x0,'session':_0x2452e5});}return await _upsertDocMeta(_0x283975,{'op':_0x59336f,'nextVersion':_0x56b1db,'opUpdatedAt':_0x49818a,'writerDeviceId':_0x59336f[_0x42c108(_0x7fea68._0x12d63a,-0x35)]||_0x59336f[_0x42c108(_0x7fea68._0x54d4a5,_0x7fea68._0x55c1db)],'checksum':_0x2ef812,'now':_0x747fe5,'session':_0x2452e5}),{'status':_0x42c108(_0x7fea68._0x12e500,0x57),'version':_0x56b1db,'checksum':_0x2ef812};}async function _applyRemoteOpLocally(_0x9a70a7,_0x5375b0,_0x1499c1=null){const _0x5ae3f1={_0x30d4dc:0x398,_0x526ef3:0x3e4,_0x532175:0x356,_0x424f68:0x3ff,_0x48a686:0x3ac,_0x4c5733:0x3e4,_0x1f00ad:0x3c3,_0x34bf1b:0x3c3,_0x1605eb:0x3f7,_0xf7fb99:0x397,_0x4c908f:0x36e,_0x541cc3:0x370,_0x584ed7:0x3a9,_0x49f081:0x36e,_0x2c81b4:0x3d0,_0x37bb82:0x3d4,_0x5c72ad:0x361,_0x34b3ae:0x40d,_0x3d849c:0x3d0,_0x5a36d0:0x35a,_0x394400:0x3a9,_0xd5de5f:0x36a,_0x5953a8:0x370,_0x4e6535:0x3e9,_0x4fb679:0x405,_0x5d4648:0x387,_0x214a90:0x378},_0x4b81c0=_0x9a70a7[_0x584257(_0x5ae3f1._0x30d4dc,0x38e)](_0x5375b0[_0x584257(0x398,_0x5ae3f1._0x526ef3)]),_0x3c1f1a=_0x9a70a7[_0x584257(_0x5ae3f1._0x30d4dc,_0x5ae3f1._0x532175)](_0x584257(_0x5ae3f1._0x424f68,0x45b)),_0x5a5d28=toObjectId(_0x5375b0['docId']),_0x2d92b4=metaId(_0x5375b0[_0x584257(0x398,0x3cb)],_0x5375b0['docId']);if(null==_0x1499c1&&(_0x1499c1=await _0x3c1f1a[_0x584257(0x3f3,0x406)]({'_id':_0x2d92b4},{'projection':{'version':0x1,'updatedAt':0x1,'lastWriterDeviceId':0x1,'updatedByOpId':0x1,'lastOpId':0x1}})),_0x1499c1?.[_0x584257(_0x5ae3f1._0x48a686,_0x5ae3f1._0x4c5733)]===_0x5375b0[_0x584257(_0x5ae3f1._0x1f00ad,0x3df)]||_0x1499c1?.[_0x584257(0x3f6,0x44f)]===_0x5375b0[_0x584257(_0x5ae3f1._0x34bf1b,0x3d6)])return!0x1;const _0x1d98ac=asInt(_0x5375b0[_0x584257(_0x5ae3f1._0x1605eb,0x441)],Math[_0x584257(_0x5ae3f1._0xf7fb99,_0x5ae3f1._0x4c908f)](asInt(_0x5375b0['version'],0x1)-0x1,0x0)),_0x4369e9=asInt(_0x1499c1?.['version'],0x0),_0x39566c={'version':asInt(_0x5375b0[_0x584257(_0x5ae3f1._0x541cc3,0x384)],_0x1d98ac+0x1),'updatedAt':asDate(_0x5375b0[_0x584257(_0x5ae3f1._0x584ed7,_0x5ae3f1._0x49f081)])||asDate(_0x5375b0['timestamp'])||new Date(0x0),'deviceId':_0x5375b0[_0x584257(_0x5ae3f1._0x2c81b4,0x3fb)]||_0x5375b0[_0x584257(0x3f1,_0x5ae3f1._0x37bb82)]||'','tie':_0x5375b0['opId']||''};function _0x584257(_0x1459aa,_0x43f175){return _0x33b438(_0x43f175,_0x1459aa-0x502);}if(_0x4369e9!==_0x1d98ac){const _0x16fdf5=await _0x4b81c0[_0x584257(0x3f3,0x3d3)]({'_id':_0x5a5d28},{'projection':{'updatedAt':0x1,'_mf_lastWriterDeviceId':0x1,'_mf_lastOpId':0x1,'_mf_version':0x1}});if(_compareMeta({'version':asInt(_0x1499c1?.[_0x584257(0x370,_0x5ae3f1._0x5c72ad)],asInt(_0x16fdf5?.[_0x584257(_0x5ae3f1._0x34b3ae,0x3f6)],0x0)),'updatedAt':asDate(_0x1499c1?.[_0x584257(0x3a9,0x3ea)])||asDate(_0x16fdf5?.[_0x584257(_0x5ae3f1._0x584ed7,0x3ed)])||new Date(0x0),'deviceId':_0x1499c1?.[_0x584257(_0x5ae3f1._0x3d849c,0x3f5)]||_0x16fdf5?.[_0x584257(0x36c,0x355)]||'','tie':_0x1499c1?.['lastOpId']||_0x16fdf5?.[_0x584257(0x37c,_0x5ae3f1._0x5a36d0)]||''},_0x39566c)>=0x0)return!0x1;}const _0x3eccb6=new Date(),_0x1b7539=asDate(_0x5375b0[_0x584257(_0x5ae3f1._0x394400,_0x5ae3f1._0xd5de5f)])||asDate(_0x5375b0['timestamp'])||_0x3eccb6,_0x29e1fb=_0x39566c[_0x584257(_0x5ae3f1._0x5953a8,0x385)],_0x11a195=_0x39566c[_0x584257(0x3f1,_0x5ae3f1._0x4e6535)];let _0x5602d1=_0x5375b0[_0x584257(_0x5ae3f1._0x4fb679,0x3ad)];if(_0x584257(_0x5ae3f1._0x5d4648,0x348)===_0x5375b0['type'])await _0x4b81c0[_0x584257(_0x5ae3f1._0x214a90,0x32b)]({'_id':_0x5a5d28});else{const _0x38a35b=buildDocPayload(_0x5375b0,_0x29e1fb,_0x11a195);if(!_0x38a35b)return!0x1;_0x38a35b['updatedAt']=_0x1b7539,_0x5602d1=payloadChecksum(_0x38a35b),await _0x4b81c0[_0x584257(0x3c1,0x406)]({'_id':_0x5a5d28},_0x38a35b,{'upsert':!0x0});}return await _upsertDocMeta(_0x3c1f1a,{'op':_0x5375b0,'nextVersion':_0x29e1fb,'opUpdatedAt':_0x1b7539,'writerDeviceId':_0x11a195,'checksum':_0x5602d1,'now':_0x3eccb6,'session':null}),!0x0;}async function _reconcileDeleteBaseVersion(_0x41b9be,_0x12267b){const _0xf15778={_0x37bbb9:0x536,_0x59c96a:0x52f,_0x13f106:0x523,_0x1ab545:0x563,_0x2727cf:0x527,_0x1bf858:0x588,_0x166271:0x4e3},_0x46c4d0=_0x12267b||_conn;if(!_0x46c4d0[_0x4c5d0e(0x4fd,0x542)])return;function _0x4c5d0e(_0x4d2e1d,_0xd3bc5c){return _0x33b438(_0xd3bc5c,_0x4d2e1d-0x632);}const _0x549af2=metaId(_0x41b9be['collection'],_0x41b9be[_0x4c5d0e(_0xf15778._0x37bbb9,0x4e1)]),_0x280c60=await _0x46c4d0['atlas'][_0x4c5d0e(0x4c8,0x4ae)](_0x4c5d0e(_0xf15778._0x59c96a,0x4de))[_0x4c5d0e(_0xf15778._0x13f106,_0xf15778._0x1ab545)]({'_id':_0x549af2},{'projection':{'version':0x1}});if(!_0x280c60)return;const _0x362826=asInt(_0x280c60['version'],0x0);if(_0x362826!==_0x41b9be[_0x4c5d0e(_0xf15778._0x2727cf,0x4c7)])throw new ConflictError(_0x4c5d0e(0x53b,_0xf15778._0x1bf858)+_0x41b9be[_0x4c5d0e(0x4c8,0x4c8)]+'/'+_0x41b9be[_0x4c5d0e(0x536,0x500)]+'\x20conflicts\x20with\x20a\x20concurrent\x20remote\x20update\x20(delete\x20baseVersion='+_0x41b9be['baseVersion']+',\x20remote\x20version='+_0x362826+')\x20—\x20opId:\x20'+_0x41b9be[_0x4c5d0e(0x4f3,_0xf15778._0x166271)],{'collection':_0x41b9be['collection'],'docId':_0x41b9be[_0x4c5d0e(0x536,0x55e)],'opId':_0x41b9be[_0x4c5d0e(0x4f3,0x49c)],'localVersion':_0x41b9be[_0x4c5d0e(0x527,0x54c)],'remoteVersion':_0x362826,'op':_0x4c5d0e(0x4b7,0x4ab)});}async function _verifyRemoteState(_0xab815,_0x3f8eb8,_0x33b529){const _0x5ba2eb={_0x95f3df:0x4e6,_0x4eef8f:0x4da,_0x2b4a37:0x4e6,_0x2f8b79:0x4b1,_0x35c18a:0x50c,_0x308e7e:0x45b,_0x5cca67:0x4a0,_0x316d44:0x4fb},_0x3e2473=_0x33b529||_conn;if(!_0x3e2473[_0x365110(0x514,_0x5ba2eb._0x95f3df)])return!0x1;const _0x153e50=toObjectId(_0xab815[_0x365110(0x4c6,0x51f)]),_0x5ea9c4=await _0x3e2473[_0x365110(_0x5ba2eb._0x4eef8f,_0x5ba2eb._0x2b4a37)][_0x365110(0x46d,_0x5ba2eb._0x2f8b79)](_0xab815[_0x365110(0x4df,0x4b1)])[_0x365110(_0x5ba2eb._0x35c18a,0x50c)]({'_id':_0x153e50},{'projection':{'_id':0x0}});function _0x365110(_0x189c7a,_0x1da62f){return _0x33b438(_0x189c7a,_0x1da62f-0x61b);}return _0x365110(_0x5ba2eb._0x308e7e,_0x5ba2eb._0x5cca67)===_0xab815[_0x365110(_0x5ba2eb._0x316d44,0x4d2)]?!_0x5ea9c4:!!_0x5ea9c4&&payloadChecksum(_0x5ea9c4)===(_0x3f8eb8[_0x365110(0x4e2,0x53a)]||_0xab815['payloadChecksum']);}async function _withRetry(_0x3a8d0c,_0xe6f4af={}){const _0x494161={_0xe724b6:0x638,_0x33a257:0x626,_0x4d180d:0x5e0},_0x1d7b36=_0xe6f4af[_0x1a2e33(_0x494161._0xe724b6,_0x494161._0x33a257)]||0x5,_0x5191ef=_0xe6f4af[_0x1a2e33(0x641,0x5e1)]||0xfa;let _0x4be13c=0x0;function _0x1a2e33(_0x3cd176,_0x511d83){return _0x33b438(_0x511d83,_0x3cd176-0x765);}for(;_0x4be13c<_0x1d7b36;)try{return await _0x3a8d0c();}catch(_0x46fbd7){if(_0x4be13c++,_0x4be13c>=_0x1d7b36||!_isRetryable(_0x46fbd7))throw _0x46fbd7;const _0x3f9992=Math['floor'](0x64*Math['random']()),_0x3206cc=Math[_0x1a2e33(_0x494161._0x4d180d,0x580)](_0x5191ef*0x2**(_0x4be13c-0x1)+_0x3f9992,0x2710);_0x1a2e33(0x66a,0x60d)==typeof _0xe6f4af['onRetry']&&_0xe6f4af[_0x1a2e33(0x5f2,0x593)](_0x4be13c,_0x3206cc,_0x46fbd7),await _sleep(_0x3206cc);}}function _normalizeOpRow(_0x250b0e){const _0x164154={_0xda5ecd:0x12b,_0x343e13:0x188,_0x4dd3eb:0x1b8,_0xb8a445:0x17b,_0x43d5d4:0x153,_0x4f9e19:0x113,_0x5446c9:0x174,_0x16d595:0xb6,_0x5d5792:0x165,_0x378c9a:0x1a6,_0x42fda7:0x1af,_0x1567f7:0x17f,_0x5beae1:0x109,_0x2d96fc:0x11f,_0x39b060:0x143,_0xb67e7:0x110,_0x95955e:0x16d,_0x47ef25:0xe9,_0x5c5eae:0x146,_0xd11e2f:0x166,_0x3689ab:0x189,_0x3c7a06:0x17e};function _0x581b68(_0x18f4ac,_0x420c35){return _0x33b438(_0x18f4ac,_0x420c35- -0x14);}const _0x881348=resolveOpType(_0x250b0e),_0x41bf8e=resolveOwnerKey(_0x250b0e),_0x303854=asDate(_0x250b0e[_0x581b68(-_0x164154._0xda5ecd,-0x12c)]||_0x250b0e['changedAt']||_0x250b0e['updatedAt']||_0x250b0e[_0x581b68(-0x152,-0x12e)])||new Date(),_0x200770=safeDoc(void 0x0!==_0x250b0e[_0x581b68(-0x129,-_0x164154._0x343e13)]?_0x250b0e[_0x581b68(-_0x164154._0x4dd3eb,-0x188)]:_0x250b0e[_0x581b68(-_0x164154._0xb8a445,-0x191)]),_0x16248e=_0x250b0e[_0x581b68(-0x1b0,-_0x164154._0x43d5d4)]||_0x581b68(-_0x164154._0x4f9e19,-0x14c)+String(_0x250b0e[_0x581b68(-0x153,-_0x164154._0x5446c9)]||crypto[_0x581b68(-_0x164154._0x16d595,-0xed)]()),_0x2530c9=asInt(_0x250b0e[_0x581b68(-_0x164154._0x5d5792,-_0x164154._0x378c9a)],null),_0x404dce=null===_0x2530c9?Math[_0x581b68(-_0x164154._0x42fda7,-_0x164154._0x1567f7)](asInt((_0x200770||{})[_0x581b68(-0x163,-_0x164154._0x5beae1)],0x1),0x1):_0x2530c9,_0xaf17e7=asInt(_0x250b0e[_0x581b68(-0x123,-_0x164154._0x2d96fc)],Math[_0x581b68(-_0x164154._0x39b060,-_0x164154._0x1567f7)](_0x404dce-0x1,0x0)),_0x28ba10=_0x250b0e['payloadChecksum']||payloadChecksum(_0x200770,!0x0),_0x38ad4a=null!=_0x250b0e[_0x581b68(-0x12d,-0x110)]?String(_0x250b0e[_0x581b68(-0x16f,-_0x164154._0xb67e7)]):null;return _0x38ad4a?{'_id':_0x250b0e['_id'],'opId':_0x16248e,'type':_0x881348,'collection':_0x250b0e[_0x581b68(-0x136,-0x17e)],'docId':_0x38ad4a,'payload':_0x200770,'ownerKey':_0x41bf8e,'deviceId':_0x250b0e[_0x581b68(-0x180,-0x125)]||'','timestamp':_0x303854,'updatedAt':asDate(_0x250b0e[_0x581b68(-0x143,-_0x164154._0x95955e)]||_0x250b0e[_0x581b68(-0x176,-0x15b)])||_0x303854,'baseVersion':_0xaf17e7,'version':_0x404dce,'lastWriterDeviceId':_0x250b0e[_0x581b68(-_0x164154._0x47ef25,-_0x164154._0x5c5eae)]||_0x250b0e['deviceId']||'','payloadChecksum':_0x28ba10}:(console['warn']('[MongoFire]\x20_normalizeOpRow:\x20skipping\x20op\x20\x22'+_0x16248e+_0x581b68(-0x10c,-_0x164154._0xd11e2f)+_0x250b0e[_0x581b68(-_0x164154._0x3689ab,-_0x164154._0x3c7a06)]+_0x581b68(-0xd4,-0x118)),null);}function _compareMeta(_0x370707,_0x54091c){const _0x47b7ec={_0x2a54cd:0xa2,_0x756c2:0xdb,_0x8408d8:0x7e,_0xe731e0:0x123},_0x1816ad=asInt(_0x370707?.[_0xc5241b(0xa2,0x94)],0x0),_0x1bdab3=asInt(_0x54091c?.[_0xc5241b(_0x47b7ec._0x2a54cd,0x7d)],0x0);if(_0x1816ad!==_0x1bdab3)return _0x1816ad-_0x1bdab3;const _0xf22ce4=asDate(_0x370707?.[_0xc5241b(0xdb,0x100)])?.[_0xc5241b(0xa0,0xd3)]()||0x0,_0x57cdb0=asDate(_0x54091c?.[_0xc5241b(_0x47b7ec._0x756c2,_0x47b7ec._0x8408d8)])?.['getTime']()||0x0;if(_0xf22ce4!==_0x57cdb0)return _0xf22ce4-_0x57cdb0;const _0x37c575=String(_0x370707?.[_0xc5241b(0x123,0x178)]||''),_0x3310cc=String(_0x54091c?.[_0xc5241b(_0x47b7ec._0xe731e0,0xff)]||'');function _0xc5241b(_0x4b8da3,_0x4ff5fa){return _0x33b438(_0x4ff5fa,_0x4b8da3-0x234);}return _0x37c575!==_0x3310cc?_0x37c575['localeCompare'](_0x3310cc):String(_0x370707?.['tie']||'')[_0xc5241b(0x13a,0xf4)](String(_0x54091c?.['tie']||''));}function _isRetryable(_0x3b9556){const _0x29cd4e={_0x4d637d:0x5dd,_0x1b4e4c:0x64f,_0x1cc533:0x5f6,_0x209054:0x5a9,_0x340f14:0x627,_0x2f191d:0x59e,_0x276569:0x5ec,_0x45aed7:0x683,_0x3bbf16:0x5a5,_0x29f159:0x5b0,_0x457588:0x596};if(!_0x3b9556||_0x3b9556 instanceof ConflictError)return!0x1;if(_0x3b9556[_0x2605a6(0x618,_0x29cd4e._0x4d637d)]&&(_0x3b9556[_0x2605a6(0x5b5,_0x29cd4e._0x4d637d)](_0x2605a6(_0x29cd4e._0x1b4e4c,0x623))||_0x3b9556[_0x2605a6(0x613,0x5dd)](_0x2605a6(_0x29cd4e._0x1cc533,_0x29cd4e._0x209054))))return!0x0;function _0x2605a6(_0x244cae,_0x55a381){return _0x33b438(_0x244cae,_0x55a381-0x73c);}if(new Set([0x6,0x7,0x59,0x5b,0xbd,0x106,0x2329,0x277b,0x2d50,0x2d52,0x347b,0x347c,0x4074])[_0x2605a6(0x5ed,_0x29cd4e._0x340f14)](_0x3b9556['code']))return!0x0;const _0x28fa48=String(_0x3b9556['message']||'')[_0x2605a6(0x643,0x626)]();return _0x28fa48[_0x2605a6(0x58c,0x5ec)]('timed\x20out')||_0x28fa48[_0x2605a6(_0x29cd4e._0x2f191d,_0x29cd4e._0x276569)](_0x2605a6(_0x29cd4e._0x45aed7,0x64d))||_0x28fa48[_0x2605a6(_0x29cd4e._0x3bbf16,0x5ec)](_0x2605a6(0x5b7,0x609))||_0x28fa48[_0x2605a6(0x62a,0x5ec)](_0x2605a6(_0x29cd4e._0x29f159,0x5de))||_0x28fa48[_0x2605a6(_0x29cd4e._0x457588,0x5ec)](_0x2605a6(0x5f9,0x605));}function _sleep(_0x515460){return new Promise(_0x4842dd=>setTimeout(_0x4842dd,_0x515460));}async function _dismissStaleCreateOps(_0x24c271,_0x5694ad,_0x1fd138){const _0xe11575={_0x26e727:0x595,_0x3bf06c:0x597,_0x40e6d0:0x54c,_0x3f8709:0x5fe,_0x5841e8:0x5bc,_0x1c37c3:0x604,_0x55f0f6:0x5de,_0x8a0aaf:0x56a,_0x2d15de:0x566,_0x575075:0x5e8,_0xbc2906:0x571,_0x6380c0:0x600,_0x5cc84e:0x5a5,_0x162464:0x57e,_0x331f56:0x547,_0x26eedc:0x56a,_0x1a97b4:0x5ba,_0x4a86d4:0x5cb,_0x444a35:0x601,_0x261c6c:0x579,_0x50d3f3:0x5d4,_0x4fea21:0x533,_0x5a050a:0x5e6,_0x5a0185:0x603,_0x1d865f:0x5d0,_0x4b2142:0x599,_0x2a7d11:0x54b,_0x1522bd:0x5f3,_0x3c3738:0x57b,_0x2f081e:0x5c8,_0x1d8361:0x5c8,_0x228683:0x5da,_0x23d9f3:0x5ab,_0x2a20d3:0x5a1},_0x5bc198={_0x550a43:0x6db},_0x237d16=_0x1fd138||_conn;function _0x3a46d0(_0x44988b,_0x45af7b){return _0x33b438(_0x45af7b,_0x44988b-_0x5bc198._0x550a43);}let _0x2854c9=0x0;try{const _0x48157f=await _0x5694ad[_0x3a46d0(0x571,_0xe11575._0x26e727)](_0x3a46d0(0x593,0x5a3))[_0x3a46d0(0x600,0x5e0)]({'collection':_0x24c271,'synced':!0x1,'ackState':{'$nin':[_0x3a46d0(_0xe11575._0x3bf06c,0x5d8),_0x3a46d0(0x552,_0xe11575._0x40e6d0),_0x3a46d0(_0xe11575._0x3f8709,_0xe11575._0x5841e8),_0x3a46d0(_0xe11575._0x1c37c3,_0xe11575._0x55f0f6)]},'$or':[{'type':_0x3a46d0(0x5c7,0x61c)},{'op':_0x3a46d0(0x5c7,0x59f)}]})[_0x3a46d0(0x5a7,0x56e)]({'_id':0x1,'docId':0x1,'baseVersion':0x1,'version':0x1})[_0x3a46d0(0x579,0x56b)]();if(!_0x48157f[_0x3a46d0(_0xe11575._0x8a0aaf,_0xe11575._0x2d15de)])return 0x0;const _0xa0d56f=_0x48157f[_0x3a46d0(_0xe11575._0x575075,0x60a)](_0xb7051f=>metaId(_0x24c271,String(_0xb7051f['docId']))),_0x1492d0=await _0x5694ad[_0x3a46d0(_0xe11575._0xbc2906,0x54c)](_0x3a46d0(0x5d8,0x624))[_0x3a46d0(_0xe11575._0x6380c0,0x632)]({'_id':{'$in':_0xa0d56f}})['project']({'_id':0x1,'version':0x1})[_0x3a46d0(0x579,_0xe11575._0x5cc84e)](),_0x31cf71=new Map(_0x1492d0[_0x3a46d0(_0xe11575._0x575075,0x608)](_0x4f82d3=>[_0x4f82d3['_id'],asInt(_0x4f82d3[_0x3a46d0(0x549,0x595)],0x0)])),_0x425559=_0x48157f[_0x3a46d0(0x5a2,_0xe11575._0x162464)](_0x582a3f=>0x0===asInt(_0x582a3f['baseVersion'],-0x1))[_0x3a46d0(0x5a2,_0xe11575._0x331f56)](_0x1c17b6=>!_0x31cf71[_0x3a46d0(0x5c6,0x56a)](metaId(_0x24c271,String(_0x1c17b6[_0x3a46d0(0x5df,0x5d4)]))))[_0x3a46d0(0x5e8,0x608)](_0x49516c=>String(_0x49516c['docId'])),_0x6415ed=new Map();if(_0x425559[_0x3a46d0(_0xe11575._0x26eedc,0x51c)]){const {toObjectId:_0x55167d}=require(_0x3a46d0(0x56d,_0xe11575._0x1a97b4)),_0x478448=await _0x5694ad[_0x3a46d0(_0xe11575._0xbc2906,_0xe11575._0x4a86d4)](_0x24c271)['find']({'_id':{'$in':_0x425559[_0x3a46d0(0x5e8,_0xe11575._0x444a35)](_0x55167d)}})['project']({'_id':0x1,'_mf_version':0x1})[_0x3a46d0(_0xe11575._0x261c6c,_0xe11575._0x50d3f3)]();for(const _0x5166f0 of _0x478448)_0x6415ed['set'](String(_0x5166f0[_0x3a46d0(0x57b,_0xe11575._0x4fea21)]),asInt(_0x5166f0[_0x3a46d0(_0xe11575._0x5a050a,_0xe11575._0x5a0185)],0x0));}const _0x45ecef=[];for(const _0x497ce8 of _0x48157f){if(0x0!==asInt(_0x497ce8[_0x3a46d0(_0xe11575._0x1d865f,0x5b4)],-0x1))continue;const _0xf76f30=String(_0x497ce8['docId']),_0x334063=metaId(_0x24c271,_0xf76f30),_0x4399da=_0x31cf71[_0x3a46d0(_0xe11575._0x4b2142,_0xe11575._0x2a7d11)](_0x334063)||0x0,_0x4c4985=_0x6415ed['get'](_0xf76f30)||0x0;Math[_0x3a46d0(0x570,0x57c)](_0x4399da,_0x4c4985)>=0x1&&_0x45ecef[_0x3a46d0(_0xe11575._0x1522bd,_0xe11575._0x26e727)](_0x497ce8[_0x3a46d0(_0xe11575._0x3c3738,0x521)]);}_0x45ecef[_0x3a46d0(0x56a,_0xe11575._0x2f081e)]&&(await markSynced(_0x45ecef,{'ackState':_0x3a46d0(_0xe11575._0x1d8361,_0xe11575._0x228683),'remoteAckAt':new Date()},_0x237d16),_0x2854c9=_0x45ecef['length']);}catch(_0x46ea74){console[_0x3a46d0(0x5dd,0x60c)](_0x3a46d0(_0xe11575._0x23d9f3,0x54c),_0x46ea74[_0x3a46d0(_0xe11575._0x2a20d3,0x5f8)]);}return _0x2854c9;}function _0x360b(_0x6a9e8c,_0x5e6b73){_0x6a9e8c=_0x6a9e8c-0x1e8;const _0x1be798=_0x1be7();let _0x360b04=_0x1be798[_0x6a9e8c];if(_0x360b['RLrNCr']===undefined){var _0x2fa216=function(_0x1abf4d){const _0x258cef='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x58dc0d='',_0x219a98='';for(let _0x5ce81f=0x0,_0x41602a,_0x5313f4,_0x5497a4=0x0;_0x5313f4=_0x1abf4d['charAt'](_0x5497a4++);~_0x5313f4&&(_0x41602a=_0x5ce81f%0x4?_0x41602a*0x40+_0x5313f4:_0x5313f4,_0x5ce81f++%0x4)?_0x58dc0d+=String['fromCharCode'](0xff&_0x41602a>>(-0x2*_0x5ce81f&0x6)):0x0){_0x5313f4=_0x258cef['indexOf'](_0x5313f4);}for(let _0x50bbb1=0x0,_0x13246c=_0x58dc0d['length'];_0x50bbb1<_0x13246c;_0x50bbb1++){_0x219a98+='%'+('00'+_0x58dc0d['charCodeAt'](_0x50bbb1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x219a98);};_0x360b['adCiDV']=_0x2fa216,_0x360b['xNbjSH']={},_0x360b['RLrNCr']=!![];}const _0x40c17d=_0x1be798[0x0],_0x1fcf4b=_0x6a9e8c+_0x40c17d,_0x301c1f=_0x360b['xNbjSH'][_0x1fcf4b];return!_0x301c1f?(_0x360b04=_0x360b['adCiDV'](_0x360b04),_0x360b['xNbjSH'][_0x1fcf4b]=_0x360b04):_0x360b04=_0x301c1f,_0x360b04;}function _resolveOwnerParam(_0x294955){const _0x35c279={_0x3b7cc9:0x66b,_0x2f0d31:0x667,_0x2b3e94:0x674},_0x4e2e74={_0x3face4:0x762};let _0x5bd31a;function _0x8dd2c2(_0xcc59dd,_0x554b59){return _0x33b438(_0xcc59dd,_0x554b59-_0x4e2e74._0x3face4);}try{_0x5bd31a=_0x8dd2c2(_0x35c279._0x3b7cc9,_0x35c279._0x2f0d31)==typeof _0x294955?_0x294955():_0x294955;}catch(_0x3e5ba4){const _0x27514e='[MongoFire]\x20syncOwner\x20function\x20threw\x20—\x20sync\x20aborted\x20to\x20prevent\x20privilege\x20escalation.\x20Fix\x20your\x20syncOwner\x20function.\x20Error:\x20'+(_0x3e5ba4?.[_0x8dd2c2(0x686,0x628)]||_0x3e5ba4);throw console['error'](_0x27514e),new Error(_0x27514e);}return null==_0x5bd31a||''===_0x5bd31a?'*':_0x5bd31a[_0x8dd2c2(0x63f,_0x35c279._0x2b3e94)]();}module[_0x33b438(-0x140,-0x125)]={'runSync':runSync,'getSyncStatus':getSyncStatus};
|
|
1
|
+
'use strict';(function(_0x5e49c8,_0x1a6ca2){const _0x229a20={_0x4aa882:0x140,_0x1e3717:0xef,_0x6dfb8b:0x88,_0x30f10e:0x10f,_0x347471:0xa6,_0x5df038:0x17b,_0x3a7e61:0xde,_0x5bdf42:0x94,_0xe6ea9a:0xed,_0x2a57e2:0x67};function _0x47f876(_0x8da56e,_0x4c7889){return _0x492a(_0x4c7889- -0x280,_0x8da56e);}const _0xbf74cb=_0x5e49c8();while(!![]){try{const _0x268a44=parseInt(_0x47f876(-_0x229a20._0x4aa882,-_0x229a20._0x1e3717))/0x1+-parseInt(_0x47f876(-0xee,-_0x229a20._0x6dfb8b))/0x2+parseInt(_0x47f876(-_0x229a20._0x30f10e,-_0x229a20._0x347471))/0x3+-parseInt(_0x47f876(-_0x229a20._0x5df038,-0x11d))/0x4+-parseInt(_0x47f876(-0x136,-0x104))/0x5*(-parseInt(_0x47f876(-0x1,-0x68))/0x6)+parseInt(_0x47f876(-0xf9,-_0x229a20._0x3a7e61))/0x7*(-parseInt(_0x47f876(-_0x229a20._0x5bdf42,-_0x229a20._0xe6ea9a))/0x8)+parseInt(_0x47f876(-0x67,-0x79))/0x9*(parseInt(_0x47f876(-0x8f,-_0x229a20._0x2a57e2))/0xa);if(_0x268a44===_0x1a6ca2)break;else _0xbf74cb['push'](_0xbf74cb['shift']());}catch(_0x3279a0){_0xbf74cb['push'](_0xbf74cb['shift']());}}}(_0x26cd,0xbf509));const crypto=require(_0x1d3cd1(0xc2,0xce)),{ObjectId:ObjectId}=require(_0x1d3cd1(0xd6,0x99)),defaultConn=require(_0x1d3cd1(0x52,0x17)),{getPending:getPending,markSynced:markSynced,markFailed:markFailed}=require(_0x1d3cd1(0x8c,0x31)),{getDeviceId:getDeviceId}=require(_0x1d3cd1(0x4e,0x16)),{getCursor:getCursor,setCursor:setCursor,deleteCursor:deleteCursor}=require('./state'),{asDate:asDate,asInt:asInt,metaId:metaId,toObjectId:toObjectId,safeDoc:safeDoc,payloadChecksum:payloadChecksum,resolveOwnerKey:resolveOwnerKey,resolveOpType:resolveOpType,buildDocPayload:buildDocPayload,buildPendingSets:buildPendingSets}=require(_0x1d3cd1(0x92,0x3b)),{applyPatch:applyPatch,isPatchPayload:isPatchPayload}=require('./diff');let _conn=defaultConn;const VERIFY_REMOTE_STATE='1'===process[_0x1d3cd1(0xa1,0x109)]['MONGOFIRE_VERIFY_REMOTE'],_uploadLocks=new Map(),_RAW_CONCURRENCY=asInt(process[_0x1d3cd1(0xa1,0x89)][_0x1d3cd1(0x11,0x25)],0x4),COLLECTION_CONCURRENCY=Math[_0x1d3cd1(0x9f,0xcb)](0x1,Math[_0x1d3cd1(0x67,0x1a)](_RAW_CONCURRENCY,0x20));_RAW_CONCURRENCY>0x20&&console[_0x1d3cd1(0x6f,0x54)](_0x1d3cd1(0x62,0x2a)+_RAW_CONCURRENCY+'\x20exceeds\x20max\x20of\x2032\x20—\x20capped\x20to\x20prevent\x20pool\x20exhaustion.');const SYNC_BATCH_SIZE=0x32,OPS_WINDOW=0x64,BULK_SIZE=0x1f4,TXN_OPTIONS={'readPreference':_0x1d3cd1(0x23,0x83),'readConcern':{'level':_0x1d3cd1(0xc9,0xd8)},'writeConcern':{'w':_0x1d3cd1(0x8f,0x2c)},'maxTimeMS':0x3a98};class ConflictError extends Error{constructor(_0x4b54ff,_0x52918b={}){super(_0x4b54ff),this['conflictData']=_0x52918b;}}async function _runParallel(_0x42c734,_0x24dc89,_0x318a74=COLLECTION_CONCURRENCY,_0x26191f='collection'){const _0x951dfd={_0x573a4a:0x234,_0x1867fa:0x201,_0x2cdb4d:0x246,_0x580883:0x222,_0x4b5dfd:0x1cf,_0x1ed9f7:0x19d,_0x6ced47:0x19f,_0x14d8c7:0x1d6,_0x3f0e26:0x1ff,_0x373693:0x19d,_0x48f799:0x228,_0x3485bd:0x240,_0x14295e:0x1e5,_0x560781:0x1d9},_0x2fb0d8={};for(let _0x4025ce=0x0;_0x4025ce<_0x42c734[_0xf2aa7a(-_0x951dfd._0x573a4a,-0x232)];_0x4025ce+=_0x318a74){const _0x447f88=_0x42c734[_0xf2aa7a(-_0x951dfd._0x1867fa,-_0x951dfd._0x2cdb4d)](_0x4025ce,_0x4025ce+_0x318a74),_0x30be00=await Promise[_0xf2aa7a(-_0x951dfd._0x580883,-_0x951dfd._0x4b5dfd)](_0x447f88[_0xf2aa7a(-_0x951dfd._0x1ed9f7,-_0x951dfd._0x6ced47)](_0x24dc89));for(const _0x58b5b3 of _0x30be00)if(_0xf2aa7a(-0x1a2,-_0x951dfd._0x14d8c7)===_0x58b5b3['status']){for(const [_0x31272d,_0x40f9cf]of Object[_0xf2aa7a(-_0x951dfd._0x3f0e26,-_0x951dfd._0x373693)](_0x58b5b3[_0xf2aa7a(-0x246,-0x23c)]))_0x2fb0d8[_0x31272d]=(_0x2fb0d8[_0x31272d]||0x0)+(_0xf2aa7a(-0x257,-0x2a4)==typeof _0x40f9cf?_0x40f9cf:0x0);}else _0x2fb0d8[_0xf2aa7a(-0x228,-0x200)]=(_0x2fb0d8[_0xf2aa7a(-_0x951dfd._0x48f799,-0x279)]||0x0)+0x1,console[_0xf2aa7a(-_0x951dfd._0x3485bd,-0x232)](_0xf2aa7a(-_0x951dfd._0x14295e,-0x223)+_0x26191f+'\x20error:',_0x58b5b3[_0xf2aa7a(-0x214,-_0x951dfd._0x560781)]?.['message']);}function _0xf2aa7a(_0x555dc3,_0x3b09d5){return _0x1d3cd1(_0x555dc3- -0x26d,_0x3b09d5);}return _0x2fb0d8;}async function _upsertDocMeta(_0x5f37d2,{op:_0x29d12b,nextVersion:_0x52abea,opUpdatedAt:_0x392f3b,writerDeviceId:_0x2ecc14,checksum:_0x30fe5e,now:_0x36d9e4,session:_0x174379}={}){const _0x39d57c={_0x5c5f2a:0x158,_0x54eba4:0x163,_0xe6f59d:0x161,_0x318839:0x163,_0x3c65df:0x1c4,_0x4d064b:0x1ac,_0xb703c4:0x153},_0x28bce=_0x174379?{'upsert':!0x0,'session':_0x174379}:{'upsert':!0x0};function _0x596b12(_0x45e763,_0x5af3b5){return _0x1d3cd1(_0x5af3b5-0x116,_0x45e763);}await _0x5f37d2[_0x596b12(0x10a,_0x39d57c._0x5c5f2a)]({'_id':metaId(_0x29d12b[_0x596b12(0x1d8,0x1b9)],_0x29d12b[_0x596b12(0x10d,_0x39d57c._0x54eba4)])},{'$set':{'collection':_0x29d12b[_0x596b12(0x1b5,0x1b9)],'docId':_0x29d12b[_0x596b12(_0x39d57c._0xe6f59d,_0x39d57c._0x318839)],'version':_0x52abea,'updatedAt':_0x392f3b,'lastWriterDeviceId':_0x2ecc14,'deleted':_0x596b12(0x1a0,_0x39d57c._0x3c65df)===_0x29d12b[_0x596b12(0x12c,0x189)],'ownerKey':resolveOwnerKey(_0x29d12b),'updatedByOpId':_0x29d12b[_0x596b12(_0x39d57c._0x4d064b,_0x39d57c._0xb703c4)],'lastOpId':_0x29d12b[_0x596b12(0x119,0x153)],'payloadChecksum':_0x30fe5e},'$setOnInsert':{'createdAt':_0x36d9e4}},_0x28bce);}async function runSync(_0x408a99,_0x1cc14a=_0x1d3cd1(0x64,0x21),_0x59dab9='*',_0x792feb=null,_0x2bb074=null,_0x439a95){const _0x1b31ab={_0x3438d9:0x53,_0x4e2b30:0x56,_0x39a2e7:0x68,_0x3ff310:0x54,_0x50275e:0xf,_0x1fc8d7:0x5e,_0x35c4b3:0x7,_0x13360e:0x42,_0x41e98f:0x4c,_0x2e0bf6:0x60,_0xe6f53f:0x3e,_0x5b2fa2:0x21,_0x30c85d:0x53,_0x277383:0x6e,_0x5d50bb:0x4c,_0x442863:0x17,_0x34396d:0x73,_0x303ccb:0x3e,_0xb8b9ee:0x16,_0x98fa93:0x3,_0x580387:0x3b,_0xcbbb92:0xc,_0xb97b19:0x2b,_0x5908ea:0x21,_0x2d7bfc:0x87},_0x1b14d3={_0x22fbfd:0x66},_0x2dafa1=_0x439a95||_conn;if(!_0x2dafa1[_0x5a298b(-0x93,-0x2f)])return null;function _0x5a298b(_0x5954cb,_0x2f2f0d){return _0x1d3cd1(_0x2f2f0d- -_0x1b14d3._0x22fbfd,_0x5954cb);}const _0x5106c2=_resolveOwnerParam(_0x59dab9),_0x52a087=_0x2bb074||getDeviceId(),_0x181292=COLLECTION_CONCURRENCY;console[_0x5a298b(-0xf,-_0x1b31ab._0x3438d9)](_0x5a298b(-0x4b,-_0x1b31ab._0x4e2b30)+_0x1cc14a+',\x20owner:\x20'+_0x5106c2+_0x5a298b(0x59,_0x1b31ab._0x39a2e7)+_0x408a99['length']+_0x5a298b(0xb,_0x1b31ab._0x3ff310));const _0xec08fe=await _downloadSync(_0x408a99,_0x5106c2,_0x52a087,_0x181292,_0x2dafa1)['catch'](_0x367017=>(console[_0x5a298b(-0x11,-0x39)]('[MongoFire]\x20Download\x20sync\x20error:',_0x367017[_0x5a298b(0x65,0xa)]),{'downloaded':0x0,'deleted':0x0,'failed':0x1})),_0x454bb8=await _uploadSync(_0x408a99,_0x5106c2,_0x181292,_0x792feb,_0x2dafa1)[_0x5a298b(_0x1b31ab._0x50275e,0x32)](_0x48ecba=>(console[_0x5a298b(-0x9,-0x39)]('[MongoFire]\x20Upload\x20sync\x20error:',_0x48ecba[_0x5a298b(-0x25,0xa)]),{'uploaded':0x0,'deleted':0x0,'failed':0x1,'conflicts':0x0,'retried':0x0,'skipped':0x0})),_0x1616bd={'downloaded':_0xec08fe[_0x5a298b(0x53,_0x1b31ab._0x1fc8d7)]||0x0,'deleted':(_0xec08fe['deleted']||0x0)+(_0x454bb8[_0x5a298b(-0x60,_0x1b31ab._0x35c4b3)]||0x0),'uploaded':_0x454bb8['uploaded']||0x0,'failed':(_0xec08fe[_0x5a298b(-0x2e,-0x21)]||0x0)+(_0x454bb8['failed']||0x0),'conflicts':_0x454bb8['conflicts']||0x0,'retried':_0x454bb8[_0x5a298b(-0x7,_0x1b31ab._0x13360e)]||0x0,'skipped':_0x454bb8['skipped']||0x0};return(_0x1616bd[_0x5a298b(0x52,0x5e)]+_0x1616bd[_0x5a298b(-0x63,-_0x1b31ab._0x41e98f)]+_0x1616bd['deleted']+_0x1616bd[_0x5a298b(-_0x1b31ab._0x2e0bf6,-_0x1b31ab._0xe6f53f)]>0x0||_0x1616bd[_0x5a298b(0x32,-_0x1b31ab._0x5b2fa2)]>0x0)&&console[_0x5a298b(-0x8a,-_0x1b31ab._0x30c85d)](_0x5a298b(_0x1b31ab._0x277383,_0x1b31ab._0x5d50bb)+_0x1616bd['downloaded']+'\x20↑'+_0x1616bd[_0x5a298b(0x13,-_0x1b31ab._0x5d50bb)]+'\x20DEL:'+_0x1616bd[_0x5a298b(-_0x1b31ab._0x442863,0x7)]+_0x5a298b(0xac,_0x1b31ab._0x34396d)+_0x1616bd[_0x5a298b(-0x2a,-_0x1b31ab._0x303ccb)]+_0x5a298b(_0x1b31ab._0xb8b9ee,-_0x1b31ab._0x98fa93)+_0x1616bd['conflicts']+_0x5a298b(-_0x1b31ab._0x580387,-_0x1b31ab._0xcbbb92)+_0x1616bd[_0x5a298b(_0x1b31ab._0xb97b19,-_0x1b31ab._0x5908ea)]+_0x5a298b(0x20,0x13)+_0x1616bd[_0x5a298b(_0x1b31ab._0x2d7bfc,0x42)]),_0x1616bd;}async function getSyncStatus(_0x318f49=!0x1,_0x1de882){const _0x411750={_0xe6f26f:0x325,_0x4325d0:0x375,_0x1ec334:0x33f,_0x14c9da:0x353,_0x548ce0:0x3cb,_0x2e6afa:0x346,_0x2c9d13:0x2f9,_0xb7f309:0x331,_0x452888:0x373,_0x16c30b:0x39a,_0x4c53c9:0x380,_0xc3b3a4:0x345},_0x2bc66d={_0x47258e:0x2d2},_0x37913c=_0x1de882||_conn,_0x2533e9=_0x37913c[_0x7ef2b4(0x344,0x33e)],[_0x23563f,_0x354f53]=await Promise[_0x7ef2b4(0x305,_0x411750._0xe6f26f)]([_0x2533e9[_0x7ef2b4(_0x411750._0x4325d0,_0x411750._0x1ec334)]('_mf_changetrack')[_0x7ef2b4(0x313,_0x411750._0x14c9da)]({'synced':!0x1}),_0x2533e9[_0x7ef2b4(0x375,_0x411750._0x548ce0)](_0x7ef2b4(0x34f,0x362))[_0x7ef2b4(0x354,0x2ff)]([{'$match':{'synced':!0x1}},{'$group':{'_id':{'$ifNull':[_0x7ef2b4(_0x411750._0x2e6afa,_0x411750._0x2c9d13),_0x7ef2b4(_0x411750._0xb7f309,0x2ef)]},'count':{'$sum':0x1}}}])[_0x7ef2b4(0x358,_0x411750._0x452888)]()]),_0x482c02={};function _0x7ef2b4(_0x1d22e2,_0x2b4903){return _0x1d3cd1(_0x1d22e2-_0x2bc66d._0x47258e,_0x2b4903);}for(const _0x21259a of _0x354f53)_0x482c02[_0x21259a[_0x7ef2b4(0x365,0x371)]]=_0x21259a[_0x7ef2b4(0x2ed,0x2cc)];return{'online':_0x37913c[_0x7ef2b4(0x309,0x333)],'pending':_0x23563f,'creates':_0x482c02[_0x7ef2b4(0x32f,0x385)]||0x0,'updates':_0x482c02[_0x7ef2b4(0x338,_0x411750._0x16c30b)]||0x0,'deletes':_0x482c02[_0x7ef2b4(_0x411750._0x4c53c9,_0x411750._0xc3b3a4)]||0x0,'realtime':!!_0x318f49};}async function _downloadSync(_0x7c4b47,_0x1f8b99,_0x2a1e6a,_0x1b82eb,_0x3a8acc){const _0x4eba25={_0x4c756b:0xa7};function _0x3c1ae1(_0x5f9b0,_0x4d4bc9){return _0x1d3cd1(_0x5f9b0- -_0x4eba25._0x4c756b,_0x4d4bc9);}return _runParallel(_0x7c4b47,_0x4ed3ab=>_downloadCollection(_0x4ed3ab,_0x1f8b99,_0x2a1e6a,_0x3a8acc),_0x1b82eb,_0x3c1ae1(-0x1,0x3c));}async function _downloadCollection(_0x50e395,_0x1f50b0,_0x13b5d2,_0xc79b){const _0x2dae77={_0x24d6db:0x1e6,_0x48966b:0x252,_0x77a2ab:0x215,_0x35accf:0x255,_0x2a59c5:0x1b4,_0x52c109:0x1ac,_0x58b0a5:0x234,_0x273f52:0x1b4,_0x19f3c0:0x167,_0x1b1b82:0x22b,_0xd4d80:0x23d,_0x1e8acb:0x224,_0x45744f:0x1e1,_0x2f1360:0x244,_0x4d16db:0x293,_0x476a6b:0x28e,_0x5347ef:0x209,_0x139b3a:0x28c,_0xde4e4e:0x1d0,_0x27177c:0x238,_0x2e3073:0x252,_0x5849ca:0x26f,_0xad3d35:0x275,_0x3f7bc2:0x1c1,_0x35f201:0x1b8,_0x94851e:0x22e,_0x3e92bb:0x28f,_0x46e4e8:0x25a,_0x1a124b:0x1da,_0x3835ac:0x196,_0x347af1:0x258,_0x51d9f0:0x278,_0xa4212a:0x1f3,_0x333af8:0x275,_0x4e03f0:0x213,_0x56f7b9:0x24d,_0x467ff9:0x227,_0x2699f4:0x244,_0x45d991:0x2ab,_0x66ef84:0x1ad,_0x54fb0d:0x208,_0x24470c:0x234,_0x41c88f:0x1e7,_0x31ce3:0x1ee,_0x3733cd:0x1da,_0x3fdf01:0x205,_0x55bca4:0x1ce},_0x89bf4e={_0x3b99de:0x52a,_0x2551d3:0x517,_0x4a4fc2:0x5ae,_0x5b42e4:0x51e,_0x43f39c:0x5e1,_0x55cfa7:0x589,_0x62be49:0x52b,_0x160045:0x58c,_0x2f402a:0x551,_0x3bc96c:0x562,_0x385ce2:0x50b,_0x114677:0x574,_0x4df5de:0x54e},_0x8e18ee={_0x27465f:0x73,_0x4181d7:0x8c,_0x1103d3:0x5b,_0x3e57e5:0x73,_0x56f287:0x24,_0x4ac1c1:0x77,_0x491e08:0x35,_0x26858f:0xd1,_0x5a59b6:0x0,_0x1d8eb4:0x26,_0x2fa5b3:0x79,_0x468151:0x7c,_0x1a9ffe:0x73,_0x2df654:0x8f,_0x3450c6:0x59,_0x2608d7:0x23,_0x34693e:0x1d,_0x5514b0:0x19,_0x19f5f7:0x35,_0x382c3e:0x7d,_0xe2aa56:0x44,_0x1b8055:0x0,_0x29da39:0x99,_0x4a369e:0x55,_0x1886b0:0xc7,_0x457dcb:0x9,_0x5e7ea4:0x98,_0x38108a:0x7c,_0xe3c86a:0x34,_0x536bc3:0xb,_0x4d43d8:0x23,_0x3835a1:0x1,_0x5d7015:0x15,_0x2583fa:0x8d},_0x2bdd8d=_0xc79b||_conn,_0x5c1853=_0x2bdd8d[_0x550ade(0x213,_0x2dae77._0x24d6db)],_0x22d081=_0x2bdd8d[_0x550ade(_0x2dae77._0x48966b,_0x2dae77._0x77a2ab)];function _0x550ade(_0x2a34e6,_0x1c8e5d){return _0x1d3cd1(_0x2a34e6-0x1a1,_0x1c8e5d);}let _0x4006b3=0x0,_0x13fa25=0x0,_0x204f0b=0x0;try{const _0x1b59ad=await getCursor(_0x1f50b0,_0x50e395,_0x550ade(_0x2dae77._0x35accf,0x2b5),_0x2bdd8d);if(null==_0x1b59ad){console[_0x550ade(_0x2dae77._0x2a59c5,_0x2dae77._0x52c109)]('[MongoFire]\x20Bootstrap\x20\x22'+_0x50e395+_0x550ade(0x1be,0x195));const _0x36cd64=new Date(),_0x4d0356='*'!==_0x1f50b0?{'ownerKey':_0x1f50b0}:{},_0x13018d=await getCursor(_0x1f50b0,_0x50e395,_0x550ade(0x260,0x2b5),_0x2bdd8d);if(_0x13018d){const _0xd48d0e=_0x13018d['id']||_0x13018d['ts'];_0xd48d0e&&(_0x4d0356[_0x550ade(_0x2dae77._0x58b0a5,0x1f4)]={'$gt':toObjectId(String(_0xd48d0e))},console[_0x550ade(_0x2dae77._0x273f52,_0x2dae77._0x19f3c0)](_0x550ade(0x1b3,0x21a)+_0x50e395+_0x550ade(_0x2dae77._0x1b1b82,0x203)+_0xd48d0e+_0x550ade(_0x2dae77._0xd4d80,0x29a)));}const _0x1ef14f=await _0x5c1853[_0x550ade(0x244,_0x2dae77._0x1e8acb)]('_mf_changetrack')[_0x550ade(_0x2dae77._0x45744f,0x1e3)]({'collection':_0x50e395,'synced':!0x1})['project']({'docId':0x1,'type':0x1,'op':0x1})['toArray'](),{pendingDeleteIds:_0x51c8ab,pendingAnyIds:_0x1d9500}=buildPendingSets(_0x1ef14f),_0x516f7f=_0x22d081[_0x550ade(_0x2dae77._0x2f1360,_0x2dae77._0x4d16db)](_0x50e395)[_0x550ade(_0x2dae77._0x45744f,0x192)](_0x4d0356)['sort']({'_id':0x1}),_0x2c6567=[],_0x4c6656=[];let _0x189c7c=0x0,_0x5077df=null;const _0x6ef761=new Set(),_0x52a836=async()=>{const _0x2dbf7c={_0x3731d9:0x24d};if(!_0x2c6567['length']&&!_0x4c6656[_0x14d9f9(-_0x8e18ee._0x27465f,-_0x8e18ee._0x4181d7)])return;const _0x13f0ee=_0x2c6567['map'](_0x4bdc=>String(_0x4bdc['replaceOne']?.[_0x14d9f9(0x23,0x84)]?.[_0x14d9f9(-0x19,0x35)]||''))[_0x14d9f9(-0x32,-_0x8e18ee._0x1103d3)](Boolean);let _0x499ddc=new Map();if(_0x13f0ee[_0x14d9f9(-_0x8e18ee._0x3e57e5,-0x97)]){const _0x4caf0f=_0x13f0ee[_0x14d9f9(_0x8e18ee._0x56f287,_0x8e18ee._0x4ac1c1)](_0x5dc524=>metaId(_0x50e395,_0x5dc524)),_0x50955d=await _0x5c1853[_0x14d9f9(-0x9,-_0x8e18ee._0x491e08)](_0x14d9f9(0xb,0x60))[_0x14d9f9(-0x6c,-_0x8e18ee._0x26858f)]({'_id':{'$in':_0x4caf0f}})[_0x14d9f9(_0x8e18ee._0x5a59b6,-0x30)]({'_id':0x1,'version':0x1})[_0x14d9f9(-_0x8e18ee._0x1d8eb4,-_0x8e18ee._0x2fa5b3)]();for(const _0x1c9c4f of _0x50955d){const _0x5cd008=String(_0x1c9c4f['_id'])['replace'](_0x50e395+':','');_0x499ddc[_0x14d9f9(-0x8b,-_0x8e18ee._0x468151)](_0x5cd008,asInt(_0x1c9c4f[_0x14d9f9(0x25,0x31)],0x0));}}function _0x14d9f9(_0x277e65,_0x22e5e1){return _0x550ade(_0x277e65- -_0x2dbf7c._0x3731d9,_0x22e5e1);}const _0x239fd0=[],_0xde22d=[];let _0x468bfc=0x0;for(let _0x39b354=0x0;_0x39b354<_0x2c6567[_0x14d9f9(-_0x8e18ee._0x1a9ffe,-_0x8e18ee._0x2df654)];_0x39b354++){const _0x4b8282=_0x2c6567[_0x39b354][_0x14d9f9(0x3,_0x8e18ee._0x3450c6)]?.[_0x14d9f9(_0x8e18ee._0x2608d7,_0x8e18ee._0x34693e)],_0x1ef51f=String(_0x4b8282?.[_0x14d9f9(-_0x8e18ee._0x5514b0,_0x8e18ee._0x19f5f7)]||''),_0x390fe8=asInt(_0x4b8282?.[_0x14d9f9(-_0x8e18ee._0x382c3e,-_0x8e18ee._0xe2aa56)],0x1);(_0x499ddc[_0x14d9f9(0x10,_0x8e18ee._0x1b8055)](_0x1ef51f)||0x0)>=_0x390fe8?_0x468bfc++:(_0x239fd0['push'](_0x2c6567[_0x39b354]),_0x4c6656[_0x39b354]&&_0xde22d[_0x14d9f9(-0x15,-0x56)](_0x4c6656[_0x39b354]));}_0x468bfc>0x0&&console[_0x14d9f9(-_0x8e18ee._0x29da39,-_0x8e18ee._0x468151)]('[MongoFire]\x20Bootstrap\x20\x22'+_0x50e395+_0x14d9f9(-_0x8e18ee._0x4a369e,0x6)+_0x468bfc+_0x14d9f9(-0x62,-0x96)),_0x239fd0[_0x14d9f9(-0x73,-_0x8e18ee._0x1886b0)]&&await _0x5c1853[_0x14d9f9(-_0x8e18ee._0x457dcb,0x58)](_0x50e395)[_0x14d9f9(-_0x8e18ee._0x5e7ea4,-_0x8e18ee._0x38108a)](_0x239fd0,{'ordered':!0x1}),_0xde22d[_0x14d9f9(-_0x8e18ee._0x3e57e5,-_0x8e18ee._0xe3c86a)]&&await _0x5c1853[_0x14d9f9(-_0x8e18ee._0x457dcb,0x44)](_0x14d9f9(_0x8e18ee._0x536bc3,0x20))[_0x14d9f9(-0x98,-0x82)](_0xde22d,{'ordered':!0x1});for(const _0x461f9f of _0x239fd0){const _0x4bfad8=String(_0x461f9f[_0x14d9f9(0x3,-0x50)]?.[_0x14d9f9(_0x8e18ee._0x4d43d8,0x75)]?.['_id']||'');_0x4bfad8&&_0x6ef761[_0x14d9f9(-_0x8e18ee._0x3835a1,-_0x8e18ee._0x5d7015)](_0x4bfad8);}_0x2c6567['length']=0x0,_0x4c6656[_0x14d9f9(-_0x8e18ee._0x3e57e5,-_0x8e18ee._0x2583fa)]=0x0,_0x5077df&&await setCursor(_0x1f50b0,_0x50e395,'bootstrap_resume',{'ts':null,'id':String(_0x5077df)},_0x2bdd8d);};for await(const _0x207b77 of _0x516f7f){const _0x585969=String(_0x207b77[_0x550ade(0x234,_0x2dae77._0x476a6b)]);if(_0x5077df=_0x207b77[_0x550ade(_0x2dae77._0x58b0a5,_0x2dae77._0x5347ef)],_0x51c8ab['has'](_0x585969)||_0x1d9500['has'](_0x585969))continue;const _0x1b53ac=toObjectId(_0x207b77[_0x550ade(_0x2dae77._0x58b0a5,_0x2dae77._0x139b3a)]),_0x43365d=metaId(_0x50e395,_0x585969),_0x5c167b=asInt(_0x207b77[_0x550ade(_0x2dae77._0xde4e4e,0x169)],0x1),_0x813ed9=new Date(),_0x37c09c=asDate(_0x207b77['updatedAt'])||_0x813ed9,_0x4c0f8a=payloadChecksum(_0x207b77,!0x0);_0x2c6567[_0x550ade(0x238,0x262)]({'replaceOne':{'filter':{'_id':_0x1b53ac},'replacement':_0x207b77,'upsert':!0x0}}),_0x4c6656[_0x550ade(_0x2dae77._0x27177c,_0x2dae77._0x2e3073)]({'updateOne':{'filter':{'_id':_0x43365d},'update':{'$set':{'collection':_0x50e395,'docId':_0x585969,'version':_0x5c167b,'updatedAt':_0x37c09c,'lastWriterDeviceId':_0x207b77[_0x550ade(0x24e,_0x2dae77._0x5849ca)]||'','deleted':!0x1,'ownerKey':_0x207b77[_0x550ade(_0x2dae77._0xad3d35,0x28b)]||_0x1f50b0||_0x550ade(_0x2dae77._0x3f7bc2,_0x2dae77._0x35f201),'updatedByOpId':_0x207b77[_0x550ade(0x1fc,0x234)]||_0x207b77[_0x550ade(_0x2dae77._0x94851e,_0x2dae77._0x3e92bb)]||null,'lastOpId':_0x207b77[_0x550ade(0x22e,_0x2dae77._0x46e4e8)]||_0x207b77['_mf_opId']||null,'payloadChecksum':_0x4c0f8a},'$setOnInsert':{'createdAt':_0x813ed9}},'upsert':!0x0}}),_0x189c7c++,_0x4006b3++,_0x2c6567[_0x550ade(_0x2dae77._0x1a124b,_0x2dae77._0x3835ac)]>=0x1f4&&await _0x52a836();}await _0x52a836();const _0x1918e5=await _dismissStaleCreateOps(_0x50e395,_0x5c1853,_0x2bdd8d,_0x6ef761);return _0x1918e5>0x0&&console[_0x550ade(0x210,_0x2dae77._0x347af1)](_0x550ade(_0x2dae77._0x51d9f0,0x294)+_0x50e395+_0x550ade(0x1d5,0x230)+_0x1918e5+'\x20stale\x20pending\x20create\x20op(s)\x20—\x20local\x20DB\x20was\x20reset\x20without\x20clearing\x20_mf_changetrack.\x20These\x20ops\x20were\x20already\x20present\x20on\x20Atlas\x20and\x20have\x20been\x20auto-resolved.'),await setCursor(_0x1f50b0,_0x50e395,'oplog',_0x36cd64,_0x2bdd8d),await deleteCursor(_0x1f50b0,_0x50e395,_0x550ade(0x260,0x23e),_0x2bdd8d)[_0x550ade(0x239,_0x2dae77._0xa4212a)](()=>{}),console[_0x550ade(0x1b4,0x1f8)]('[MongoFire]\x20Bootstrap\x20\x22'+_0x50e395+_0x550ade(0x1e9,0x21f)+_0x189c7c+'\x20docs'),{'downloaded':_0x4006b3,'deleted':_0x13fa25,'failed':_0x204f0b};}const _0x47b7ec=_0x1b59ad,_0x35b497={'collection':_0x50e395,'$and':[_0x47b7ec['id']?{'$or':[{'timestamp':{'$gt':_0x47b7ec['ts']}},{'timestamp':_0x47b7ec['ts'],'_id':{'$gt':_0x47b7ec['id']}}]}:{'timestamp':{'$gt':_0x47b7ec['ts']}},{'$or':[{'applyStatus':_0x550ade(0x1ea,0x251)},{'applyStatus':{'$exists':!0x1}}]}]};'*'!==_0x1f50b0&&(_0x35b497[_0x550ade(_0x2dae77._0x333af8,0x267)]=_0x1f50b0);const _0x3152b6=await _0x5c1853[_0x550ade(0x244,0x2a5)]('_mf_changetrack')[_0x550ade(0x1e1,_0x2dae77._0x4e03f0)]({'collection':_0x50e395,'synced':!0x1})[_0x550ade(_0x2dae77._0x56f7b9,0x256)]({'docId':0x1,'type':0x1,'op':0x1})[_0x550ade(_0x2dae77._0x467ff9,0x23c)](),{pendingDeleteIds:_0x2bdc5e,pendingAnyIds:_0x583411}=buildPendingSets(_0x3152b6),_0x427b8a=_0x2bdd8d['atlas'][_0x550ade(_0x2dae77._0x2699f4,_0x2dae77._0x45d991)](_0x550ade(0x21e,0x21b))[_0x550ade(0x1e1,_0x2dae77._0x66ef84)](_0x35b497)['sort']({'timestamp':0x1,'_id':0x1})[_0x550ade(0x1cb,_0x2dae77._0x54fb0d)](0xc8),_0x175309=[];let _0xdc86a=_0x47b7ec['ts'],_0x1dc258=_0x47b7ec['id'];const _0x42ca74=async()=>{const _0x44f744={_0x486a87:0x33d};if(!_0x175309[_0x4525c4(_0x89bf4e._0x3b99de,_0x89bf4e._0x2551d3)])return;const _0x25d3db=[...new Set(_0x175309[_0x4525c4(0x590,_0x89bf4e._0x4a4fc2)](_0x320bce=>String(_0x320bce['docId'])))]['map'](_0x3aa134=>metaId(_0x50e395,_0x3aa134)),_0x16f558=await _0x5c1853['collection'](_0x4525c4(0x5b7,0x595))[_0x4525c4(0x540,_0x89bf4e._0x5b42e4)]({'_id':{'$in':_0x25d3db}})['toArray'](),_0x23f823=new Map(_0x16f558[_0x4525c4(_0x89bf4e._0x43f39c,0x5ae)](_0x29c9dd=>[_0x29c9dd[_0x4525c4(0x5c3,0x571)],_0x29c9dd]));function _0x4525c4(_0x56a0c7,_0x5353ca){return _0x550ade(_0x5353ca-_0x44f744._0x486a87,_0x56a0c7);}for(const _0x58e43c of _0x175309)try{const _0x1edfbe=_0x23f823['get'](metaId(_0x50e395,String(_0x58e43c[_0x4525c4(_0x89bf4e._0x55cfa7,_0x89bf4e._0x62be49)])))||null;if(!await _applyRemoteOpLocally(_0x5c1853,_0x58e43c,_0x1edfbe))continue;_0x4525c4(0x58e,_0x89bf4e._0x160045)===_0x58e43c[_0x4525c4(0x58c,_0x89bf4e._0x2f402a)]?_0x13fa25++:_0x4006b3++;}catch(_0x27cd72){_0x204f0b++,console[_0x4525c4(_0x89bf4e._0x3bc96c,_0x89bf4e._0x385ce2)]('[MongoFire]\x20Apply\x20remote\x20op\x20failed\x20for\x20'+_0x50e395+'/'+_0x58e43c[_0x4525c4(_0x89bf4e._0x114677,0x52b)]+':',_0x27cd72[_0x4525c4(0x511,_0x89bf4e._0x4df5de)]);}_0x175309[_0x4525c4(0x4af,_0x89bf4e._0x2551d3)]=0x0;};for await(const _0x39a9f3 of _0x427b8a){const _0x1382f3=_normalizeOpRow(_0x39a9f3);if(!_0x1382f3){_0x1dc258=String(_0x39a9f3[_0x550ade(_0x2dae77._0x24470c,0x1db)]||_0x1dc258);continue;}if(_0xdc86a=asDate(_0x1382f3['timestamp'])||_0xdc86a,_0x1dc258=String(_0x39a9f3[_0x550ade(0x234,0x261)]||_0x1dc258),_0x1382f3[_0x550ade(0x24a,_0x2dae77._0x41c88f)]===_0x13b5d2)continue;const _0x290780=String(_0x1382f3[_0x550ade(_0x2dae77._0x31ce3,0x1d5)]);_0x2bdc5e['has'](_0x290780)||_0x583411[_0x550ade(0x241,0x283)](_0x290780)&&_0x550ade(0x24f,_0x2dae77._0x2e3073)!==_0x1382f3['type']||(_0x175309[_0x550ade(0x238,0x294)](_0x1382f3),_0x175309[_0x550ade(_0x2dae77._0x3733cd,_0x2dae77._0x3fdf01)]>=0x64&&await _0x42ca74());}await _0x42ca74(),_0xdc86a===_0x47b7ec['ts']&&_0x1dc258===_0x47b7ec['id']||await setCursor(_0x1f50b0,_0x50e395,'oplog',{'ts':_0xdc86a,'id':_0x1dc258},_0x2bdd8d);}catch(_0x2201c2){_0x204f0b++,console[_0x550ade(_0x2dae77._0x55bca4,0x1e8)]('[MongoFire]\x20Download\x20failed\x20for\x20\x22'+_0x50e395+'\x22:',_0x2201c2['message']);}return{'downloaded':_0x4006b3,'deleted':_0x13fa25,'failed':_0x204f0b};}async function _uploadSync(_0x15c444,_0xfc8c6a,_0x4b8a93,_0x4a936b,_0x1abd28){return _runParallel(_0x15c444,_0x16e1db=>_uploadCollection(_0x16e1db,_0xfc8c6a,_0x4a936b,_0x1abd28),_0x4b8a93,'Upload\x20collection');}async function _compressOps(_0xf79dd3,_0x19a97d){const _0x1c4566={_0xe0595c:0x353,_0x1e0cb7:0x31d,_0x400918:0x33a,_0x107d9a:0x30e,_0x1e1119:0x328,_0x3bd114:0x2f6,_0x3af4d0:0x33f,_0x54881f:0x369,_0x5e8ecf:0x37f,_0x2bcbbc:0x2d7,_0x211cb7:0x384,_0x12f0d1:0x2e3,_0x3053f4:0x308,_0x5906ea:0x30d,_0x2a0106:0x306,_0x4af986:0x359,_0x243ea5:0x311,_0x11b1a1:0x355,_0x33dd0a:0x33e,_0x281860:0x25d,_0x1f2fc2:0x29f,_0x1aa81f:0x292,_0x2e5804:0x2e5,_0x239006:0x37b,_0xd08aa2:0x35e,_0xc21883:0x2e4,_0x431acf:0x31e,_0x525d08:0x2fa,_0x5cffac:0x2b6,_0x363e15:0x2a0},_0x30c18b={_0x5a19d2:0x2ab},_0x5a69e4=_0x19a97d||_conn;function _0x47f5da(_0x712b98,_0x11f277){return _0x1d3cd1(_0x11f277-_0x30c18b._0x5a19d2,_0x712b98);}let _0x18b02a=0x0;const _0x5952c3=await _0x5a69e4[_0x47f5da(_0x1c4566._0xe0595c,_0x1c4566._0x1e0cb7)][_0x47f5da(_0x1c4566._0x400918,0x34e)](_0x47f5da(_0x1c4566._0x107d9a,_0x1c4566._0x1e1119))[_0x47f5da(0x34a,0x32d)]([{'$match':{'collection':_0xf79dd3,'synced':!0x1,'ackState':{'$nin':[_0x47f5da(_0x1c4566._0x3bd114,_0x1c4566._0x3af4d0),_0x47f5da(0x371,_0x1c4566._0x54881f),'superseded']}}},{'$sort':{'timestamp':0x1}},{'$group':{'_id':_0x47f5da(_0x1c4566._0x5e8ecf,0x336),'ops':{'$push':{'id':_0x47f5da(0x2a0,_0x1c4566._0x2bcbbc),'type':{'$ifNull':['$type','$op']},'synced':_0x47f5da(_0x1c4566._0x211cb7,0x37d)}},'hasCreate':{'$sum':{'$cond':[{'$eq':[{'$ifNull':[_0x47f5da(_0x1c4566._0x12f0d1,0x31f),'$op']},_0x47f5da(0x2aa,_0x1c4566._0x3053f4)]},0x1,0x0]}},'hasAnySynced':{'$sum':{'$cond':[_0x47f5da(0x3de,0x37d),0x1,0x0]}},'lastType':{'$last':{'$ifNull':[_0x47f5da(0x2f3,0x31f),_0x47f5da(_0x1c4566._0x5906ea,0x30a)]}},'totalOps':{'$sum':0x1}}},{'$match':{'hasAnySynced':0x0,'$or':[{'hasCreate':{'$gt':0x0},'lastType':_0x47f5da(_0x1c4566._0x2a0106,_0x1c4566._0x4af986)},{'hasCreate':0x0,'lastType':_0x47f5da(0x33c,_0x1c4566._0x243ea5),'totalOps':{'$gt':0x1}}]}}])['toArray']();for(const _0x19c8f8 of _0x5952c3)if(_0x19c8f8['hasCreate']>0x0&&_0x47f5da(_0x1c4566._0x11b1a1,0x359)===_0x19c8f8[_0x47f5da(0x35f,0x314)]){const _0x15cf38=_0x19c8f8[_0x47f5da(0x334,0x35e)][_0x47f5da(_0x1c4566._0x33dd0a,0x37b)](_0x4b7b43=>_0x4b7b43['id']);await markSynced(_0x15cf38,{'ackState':_0x47f5da(0x31e,_0x1c4566._0x54881f),'remoteAckAt':new Date()},_0x5a69e4),_0x18b02a+=_0x15cf38['length'],console[_0x47f5da(_0x1c4566._0x281860,0x2be)]('[MongoFire]\x20Compressed\x20'+_0x15cf38['length']+_0x47f5da(_0x1c4566._0x1f2fc2,0x2f2)+_0xf79dd3+'/'+_0x19c8f8['_id']+_0x47f5da(_0x1c4566._0x1aa81f,_0x1c4566._0x2e5804));}else{const _0x4708f5=_0x19c8f8[_0x47f5da(_0x1c4566._0x239006,_0x1c4566._0xd08aa2)][_0x47f5da(0x3b9,_0x1c4566._0x239006)](_0xae3886=>_0xae3886['id'])[_0x47f5da(0x309,0x317)](0x0,-0x1);_0x4708f5[_0x47f5da(0x2d0,_0x1c4566._0xc21883)]&&(await markSynced(_0x4708f5,{'ackState':_0x47f5da(_0x1c4566._0x431acf,_0x1c4566._0x525d08),'remoteAckAt':new Date()},_0x5a69e4),_0x18b02a+=_0x4708f5[_0x47f5da(_0x1c4566._0x5cffac,_0x1c4566._0xc21883)],console[_0x47f5da(0x324,0x2be)](_0x47f5da(_0x1c4566._0x1e0cb7,0x329)+_0x4708f5['length']+_0x47f5da(_0x1c4566._0x363e15,0x307)+_0xf79dd3+'/'+_0x19c8f8[_0x47f5da(0x30c,_0x1c4566._0x33dd0a)]));}return _0x18b02a;}async function _flushSyncBatch(_0x554bc7,_0x59fdd0){const _0x1ddb62={_0x2b264a:0x30d,_0x581f6e:0x26a,_0x493ca4:0x347,_0x1e9c8b:0x30d,_0x418c2d:0x306,_0x16716f:0x33f,_0x31de6a:0x355},_0x27f69e={_0x274193:0x26f};function _0x593c0c(_0x435bee,_0x46f836){return _0x1d3cd1(_0x435bee-_0x27f69e._0x274193,_0x46f836);}if(!_0x554bc7[_0x593c0c(0x2a8,0x2ac)])return;const _0x257793=new Map();for(const _0x16447c of _0x554bc7)_0x257793['has'](_0x16447c[_0x593c0c(_0x1ddb62._0x2b264a,0x360)])||_0x257793[_0x593c0c(0x290,_0x1ddb62._0x581f6e)](_0x16447c[_0x593c0c(_0x1ddb62._0x2b264a,_0x1ddb62._0x493ca4)],[]),_0x257793['get'](_0x16447c[_0x593c0c(_0x1ddb62._0x1e9c8b,0x2da)])[_0x593c0c(_0x1ddb62._0x418c2d,0x343)](_0x16447c);for(const [_0x4516fb,_0x5b2ffc]of _0x257793){const _0x44196c=_0x5b2ffc[_0x593c0c(_0x1ddb62._0x16716f,_0x1ddb62._0x31de6a)](_0x200463=>_0x200463['id']),_0x4028d4=_0x5b2ffc['reduce']((_0x494316,_0x419ddf)=>!_0x494316||_0x419ddf[_0x593c0c(0x2f0,0x303)]&&_0x419ddf[_0x593c0c(0x2f0,0x2c1)]>_0x494316?_0x419ddf['remoteAckAt']:_0x494316,null);await markSynced(_0x44196c,{'ackState':_0x4516fb,'remoteAckAt':_0x4028d4},_0x59fdd0);}_0x554bc7['length']=0x0;}async function _uploadCollection(_0xce140b,_0x4b32d7,_0x5f5c78,_0x341a4e){const _0x1d7f70={_0x2cc096:0x427,_0x554c09:0x48b,_0x37499e:0x4fd,_0x45ea29:0x4c2,_0x450a35:0x468,_0x220cec:0x4b6,_0x7ba4a4:0x4fe,_0xb903e3:0x4db,_0x5601c8:0x4f8,_0xbabeb7:0x474,_0x40fd95:0x50f,_0xb28b45:0x56d,_0x26510c:0x51c,_0x510aa7:0x4e7,_0x3b8b61:0x524,_0x30bda7:0x445,_0x5c6826:0x4b6,_0x2d7575:0x4b7,_0x1c5cd3:0x4e4,_0x5635e6:0x4da,_0x277126:0x54a,_0x5da9df:0x490,_0x2048ff:0x47b,_0x442cef:0x49a,_0x465b5a:0x463,_0x5bd508:0x4ca,_0x523280:0x4c6,_0x455bcc:0x4ea,_0x3f0906:0x462,_0x3535db:0x4f3,_0x474c74:0x4dc,_0x4f86c7:0x41e,_0x28454f:0x474,_0xdcc0b7:0x49f,_0x8f378d:0x494,_0xe5c919:0x4ba,_0x2862a4:0x4d8,_0x10f5f4:0x54f,_0x184fcc:0x4ea,_0x1ab1b3:0x4cf,_0x4fd5a3:0x49d,_0x439c2f:0x4da,_0x3d94a1:0x496,_0x44e367:0x517,_0x2204f5:0x4f5},_0x55971e={_0xb76eba:0x259,_0x34b722:0x2ab},_0x52381e=_0xce140b+':'+_0x4b32d7;function _0xd16d53(_0x469d68,_0x426ced){return _0x1d3cd1(_0x426ced-0x447,_0x469d68);}if(_uploadLocks['has'](_0x52381e))return console[_0xd16d53(0x4b2,0x4b6)](_0xd16d53(_0x1d7f70._0x2cc096,_0x1d7f70._0x554c09)+_0xce140b+_0xd16d53(0x530,_0x1d7f70._0x37499e)+_0x4b32d7+_0xd16d53(0x4ca,0x497)),{'uploaded':0x0,'deleted':0x0,'conflicts':0x0,'failed':0x0,'retried':0x0,'skipped':0x0};_uploadLocks[_0xd16d53(_0x1d7f70._0x45ea29,_0x1d7f70._0x450a35)](_0x52381e,Date[_0xd16d53(0x4c6,0x500)]());try{const _0x4f4478=_0x341a4e||_conn;let _0x6c97b8=0x0,_0x15bcbb=0x0,_0x4012f0=0x0,_0x14253d=0x0,_0x2f669d=0x0,_0x46e3bf=0x0;try{_0x46e3bf=await _compressOps(_0xce140b,_0x4f4478);}catch(_0x4efa5a){console[_0xd16d53(_0x1d7f70._0x554c09,_0x1d7f70._0x220cec)]('[MongoFire]\x20Op\x20compression\x20failed\x20(continuing):',_0x4efa5a[_0xd16d53(_0x1d7f70._0x7ba4a4,0x4b7)]);}try{const _0x59de06=await _dismissStaleCreateOps(_0xce140b,_0x4f4478['local'],_0x4f4478,null,_0x4f4478['online']?_0x4f4478[_0xd16d53(_0x1d7f70._0xb903e3,_0x1d7f70._0x5601c8)]:null);_0x59de06>0x0&&(_0x46e3bf+=_0x59de06,console[_0xd16d53(_0x1d7f70._0xbabeb7,0x4b6)]('[MongoFire]\x20Upload\x20\x22'+_0xce140b+_0xd16d53(0x427,0x479)+_0x59de06+_0xd16d53(0x4d5,_0x1d7f70._0x40fd95)));}catch(_0x1e5050){console[_0xd16d53(0x507,_0x1d7f70._0x220cec)](_0xd16d53(_0x1d7f70._0xb28b45,_0x1d7f70._0x26510c),_0x1e5050[_0xd16d53(0x51d,0x4b7)]);}const _0x3f2cfd=[];let _0x1bf2a0=null,_0x384d04=0x0;const _0x21674b=0x2710,_0x547015=0x1f4;for(;_0x384d04<_0x21674b;){let _0x35e569;_0x384d04++,_0x384d04===_0x21674b-0x3e8&&console[_0xd16d53(_0x1d7f70._0x510aa7,0x4b6)](_0xd16d53(0x4f7,_0x1d7f70._0x3b8b61)+_0xce140b+_0xd16d53(_0x1d7f70._0x30bda7,0x466)+_0x384d04+'/'+_0x21674b+')');try{_0x35e569=await getPending(_0xce140b,_0x547015,_0x1bf2a0,_0x4f4478);}catch(_0x238ed2){console[_0xd16d53(0x44b,0x474)]('[MongoFire]\x20Upload\x20pagination\x20failed\x20for\x20collection\x20\x22'+_0xce140b+_0xd16d53(_0x1d7f70._0x5c6826,0x51a)+_0x1bf2a0+':',_0x238ed2[_0xd16d53(0x4ed,_0x1d7f70._0x2d7575)]),_0x4012f0++;break;}if(!_0x35e569[_0xd16d53(_0x1d7f70._0x1c5cd3,0x480)])break;let _0x2699e5=0x0;for(const _0x4945b6 of _0x35e569){_0x1bf2a0=_0x4945b6[_0xd16d53(0x512,_0x1d7f70._0x5635e6)];const _0x238c43=resolveOwnerKey(_0x4945b6);if('*'!==_0x4b32d7&&_0x238c43!==_0x4b32d7)continue;_0x2699e5++;const _0xb280d6=_normalizeOpRow(_0x4945b6);if(_0xb280d6)try{_0xd16d53(_0x1d7f70._0x277126,0x4f5)===_0xb280d6['type']&&await _reconcileDeleteBaseVersion(_0xb280d6,_0x4f4478);const _0x1e7bd6=await _withRetry(()=>_uploadOneOperation(_0xb280d6,_0x4f4478),{'maxAttempts':0x5,'baseDelayMs':0xfa,'onRetry':(_0x342246,_0x59774c)=>{function _0x1d4eda(_0x49ebde,_0x699f3f){return _0xd16d53(_0x49ebde,_0x699f3f- -0x6d8);}_0x2f669d++,console['warn'](_0x1d4eda(-_0x55971e._0xb76eba,-0x20e)+_0xb280d6[_0x1d4eda(-_0x55971e._0x34b722,-0x254)]+_0x1d4eda(-0x2c9,-0x266)+_0x342246+',\x20'+_0x59774c+_0x1d4eda(-0x1c9,-0x1ca));}});if(_0xd16d53(0x45e,_0x1d7f70._0x5da9df)===_0x1e7bd6?.[_0xd16d53(_0x1d7f70._0x2048ff,0x463)]||_0xd16d53(0x402,0x456)===_0x1e7bd6?.[_0xd16d53(_0x1d7f70._0x442cef,_0x1d7f70._0x465b5a)]){let _0x9fcb15=null;if(VERIFY_REMOTE_STATE){const _0x1cea0b=await _verifyRemoteState(_0xb280d6,_0x1e7bd6,_0x4f4478);_0x9fcb15=_0x1cea0b?new Date():null,_0x1cea0b||console[_0xd16d53(_0x1d7f70._0x5bd508,0x4b6)](_0xd16d53(0x47d,_0x1d7f70._0x523280)+_0xb280d6[_0xd16d53(0x49b,_0x1d7f70._0x455bcc)]+'/'+_0xb280d6[_0xd16d53(0x4ca,0x494)]);}_0x3f2cfd['push']({'id':_0x4945b6['_id'],'ackState':_0x9fcb15?_0xd16d53(_0x1d7f70._0x3f0906,0x498):_0xd16d53(0x4dc,0x521),'remoteAckAt':_0x1e7bd6[_0xd16d53(0x49d,0x4c8)]||new Date()}),_0x3f2cfd['length']>=0x32&&await _flushSyncBatch(_0x3f2cfd,_0x4f4478),_0xd16d53(_0x1d7f70._0x3535db,0x4f5)===_0xb280d6[_0xd16d53(_0x1d7f70._0x474c74,0x4ba)]?_0x15bcbb++:_0x6c97b8++;continue;}await markFailed(_0x4945b6[_0xd16d53(0x4c8,0x4da)],_0xd16d53(0x497,0x48d),_0xd16d53(_0x1d7f70._0x4f86c7,_0x1d7f70._0xbabeb7),_0x4f4478),_0x4012f0++;}catch(_0x4c1e82){if(_0x4c1e82 instanceof ConflictError){if(_0x14253d++,_0x4012f0++,console[_0xd16d53(0x456,_0x1d7f70._0x28454f)](_0xd16d53(0x4a9,0x493)+_0xb280d6[_0xd16d53(0x488,0x4ea)]+'/'+_0xb280d6[_0xd16d53(_0x1d7f70._0xdcc0b7,_0x1d7f70._0x8f378d)]+':',_0x4c1e82['message']),await markFailed(_0x4945b6['_id'],_0x4c1e82['message'],'conflict',_0x4f4478),_0xd16d53(_0x1d7f70._0xe5c919,_0x1d7f70._0x2862a4)==typeof _0x5f5c78&&_0x4c1e82['conflictData'])try{_0x5f5c78(_0x4c1e82['conflictData']);}catch(_0x48ba1f){}}else _0x4012f0++,console['error']('[MongoFire]\x20Upload\x20failed\x20for\x20'+_0xb280d6[_0xd16d53(_0x1d7f70._0x10f5f4,_0x1d7f70._0x184fcc)]+'/'+_0xb280d6[_0xd16d53(0x4c6,0x494)]+':',_0x4c1e82[_0xd16d53(_0x1d7f70._0x1ab1b3,0x4b7)]),await markFailed(_0x4945b6[_0xd16d53(_0x1d7f70._0x4fd5a3,_0x1d7f70._0x439c2f)],_0x4c1e82[_0xd16d53(_0x1d7f70._0x3d94a1,0x4b7)],'error',_0x4f4478);}else await markFailed(_0x4945b6[_0xd16d53(0x4d1,0x4da)],_0xd16d53(0x543,0x4e0),'error',_0x4f4478),_0x4012f0++;}if('*'!==_0x4b32d7&&0x0===_0x2699e5)break;}return await _flushSyncBatch(_0x3f2cfd,_0x4f4478),{'uploaded':_0x6c97b8,'deleted':_0x15bcbb,'failed':_0x4012f0,'conflicts':_0x14253d,'retried':_0x2f669d,'skipped':_0x46e3bf};}finally{_uploadLocks[_0xd16d53(_0x1d7f70._0x44e367,_0x1d7f70._0x2204f5)](_0x52381e);}}async function _uploadOneOperation(_0x3ad62b,_0x47fefa){const _0x50dd8c={_0x1bde5c:0x2e4},_0xf77510={_0x353537:0x251,_0x16586d:0x274,_0x55a456:0x22b,_0x29b8b3:0x1eb,_0x3be3f7:0x221,_0x452e84:0x28b,_0x525f59:0x2a8,_0x3abec0:0x23e,_0x205598:0x242,_0x259c72:0x20c,_0x552fe1:0x23e,_0x47cb64:0x243,_0x541e9a:0x1da,_0x4c462:0x22b,_0x2df547:0x1d2,_0x387316:0x239,_0x15b044:0x1f0,_0x5d1fe7:0x212,_0x39c6e6:0x203,_0x284f85:0x2c1,_0x1f146d:0x22f,_0x19125c:0x293,_0x54d364:0x216,_0x35b5a0:0x241,_0x46d4d4:0x1c5,_0x1c25e4:0x1ac,_0x5160b6:0x1f0,_0x29107d:0x22f,_0x2b9370:0x1c7,_0x174b78:0x251,_0x18c295:0x26d,_0x47ba2c:0x1e3,_0xba7bba:0x1b0,_0x142138:0x249,_0x532d6b:0x1e6,_0x3f09a0:0x1be,_0x1cce95:0x242,_0x4dbfd6:0x20f,_0x3ab059:0x1dc,_0x562345:0x1c8,_0x20c479:0x23b,_0x3e0ffe:0x221,_0x57ccbb:0x1f7,_0x75447e:0x1ca,_0x575e08:0x20a,_0x54c7a6:0x1ca,_0x18b1b1:0x167,_0x213ad4:0x226,_0x3fa46f:0x23d},_0x41b36b=_0x47fefa||_conn,_0x4d203d=_0x41b36b['atlas'],_0x36171e=_0x41b36b['atlasClient'];function _0x41317a(_0x59f578,_0x44eeac){return _0x1d3cd1(_0x44eeac-0x249,_0x59f578);}if(!_0x4d203d||!_0x36171e)throw new Error('Atlas\x20connection\x20is\x20not\x20available');const _0x200ca7=_0x36171e['startSession'](),_0x167e42={};try{await _0x200ca7[_0x41317a(0x31d,_0x50dd8c._0x1bde5c)](async()=>{const _0x30e11b=_0x4d203d[_0x271f73(_0xf77510._0x353537,_0xf77510._0x16586d)](_0x271f73(_0xf77510._0x55a456,0x26c)),_0x202899=new Date(),_0x1d4961={'opId':_0x3ad62b[_0x271f73(_0xf77510._0x29b8b3,0x1d9)],'type':_0x3ad62b[_0x271f73(_0xf77510._0x3be3f7,0x1d8)],'collection':_0x3ad62b[_0x271f73(0x251,_0xf77510._0x452e84)],'docId':_0x3ad62b[_0x271f73(0x1fb,0x224)],'payload':_0x3ad62b[_0x271f73(0x26b,0x248)],'ownerKey':resolveOwnerKey(_0x3ad62b),'deviceId':_0x3ad62b[_0x271f73(0x257,_0xf77510._0x525f59)],'timestamp':_0x3ad62b[_0x271f73(_0xf77510._0x3abec0,_0xf77510._0x205598)],'updatedAt':_0x3ad62b[_0x271f73(_0xf77510._0x259c72,0x24a)]||_0x3ad62b[_0x271f73(_0xf77510._0x552fe1,0x22b)],'baseVersion':_0x3ad62b[_0x271f73(_0xf77510._0x47cb64,_0xf77510._0x541e9a)],'version':_0x3ad62b[_0x271f73(0x27f,_0xf77510._0x4c462)],'lastWriterDeviceId':_0x3ad62b[_0x271f73(_0xf77510._0x2df547,_0xf77510._0x387316)],'payloadChecksum':_0x3ad62b['payloadChecksum'],'createdAt':_0x202899,'applyStatus':_0x271f73(0x250,0x244)};await _0x30e11b[_0x271f73(_0xf77510._0x15b044,0x1ce)]({'opId':_0x3ad62b[_0x271f73(0x1eb,0x23d)]},{'$setOnInsert':_0x1d4961},{'upsert':!0x0,'session':_0x200ca7});const _0x3312f7=await _0x30e11b[_0x271f73(0x248,_0xf77510._0x5d1fe7)]({'opId':_0x3ad62b[_0x271f73(0x1eb,0x1e0)]},{'session':_0x200ca7,'projection':{'applyStatus':0x1,'remoteAckAt':0x1,'serverVersion':0x1,'serverChecksum':0x1}});if(_0x271f73(0x1f7,0x190)===_0x3312f7?.[_0x271f73(_0xf77510._0x39c6e6,0x1f2)])return _0x3312f7[_0x271f73(0x271,_0xf77510._0x284f85)]||await _0x30e11b[_0x271f73(0x1f0,0x229)]({'opId':_0x3ad62b[_0x271f73(0x1eb,0x238)]},{'$set':{'syncedAt':_0x202899}},{'session':_0x200ca7}),_0x167e42['status']='already_applied',_0x167e42[_0x271f73(_0xf77510._0x1f146d,_0xf77510._0x19125c)]=_0x3312f7[_0x271f73(0x22f,0x221)]||_0x202899,_0x167e42[_0x271f73(_0xf77510._0x54d364,_0xf77510._0x35b5a0)]=asInt(_0x3312f7['serverVersion'],_0x3ad62b[_0x271f73(0x27f,0x2cc)]),void(_0x167e42['serverChecksum']=_0x3312f7[_0x271f73(0x225,_0xf77510._0x46d4d4)]||null);const _0x2f386e=await _applyOpToAtlasData(_0x4d203d,_0x3ad62b,_0x200ca7);function _0x271f73(_0x459696,_0x394967){return _0x41317a(_0x394967,_0x459696- -0x9b);}if(_0x271f73(_0xf77510._0x205598,0x260)===_0x2f386e[_0x271f73(0x1ca,_0xf77510._0x1c25e4)])throw await _0x30e11b[_0x271f73(_0xf77510._0x5160b6,0x206)]({'opId':_0x3ad62b[_0x271f73(0x1eb,_0xf77510._0x29107d)]},{'$set':{'applyStatus':_0x271f73(0x242,0x1e2),'conflictAt':_0x202899,'conflict':_0x2f386e[_0x271f73(_0xf77510._0x205598,0x20f)],'updatedAt':_0x202899}},{'session':_0x200ca7}),new ConflictError(_0x271f73(_0xf77510._0x2b9370,0x1d2)+_0x3ad62b[_0x271f73(_0xf77510._0x174b78,_0xf77510._0x18c295)]+'/'+_0x3ad62b['docId']+_0x271f73(_0xf77510._0x47ba2c,_0xf77510._0xba7bba)+_0x2f386e[_0x271f73(0x242,_0xf77510._0x142138)][_0x271f73(_0xf77510._0x532d6b,0x1ab)]+_0x271f73(0x1df,_0xf77510._0x3f09a0)+_0x2f386e[_0x271f73(_0xf77510._0x1cce95,0x280)][_0x271f73(_0xf77510._0x4dbfd6,_0xf77510._0x4c462)]+_0x271f73(_0xf77510._0x3ab059,_0xf77510._0x562345)+_0x3ad62b['opId'],{'collection':_0x3ad62b[_0x271f73(0x251,0x26b)],'docId':_0x3ad62b['docId'],'opId':_0x3ad62b['opId'],'localVersion':_0x2f386e[_0x271f73(_0xf77510._0x1cce95,0x28f)]['expected'],'remoteVersion':_0x2f386e['conflict'][_0x271f73(_0xf77510._0x4dbfd6,_0xf77510._0x20c479)],'op':_0x3ad62b[_0x271f73(_0xf77510._0x3e0ffe,_0xf77510._0x259c72)]});await _0x30e11b[_0x271f73(_0xf77510._0x15b044,0x1da)]({'opId':_0x3ad62b[_0x271f73(0x1eb,_0xf77510._0x259c72)]},{'$set':{'applyStatus':_0x271f73(_0xf77510._0x57ccbb,_0xf77510._0x1cce95),'applied':!0x0,'remoteAckAt':_0x202899,'syncedAt':_0x202899,'serverVersion':_0x2f386e[_0x271f73(0x27f,0x22d)],'serverChecksum':_0x2f386e['checksum'],'updatedAt':_0x202899}},{'session':_0x200ca7}),_0x167e42[_0x271f73(_0xf77510._0x75447e,_0xf77510._0x575e08)]='already_applied'===_0x2f386e[_0x271f73(_0xf77510._0x54c7a6,_0xf77510._0x18b1b1)]?_0x271f73(0x1bd,0x15e):_0x271f73(0x1f7,0x205),_0x167e42[_0x271f73(0x22f,_0xf77510._0x213ad4)]=_0x202899,_0x167e42[_0x271f73(0x216,0x24e)]=_0x2f386e[_0x271f73(0x27f,_0xf77510._0x3fa46f)],_0x167e42['serverChecksum']=_0x2f386e[_0x271f73(0x286,0x2b8)];},TXN_OPTIONS);}finally{await _0x200ca7[_0x41317a(0x2c7,0x2ed)]();}return _0x167e42;}async function _applyOpToAtlasData(_0x1644e8,_0x4823d0,_0x237f4b){const _0x368e55={_0x5dfd00:0x35a,_0x522a67:0x35d,_0x3200f3:0x3a2,_0x5e013a:0x307,_0x8e9159:0x29d,_0x453d2d:0x2c9,_0xe393e2:0x38b,_0x399b45:0x352,_0x77c53d:0x304,_0xa61c4f:0x324,_0x394a42:0x354,_0x342de6:0x3a8,_0x32b218:0x3e5,_0x589543:0x317,_0x477904:0x35f,_0x5dfbae:0x365,_0x199bb9:0x33a,_0x2c6cf6:0x2c9,_0x5a458c:0x399,_0x488447:0x32d,_0x3e905a:0x375,_0x21d7a4:0x30f,_0x23ae63:0x368,_0x325aea:0x346,_0x5392fe:0x32d,_0x300ba9:0x29d,_0x25bab0:0x3bd,_0x612360:0x2f7,_0x4426d1:0x308,_0x121b27:0x2cf,_0x355f49:0x339,_0x2c89eb:0x330,_0x5ef142:0x369,_0x98f633:0x2a2,_0x17679c:0x2de},_0x4a7018={_0x43f614:0x2ba};function _0x25cf65(_0xac8322,_0x1186a0){return _0x1d3cd1(_0x1186a0-_0x4a7018._0x43f614,_0xac8322);}const _0x128511=_0x1644e8[_0x25cf65(0x379,0x35d)](_0x4823d0[_0x25cf65(_0x368e55._0x5dfd00,0x35d)]),_0x59c311=_0x1644e8[_0x25cf65(0x31d,_0x368e55._0x522a67)](_0x25cf65(_0x368e55._0x3200f3,0x371)),_0x52417e=metaId(_0x4823d0[_0x25cf65(0x31d,_0x368e55._0x522a67)],_0x4823d0[_0x25cf65(0x2ff,_0x368e55._0x5e013a)]),_0x46a172=toObjectId(_0x4823d0['docId']),_0x2cc183=await _0x59c311['findOne']({'_id':_0x52417e},{'session':_0x237f4b,'projection':{'version':0x1,'updatedByOpId':0x1,'updatedAt':0x1,'lastWriterDeviceId':0x1}});if(_0x2cc183?.['updatedByOpId']===_0x4823d0[_0x25cf65(0x2cc,0x2f7)])return{'status':_0x25cf65(_0x368e55._0x8e9159,_0x368e55._0x453d2d),'version':asInt(_0x2cc183[_0x25cf65(0x3b7,_0x368e55._0xe393e2)],_0x4823d0[_0x25cf65(_0x368e55._0x399b45,0x38b)]),'checksum':_0x4823d0[_0x25cf65(_0x368e55._0x77c53d,_0x368e55._0xa61c4f)]};let _0x3b8379=asInt(_0x2cc183?.[_0x25cf65(0x359,_0x368e55._0xe393e2)],0x0),_0x3d7968=null;_0x2cc183||(_0x3d7968=await _0x128511[_0x25cf65(0x38d,_0x368e55._0x394a42)]({'_id':_0x46a172},{'session':_0x237f4b,'projection':{'_mf_version':0x1}}),_0x3b8379=asInt(_0x3d7968?.[_0x25cf65(0x2e5,0x2e9)],0x0));let _0x49fa72=null,_0x23ad90=!0x1;const _0x2499a2=async()=>(_0x23ad90||(_0x23ad90=!0x0,_0x49fa72=await _0x128511[_0x25cf65(0x353,0x354)]({'_id':_0x46a172},{'session':_0x237f4b})),_0x49fa72),_0x2fa29c=asInt(_0x4823d0[_0x25cf65(0x3b7,0x34f)],Math[_0x25cf65(_0x368e55._0x342de6,0x359)](asInt(_0x4823d0[_0x25cf65(_0x368e55._0x32b218,_0x368e55._0xe393e2)],0x1)-0x1,0x0));if(_0x3b8379!==_0x2fa29c){if(_0x25cf65(0x363,_0x368e55._0x589543)===_0x4823d0['type']&&0x0===_0x2fa29c&&_0x3b8379>0x0)return console['warn'](_0x25cf65(0x332,_0x368e55._0x477904)+_0x4823d0[_0x25cf65(_0x368e55._0x5dfbae,0x35d)]+'/'+_0x4823d0[_0x25cf65(_0x368e55._0x199bb9,0x307)]+'\x20(local\x20baseVersion=0,\x20Atlas\x20v'+_0x3b8379+').\x20Local\x20DB\x20was\x20reset\x20or\x20app\x20re-created\x20a\x20previously-synced\x20document\x20on\x20startup.\x20Run\x20`mongofire\x20reset-local`\x20before\x20creating\x20docs\x20next\x20time\x20for\x20a\x20clean\x20reset.'),{'status':_0x25cf65(0x2c4,_0x368e55._0x2c6cf6),'version':_0x3b8379,'checksum':_0x4823d0['payloadChecksum']};if(!_0x2cc183&&0x0===_0x3b8379&&_0x2fa29c>0x0&&_0x25cf65(_0x368e55._0x5a458c,0x368)!==_0x4823d0[_0x25cf65(0x30b,_0x368e55._0x488447)]&&!_0x3d7968){const _0x1e4a7d=await _recoverMissingRemoteDoc(_0x4823d0,_0x128511,_0x59c311,_0x2499a2,_0x237f4b);if(_0x1e4a7d)return _0x1e4a7d;}return{'status':'conflict','conflict':{'expected':_0x2fa29c,'current':_0x3b8379}};}const _0x47f4c5=new Date(),_0x4898bc=asDate(_0x4823d0[_0x25cf65(0x2d5,0x318)])||asDate(_0x4823d0[_0x25cf65(0x38c,0x34a)])||_0x47f4c5,_0x4482a5=asInt(_0x4823d0[_0x25cf65(_0x368e55._0x3e905a,0x38b)],_0x2fa29c+0x1);let _0x530bce=_0x4823d0[_0x25cf65(_0x368e55._0x21d7a4,0x324)];if(_0x25cf65(0x318,_0x368e55._0x23ae63)===_0x4823d0[_0x25cf65(_0x368e55._0x325aea,_0x368e55._0x5392fe)])await _0x128511[_0x25cf65(_0x368e55._0x300ba9,0x2d8)]({'_id':_0x46a172},{'session':_0x237f4b});else{const _0x4a5822=_0x4823d0[_0x25cf65(0x2b0,0x2de)]||_0x4823d0[_0x25cf65(_0x368e55._0x25bab0,0x363)],_0x2b8adc=await _resolveWritePayload(_0x4823d0,_0x2499a2,'Atlas\x20apply');if(!_0x2b8adc)throw new Error(_0x25cf65(0x269,0x2cf)+_0x4823d0[_0x25cf65(0x2c4,_0x368e55._0x488447)]+_0x25cf65(0x28f,0x2f5)+_0x4823d0[_0x25cf65(0x31c,_0x368e55._0x612360)]);const _0x406217=buildDocPayload({..._0x4823d0,'payload':_0x2b8adc},_0x4482a5,_0x4a5822);if(!_0x406217)throw new Error(_0x25cf65(_0x368e55._0x4426d1,_0x368e55._0x121b27)+_0x4823d0[_0x25cf65(_0x368e55._0x355f49,0x32d)]+'\x20op\x20'+_0x4823d0[_0x25cf65(0x342,0x2f7)]);_0x406217['updatedAt']=_0x4898bc,_0x530bce=payloadChecksum(_0x406217),await _0x128511[_0x25cf65(_0x368e55._0x2c89eb,_0x368e55._0x5ef142)]({'_id':toObjectId(_0x4823d0[_0x25cf65(0x35b,0x307)])},_0x406217,{'upsert':!0x0,'session':_0x237f4b});}return await _upsertDocMeta(_0x59c311,{'op':_0x4823d0,'nextVersion':_0x4482a5,'opUpdatedAt':_0x4898bc,'writerDeviceId':_0x4823d0[_0x25cf65(_0x368e55._0x98f633,_0x368e55._0x17679c)]||_0x4823d0['deviceId'],'checksum':_0x530bce,'now':_0x47f4c5,'session':_0x237f4b}),{'status':_0x25cf65(0x2f2,0x303),'version':_0x4482a5,'checksum':_0x530bce};}async function _applyRemoteOpLocally(_0x4464dc,_0x3c06b8,_0x4bd12b=null){const _0x4f2a2a={_0x140b42:0xf9,_0x2da8e4:0x9f,_0x1a2709:0xa1,_0x29b7ef:0x144,_0x5479c8:0x15f,_0x2db4e5:0x107,_0x23b58d:0xfd,_0x4af1ed:0xf3,_0x1ded4c:0xcb,_0x157b7b:0x13e,_0x1b3f58:0x10c,_0x3572bb:0x173,_0x518a03:0x15f,_0x14f29b:0x19e,_0x33a452:0x102,_0x2e32a8:0xa9,_0x4a1912:0xcb,_0x359062:0x98,_0x3777c2:0x16d,_0x504288:0x15b,_0x1bdb32:0x1b6,_0x180d74:0xef,_0x3ada75:0xf2,_0x332c84:0x132,_0x46ed0f:0x188,_0x1dc3e4:0x17e,_0x2d146b:0x181,_0x280081:0xed},_0x1387bd=_0x4464dc[_0xbc53a5(-_0x4f2a2a._0x140b42,-_0x4f2a2a._0x2da8e4)](_0x3c06b8['collection']),_0x3243a3=_0x4464dc[_0xbc53a5(-_0x4f2a2a._0x140b42,-_0x4f2a2a._0x1a2709)](_0xbc53a5(-0xe5,-0xf4)),_0x5ba5d3=toObjectId(_0x3c06b8['docId']),_0x461d42=metaId(_0x3c06b8['collection'],_0x3c06b8[_0xbc53a5(-0x14f,-_0x4f2a2a._0x29b7ef)]);if(null==_0x4bd12b&&(_0x4bd12b=await _0x3243a3['findOne']({'_id':_0x461d42},{'projection':{'version':0x1,'updatedAt':0x1,'lastWriterDeviceId':0x1,'updatedByOpId':0x1,'lastOpId':0x1}})),_0x4bd12b?.['updatedByOpId']===_0x3c06b8[_0xbc53a5(-0x15f,-0x169)]||_0x4bd12b?.['lastOpId']===_0x3c06b8[_0xbc53a5(-_0x4f2a2a._0x5479c8,-0x177)])return!0x1;function _0xbc53a5(_0x4b175a,_0x23a1db){return _0x1d3cd1(_0x4b175a- -0x19c,_0x23a1db);}const _0x451b08=asInt(_0x3c06b8[_0xbc53a5(-_0x4f2a2a._0x2db4e5,-0x161)],Math[_0xbc53a5(-_0x4f2a2a._0x23b58d,-_0x4f2a2a._0x4af1ed)](asInt(_0x3c06b8[_0xbc53a5(-0xcb,-0xc7)],0x1)-0x1,0x0)),_0x47ab2f=asInt(_0x4bd12b?.[_0xbc53a5(-_0x4f2a2a._0x1ded4c,-0x8e)],0x0),_0x56f2fa={'version':asInt(_0x3c06b8[_0xbc53a5(-_0x4f2a2a._0x1ded4c,-0x6c)],_0x451b08+0x1),'updatedAt':asDate(_0x3c06b8[_0xbc53a5(-_0x4f2a2a._0x157b7b,-0x100)])||asDate(_0x3c06b8[_0xbc53a5(-_0x4f2a2a._0x1b3f58,-_0x4f2a2a._0x3572bb)])||new Date(0x0),'deviceId':_0x3c06b8['lastWriterDeviceId']||_0x3c06b8[_0xbc53a5(-_0x4f2a2a._0x4af1ed,-0xc1)]||'','tie':_0x3c06b8[_0xbc53a5(-_0x4f2a2a._0x518a03,-_0x4f2a2a._0x14f29b)]||''};if(_0x47ab2f!==_0x451b08){const _0x560710=await _0x1387bd[_0xbc53a5(-_0x4f2a2a._0x33a452,-_0x4f2a2a._0x2e32a8)]({'_id':_0x5ba5d3},{'projection':{'updatedAt':0x1,'_mf_lastWriterDeviceId':0x1,'_mf_lastOpId':0x1,'_mf_version':0x1}});if(_compareMeta({'version':asInt(_0x4bd12b?.[_0xbc53a5(-_0x4f2a2a._0x4a1912,-_0x4f2a2a._0x359062)],asInt(_0x560710?.[_0xbc53a5(-_0x4f2a2a._0x3777c2,-0x1b9)],0x0)),'updatedAt':asDate(_0x4bd12b?.[_0xbc53a5(-0x13e,-_0x4f2a2a._0x504288)])||asDate(_0x560710?.[_0xbc53a5(-0x13e,-0xe2)])||new Date(0x0),'deviceId':_0x4bd12b?.[_0xbc53a5(-0x178,-_0x4f2a2a._0x1bdb32)]||_0x560710?.[_0xbc53a5(-_0x4f2a2a._0x180d74,-0xe3)]||'','tie':_0x4bd12b?.[_0xbc53a5(-0x144,-0x113)]||_0x560710?.['_mf_lastOpId']||''},_0x56f2fa)>=0x0)return!0x1;}const _0xb7905=new Date(),_0x3790d0=asDate(_0x3c06b8[_0xbc53a5(-_0x4f2a2a._0x157b7b,-0xe8)])||asDate(_0x3c06b8[_0xbc53a5(-0x10c,-_0x4f2a2a._0x3ada75)])||_0xb7905,_0x4bc0c5=_0x56f2fa[_0xbc53a5(-0xcb,-0xa3)],_0x14da1b=_0x56f2fa[_0xbc53a5(-0xf3,-0xa5)];let _0xe7847f=_0x3c06b8[_0xbc53a5(-_0x4f2a2a._0x332c84,-_0x4f2a2a._0x46ed0f)];if(_0xbc53a5(-0xee,-0x98)===_0x3c06b8[_0xbc53a5(-0x129,-0x110)])await _0x1387bd[_0xbc53a5(-_0x4f2a2a._0x1dc3e4,-_0x4f2a2a._0x2d146b)]({'_id':_0x5ba5d3});else{const _0x3b1a24=async()=>_0x1387bd[_0xbc53a5(-0x102,-0x9d)]({'_id':_0x5ba5d3}),_0x4996a0=await _resolveWritePayload(_0x3c06b8,_0x3b1a24,_0xbc53a5(-0x126,-0xe2));if(!_0x4996a0)return!0x1;const _0x571ea0=buildDocPayload({..._0x3c06b8,'payload':_0x4996a0},_0x4bc0c5,_0x14da1b);if(!_0x571ea0)return!0x1;_0x571ea0[_0xbc53a5(-0x13e,-_0x4f2a2a._0x29b7ef)]=_0x3790d0,_0xe7847f=payloadChecksum(_0x571ea0),await _0x1387bd[_0xbc53a5(-_0x4f2a2a._0x280081,-0xa3)]({'_id':_0x5ba5d3},_0x571ea0,{'upsert':!0x0});}return await _upsertDocMeta(_0x3243a3,{'op':_0x3c06b8,'nextVersion':_0x4bc0c5,'opUpdatedAt':_0x3790d0,'writerDeviceId':_0x14da1b,'checksum':_0xe7847f,'now':_0xb7905,'session':null}),!0x0;}function _0x26cd(){const _0x1bbdc6=['C2XPy2u','zgvSzxrLza','zw50CMLLCW','D2fYBG','BwvZC2fNzq','iIdIGjqGzg9JswqGAxmGBwLZC2LUzY4GvgHPCYbYzwnVCMqGBwf5igjLig1HBgzVCM1LzcbVCIbMCM9TigeGzMfPBgvKig1Pz3jHDgLVBI4','Bg9JywW','DhLWzq','jhr5Cgu','DgLTzwqGB3v0','tg9JywWGyxbWBhK','C2vYDMvYq2HLy2TZDw0','w01VBMDVrMLYzv0GuMvJB3zLCNKGB2yGBwLZC2LUzYbYzw1VDguGzg9JigzHAwXLzcaOBM9UlwzHDgfSktO','ihjLDhjPzwq6','zMLSDgvY','Dg9mB3DLCKnHC2u','BgvNywn5lq','x21Mx2nOyw5NzxrYywnR','w01VBMDVrMLYzv0Gu3vWzxjZzwrLzca','w01VBMDVrMLYzv0Gq2HLy2TZDw0GBwLZBwf0y2GGywz0zxiGDxbSB2fKigzVCIa','BMv0D29YAW','CMvTB3rLqwnRqxq','ywDNCMvNyxrL','w01VBMDVrMLYzv0GuMv0CNKGB3aG','w01VBMDVrMLYzv0GC3LUy093BMvYigz1BMn0Aw9UihrOCMv3iokaLcbZEw5JigfIB3j0zwqGDg8GChjLDMvUDcbWCML2AwXLz2uGzxnJywXHDgLVBI4GrML4ihLVDxiGC3LUy093BMvYigz1BMn0Aw9UlIbfCNjVCJOG','icHLEhbLy3rLzcbIyxnLvMvYC2LVBIa','Dg9bCNjHEq','BM90ihbYAw1HCNK','w01VBMDVrMLYzv0G','lcbYzw1VDguGDMvYC2LVBJ0','iIbMCM9Tif9Pzca','jgrVy0LK','lI9JAgfUz2v0CMfJAW','x21Mx2XHC3rpCeLK','zg9J','BwfQB3jPDhK','DgLTzxn0yw1W','zNvUy3rPB24','lI91DgLSCW','x2LK','y29UzMXPy3q','yMfZzvzLCNnPB24','oIbWyxrJAcbHChbSEsbMywLSzwqGzM9Yia','ChvZAa','y2f0y2G','BwLZC2LUzYbKB2njzcdIGjqGBwfSzM9YBwvKignOyw5NzxrYywnRihjLy29Yza','zMLUze9Uzq','D2L0AfrYyw5Zywn0Aw9U','lI4U','ndaYnZm0n2HIuK5cyq','ywnRu3rHDgu','Bwf4','AgfZ','zw52','CgvUzgLUzW','y29SBgvJDgLVBG','zw5Ku2vZC2LVBG','w01VBMDVrMLYzv0Gr2HVC3qGy3jLyxrLigf1Dg8TCMvZB2X2zwqGzM9Yia','rg93BMXVywqGy29SBgvJDgLVBG','w01VBMDVrMLYzv0Gx25VCM1HBgL6zu9WuM93oIbZA2LWCgLUzYbVCcaI','CMv0CMLLza','zgv2AwnLswq','y2HHBMDLzef0','ywrK','ChjVAMvJDa','x21Mx2XHC3rxCML0zxjezxzPy2vjza','zgvSzxrL','CMvWBgfJzu9Uzq','rgvSzxrLig9Uia','yxrSyxm','w01VBMDVrMLYzv0Grg9UzsdIGjqG4OAt','B3bZ','B3bSB2C','z2v0vgLTzq','iIaOB3DUzxi6ia','x21Mx2rVy21LDge','vw5RBM93BLrYyw5Zywn0Aw9Uq29TBwL0uMvZDwX0','BM93','ks4UlG','mJmYnZq5me1KC1nuqW','z2v0','Cgf5Bg9Hza','y29TChjLC3nLza','yM9VDhn0CMfWx3jLC3vTzq','DgLL','y29Kzq','y3j5ChrV','C3LUy2vKqxq','zg93BMXVywrLza','Bg9JywXLq29TCgfYzq','Dg9tDhjPBMC','BxmP','igDOB3n0ignYzwf0zsbVCcHZksaOBg9JywWGreiGD2fZihjLC2v0iokaLcbbDgXHCYbHBhjLywr5ig93BNmGDgHLC2uGzg9JDw1LBNrZks4','C25HChnOB3q','mJK2mJHrENDbB0u','zNvSzMLSBgvK','AgfZrxjYB3jmywjLBa','lcbbDgXHCYbOywqGBM9UzsKU','lcbJB2XZoIa','CMvWBgfJzw1LBNq','BwfW','DMvYC2LVBG','jhn5BMnLza','iIbHDcbJDxjZB3iG','B3DUzxjlzxK','w01VBMDVrMLYzv0Gu3rHBguTB3aGChjLlwrPC21PC3nHBcbMywLSzwqGkgnVBNrPBNvPBMCPoG','Bw9Uz29KyG','w01VBMDVrMLYzv0GqM9VDhn0CMfWici','y2HLy2TZDw0','ihnRAxa6','ywnRzwq','odu4mtjqBgPHDNi','mZq3meHbrvj2va','w01VBMDVrMLYzv0GvxbSB2fKihnHzMv0EsbSAw1PDcbHChbYB2fJAgLUzYbMB3iGiG','x21Mx2z1BgW','oIbWyxrJAcbWyxLSB2fKig1PC3nPBMCGx21Mx2z1BgWGzM9Yia','ywXYzwfKEv9HChbSAwvK','w01VBMDVrMLYzv0Gu3LUyYbZDgfYDgLUzYaODhLWztOG','tu9or09gsvjfx0npteXfq1rjt05Fq09oq1vsuKvoq1K','w01VBMDVrMLYzv0GuMvZDw1PBMCGyM9VDhn0CMfWici','Bg9N','yNvSA1DYAxrL','twLZC2LUzYbWyxLSB2fKigzVCIa','BNvTyMvY','y29UBMvJDgLVBG','iIbPBIbJB2XSzwn0Aw9Uici','DMvYC2LVBIbTAxnTyxrJAcbMB3iG','DxbSB2fKzwq','y291BNq','C3rHDhvZ','iI4UlG','zgvSzxrLt25L','iIaO','z2XVyMfS','C2v0','zwnVBM5YzxnLDa','ChjPBwfYEq','BgfZDfDYAxrLCKrLDMLJzuLK','vhjHBNnPzw50vhjHBNnHy3rPB25fCNjVCG','mZu5mZCZnNfZu2PYuq','DMfSDwu','C2TPChbLza','iokaLcbJyw5UB3qGC2fMzwX5igfWCgX5','yMf0y2HtAxPL','icHHDhrLBxb0ia','jf9Pza','zxjYB3i','ksdIGjqGB3bjzdOG','x21Mx3zLCNnPB24','Aw5JBhvKzxm','lcbNB3qG','iJOGChjLlwrPC21PC3nLzca','ywXS','iJOGzgLZBwLZC2vKia','icHLEhbLy3rLzca','DxbKyxrLzej5t3bjza','B25SAw5L','zxHWzwn0zwq','BgvUz3rO','icHVzMzSAw5LignYzwf0zsTKzwXLDguP','ig9Wia','uMvJB3zLCIbTAxnZAw5NihjLBw90zq','B3bjza','zgLZBwLZC2vK','mJq1swf1s1fn','zMLUza','y291BNreB2n1BwvUDhm','DxbKyxrLt25L','zMXVB3i','w01VBMDVrMLYzv0GvxbSB2fKigfSCMvHzhKGAw4GChjVz3jLC3mGzM9Yici','zMfPBgvK','Dw5RBM93BIb1CgXVywqGC3rHDgu','ig9WCYbMB3iG','iIbKB25LiokaLca','yxbWBgLLza','igrVyYHZksb3Ag9ZzsbSB2nHBcb2zxjZAw9Uid49ihjLBw90zsaOq1jjvc00ihjHy2uGz3vHCMqP','ywXSu2v0DgXLza','w01VBMDVrMLYzv0Gq29UzMXPy3qGB24G','zg9Jswq','lI9KzxzPy2u','C3vWzxjZzwrLza','ksdIGjqGC2TPChbPBMCGzhvWBgLJyxrLignVBMn1CNjLBNqGC3LUyYbJywXS','DMvYAwzPzwq','lI9JB25Uzwn0Aw9U','CMfUzg9Tvvvjra','mtuZndrJsLD0sLy','yxbWBhLtDgf0Dxm','mJG0mdG4ofLxEwL4Aq','iJOGC2TPChbLzca','BgfZDe9Wswq','CMvHC29U','igzHAwXLzdO','x21Mx29Wswq','igLUDgvYBwvKAwf0zsb1CgrHDgvZigzVCIa','y3jLyxrL','DxbKyxrLzef0','jg9W','w01VBMDVrMLYzv0Gx2rPC21PC3ntDgfSzunYzwf0zu9WCYbLCNjVCIaOBM9UlwzHDgfSktO','y3vYCMvUDa','w01VBMDVrMLYzv0Gtu9or09gsvjfx0npteXfq1rjt05Fq09oq1vsuKvoq1K9','ignVBMzSAwn0CZO','CMvXDwLYzwq','n3jbCej5Dq','DxbKyxrL','BwLU','C2vYDMvYvMvYC2LVBG','BgfZDfr5Cgu','Cgf5Bg9HzenOzwnRC3vT','B25szxrYEq'];_0x26cd=function(){return _0x1bbdc6;};return _0x26cd();}async function _reconcileDeleteBaseVersion(_0x2d72ee,_0x45d1e1){const _0x46a406={_0x572eb0:0x548,_0x3ffc0f:0x55c,_0x534d35:0x54e,_0x4f811a:0x545,_0x2a2a90:0x5ce,_0x1679e7:0x503,_0xef72ac:0x55b,_0x467d5d:0x4f4,_0x545091:0x534,_0x499541:0x4f0,_0x509363:0x4e8,_0x3ab2b4:0x4f3,_0x146bc0:0x54e,_0xe4221e:0x4b2,_0x1c31ad:0x5a2,_0x35ce0d:0x540,_0x44a4e0:0x559},_0x166ee5=_0x45d1e1||_conn;if(!_0x166ee5[_0x1f0978(0x58f,0x55c)])return;const _0x50570d=metaId(_0x2d72ee[_0x1f0978(0x56e,0x54e)],_0x2d72ee[_0x1f0978(_0x46a406._0x572eb0,0x4f8)]),_0xfcb237=await _0x166ee5[_0x1f0978(0x5a0,_0x46a406._0x3ffc0f)][_0x1f0978(0x524,_0x46a406._0x534d35)]('_mf_docmeta')[_0x1f0978(0x567,_0x46a406._0x4f811a)]({'_id':_0x50570d},{'projection':{'version':0x1}});function _0x1f0978(_0x3e78ff,_0x335e66){return _0x1d3cd1(_0x335e66-0x4ab,_0x3e78ff);}if(!_0xfcb237)return;const _0xa0b574=asInt(_0xfcb237[_0x1f0978(_0x46a406._0x2a2a90,0x57c)],0x0);if(_0xa0b574!==_0x2d72ee[_0x1f0978(_0x46a406._0x1679e7,0x540)])throw new ConflictError(_0x1f0978(0x5a2,_0x46a406._0xef72ac)+_0x2d72ee[_0x1f0978(0x50e,0x54e)]+'/'+_0x2d72ee[_0x1f0978(_0x46a406._0x467d5d,0x4f8)]+'\x20conflicts\x20with\x20a\x20concurrent\x20remote\x20update\x20(delete\x20baseVersion='+_0x2d72ee[_0x1f0978(0x572,0x540)]+_0x1f0978(0x54a,_0x46a406._0x545091)+_0xa0b574+')\x20—\x20opId:\x20'+_0x2d72ee[_0x1f0978(_0x46a406._0x499541,_0x46a406._0x509363)],{'collection':_0x2d72ee[_0x1f0978(_0x46a406._0x3ab2b4,_0x46a406._0x146bc0)],'docId':_0x2d72ee[_0x1f0978(0x4b4,0x4f8)],'opId':_0x2d72ee[_0x1f0978(_0x46a406._0xe4221e,0x4e8)],'localVersion':_0x2d72ee[_0x1f0978(_0x46a406._0x1c31ad,_0x46a406._0x35ce0d)],'remoteVersion':_0xa0b574,'op':_0x1f0978(0x57f,_0x46a406._0x44a4e0)});}async function _verifyRemoteState(_0x13e193,_0x4fa0b5,_0x3934a3){const _0x16c9c3={_0x428fc6:0x177,_0x54e812:0x14b,_0x506c31:0x157,_0x251306:0x1a1,_0x210406:0x198},_0x12d0af=_0x3934a3||_conn;if(!_0x12d0af['atlas'])return!0x1;const _0x283ffd=toObjectId(_0x13e193[_0x2560ae(_0x16c9c3._0x428fc6,_0x16c9c3._0x54e812)]),_0x4048fa=await _0x12d0af[_0x2560ae(_0x16c9c3._0x506c31,0x1af)][_0x2560ae(0x149,_0x16c9c3._0x251306)](_0x13e193[_0x2560ae(0x203,0x1a1)])[_0x2560ae(0x1ca,_0x16c9c3._0x210406)]({'_id':_0x283ffd},{'projection':{'_id':0x0}});function _0x2560ae(_0x3449f1,_0x24680f){return _0x1d3cd1(_0x24680f-0xfe,_0x3449f1);}return _0x2560ae(0x1d3,0x1ac)===_0x13e193['type']?!_0x4048fa:!!_0x4048fa&&payloadChecksum(_0x4048fa)===(_0x4fa0b5[_0x2560ae(0x18c,0x175)]||_0x13e193['payloadChecksum']);}async function _withRetry(_0x211d14,_0x326829={}){const _0x3973a8={_0x5091d5:0x1d4,_0x70a6a4:0x1ac},_0xd1e6dd=_0x326829['maxAttempts']||0x5,_0x4fc4f7=_0x326829['baseDelayMs']||0xfa;function _0x2b902b(_0x1a6606,_0x5c4d1d){return _0x1d3cd1(_0x1a6606- -0x217,_0x5c4d1d);}let _0x16345c=0x0;for(;_0x16345c<_0xd1e6dd;)try{return await _0x211d14();}catch(_0x6a3f1c){if(_0x16345c++,_0x16345c>=_0xd1e6dd||!_isRetryable(_0x6a3f1c))throw _0x6a3f1c;const _0x364d8f=Math[_0x2b902b(-_0x3973a8._0x5091d5,-0x188)](0x64*Math['random']()),_0x475ca1=Math['min'](_0x4fc4f7*0x2**(_0x16345c-0x1)+_0x364d8f,0x2710);_0x2b902b(-0x186,-0x168)==typeof _0x326829[_0x2b902b(-0x1ac,-0x19a)]&&_0x326829[_0x2b902b(-_0x3973a8._0x70a6a4,-0x213)](_0x16345c,_0x475ca1,_0x6a3f1c),await _sleep(_0x475ca1);}}function _normalizeOpRow(_0x59a172){const _0x2a1fe5={_0x519f2f:0x2a3,_0x567432:0x293,_0x5486d0:0x2f2,_0x481bf3:0x32c,_0x36c44f:0x34b,_0x456269:0x32b,_0x449b6c:0x2ac,_0x51871a:0x2ca,_0x2e49eb:0x2c5,_0x4cf704:0x29f,_0x53bf28:0x245,_0x47eb69:0x282,_0x4d33f9:0x2af,_0x512619:0x2d8,_0x2e72f4:0x2b0,_0x900440:0x2a0,_0x230630:0x294,_0xe20c:0x2de,_0x5115aa:0x341,_0x3857c7:0x23d,_0x57c744:0x2dc,_0x28855f:0x322,_0x4d8828:0x1f4,_0x24c4e2:0x2d8,_0x5a5f43:0x2eb,_0x49fb49:0x2a6,_0x20d0e4:0x30e},_0x5344d0=resolveOpType(_0x59a172),_0x200a98=resolveOwnerKey(_0x59a172),_0x481582=asDate(_0x59a172[_0x1cbca9(0x2c5,_0x2a1fe5._0x519f2f)]||_0x59a172[_0x1cbca9(0x2df,0x2d1)]||_0x59a172[_0x1cbca9(_0x2a1fe5._0x567432,0x2a3)]||_0x59a172['createdAt'])||new Date(),_0x55daab=safeDoc(void 0x0!==_0x59a172[_0x1cbca9(_0x2a1fe5._0x5486d0,_0x2a1fe5._0x481bf3)]?_0x59a172[_0x1cbca9(0x2f2,_0x2a1fe5._0x36c44f)]:_0x59a172[_0x1cbca9(0x2c3,0x2a4)]),_0x5ed188=_0x59a172[_0x1cbca9(0x272,0x2c0)]||_0x1cbca9(0x2b1,0x275)+String(_0x59a172[_0x1cbca9(0x2c8,_0x2a1fe5._0x456269)]||crypto[_0x1cbca9(0x288,_0x2a1fe5._0x449b6c)]()),_0x211146=asInt(_0x59a172['version'],null),_0x215858=null===_0x211146?Math['max'](asInt((_0x55daab||{})[_0x1cbca9(0x264,0x271)],0x1),0x1):_0x211146,_0x3000b4=asInt(_0x59a172[_0x1cbca9(_0x2a1fe5._0x51871a,_0x2a1fe5._0x2e49eb)],Math['max'](_0x215858-0x1,0x0)),_0x3a5c22=_0x59a172[_0x1cbca9(_0x2a1fe5._0x4cf704,0x2a0)]||payloadChecksum(_0x55daab,!0x0),_0x44fe6e=null!=_0x59a172[_0x1cbca9(0x282,_0x2a1fe5._0x53bf28)]?String(_0x59a172[_0x1cbca9(_0x2a1fe5._0x47eb69,0x2cc)]):null;function _0x1cbca9(_0x362b1b,_0x4f55b3){return _0x1d3cd1(_0x362b1b-0x235,_0x4f55b3);}return _0x44fe6e?{'_id':_0x59a172[_0x1cbca9(0x2c8,_0x2a1fe5._0x4d33f9)],'opId':_0x5ed188,'type':_0x5344d0,'collection':_0x59a172[_0x1cbca9(_0x2a1fe5._0x512619,_0x2a1fe5._0x2e72f4)],'docId':_0x44fe6e,'payload':_0x55daab,'ownerKey':_0x200a98,'deviceId':_0x59a172[_0x1cbca9(0x2de,_0x2a1fe5._0x900440)]||'','timestamp':_0x481582,'updatedAt':asDate(_0x59a172[_0x1cbca9(0x293,_0x2a1fe5._0x230630)]||_0x59a172['changedAt'])||_0x481582,'baseVersion':_0x3000b4,'version':_0x215858,'lastWriterDeviceId':_0x59a172[_0x1cbca9(0x259,0x265)]||_0x59a172[_0x1cbca9(_0x2a1fe5._0xe20c,_0x2a1fe5._0x5115aa)]||'','payloadChecksum':_0x3a5c22}:(console[_0x1cbca9(0x2a4,_0x2a1fe5._0x3857c7)](_0x1cbca9(_0x2a1fe5._0x57c744,_0x2a1fe5._0x28855f)+_0x5ed188+_0x1cbca9(0x24d,_0x2a1fe5._0x4d8828)+_0x59a172[_0x1cbca9(_0x2a1fe5._0x24c4e2,_0x2a1fe5._0x5a5f43)]+_0x1cbca9(_0x2a1fe5._0x49fb49,_0x2a1fe5._0x20d0e4)),null);}function _compareMeta(_0xccf71f,_0x4afb40){const _0x400dab={_0x272aee:0x2aa,_0x74f15e:0x1e1,_0x4a4fd0:0x1d0,_0x42b009:0x238,_0x31b587:0x27d,_0x42a6cb:0x235,_0x1c64e7:0x220},_0x496ee9={_0x3a021c:0x183},_0x299eb0=asInt(_0xccf71f?.['version'],0x0),_0x5c8e95=asInt(_0x4afb40?.[_0x1ca3a7(0x254,_0x400dab._0x272aee)],0x0);if(_0x299eb0!==_0x5c8e95)return _0x299eb0-_0x5c8e95;const _0x2d33dc=asDate(_0xccf71f?.[_0x1ca3a7(_0x400dab._0x74f15e,_0x400dab._0x4a4fd0)])?.[_0x1ca3a7(_0x400dab._0x42b009,_0x400dab._0x31b587)]()||0x0,_0x152f80=asDate(_0x4afb40?.[_0x1ca3a7(0x1e1,0x1a3)])?.[_0x1ca3a7(_0x400dab._0x42b009,_0x400dab._0x42a6cb)]()||0x0;function _0x1ca3a7(_0x411db1,_0x5696a4){return _0x1d3cd1(_0x411db1-_0x496ee9._0x3a021c,_0x5696a4);}if(_0x2d33dc!==_0x152f80)return _0x2d33dc-_0x152f80;const _0x5aff5f=String(_0xccf71f?.[_0x1ca3a7(0x22c,0x1fa)]||''),_0xa6620a=String(_0x4afb40?.['deviceId']||'');return _0x5aff5f!==_0xa6620a?_0x5aff5f[_0x1ca3a7(0x248,0x27c)](_0xa6620a):String(_0xccf71f?.['tie']||'')[_0x1ca3a7(0x248,0x201)](String(_0x4afb40?.[_0x1ca3a7(0x243,_0x400dab._0x1c64e7)]||''));}function _isRetryable(_0x424aa6){const _0x2dc1a5={_0x287883:0x387,_0x91e1c7:0x3d8,_0x4c3144:0x373,_0x5ddb5f:0x3b9,_0x286da:0x397,_0x23ef62:0x32b,_0xe25cb7:0x331,_0x5649e3:0x336,_0xff283c:0x2eb,_0x8674b8:0x2da,_0x12f6d7:0x2a0,_0x418da6:0x2dd,_0x42b268:0x2af,_0x1d8829:0x345,_0x118904:0x2f1};if(!_0x424aa6||_0x424aa6 instanceof ConflictError)return!0x1;if(_0x424aa6[_0x2e04b0(0x387,0x3c5)]&&(_0x424aa6[_0x2e04b0(_0x2dc1a5._0x287883,_0x2dc1a5._0x91e1c7)](_0x2e04b0(0x2e0,0x330))||_0x424aa6[_0x2e04b0(0x387,0x3a1)](_0x2e04b0(_0x2dc1a5._0x4c3144,_0x2dc1a5._0x5ddb5f))))return!0x0;if(new Set([0x6,0x7,0x59,0x5b,0xbd,0x106,0x2329,0x277b,0x2d50,0x2d52,0x347b,0x347c,0x4074])[_0x2e04b0(0x35b,0x374)](_0x424aa6[_0x2e04b0(0x37c,_0x2dc1a5._0x286da)]))return!0x0;const _0x1ae5c9=String(_0x424aa6[_0x2e04b0(_0x2dc1a5._0x23ef62,_0x2dc1a5._0xe25cb7)]||'')[_0x2e04b0(_0x2dc1a5._0x5649e3,0x343)]();function _0x2e04b0(_0x2a77b9,_0x138cc8){return _0x1d3cd1(_0x2a77b9-0x2bb,_0x138cc8);}return _0x1ae5c9[_0x2e04b0(_0x2dc1a5._0xff283c,0x2b9)](_0x2e04b0(0x330,_0x2dc1a5._0x8674b8))||_0x1ae5c9[_0x2e04b0(0x2eb,_0x2dc1a5._0x12f6d7)](_0x2e04b0(_0x2dc1a5._0x418da6,_0x2dc1a5._0x42b268))||_0x1ae5c9[_0x2e04b0(_0x2dc1a5._0xff283c,_0x2dc1a5._0x1d8829)](_0x2e04b0(0x33b,0x2d6))||_0x1ae5c9[_0x2e04b0(_0x2dc1a5._0xff283c,_0x2dc1a5._0x118904)](_0x2e04b0(0x342,0x36d))||_0x1ae5c9[_0x2e04b0(0x2eb,0x335)](_0x2e04b0(0x2d2,0x2f7));}function _sleep(_0x3118c9){return new Promise(_0x54d62b=>setTimeout(_0x54d62b,_0x3118c9));}async function _dismissStaleCreateOps(_0x520331,_0x6d353b,_0x27e355,_0x58dad1,_0x4bbd11){const _0x4da7d9={_0x119e05:0x181,_0x1e2abf:0x1c6,_0x271618:0x1e4,_0x2b823a:0x238,_0x42c0a4:0x1d1,_0x4d73a0:0x1d5,_0x6ccf85:0x1e6,_0x7adf16:0x209,_0x529404:0x1c7,_0x58bb43:0x178,_0x5a85ab:0x19e,_0x335f49:0x172,_0x4b8892:0x161,_0x1cf292:0x16d,_0x24d2a1:0x18f,_0x5e0e6e:0x178,_0x361d09:0x19a,_0x12f8b1:0x130,_0x3613b7:0x1aa,_0x48cff2:0x190,_0x57750c:0x1eb,_0x2b85c3:0x192,_0x55a07e:0x208,_0x58a56d:0x19e,_0x4339d6:0x1ae,_0x54232b:0x203,_0x38555a:0x221,_0x24e20f:0x180,_0x222b3b:0x18f,_0x485fa8:0x17c,_0x19514e:0x168,_0x142386:0x1ea,_0x367e14:0x164,_0x1150ac:0x18d,_0x45e5d2:0x166,_0x53dc7e:0x184,_0x34d18e:0x137,_0x42460b:0x191,_0x2a3b58:0x136,_0x4f0b66:0x1eb,_0x56c5a4:0x208,_0x3995f9:0x228,_0x31ded2:0x1b4},_0x279d97=_0x27e355||_conn;let _0x85f83b=0x0;function _0xdc35f(_0x48e6c1,_0x44d16f){return _0x1d3cd1(_0x48e6c1- -0x224,_0x44d16f);}try{const _0x39f173=await _0x6d353b[_0xdc35f(-_0x4da7d9._0x119e05,-0x1bf)](_0xdc35f(-0x1a7,-_0x4da7d9._0x1e2abf))[_0xdc35f(-_0x4da7d9._0x271618,-_0x4da7d9._0x2b823a)]({'collection':_0x520331,'synced':!0x1,'ackState':{'$nin':[_0xdc35f(-0x190,-_0x4da7d9._0x42c0a4),'compressed',_0xdc35f(-_0x4da7d9._0x4d73a0,-0x20d),_0xdc35f(-_0x4da7d9._0x6ccf85,-_0x4da7d9._0x7adf16)]},'$or':[{'type':_0xdc35f(-_0x4da7d9._0x529404,-0x1fd)},{'op':'create'}]})[_0xdc35f(-_0x4da7d9._0x58bb43,-0x126)]({'_id':0x1,'docId':0x1,'baseVersion':0x1,'version':0x1,'opId':0x1})[_0xdc35f(-_0x4da7d9._0x5a85ab,-_0x4da7d9._0x335f49)]();if(!_0x39f173[_0xdc35f(-0x1eb,-0x248)])return 0x0;const _0x398190=_0x39f173['map'](_0x10bf96=>metaId(_0x520331,String(_0x10bf96[_0xdc35f(-0x1d7,-0x17f)]))),_0x5c72df=await _0x6d353b[_0xdc35f(-0x181,-_0x4da7d9._0x4b8892)](_0xdc35f(-_0x4da7d9._0x1cf292,-_0x4da7d9._0x24d2a1))[_0xdc35f(-_0x4da7d9._0x271618,-0x1b5)]({'_id':{'$in':_0x398190}})[_0xdc35f(-_0x4da7d9._0x5e0e6e,-_0x4da7d9._0x361d09)]({'_id':0x1,'version':0x1,'updatedByOpId':0x1})['toArray'](),_0x3bd846=new Map(_0x5c72df[_0xdc35f(-0x154,-_0x4da7d9._0x12f8b1)](_0x144ba1=>[_0x144ba1[_0xdc35f(-0x191,-0x1e8)],_0x144ba1])),_0x37b542=_0x39f173[_0xdc35f(-_0x4da7d9._0x3613b7,-0x1c5)](_0x964c17=>0x0===asInt(_0x964c17['baseVersion'],-0x1))['filter'](_0x4cfbf6=>!_0x3bd846[_0xdc35f(-0x184,-0x15d)](metaId(_0x520331,String(_0x4cfbf6[_0xdc35f(-0x1d7,-0x213)]))))[_0xdc35f(-0x154,-_0x4da7d9._0x48cff2)](_0x103468=>String(_0x103468['docId'])),_0x342b0f=new Map();if(_0x37b542[_0xdc35f(-_0x4da7d9._0x57750c,-0x230)]){const {toObjectId:_0x2f5f91}=require(_0xdc35f(-_0x4da7d9._0x2b85c3,-0x12c)),_0x2b4c81=await _0x6d353b['collection'](_0x520331)[_0xdc35f(-0x1e4,-_0x4da7d9._0x55a07e)]({'_id':{'$in':_0x37b542[_0xdc35f(-0x154,-0x1a9)](_0x2f5f91)}})['project']({'_id':0x1,'_mf_version':0x1})[_0xdc35f(-_0x4da7d9._0x58a56d,-_0x4da7d9._0x4339d6)]();for(const _0x91c438 of _0x2b4c81)_0x342b0f[_0xdc35f(-_0x4da7d9._0x54232b,-_0x4da7d9._0x38555a)](String(_0x91c438[_0xdc35f(-0x191,-_0x4da7d9._0x24e20f)]),asInt(_0x91c438['_mf_version'],0x0));}const _0x3f5f63=[];for(const _0x41b2b8 of _0x39f173){if(0x0!==asInt(_0x41b2b8[_0xdc35f(-_0x4da7d9._0x222b3b,-0x143)],-0x1))continue;const _0x57086a=String(_0x41b2b8['docId']),_0xf76d1e=metaId(_0x520331,_0x57086a),_0x3c71ee=_0x3bd846[_0xdc35f(-0x168,-_0x4da7d9._0x485fa8)](_0xf76d1e),_0x4bb74f=_0x3c71ee?asInt(_0x3c71ee['version'],0x0):0x0,_0x5185a6=_0x342b0f[_0xdc35f(-_0x4da7d9._0x19514e,-0x11e)](_0x57086a)||0x0;if(!(Math['max'](_0x4bb74f,_0x5185a6)<0x1)){if(null==_0x58dad1){if((!_0x3c71ee||!_0x3c71ee[_0xdc35f(-0x1ee,-0x23b)]||_0x3c71ee[_0xdc35f(-0x1ee,-0x1df)]!==_0x41b2b8[_0xdc35f(-0x1e7,-0x1d8)])&&_0x4bbd11){try{const {toObjectId:_0x271bae}=require('./utils');if(!await _0x4bbd11[_0xdc35f(-0x181,-_0x4da7d9._0x142386)](_0x520331)[_0xdc35f(-0x18a,-_0x4da7d9._0x367e14)]({'_id':_0x271bae(_0x57086a)},{'projection':{'_id':0x1}}))continue;}catch(_0x1b3b4a){continue;}_0x3f5f63[_0xdc35f(-_0x4da7d9._0x1150ac,-_0x4da7d9._0x45e5d2)](_0x41b2b8['_id']);}}else{if(!_0x58dad1[_0xdc35f(-_0x4da7d9._0x53dc7e,-0x167)](_0x57086a))continue;_0x3f5f63[_0xdc35f(-0x18d,-_0x4da7d9._0x34d18e)](_0x41b2b8[_0xdc35f(-_0x4da7d9._0x42460b,-_0x4da7d9._0x45e5d2)]);}}}_0x3f5f63[_0xdc35f(-_0x4da7d9._0x57750c,-0x23b)]&&(await markSynced(_0x3f5f63,{'ackState':_0xdc35f(-0x14a,-_0x4da7d9._0x2a3b58),'remoteAckAt':new Date()},_0x279d97),_0x85f83b=_0x3f5f63[_0xdc35f(-_0x4da7d9._0x4f0b66,-_0x4da7d9._0x56c5a4)]);}catch(_0x2d334a){console[_0xdc35f(-0x1b5,-0x1af)](_0xdc35f(-0x1c4,-_0x4da7d9._0x3995f9),_0x2d334a[_0xdc35f(-_0x4da7d9._0x31ded2,-0x191)]);}return _0x85f83b;}function _resolveOwnerParam(_0x32153b){const _0x8a3d41={_0x2f7372:0x50d,_0x4fe835:0x50f},_0x3aaa74={_0x2f9e54:0x47c};let _0x355204;function _0x53ab71(_0x3378c3,_0x3f0ca3){return _0x1d3cd1(_0x3f0ca3-_0x3aaa74._0x2f9e54,_0x3378c3);}try{_0x355204=_0x53ab71(0x4db,_0x8a3d41._0x2f7372)==typeof _0x32153b?_0x32153b():_0x32153b;}catch(_0x13643c){const _0x4d9b04=_0x53ab71(_0x8a3d41._0x4fe835,0x500)+(_0x13643c?.[_0x53ab71(0x4c0,0x4ec)]||_0x13643c);throw console['error'](_0x4d9b04),new Error(_0x4d9b04);}return null==_0x355204||''===_0x355204?'*':_0x355204[_0x53ab71(0x531,0x542)]();}async function _resolveWritePayload(_0x1fcfba,_0x25a4e3,_0x7cecfc){const _0x46b21c={_0x18db2b:0x2b,_0x2d74a0:0x77,_0x1ee3d8:0x56,_0x5aaf48:0xc5,_0x37509e:0x55,_0x2b612d:0x128,_0xa17776:0x9e,_0x371880:0xae,_0x43bf1f:0xe7},_0x1264af=_0x1fcfba?.[_0x1a5f63(-_0x46b21c._0x18db2b,-_0x46b21c._0x2d74a0)];if(isPatchPayload(_0x1264af)){if(_0x1264af&&_0x1264af[_0x1a5f63(-0x70,-_0x46b21c._0x1ee3d8)]&&'object'==typeof _0x1264af[_0x1a5f63(-0x76,-_0x46b21c._0x1ee3d8)])return safeDoc(_0x1264af['_mf_full']);const _0x35cd35=_0x1a5f63(-0xf2,-0xa3)==typeof _0x25a4e3?await _0x25a4e3():null;if(!_0x35cd35)return console[_0x1a5f63(-0x105,-_0x46b21c._0x5aaf48)](_0x1a5f63(-0x51,-0xac)+_0x7cecfc+_0x1a5f63(0xb,-_0x46b21c._0x37509e)+_0x1fcfba['collection']+'/'+_0x1fcfba[_0x1a5f63(-0xa9,-0xe7)]+_0x1a5f63(-_0x46b21c._0x2b612d,-0x10b)),null;try{return applyPatch(_0x35cd35,_0x1264af);}catch(_0x3c36c9){return console['warn']('[MongoFire]\x20'+_0x7cecfc+_0x1a5f63(-0xdd,-_0x46b21c._0xa17776)+_0x1fcfba['collection']+'/'+_0x1fcfba[_0x1a5f63(-_0x46b21c._0x371880,-_0x46b21c._0x43bf1f)]+':',_0x3c36c9['message']),null;}}function _0x1a5f63(_0x421878,_0x234c1e){return _0x1d3cd1(_0x234c1e- -0x134,_0x421878);}return safeDoc(_0x1264af);}async function _recoverMissingRemoteDoc(_0x49b2f8,_0x10538a,_0x290383,_0x326502,_0x1a6b88){const _0x32c33b={_0x4014b5:0x17b,_0x4c7336:0x140,_0x52ec5f:0x184,_0x472386:0x1a2,_0x215d51:0x1d9,_0x114c8c:0x188,_0xe069e7:0x1c8,_0x346b89:0x1d5,_0x33342c:0x194,_0xc2e99b:0x1ea,_0x15be10:0x1b2,_0x20995b:0x152,_0x2d8584:0x19c,_0x2b83f9:0x177,_0xe05362:0x1c8,_0x581c5b:0x1bf,_0x460dac:0x1c7},_0x290921={_0x4c79da:0x237};function _0x1dced1(_0x27be4f,_0x407622){return _0x1d3cd1(_0x407622- -_0x290921._0x4c79da,_0x27be4f);}try{const _0x1e1a64=new Date(),_0x75fe68=asDate(_0x49b2f8[_0x1dced1(-_0x32c33b._0x4014b5,-0x1d9)])||asDate(_0x49b2f8[_0x1dced1(-_0x32c33b._0x4c7336,-0x1a7)])||_0x1e1a64,_0x417193=asInt(_0x49b2f8['version'],Math[_0x1dced1(-_0x32c33b._0x52ec5f,-0x198)](asInt(_0x49b2f8[_0x1dced1(-0x1aa,-_0x32c33b._0x472386)],0x0)+0x1,0x1)),_0x435713=_0x49b2f8['lastWriterDeviceId']||_0x49b2f8['deviceId'],_0x14c04c=await _resolveWritePayload(_0x49b2f8,_0x326502,_0x1dced1(-0x226,-0x1fb));if(!_0x14c04c)return null;const _0x5eb05b=buildDocPayload({..._0x49b2f8,'payload':_0x14c04c},_0x417193,_0x435713);if(!_0x5eb05b)return null;_0x5eb05b[_0x1dced1(-0x21c,-_0x32c33b._0x215d51)]=_0x75fe68,await _0x10538a[_0x1dced1(-0x14a,-_0x32c33b._0x114c8c)]({'_id':toObjectId(_0x49b2f8[_0x1dced1(-0x23e,-0x1ea)])},_0x5eb05b,{'upsert':!0x0,'session':_0x1a6b88});const _0x176ac9=payloadChecksum(_0x5eb05b);return await _upsertDocMeta(_0x290383,{'op':_0x49b2f8,'nextVersion':_0x417193,'opUpdatedAt':_0x75fe68,'writerDeviceId':_0x435713,'checksum':_0x176ac9,'now':_0x1e1a64,'session':_0x1a6b88}),console[_0x1dced1(-0x1cd,-_0x32c33b._0xe069e7)]('[MongoFire]\x20Recovered\x20missing\x20remote\x20doc\x20'+_0x49b2f8[_0x1dced1(-_0x32c33b._0x346b89,-_0x32c33b._0x33342c)]+'/'+_0x49b2f8[_0x1dced1(-0x1b3,-_0x32c33b._0xc2e99b)]+_0x1dced1(-0x1bd,-_0x32c33b._0x15be10)+_0x49b2f8[_0x1dced1(-0x1cb,-_0x32c33b._0x472386)]+_0x1dced1(-_0x32c33b._0x20995b,-0x16a)),{'status':_0x1dced1(-_0x32c33b._0x2d8584,-0x1ee),'version':_0x417193,'checksum':_0x176ac9};}catch(_0x4d1a95){return console[_0x1dced1(-_0x32c33b._0x2b83f9,-_0x32c33b._0xe05362)](_0x1dced1(-0x1d4,-_0x32c33b._0x581c5b),_0x4d1a95[_0x1dced1(-0x207,-_0x32c33b._0x460dac)]),null;}}function _0x1d3cd1(_0x41f1bc,_0x476be4){return _0x492a(_0x41f1bc- -0x13d,_0x476be4);}function _0x492a(_0x38f868,_0x53a566){_0x38f868=_0x38f868-0x14c;const _0x26cdf5=_0x26cd();let _0x492a32=_0x26cdf5[_0x38f868];if(_0x492a['dYEqHE']===undefined){var _0xad15ba=function(_0x40099b){const _0x4b0487='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b54ff='',_0x52918b='';for(let _0x42c734=0x0,_0x24dc89,_0x318a74,_0x26191f=0x0;_0x318a74=_0x40099b['charAt'](_0x26191f++);~_0x318a74&&(_0x24dc89=_0x42c734%0x4?_0x24dc89*0x40+_0x318a74:_0x318a74,_0x42c734++%0x4)?_0x4b54ff+=String['fromCharCode'](0xff&_0x24dc89>>(-0x2*_0x42c734&0x6)):0x0){_0x318a74=_0x4b0487['indexOf'](_0x318a74);}for(let _0x2fb0d8=0x0,_0x4025ce=_0x4b54ff['length'];_0x2fb0d8<_0x4025ce;_0x2fb0d8++){_0x52918b+='%'+('00'+_0x4b54ff['charCodeAt'](_0x2fb0d8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x52918b);};_0x492a['SWodOH']=_0xad15ba,_0x492a['xvBRxj']={},_0x492a['dYEqHE']=!![];}const _0x500a33=_0x26cdf5[0x0],_0x1dc6f5=_0x38f868+_0x500a33,_0x595551=_0x492a['xvBRxj'][_0x1dc6f5];return!_0x595551?(_0x492a32=_0x492a['SWodOH'](_0x492a32),_0x492a['xvBRxj'][_0x1dc6f5]=_0x492a32):_0x492a32=_0x595551,_0x492a32;}module['exports']={'runSync':runSync,'getSyncStatus':getSyncStatus};
|
package/dist/src/utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(_0x26dab2,_0xc85535){const _0x93066a={_0x343364:0x5a8,_0x1d4923:0x59c,_0x5984ab:0x5a4,_0x50d88e:0x5be,_0x3d847a:0x5ae,_0x277e63:0x5ba,_0x354c23:0x597,_0x1fc865:0x583,_0x2965c:0x5b4,_0x1af377:0x5b3},_0x13d436={_0x1e88a3:0x393},_0x1db407=_0x26dab2();function _0x5e9d1c(_0x313fe7,_0x1a3db1){return _0x30a6(_0x313fe7-_0x13d436._0x1e88a3,_0x1a3db1);}while(!![]){try{const _0x5918b2=parseInt(_0x5e9d1c(_0x93066a._0x343364,0x5bd))/0x1+parseInt(_0x5e9d1c(_0x93066a._0x1d4923,0x586))/0x2*(-parseInt(_0x5e9d1c(_0x93066a._0x5984ab,_0x93066a._0x50d88e))/0x3)+-parseInt(_0x5e9d1c(0x5aa,0x59e))/0x4*(parseInt(_0x5e9d1c(0x5af,_0x93066a._0x3d847a))/0x5)+parseInt(_0x5e9d1c(0x5ac,_0x93066a._0x277e63))/0x6*(parseInt(_0x5e9d1c(0x59f,0x58e))/0x7)+-parseInt(_0x5e9d1c(0x5bb,0x5ac))/0x8*(parseInt(_0x5e9d1c(_0x93066a._0x354c23,_0x93066a._0x1fc865))/0x9)+parseInt(_0x5e9d1c(_0x93066a._0x2965c,_0x93066a._0x1af377))/0xa*(-parseInt(_0x5e9d1c(0x58c,0x58a))/0xb)+-parseInt(_0x5e9d1c(0x5a1,0x5b7))/0xc*(-parseInt(_0x5e9d1c(0x5a3,0x5be))/0xd);if(_0x5918b2===_0xc85535)break;else _0x1db407['push'](_0x1db407['shift']());}catch(_0x39049d){_0x1db407['push'](_0x1db407['shift']());}}}(_0x417b,0x47d9c));const crypto=require('crypto'),{ObjectId:ObjectId}=require(_0x181cff(0x547,0x54f));function asDate(_0x282ed3){const _0x3e5ead={_0x40aa49:0x228},_0xe06126={_0x374632:0x2de};function _0x516336(_0x77ddc3,_0x542660){return _0x181cff(_0x77ddc3,_0x542660- -_0xe06126._0x374632);}if(!_0x282ed3)return null;const _0x6b3cd2=new Date(_0x282ed3);return Number[_0x516336(_0x3e5ead._0x40aa49,0x240)](_0x6b3cd2[_0x516336(0x269,0x25d)]())?null:_0x6b3cd2;}function asInt(_0x548b2b,_0x2bc18e=0x0){const _0x551b10={_0x3ac52b:0x1ee},_0x29845d={_0x3c9801:0x319};function _0x25f82a(_0x2f8449,_0x52fa28){return _0x181cff(_0x2f8449,_0x52fa28- -_0x29845d._0x3c9801);}const _0x3f806a=Number(_0x548b2b);return Number[_0x25f82a(_0x551b10._0x3ac52b,0x1ff)](_0x3f806a)?_0x3f806a:null!=_0x2bc18e?Number(_0x2bc18e):0x0;}function metaId(_0xe48b5,_0xd9e9b0){return _0xe48b5+':'+_0xd9e9b0;}function toObjectId(_0x3ab03e){if(!_0x3ab03e)return _0x3ab03e;if(_0x3ab03e instanceof ObjectId)return _0x3ab03e;try{return new ObjectId(_0x3ab03e);}catch{return _0x3ab03e;}}const _COLLECTION_NAME_RE=/^[a-zA-Z0-9][a-zA-Z0-9_.\-]*$/;function validateCollectionName(_0x10b638){const _0x576833={_0x460c4c:0x279,_0x245ce0:0x268,_0x391d93:0x274,_0x2c86c4:0x264,_0xb1ce41:0x246,_0x1c28ad:0x238,_0x369d47:0x241,_0x5886ed:0x251,_0x507ae6:0x279,_0x1e89ba:0x25f,_0x1acb4a:0x22e,_0x1e1e39:0x241,_0x198cc0:0x259,_0x252730:0x25f,_0x52cb82:0x227},_0x5d71c7={_0x4073cc:0x2e8};function _0x4298a1(_0x213aaa,_0x14661b){return _0x181cff(_0x213aaa,_0x14661b- -_0x5d71c7._0x4073cc);}if(!_0x10b638||'string'!=typeof _0x10b638)throw new Error(_0x4298a1(_0x576833._0x460c4c,_0x576833._0x245ce0)+JSON[_0x4298a1(_0x576833._0x391d93,0x258)](_0x10b638));if(_0x10b638[_0x4298a1(_0x576833._0x2c86c4,_0x576833._0xb1ce41)](_0x4298a1(0x253,_0x576833._0x1c28ad)))throw new Error(_0x4298a1(0x257,_0x576833._0x369d47)+_0x10b638+_0x4298a1(0x254,_0x576833._0x5886ed));if(_0x10b638[_0x4298a1(_0x576833._0x507ae6,_0x576833._0x1e89ba)](':'))throw new Error(_0x4298a1(_0x576833._0x1acb4a,_0x576833._0x1e1e39)+_0x10b638+'\x22\x20contains\x20a\x20colon\x20which\x20would\x20cause\x20metaId\x20key\x20collisions\x20in\x20_mf_docmeta.\x20Rename\x20the\x20collection.');if(!_COLLECTION_NAME_RE[_0x4298a1(_0x576833._0x245ce0,_0x576833._0x198cc0)](_0x10b638))throw new Error(_0x4298a1(_0x576833._0x252730,0x241)+_0x10b638+_0x4298a1(_0x576833._0x52cb82,0x22e));}function resolveOwnerKey(_0x124d78){const _0x4753a4={_0x4662a4:0x3fe};if(!_0x124d78)return _0x1f9352(0x3e5,0x3d3);function _0x1f9352(_0x5beb91,_0x26ae35){return _0x181cff(_0x26ae35,_0x5beb91- -0x13c);}const _0x56e7e3=_0x124d78[_0x1f9352(0x411,0x402)]??_0x124d78[_0x1f9352(0x3fb,0x404)];return null==_0x56e7e3||''===_0x56e7e3?_0x1f9352(0x3e5,_0x4753a4._0x4662a4):String(_0x56e7e3);}function _0x30a6(_0x1c7704,_0x4cabcd){_0x1c7704=_0x1c7704-0x1f2;const _0x417b33=_0x417b();let _0x30a6f3=_0x417b33[_0x1c7704];if(_0x30a6['AgDYBo']===undefined){var _0x11eb0c=function(_0x5ebca5){const _0x3f4b35='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x282ed3='',_0x6b3cd2='';for(let _0x548b2b=0x0,_0x2bc18e,_0x3f806a,_0xe48b5=0x0;_0x3f806a=_0x5ebca5['charAt'](_0xe48b5++);~_0x3f806a&&(_0x2bc18e=_0x548b2b%0x4?_0x2bc18e*0x40+_0x3f806a:_0x3f806a,_0x548b2b++%0x4)?_0x282ed3+=String['fromCharCode'](0xff&_0x2bc18e>>(-0x2*_0x548b2b&0x6)):0x0){_0x3f806a=_0x3f4b35['indexOf'](_0x3f806a);}for(let _0xd9e9b0=0x0,_0x3ab03e=_0x282ed3['length'];_0xd9e9b0<_0x3ab03e;_0xd9e9b0++){_0x6b3cd2+='%'+('00'+_0x282ed3['charCodeAt'](_0xd9e9b0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6b3cd2);};_0x30a6['Yqwuzk']=_0x11eb0c,_0x30a6['MrVvnE']={},_0x30a6['AgDYBo']=!![];}const _0x13c065=_0x417b33[0x0],_0x2dc86a=_0x1c7704+_0x13c065,_0x2a127e=_0x30a6['MrVvnE'][_0x2dc86a];return!_0x2a127e?(_0x30a6f3=_0x30a6['Yqwuzk'](_0x30a6f3),_0x30a6['MrVvnE'][_0x2dc86a]=_0x30a6f3):_0x30a6f3=_0x2a127e,_0x30a6f3;}function resolveOpType(_0x3ea4cc){const _0xc60938={_0x64dbef:0x5f,_0x55d341:0x77,_0x24ad06:0x73};function _0x6469c9(_0x105b37,_0x24986b){return _0x181cff(_0x24986b,_0x105b37- -0x4d7);}return _0x3ea4cc?.[_0x6469c9(_0xc60938._0x64dbef,0x74)]||_0x3ea4cc?.['op']||_0x6469c9(_0xc60938._0x55d341,_0xc60938._0x24ad06);}function _0x417b(){const _0x5b4b3a=['DxbKyxrL','Bw9Uz29KyG','w01VBMDVrMLYzv0Gq29SBgvJDgLVBIbUyw1Lig11C3qGyMuGysbUB24Tzw1WDhKGC3rYAw5NlcbNB3q6ia','B3bjza','zg9J','iJXIDwy6','iIbJB250ywLUCYbPBNzHBgLKignOyxjHy3rLCNmUiefSBg93zwq6igXLDhrLCNmSigrPz2L0CYWGDw5KzxjZy29YzxmSigH5CgHLBNmSigrVDhmU','iJX1odO','AxnjBNrLz2vY','qMLUyxj5','AxncDwzMzxi','B2jQzwn0','ntvIuuHMC1m','BwfW','Axnoyu4','BNvSBa','x21MxW','z2XVyMfS','zgvSzxrL','zNjLzxPL','zNjVBq','ywrK','y3jLyxrLsgfZAa','mtC3m2jtq2rLwq','AM9PBG','w01VBMDVrMLYzv0Gq29SBgvJDgLVBIbUyw1Lici','Cgf5Bg9Hza','Agv4','mMfzy3vZCa','x21Mx2XHC3rxCML0zxjezxzPy2vjza','C3rHCNrZv2L0Aa','mte5zgnqrgHu','Dg9izxHtDhjPBMC','mJa0uhPrDKrX','zg9Jswq','mJeYodG4tvDYA3bU','nZa3mtLevu9bsfG','Dg9tDhjPBMC','DhLWzq','B3DUzxjjza','ntq0mZq3AfbVvvPV','iIbPCYbYzxnLCNzLzcdIGjqGBMfTzxmGC3rHCNrPBMCGD2L0AcaIx21MxYiGyxjLihvZzwqGAw50zxjUywXSEsbIEsbnB25NB0zPCMuGyw5KignHBM5VDcbIzsbZEw5JzwqU','otqWqwDiq0v1','z2v0vgLTzq','mZyXmtrWweXYCvC','zw52','C2HHmJu2','nZi4nw1Iz1bova','C3rYAw5NAwz5','DgvZDa','A2v5CW','x2LK','mJm5mJeWuvbQDvjw','tu9or09gsvjfx1zfuKLgwv9sru1pveu','x2jZB250ExbL','Aw5JBhvKzxm','zxHWB3j0CW','yNvMzMvY','zgLNzxn0','ntG5nLrpDMTJAW','x21Mx29Wswq','B3DUzxjlzxK'];_0x417b=function(){return _0x5b4b3a;};return _0x417b();}function _deepClone(_0x84279){const _0x3493a2={_0x736651:0xb7,_0xc95e62:0xb4,_0xdffad:0xa2,_0x10bcce:0xbf,_0x2d4d05:0xeb,_0x5e2bf5:0xc9,_0x2b8360:0xd2,_0x18ea3d:0xc2,_0x3b37a3:0xd4};function _0x853be(_0x6c1ff3,_0x318e3a){return _0x181cff(_0x6c1ff3,_0x318e3a- -0x5ef);}if(null==_0x84279)return _0x84279;if(_0x84279 instanceof Date)return new Date(_0x84279[_0x853be(-_0x3493a2._0x736651,-_0x3493a2._0xc95e62)]());if(_0x84279 instanceof ObjectId)return new ObjectId(_0x84279[_0x853be(-_0x3493a2._0xdffad,-_0x3493a2._0x10bcce)]());if(Buffer[_0x853be(-_0x3493a2._0x2d4d05,-0xd5)](_0x84279))return Buffer['from'](_0x84279);if(Array['isArray'](_0x84279))return _0x84279[_0x853be(-_0x3493a2._0x5e2bf5,-_0x3493a2._0x2b8360)](_deepClone);if(_0x853be(-_0x3493a2._0x18ea3d,-_0x3493a2._0x3b37a3)==typeof _0x84279){const _0x1d24a3={};for(const _0x174603 of Object[_0x853be(-0xc5,-0xad)](_0x84279))_0x1d24a3[_0x174603]=_deepClone(_0x84279[_0x174603]);return _0x1d24a3;}return _0x84279;}function safeDoc(_0x1a7d47){const _0x488cb1={_0x5ccb5b:0x47c},_0x38f4d0={_0x2d6091:0xad};function _0x1d652d(_0x3022aa,_0xc9a814){return _0x181cff(_0x3022aa,_0xc9a814- -_0x38f4d0._0x2d6091);}if(!_0x1a7d47||_0x1d652d(_0x488cb1._0x5ccb5b,0x46e)!=typeof _0x1a7d47)return _0x1a7d47||null;try{return _deepClone(_0x1a7d47);}catch{return null;}}function stableStringify(_0x39628d){const _0x19d690={_0xea4411:0x10b,_0x25d885:0x113,_0x96e9d:0x106,_0x3aa2da:0x11b,_0x2e6b9c:0x139,_0x17dce4:0x10a,_0x40f475:0x126,_0x35997e:0x134,_0x59c7fa:0x108,_0x3b509:0x12b,_0x2e30df:0x126,_0x5483ae:0x10c,_0x4c1f93:0x119,_0x1c3abb:0x12f};if(null==_0x39628d)return String(_0x39628d);if(Buffer[_0x1a65e9(_0x19d690._0xea4411,_0x19d690._0x25d885)](_0x39628d))return _0x1a65e9(_0x19d690._0x96e9d,0x108)+_0x39628d[_0x1a65e9(0x126,_0x19d690._0x3aa2da)](_0x1a65e9(0x11c,_0x19d690._0x2e6b9c))+'>\x22';if(_0x1a65e9(_0x19d690._0x17dce4,0x101)===_0x39628d?.['_bsontype']){const _0x1fc993=_0x39628d[_0x1a65e9(0x13a,0x14f)];return'\x22<bin:'+(Buffer[_0x1a65e9(_0x19d690._0xea4411,0xf0)](_0x1fc993)?_0x1fc993[_0x1a65e9(_0x19d690._0x40f475,0x12f)](_0x1a65e9(0x11c,_0x19d690._0x35997e)):Buffer[_0x1a65e9(0x115,0x11a)](_0x1fc993)['toString'](_0x1a65e9(0x11c,0x13a)))+'>\x22';}function _0x1a65e9(_0x57996d,_0x27f33d){return _0x181cff(_0x27f33d,_0x57996d- -0x40f);}return _0x39628d instanceof Uint8Array?_0x1a65e9(_0x19d690._0x59c7fa,0x11e)+Buffer[_0x1a65e9(0x115,_0x19d690._0x3b509)](_0x39628d)[_0x1a65e9(_0x19d690._0x2e30df,0x137)](_0x1a65e9(0x11c,0x106))+'>\x22':_0x39628d instanceof ObjectId||'ObjectId'===_0x39628d?.[_0x1a65e9(0x137,0x130)]?'\x22'+_0x39628d['toHexString']()+'\x22':_0x1a65e9(_0x19d690._0x5483ae,_0x19d690._0x17dce4)!=typeof _0x39628d?JSON['stringify'](_0x39628d):Array['isArray'](_0x39628d)?'['+_0x39628d['map'](_0x2b5675=>stableStringify(_0x2b5675))[_0x1a65e9(_0x19d690._0x4c1f93,_0x19d690._0x1c3abb)](',')+']':'{'+Object[_0x1a65e9(0x133,0x12d)](_0x39628d)['sort']()['map'](_0x50852d=>JSON['stringify'](_0x50852d)+':'+stableStringify(_0x39628d[_0x50852d]))['join'](',')+'}';}function payloadChecksum(_0x4d1a47,_0x8f1d4f=!0x1){const _0x59fca9={_0xa7a797:0x28f,_0x188b9c:0x29d,_0x5bb3a2:0x2b5,_0x599524:0x2b8,_0x50e5fa:0x2c1};function _0x3d6e74(_0x3015af,_0x2258eb){return _0x181cff(_0x3015af,_0x2258eb- -0x289);}if(_0x8f1d4f&&'1'!==process[_0x3d6e74(0x2bb,0x2b4)][_0x3d6e74(0x2b7,0x2bc)])return null;const _0x364ab8=null===_0x4d1a47?_0x3d6e74(0x284,0x296):stableStringify(_0x4d1a47);return crypto[_0x3d6e74(_0x59fca9._0xa7a797,_0x59fca9._0x188b9c)](_0x3d6e74(0x2aa,_0x59fca9._0x5bb3a2))['update'](_0x364ab8)[_0x3d6e74(_0x59fca9._0x599524,_0x59fca9._0x50e5fa)]('hex');}function _0x181cff(_0x45ced1,_0x39641a){const _0x4986f2={_0x43eabc:0x323};return _0x30a6(_0x39641a-_0x4986f2._0x43eabc,_0x45ced1);}function buildDocPayload(_0x1cffca,_0x14f63d,_0x29085b){const _0x3ee93d={_0x43a257:0x133,_0x190b28:0x166,_0x4b5e66:0x170,_0x372044:0x15a};function _0x3a3ae4(_0x2eadc6,_0x4686cd){return _0x181cff(_0x2eadc6,_0x4686cd- -0x3f7);}const _0x254e08=safeDoc(_0x1cffca[_0x3a3ae4(0x131,_0x3ee93d._0x43a257)]||_0x1cffca[_0x3a3ae4(0x16d,0x15b)]);return _0x254e08?(_0x254e08[_0x3a3ae4(_0x3ee93d._0x190b28,0x14c)]=toObjectId(_0x1cffca[_0x3a3ae4(0x138,0x13b)]),_0x254e08['_mf_version']=_0x14f63d,_0x254e08[_0x3a3ae4(0x117,0x136)]=_0x29085b,_0x254e08[_0x3a3ae4(_0x3ee93d._0x4b5e66,0x155)]=_0x1cffca[_0x3a3ae4(0x14f,_0x3ee93d._0x372044)],_0x254e08['_mf_lastOpId']=_0x1cffca['opId'],_0x254e08):null;}function buildPendingSets(_0x19a122){const _0x26ec25={_0x4b4611:0x5c5,_0x50ce32:0x5e8},_0x29fa8f=new Set(),_0x339f2a=new Set();function _0x38df6d(_0x59208a,_0x29e4de){return _0x181cff(_0x59208a,_0x29e4de-0xc1);}for(const _0x9f49c4 of _0x19a122){const _0x5bc7ca=String(_0x9f49c4[_0x38df6d(0x5d9,0x5f3)]);_0x339f2a['add'](_0x5bc7ca),_0x38df6d(_0x26ec25._0x4b4611,0x5e3)===resolveOpType(_0x9f49c4)&&_0x29fa8f[_0x38df6d(_0x26ec25._0x50ce32,0x5e6)](_0x5bc7ca);}return{'pendingDeleteIds':_0x29fa8f,'pendingAnyIds':_0x339f2a};}const _FROZEN_RETURN_BEFORE=Object[_0x181cff(0x542,0x523)]({'returnDocument':'before'}),_FROZEN_RETURN_ORIGINAL=Object[_0x181cff(0x514,0x523)]({'returnOriginal':!0x0});let _useReturnOriginal=!0x1;function getReturnBeforeOpt(){return _useReturnOriginal?_FROZEN_RETURN_ORIGINAL:_FROZEN_RETURN_BEFORE;}function markReturnDocFallback(){_useReturnOriginal=!0x0;}module[_0x181cff(0x54b,0x548)]={'asDate':asDate,'asInt':asInt,'metaId':metaId,'toObjectId':toObjectId,'validateCollectionName':validateCollectionName,'resolveOwnerKey':resolveOwnerKey,'resolveOpType':resolveOpType,'safeDoc':safeDoc,'stableStringify':stableStringify,'payloadChecksum':payloadChecksum,'buildDocPayload':buildDocPayload,'buildPendingSets':buildPendingSets,'getReturnBeforeOpt':getReturnBeforeOpt,'markReturnDocFallback':markReturnDocFallback};
|
|
1
|
+
'use strict';(function(_0x15c01b,_0x52aec2){const _0x3310af={_0x4d9e97:0x2af,_0x47f168:0x2a2,_0x73e741:0x2ae,_0xa448da:0x2b7,_0xd8e3ef:0x2b3,_0x5c923d:0x29f,_0x16283c:0x2c1,_0x1ab2b5:0x2cb,_0x229ae4:0x2b9,_0x772827:0x2c0,_0x2ff1e3:0x2c3};function _0x22272b(_0xee10a3,_0x568cd8){return _0x4d76(_0xee10a3-0x1f1,_0x568cd8);}const _0x52c921=_0x15c01b();while(!![]){try{const _0x348e10=-parseInt(_0x22272b(_0x3310af._0x4d9e97,_0x3310af._0x47f168))/0x1+-parseInt(_0x22272b(_0x3310af._0x73e741,0x2b7))/0x2*(parseInt(_0x22272b(_0x3310af._0xa448da,_0x3310af._0xd8e3ef))/0x3)+parseInt(_0x22272b(0x2c0,0x2d8))/0x4*(parseInt(_0x22272b(_0x3310af._0x5c923d,0x2af))/0x5)+-parseInt(_0x22272b(0x2b0,_0x3310af._0x16283c))/0x6*(parseInt(_0x22272b(_0x3310af._0x1ab2b5,_0x3310af._0x229ae4))/0x7)+parseInt(_0x22272b(0x2a5,0x2ab))/0x8+-parseInt(_0x22272b(0x2cf,_0x3310af._0x772827))/0x9+parseInt(_0x22272b(0x2c4,_0x3310af._0x2ff1e3))/0xa;if(_0x348e10===_0x52aec2)break;else _0x52c921['push'](_0x52c921['shift']());}catch(_0xa71381){_0x52c921['push'](_0x52c921['shift']());}}}(_0x58b1,0xa4089));const crypto=require(_0x2efad9(0x4a3,0x48e)),{ObjectId:ObjectId}=require('mongodb');function asDate(_0x1a89fb){const _0x455900={_0x383d0a:0x6d,_0x28f60d:0x68},_0x40b6ca={_0x3dac5a:0x501};function _0xdae2da(_0x58514e,_0x105da6){return _0x2efad9(_0x58514e- -_0x40b6ca._0x3dac5a,_0x105da6);}if(!_0x1a89fb)return null;const _0xf28c1=new Date(_0x1a89fb);return Number[_0xdae2da(-_0x455900._0x383d0a,-_0x455900._0x28f60d)](_0xf28c1['getTime']())?null:_0xf28c1;}function asInt(_0x600752,_0x45e24f=0x0){const _0x3111e0={_0x475a9a:0x2f4},_0x3ec039={_0x9391b0:0x785};if(null==_0x600752)return null===_0x45e24f?null:void 0x0!==_0x45e24f?Number(_0x45e24f):0x0;function _0x14cdd1(_0x8e7adf,_0x28f21c){return _0x2efad9(_0x28f21c- -_0x3ec039._0x9391b0,_0x8e7adf);}const _0x471117=Number(_0x600752);return Number[_0x14cdd1(-0x2da,-_0x3111e0._0x475a9a)](_0x471117)?_0x471117:null===_0x45e24f?null:void 0x0!==_0x45e24f?Number(_0x45e24f):0x0;}function metaId(_0x2a6c31,_0x4ea1b7){return _0x2a6c31+':'+_0x4ea1b7;}function toObjectId(_0x41a2b8){if(!_0x41a2b8)return _0x41a2b8;if(_0x41a2b8 instanceof ObjectId)return _0x41a2b8;try{return new ObjectId(_0x41a2b8);}catch{return _0x41a2b8;}}const _COLLECTION_NAME_RE=/^[a-zA-Z0-9][a-zA-Z0-9_.\-]*$/;function _0x4d76(_0x13f851,_0x245ae4){_0x13f851=_0x13f851-0xa8;const _0x58b11a=_0x58b1();let _0x4d7666=_0x58b11a[_0x13f851];if(_0x4d76['yBWUci']===undefined){var _0x1701fe=function(_0x4d770d){const _0x386930='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1a89fb='',_0xf28c1='';for(let _0x600752=0x0,_0x45e24f,_0x471117,_0x2a6c31=0x0;_0x471117=_0x4d770d['charAt'](_0x2a6c31++);~_0x471117&&(_0x45e24f=_0x600752%0x4?_0x45e24f*0x40+_0x471117:_0x471117,_0x600752++%0x4)?_0x1a89fb+=String['fromCharCode'](0xff&_0x45e24f>>(-0x2*_0x600752&0x6)):0x0){_0x471117=_0x386930['indexOf'](_0x471117);}for(let _0x4ea1b7=0x0,_0x41a2b8=_0x1a89fb['length'];_0x4ea1b7<_0x41a2b8;_0x4ea1b7++){_0xf28c1+='%'+('00'+_0x1a89fb['charCodeAt'](_0x4ea1b7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xf28c1);};_0x4d76['oUhjGD']=_0x1701fe,_0x4d76['mtIczp']={},_0x4d76['yBWUci']=!![];}const _0x489ae0=_0x58b11a[0x0],_0x15e08a=_0x13f851+_0x489ae0,_0x5466c1=_0x4d76['mtIczp'][_0x15e08a];return!_0x5466c1?(_0x4d7666=_0x4d76['oUhjGD'](_0x4d7666),_0x4d76['mtIczp'][_0x15e08a]=_0x4d7666):_0x4d7666=_0x5466c1,_0x4d7666;}function validateCollectionName(_0x475659){const _0x17484f={_0x56bbed:0x385,_0x5c5f53:0x36c,_0x88d215:0x376,_0x185993:0x34a,_0x51cc1a:0x362,_0x35e129:0x367,_0x1e23c7:0x37f,_0x1884aa:0x38c,_0x21ecb7:0x372,_0x19e423:0x362,_0x1a74ec:0x377},_0x13effb={_0x3801cb:0x121};function _0x56070e(_0x1266fc,_0x53bd67){return _0x2efad9(_0x53bd67- -_0x13effb._0x3801cb,_0x1266fc);}if(!_0x475659||_0x56070e(_0x17484f._0x56bbed,_0x17484f._0x5c5f53)!=typeof _0x475659)throw new Error(_0x56070e(_0x17484f._0x88d215,0x378)+JSON[_0x56070e(_0x17484f._0x185993,_0x17484f._0x51cc1a)](_0x475659));if(_0x475659[_0x56070e(_0x17484f._0x35e129,_0x17484f._0x1e23c7)](_0x56070e(_0x17484f._0x1884aa,_0x17484f._0x21ecb7)))throw new Error('[MongoFire]\x20Collection\x20name\x20\x22'+_0x475659+'\x22\x20is\x20reserved\x20—\x20names\x20starting\x20with\x20\x22_mf_\x22\x20are\x20used\x20internally\x20by\x20MongoFire\x20and\x20cannot\x20be\x20synced.');if(_0x475659[_0x56070e(_0x17484f._0x19e423,_0x17484f._0x1a74ec)](':'))throw new Error(_0x56070e(0x37e,0x383)+_0x475659+'\x22\x20contains\x20a\x20colon\x20which\x20would\x20cause\x20metaId\x20key\x20collisions\x20in\x20_mf_docmeta.\x20Rename\x20the\x20collection.');if(!_COLLECTION_NAME_RE['test'](_0x475659))throw new Error(_0x56070e(0x37e,0x383)+_0x475659+_0x56070e(0x35d,0x374));}function resolveOwnerKey(_0x4c5543){const _0x1111a4={_0x543ab2:0x450,_0x51a573:0x46c,_0x4d210f:0x449},_0x53520a={_0x420294:0x4a};if(!_0x4c5543)return _0x3e96eb(_0x1111a4._0x543ab2,0x436);const _0x4294ac=_0x4c5543['ownerKey']??_0x4c5543[_0x3e96eb(0x453,_0x1111a4._0x51a573)];function _0x3e96eb(_0x870257,_0x1323e3){return _0x2efad9(_0x870257- -_0x53520a._0x420294,_0x1323e3);}return null==_0x4294ac||''===_0x4294ac?_0x3e96eb(0x450,_0x1111a4._0x4d210f):String(_0x4294ac);}function resolveOpType(_0x43621c){const _0x5dd92c={_0x37d905:0x35b,_0x504795:0x348,_0xccb6fa:0x342},_0x55aa57={_0x12335a:0x130};function _0x4f4604(_0x3f153a,_0x425a85){return _0x2efad9(_0x425a85- -_0x55aa57._0x12335a,_0x3f153a);}return _0x43621c?.[_0x4f4604(0x347,_0x5dd92c._0x37d905)]||_0x43621c?.['op']||_0x4f4604(_0x5dd92c._0x504795,_0x5dd92c._0xccb6fa);}function _0x58b1(){const _0x32b6fe=['x21Mx29Wswq','iJX1odO','zNjLzxPL','yMvMB3jL','C3rYAw5NAwz5','BwfW','mJuZnZHHA2vXzuW','mtmWmdq0ofrLtxzRsW','nLHZyLP1va','zgLNzxn0','AxncDwzMzxi','zg9J','DhLWzq','x21Mx2XHC3rpCeLK','C3rYAw5N','otbutejougq','iJXIDwy6','AxnbCNjHEq','AxnjBNrLz2vY','BNvSBa','x21MxW','Axnoyu4','iIbJB250ywLUCYbPBNzHBgLKignOyxjHy3rLCNmUiefSBg93zwq6igXLDhrLCNmSigrPz2L0CYWGDw5KzxjZy29YzxmSigH5CgHLBNmSigrVDhmU','Dg9tDhjPBMC','mJrIwvv0rMe','Aw5JBhvKzxm','w01VBMDVrMLYzv0Gq29SBgvJDgLVBIbUyw1Lig11C3qGyMuGysbUB24Tzw1WDhKGC3rYAw5NlcbNB3q6ia','z2XVyMfS','mJuXmJCWmZbczhL5ueG','y3jLyxrLsgfZAa','B3DUzxjjza','x2jZB250ExbL','zNjVBq','C3rHCNrZv2L0Aa','x21Mx2XHC3rxCML0zxjezxzPy2vjza','mJC0nty3m0rQDLrdAq','y3j5ChrV','w01VBMDVrMLYzv0Gq29SBgvJDgLVBIbUyw1Lici','iJXIAw46','nda4nZCXAvfSzuf5','t2jQzwn0swq','Agv4','zg9Jswq','DxbKyxrL','x21Mx3zLCNnPB24','A2v5CW','zgvSzxrL','mti0nvPytMDcvW','B2jQzwn0','B3bjza','ywrK','yNvMzMvY','AM9PBG','mJiXmty4merpu0rhzW','Dg9ju09tDhjPBMC','Dg9izxHtDhjPBMC'];_0x58b1=function(){return _0x32b6fe;};return _0x58b1();}function _deepClone(_0x56eb1c){const _0x18ce01={_0x5b8d2c:0x3ef,_0x1ca513:0x3f8,_0x354aac:0x419,_0x1bd7bc:0x414,_0x40a264:0x3e3,_0x17d501:0x3fe,_0x58448c:0x3f3,_0x2b205b:0x3da,_0x340192:0x3ee};if(null==_0x56eb1c)return _0x56eb1c;if(_0x56eb1c instanceof Date)return new Date(_0x56eb1c['getTime']());if(_0x56eb1c instanceof ObjectId)return new ObjectId(_0x56eb1c[_0x486d48(_0x18ce01._0x5b8d2c,_0x18ce01._0x1ca513)]());if(Buffer['isBuffer'](_0x56eb1c))return Buffer[_0x486d48(0x407,_0x18ce01._0x354aac)](_0x56eb1c);if(Array[_0x486d48(_0x18ce01._0x1bd7bc,0x40a)](_0x56eb1c))return _0x56eb1c[_0x486d48(_0x18ce01._0x40a264,_0x18ce01._0x17d501)](_deepClone);if(_0x486d48(_0x18ce01._0x58448c,0x3f1)==typeof _0x56eb1c){const _0x40fa6e={};for(const _0x4ccfc3 of Object[_0x486d48(_0x18ce01._0x2b205b,_0x18ce01._0x340192)](_0x56eb1c))_0x40fa6e[_0x4ccfc3]=_deepClone(_0x56eb1c[_0x4ccfc3]);return _0x40fa6e;}function _0x486d48(_0x12bab8,_0x3cf43a){return _0x2efad9(_0x3cf43a- -0x86,_0x12bab8);}return _0x56eb1c;}function safeDoc(_0x11f33c){const _0x6947a3={_0x102471:0x178};function _0x377b5f(_0x31f96d,_0x339f27){return _0x2efad9(_0x31f96d- -0x310,_0x339f27);}if(!_0x11f33c||_0x377b5f(0x167,_0x6947a3._0x102471)!=typeof _0x11f33c)return _0x11f33c||null;try{return _deepClone(_0x11f33c);}catch{return null;}}function stableStringify(_0x432318){const _0x47844f={_0x2a8e17:0x2ed,_0x2a6f06:0x2dc,_0x2c3c3:0x2ff,_0x53f1d5:0x2cd,_0x33dcb1:0x2e6,_0x5e986f:0x2f8,_0x34ce46:0x2f3,_0x7319bf:0x2e9,_0xe5e28e:0x2de,_0x1483c0:0x2c3,_0x27e1f5:0x2f2,_0x2aca57:0x2c3,_0x3c137c:0x2c0,_0x1c0bc1:0x2d6,_0x38fe61:0x2fd,_0x2ee385:0x2d1,_0x38c3b7:0x2db,_0x3cb613:0x2df,_0x447b43:0x2d7,_0x30973a:0x2e0,_0x5c9a32:0x2ce},_0x2dbf48={_0x23c867:0x1ad};if(null==_0x432318)return String(_0x432318);if(Buffer[_0x38b947(0x2dc,_0x47844f._0x2a8e17)](_0x432318))return _0x38b947(0x2e2,_0x47844f._0x2a6f06)+_0x432318[_0x38b947(0x2e9,0x2f3)]('hex')+'>\x22';if('Binary'===_0x432318?.[_0x38b947(0x2f1,_0x47844f._0x2c3c3)]){const _0x27b1ae=_0x432318[_0x38b947(_0x47844f._0x53f1d5,_0x47844f._0x33dcb1)];return _0x38b947(_0x47844f._0x5e986f,_0x47844f._0x34ce46)+(Buffer['isBuffer'](_0x27b1ae)?_0x27b1ae[_0x38b947(_0x47844f._0x7319bf,_0x47844f._0xe5e28e)](_0x38b947(_0x47844f._0x1483c0,0x2cc)):Buffer[_0x38b947(_0x47844f._0x27e1f5,_0x47844f._0xe5e28e)](_0x27b1ae)['toString'](_0x38b947(_0x47844f._0x2aca57,0x2d7)))+'>\x22';}function _0x38b947(_0x2d8a7f,_0x176745){return _0x2efad9(_0x2d8a7f- -_0x2dbf48._0x23c867,_0x176745);}return _0x432318 instanceof Uint8Array?_0x38b947(0x2d3,_0x47844f._0x3c137c)+Buffer[_0x38b947(0x2f2,0x2ff)](_0x432318)['toString'](_0x38b947(0x2c3,0x2ce))+'>\x22':_0x432318 instanceof Date?JSON[_0x38b947(_0x47844f._0x1c0bc1,0x2ef)](_0x432318[_0x38b947(0x2d0,0x2be)]()):_0x432318 instanceof ObjectId||_0x38b947(0x2fa,_0x47844f._0x38fe61)===_0x432318?.[_0x38b947(0x2f1,0x2e1)]?'\x22'+_0x432318[_0x38b947(_0x47844f._0x2ee385,0x2c8)]()+'\x22':_0x38b947(0x2ca,_0x47844f._0x38c3b7)!=typeof _0x432318?JSON[_0x38b947(0x2d6,_0x47844f._0x3cb613)](_0x432318):Array[_0x38b947(0x2e3,0x2ff)](_0x432318)?'['+_0x432318['map'](_0x5d67c2=>stableStringify(_0x5d67c2))[_0x38b947(0x2ce,0x2b4)](',')+']':'{'+Object['keys'](_0x432318)['sort']()[_0x38b947(_0x47844f._0x447b43,_0x47844f._0x30973a)](_0x2ec67b=>JSON[_0x38b947(0x2d6,0x2d1)](_0x2ec67b)+':'+stableStringify(_0x432318[_0x2ec67b]))[_0x38b947(_0x47844f._0x5c9a32,0x2d3)](',')+'}';}function payloadChecksum(_0x54c8ca,_0x7e5c36=!0x1){const _0x1b1900={_0x338b6e:0x253,_0x26a244:0x261,_0x5b747c:0x237,_0x246b39:0x232,_0x1718e5:0x231,_0x4a572e:0x235,_0x55d1dd:0x230},_0xaf17f0={_0x5eb759:0x23b};if(_0x7e5c36&&'1'!==process['env']['MONGOFIRE_VERIFY_REMOTE'])return null;function _0x4c5290(_0x3decf5,_0x45e2bb){return _0x2efad9(_0x3decf5- -_0xaf17f0._0x5eb759,_0x45e2bb);}const _0x362048=null===_0x54c8ca?_0x4c5290(0x257,_0x1b1900._0x338b6e):stableStringify(_0x54c8ca);return crypto[_0x4c5290(_0x1b1900._0x26a244,0x24a)]('sha256')[_0x4c5290(_0x1b1900._0x5b747c,_0x1b1900._0x246b39)](_0x362048)[_0x4c5290(0x24d,_0x1b1900._0x1718e5)](_0x4c5290(_0x1b1900._0x4a572e,_0x1b1900._0x55d1dd));}function buildDocPayload(_0x5bc3e5,_0x5e7696,_0x4a5d8a){const _0x269e95={_0x135d1c:0x226,_0x4031c8:0x23c,_0xcd0709:0x230,_0x1e2e88:0x225,_0x342518:0x253,_0xa94090:0x248,_0x3b3c2a:0x231,_0x5650bd:0x218,_0x27e3e7:0x23e,_0x92f25d:0x22a},_0x1b4db2={_0x106b36:0x24e};function _0xa69106(_0x43f36f,_0x101e8f){return _0x2efad9(_0x101e8f- -_0x1b4db2._0x106b36,_0x43f36f);}const _0x51a037=safeDoc(_0x5bc3e5['payload']||_0x5bc3e5[_0xa69106(_0x269e95._0x135d1c,_0x269e95._0x4031c8)]);return _0x51a037?(_0x51a037['_id']=toObjectId(_0x5bc3e5[_0xa69106(0x20f,0x223)]),_0x51a037[_0xa69106(_0x269e95._0xcd0709,_0x269e95._0x1e2e88)]=_0x5e7696,_0x51a037[_0xa69106(0x245,_0x269e95._0x342518)]=_0x4a5d8a,_0x51a037[_0xa69106(_0x269e95._0xa94090,_0x269e95._0x3b3c2a)]=_0x5bc3e5[_0xa69106(_0x269e95._0x5650bd,0x22a)],_0x51a037[_0xa69106(0x24c,_0x269e95._0x27e3e7)]=_0x5bc3e5[_0xa69106(0x20f,_0x269e95._0x92f25d)],_0x51a037):null;}function buildPendingSets(_0x4fb1bc){const _0x4e366e={_0x259ed4:0x25f,_0x3f8421:0x24b,_0x40fe89:0x275,_0x3426f2:0x263,_0x25ffbc:0x27f},_0x52c88f={_0x5f5bb0:0x212};function _0x29b8cc(_0x33b052,_0x3c7496){return _0x2efad9(_0x3c7496- -_0x52c88f._0x5f5bb0,_0x33b052);}const _0x382acc=new Set(),_0x453a42=new Set();for(const _0x2216d7 of _0x4fb1bc){const _0x1f2b85=String(_0x2216d7[_0x29b8cc(0x244,_0x4e366e._0x259ed4)]);_0x453a42[_0x29b8cc(_0x4e366e._0x3f8421,0x267)](_0x1f2b85),_0x29b8cc(_0x4e366e._0x40fe89,_0x4e366e._0x3426f2)===resolveOpType(_0x2216d7)&&_0x382acc[_0x29b8cc(_0x4e366e._0x25ffbc,0x267)](_0x1f2b85);}return{'pendingDeleteIds':_0x382acc,'pendingAnyIds':_0x453a42};}function _0x2efad9(_0x40a016,_0x407a0a){const _0x122af2={_0x566a89:0x3c8};return _0x4d76(_0x40a016-_0x122af2._0x566a89,_0x407a0a);}const _FROZEN_RETURN_BEFORE=Object['freeze']({'returnDocument':_0x2efad9(0x482,0x491)}),_FROZEN_RETURN_ORIGINAL=Object[_0x2efad9(0x481,0x479)]({'returnOriginal':!0x0});let _useReturnOriginal=!0x1;function getReturnBeforeOpt(){return _useReturnOriginal?_FROZEN_RETURN_ORIGINAL:_FROZEN_RETURN_BEFORE;}function markReturnDocFallback(){_useReturnOriginal=!0x0;}module['exports']={'asDate':asDate,'asInt':asInt,'metaId':metaId,'toObjectId':toObjectId,'validateCollectionName':validateCollectionName,'resolveOwnerKey':resolveOwnerKey,'resolveOpType':resolveOpType,'safeDoc':safeDoc,'stableStringify':stableStringify,'payloadChecksum':payloadChecksum,'buildDocPayload':buildDocPayload,'buildPendingSets':buildPendingSets,'getReturnBeforeOpt':getReturnBeforeOpt,'markReturnDocFallback':markReturnDocFallback};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -124,6 +124,12 @@ export interface PluginOptions { ownerField?: string; batchSize?: number; concur
|
|
|
124
124
|
// ─── Events ───────────────────────────────────────────────────────────────────
|
|
125
125
|
export interface ConflictData { collection: string; docId: DocId; opId: string; localVersion: number; remoteVersion: number; op: 'create'|'update'|'delete'; fieldMerge?: {attempted:boolean;resolvedFields:Record<string,'local'|'remote'>;conflictedFields:Record<string,{local:unknown;remote:unknown;winner:'local'|'remote'}>;score:number}; }
|
|
126
126
|
export interface MongoFireEvents {
|
|
127
|
+
/**
|
|
128
|
+
* Fires as soon as the local MongoDB connection is live — BEFORE Atlas
|
|
129
|
+
* connect, reconcile, or the sync timers start. Use this to gate
|
|
130
|
+
* `app.listen()` so the server never accepts requests before the DB is ready.
|
|
131
|
+
*/
|
|
132
|
+
localReady: [db: import('mongodb').Db];
|
|
127
133
|
ready: []; sync: [result: SyncResult]; online: []; offline: [];
|
|
128
134
|
realtimeStarted: []; realtimeStopped: []; stopped: []; error: [err: Error];
|
|
129
135
|
conflict: [data: ConflictData];
|
|
@@ -140,9 +146,107 @@ export interface MfDocFields { _mf_version: number; _mf_lastWriterDeviceId: stri
|
|
|
140
146
|
export interface ChangetrackRecord extends MfDocFields { _id: unknown; opId: string; type: 'create'|'update'|'delete'; collection: string; docId: DocId; payload: Record<string,unknown>|PatchPayload|null; ownerKey: string; deviceId: string; timestamp: Date; updatedAt: Date; baseVersion: number; version: number; lastWriterDeviceId: string; payloadChecksum: string|null; synced: boolean; ackState: 'pending'|'acked'|'verified'|'conflict'|'error'|'compressed'|'superseded'|'dismissed'; retryCount: number; createdAt: Date; syncedAt: Date|null; remoteAckAt: Date|null; checksumVerifiedAt: Date|null; lastError: string|null; applyStatus?: 'pending'|'applied'|'conflict'; }
|
|
141
147
|
export interface DocMetaRecord { _id: string; collection: string; docId: DocId; version: number; updatedAt: Date; lastWriterDeviceId: string; deleted: boolean; ownerKey: string; updatedByOpId: string|null; lastOpId: string|null; payloadChecksum: string|null; createdAt: Date; }
|
|
142
148
|
|
|
149
|
+
// ─── LocalManager ─────────────────────────────────────────────────────────────
|
|
150
|
+
/**
|
|
151
|
+
* Auto-manages the Mongoose connection to local MongoDB.
|
|
152
|
+
* Spawns `mongod` via the system binary if MongoDB is not running,
|
|
153
|
+
* and retries until the connection succeeds.
|
|
154
|
+
*
|
|
155
|
+
* **Developers should never call `mongoose.connect()` directly.**
|
|
156
|
+
* MongoFire calls `ensureConnected()` internally during `start()`.
|
|
157
|
+
*/
|
|
158
|
+
export declare class LocalManager {
|
|
159
|
+
/**
|
|
160
|
+
* Ensure Mongoose is connected to local MongoDB.
|
|
161
|
+
* Idempotent — returns immediately if already connected.
|
|
162
|
+
* Uses `process.env.LOCAL_URI` / `process.env.DB_NAME`, falling back to
|
|
163
|
+
* the supplied values when the env vars are absent.
|
|
164
|
+
*/
|
|
165
|
+
ensureConnected(fallbackUri?: string, fallbackDbName?: string): Promise<void>;
|
|
166
|
+
/**
|
|
167
|
+
* Disconnect Mongoose and stop the spawned `mongod` process (if any).
|
|
168
|
+
* Called automatically by `mongofire.stop()`.
|
|
169
|
+
*/
|
|
170
|
+
closeAll(): Promise<void>;
|
|
171
|
+
readonly isConnected: boolean;
|
|
172
|
+
readonly mongodProcess: import('child_process').ChildProcess | null;
|
|
173
|
+
}
|
|
174
|
+
/** Singleton LocalManager shared across all MongoFire instances in the process. */
|
|
175
|
+
export declare const localManager: LocalManager;
|
|
176
|
+
|
|
143
177
|
// ─── Main class ───────────────────────────────────────────────────────────────
|
|
144
178
|
export declare class MongoFire extends EventEmitter {
|
|
179
|
+
/**
|
|
180
|
+
* Start MongoFire with the given config. Connects to local MongoDB first,
|
|
181
|
+
* then Atlas. The returned Promise resolves when Atlas is connected and the
|
|
182
|
+
* initial sync is complete (or when Atlas is determined to be offline).
|
|
183
|
+
*
|
|
184
|
+
* **Do not call `mongoose.connect()` manually** — MongoFire manages this.
|
|
185
|
+
* Use `localReady` / `waitForLocal()` to gate `app.listen()` instead.
|
|
186
|
+
*/
|
|
145
187
|
start(config: SyncConfig): Promise<this>;
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Returns a Promise that resolves with the native `Db` handle as soon as the
|
|
191
|
+
* LOCAL MongoDB connection is ready — before Atlas connect, reconcile, or
|
|
192
|
+
* the sync timer start.
|
|
193
|
+
*
|
|
194
|
+
* Use this to gate `app.listen()` so incoming requests never arrive before
|
|
195
|
+
* the local database is available:
|
|
196
|
+
*
|
|
197
|
+
* ```js
|
|
198
|
+
* const { localReady } = require('./mongofire');
|
|
199
|
+
* localReady.then(() => app.listen(3000));
|
|
200
|
+
* // or: await mongofire.waitForLocal(); app.listen(3000);
|
|
201
|
+
* ```
|
|
202
|
+
*
|
|
203
|
+
* If `start()` has not been called yet (and no `mongofire.config.js` was
|
|
204
|
+
* found for auto-start), this Promise rejects after 60 s with a clear
|
|
205
|
+
* "did you forget to call start()?" message.
|
|
206
|
+
*/
|
|
207
|
+
waitForLocal(): Promise<import('mongodb').Db>;
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Convenience alias for `waitForLocal()` — a Promise getter so you can
|
|
211
|
+
* destructure it at module level without calling a function:
|
|
212
|
+
*
|
|
213
|
+
* ```js
|
|
214
|
+
* const { localReady } = require('./mongofire');
|
|
215
|
+
* localReady.then(() => app.listen(3000));
|
|
216
|
+
* ```
|
|
217
|
+
*/
|
|
218
|
+
readonly localReady: Promise<import('mongodb').Db>;
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* Automatically loads `mongofire.config.js` (or `.cjs` / `.mjs`) from
|
|
222
|
+
* `process.cwd()` and calls `start(config)`. Called internally when the
|
|
223
|
+
* package is required outside the CLI context so that users do not need a
|
|
224
|
+
* separate `mongofire.js` entry file.
|
|
225
|
+
*
|
|
226
|
+
* Safe to call manually; `start()` is idempotent.
|
|
227
|
+
*/
|
|
228
|
+
autoStart(): Promise<this>;
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* **Primary developer API** — replaces `app.listen()`.
|
|
232
|
+
*
|
|
233
|
+
* Waits for local MongoDB to be ready, then starts the Express (or any
|
|
234
|
+
* Node `http.Server`) application on the given port. If the local DB
|
|
235
|
+
* fails to connect, logs a descriptive error and calls `process.exit(1)`
|
|
236
|
+
* so the server never starts in a broken state.
|
|
237
|
+
*
|
|
238
|
+
* ```js
|
|
239
|
+
* // server.js
|
|
240
|
+
* import { startApp } from './mongofire.js';
|
|
241
|
+
* startApp(app, process.env.PORT || 3000);
|
|
242
|
+
* ```
|
|
243
|
+
*
|
|
244
|
+
* @param app Any object with a `.listen(port, callback)` method (Express, Fastify, etc.)
|
|
245
|
+
* @param port TCP port to listen on (default: 3000)
|
|
246
|
+
* @returns Promise resolving to the `http.Server` returned by `app.listen()`
|
|
247
|
+
*/
|
|
248
|
+
startApp(app: { listen: (port: number, cb?: (err?: Error) => void) => import('http').Server }, port?: number | string): Promise<import('http').Server>;
|
|
249
|
+
|
|
146
250
|
stop(timeoutMs?: number): Promise<void>;
|
|
147
251
|
sync(type?: 'required'|'all'): Promise<SyncResult|OfflineResult>;
|
|
148
252
|
status(): Promise<SyncStatus>;
|
|
@@ -150,6 +254,12 @@ export declare class MongoFire extends EventEmitter {
|
|
|
150
254
|
conflicts(collection?: string): Promise<ConflictRecord[]>;
|
|
151
255
|
retryConflict(opId: string): Promise<void>;
|
|
152
256
|
dismissConflict(opId: string): Promise<void>;
|
|
257
|
+
/**
|
|
258
|
+
* Drops all MongoFire internal collections and the configured data
|
|
259
|
+
* collections so the next `start()` performs a clean bootstrap from Atlas.
|
|
260
|
+
* **Any unsynced local changes are permanently lost.**
|
|
261
|
+
*/
|
|
262
|
+
resetLocal(): Promise<{ dropped: number }>;
|
|
153
263
|
plugin(collectionName: string, options?: PluginOptions): (schema: import('mongoose').Schema) => void;
|
|
154
264
|
startRealtime(): Promise<boolean>;
|
|
155
265
|
stopRealtime(): Promise<void>;
|
|
@@ -173,6 +283,35 @@ export declare class MongoFire extends EventEmitter {
|
|
|
173
283
|
export declare function mongofirePlugin(schema: import('mongoose').Schema, options?: PluginOptions & {collection?: string}): void;
|
|
174
284
|
export declare namespace mongofirePlugin { function factory(collectionName: string, options?: PluginOptions): (schema: import('mongoose').Schema) => void; }
|
|
175
285
|
|
|
286
|
+
// ─── Standalone named exports (destructurable from the package / wrapper) ─────
|
|
287
|
+
/**
|
|
288
|
+
* Starts the Express app after waiting for local MongoDB.
|
|
289
|
+
* Exits the process if the DB is unavailable.
|
|
290
|
+
*
|
|
291
|
+
* ```ts
|
|
292
|
+
* import { startApp } from './mongofire.js';
|
|
293
|
+
* startApp(app, 3000);
|
|
294
|
+
* ```
|
|
295
|
+
*/
|
|
296
|
+
export declare function startApp(
|
|
297
|
+
app: { listen: (port: number, cb?: (err?: Error) => void) => import('http').Server },
|
|
298
|
+
port?: number | string
|
|
299
|
+
): Promise<import('http').Server>;
|
|
300
|
+
|
|
301
|
+
/**
|
|
302
|
+
* Attaches MongoFire change-tracking to a Mongoose schema.
|
|
303
|
+
*
|
|
304
|
+
* ```ts
|
|
305
|
+
* import { plugin } from './mongofire.js';
|
|
306
|
+
* UserSchema.plugin(plugin('users'));
|
|
307
|
+
* StudentSchema.plugin(plugin('students', { ownerField: 'userId' }));
|
|
308
|
+
* ```
|
|
309
|
+
*/
|
|
310
|
+
export declare function plugin(
|
|
311
|
+
collectionName: string,
|
|
312
|
+
options?: PluginOptions
|
|
313
|
+
): (schema: import('mongoose').Schema) => void;
|
|
314
|
+
|
|
176
315
|
// ─── Default export ───────────────────────────────────────────────────────────
|
|
177
|
-
declare const mongofire: MongoFire & { MongoFire: typeof MongoFire;
|
|
316
|
+
declare const mongofire: MongoFire & { MongoFire: typeof MongoFire; startApp: typeof startApp; plugin: typeof plugin; };
|
|
178
317
|
export default mongofire;
|
package/index.cjs
CHANGED
|
@@ -1,2 +1,18 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
|
|
2
|
+
// index.cjs — MongoFire entry point
|
|
3
|
+
//
|
|
4
|
+
// Resolution order:
|
|
5
|
+
// 1. ./dist/src/index.cjs — built production bundle (created by `npm run build`)
|
|
6
|
+
// 2. ./src/index.cjs — live source (fallback for local dev / npm link)
|
|
7
|
+
//
|
|
8
|
+
// ⚠️ If you see errors referencing dist/src/index.cjs after updating the
|
|
9
|
+
// source, run `npm run build` (or delete the dist/ folder) to clear the
|
|
10
|
+
// stale build. The dist/ folder is NOT included in the git repo and must
|
|
11
|
+
// be regenerated after every source change.
|
|
12
|
+
let _mod;
|
|
13
|
+
try {
|
|
14
|
+
_mod = require('./dist/src/index.cjs');
|
|
15
|
+
} catch (_) {
|
|
16
|
+
_mod = require('./src/index.cjs');
|
|
17
|
+
}
|
|
18
|
+
module.exports = _mod;
|
package/index.mjs
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { createRequire } from 'module';
|
|
2
2
|
const require = createRequire(import.meta.url);
|
|
3
|
-
|
|
3
|
+
// Fall back to src/ if dist/ has not been built yet (same as index.cjs).
|
|
4
|
+
let mf;
|
|
5
|
+
try {
|
|
6
|
+
mf = require('./dist/src/index.cjs');
|
|
7
|
+
} catch (_) {
|
|
8
|
+
mf = require('./src/index.cjs');
|
|
9
|
+
}
|
|
4
10
|
export default mf;
|
|
5
11
|
export const MongoFire = mf.MongoFire;
|