|
|
|
@@ -0,0 +1,316 @@
|
|
|
|
|
<!DOCTYPE html><html class="no-js" dir="ltr" loc="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><title>WhatsApp Web</title><meta name="viewport" content="width=device-width"><meta name="google" content="notranslate"><meta name="format-detection" content="telephone=no"><meta name="description" content="Quickly send and receive WhatsApp messages right from your computer."><meta name="og:description" content="Quickly send and receive WhatsApp messages right from your computer."><meta name="og:url" content="https://web.whatsapp.com/"><meta name="og:title" content="WhatsApp Web"><meta name="og:image" content="https://static.facebook.com/images/whatsapp/www/whatsapp-promo.png"><link id="favicon" rel="shortcut icon" href="/img/favicon/1x/favicon.png" type="image/png"><link rel="apple-touch-icon" sizes="192x192" href="/apple-touch-icon.png" type="image/png"><meta name="theme-color" content="#111b21" media="(prefers-color-scheme: dark)"><meta name="theme-color" content="#f0f2f5"><link id="whatsapp-pwa-manifest-link" rel="manifest" href="/manifest.json" crossorigin="use-credentials"><style>#initial_startup{--startup-background:#f0f2f5;--startup-background-rgb:240,242,245;--startup-icon:#bbc5cb;--secondary-lighter:#8696a0;--primary-title:#41525d;--progress-primary:#00c298;--progress-background:#e9edef}.dark #initial_startup{--startup-background:#111b21;--startup-background-rgb:17,27,33;--startup-icon:#676f73;--primary-title:rgba(233, 237, 239, 0.88);--secondary-lighter:#667781;--progress-primary:#0b846d;--progress-background:#233138}#app,body,html{width:100%;height:100%;padding:0;margin:0;overflow:hidden}#app{position:absolute;top:0;left:0}#initial_startup{position:fixed;top:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;user-select:none;background-color:var(--startup-background)}#initial_startup .graphic{margin-top:-40px;color:var(--startup-icon)}#initial_startup .graphic .resume-logo{transform:translateX(calc(50% - 52px / 2))}#initial_startup .graphic::after{position:relative;top:-100%;left:calc(50% - 72px * 2 - 72px / 2);display:block;width:calc(72px * 3);height:100%;content:'';background:linear-gradient(to right,rgba(var(--startup-background-rgb),.5) 0,rgba(var(--startup-background-rgb),.5) 33.33%,rgba(var(--startup-background-rgb),0) 44.1%,rgba(var(--startup-background-rgb),0) 55.8%,rgba(var(--startup-background-rgb),.5) 66.66%,rgba(var(--startup-background-rgb),.5) 100%);opacity:1;animation:shimmer 1.5s linear .6s infinite}html[dir=rtl] #initial_startup .graphic::after{animation-direction:reverse}@keyframes shimmer{from{left:calc(50% - 72px * 2 - 72px / 2)}to{left:calc(50% - 72px / 2)}}#initial_startup .progress{position:relative;width:420px;height:3px;margin-top:40px}#initial_startup .progress progress{vertical-align:top}#initial_startup .main{margin-top:40px;font-size:17px;color:var(--primary-title)}#initial_startup .secondary{margin-top:12px;font-size:14px;color:var(--secondary-lighter)}#initial_startup .secondary span{display:inline-block;margin-bottom:2px;vertical-align:middle}progress{-webkit-appearance:none;appearance:none;width:100%;height:3px;margin:0;color:var(--progress-primary);background-color:var(--progress-background);border:none}progress[value]::-webkit-progress-bar{background-color:var(--progress-background)}progress[value]::-moz-progress-bar,progress[value]::-webkit-progress-value{background-color:var(--progress-primary);transition:width .45s ease}</style><link href="/stylex-f0601c57714fe972a8c4d2c2562f8082.css" rel="stylesheet"><link href="/app-6113f1562d101247269b.css" rel="stylesheet"></head><body class="web"><script data-binary-transparency-hash-key="inline-js-d11c72a06542fc3b43af600028cf0f996e4b9b178dfa047e18730efaf74aab0b">try{var systemThemeDark,theme=window.localStorage.getItem("theme"),systemThemeMode=window.localStorage.getItem("system-theme-mode");if(("true"===systemThemeMode||!theme)&&window.matchMedia){var systemTheme=window.matchMedia("(prefers-color-scheme: dark)");systemThemeDark=systemTheme&&systemTheme.matches}var darkTheme='"dark"'===theme||Boolean(systemThemeDark);darkTheme&&document.body.classList.add("dark")}catch(e){}</script><div id="app"></div><div id="hard_expire_time" data-time="1719543128.405"></div><div id="initial_startup"><div class="graphic"><span><svg width="250" height="52" xmlns="http://www.w3.org/2000/svg"><path class="resume-logo" d="M37.7 31.2c-.6-.4-3.8-2-4.4-2.1-.6-.2-1-.4-1.4.3l-2 2.5c-.4.4-.8.5-1.5.2-.6-.3-2.7-1-5.1-3.2-2-1.7-3.2-3.8-3.6-4.5-.4-.6 0-1 .3-1.3l1-1.1.6-1.1c.2-.4 0-.8 0-1.1l-2-4.8c-.6-1.3-1.1-1-1.5-1.1h-1.2c-.5 0-1.2.1-1.8.8-.5.6-2.2 2.2-2.2 5.3 0 3.2 2.3 6.3 2.6 6.7.3.4 4.6 7 11 9.7l3.7 1.4c1.5.5 3 .4 4 .2 1.3-.1 3.9-1.5 4.4-3 .5-1.5.5-2.8.4-3-.2-.4-.6-.5-1.3-.8M26 47.2c-3.9 0-7.6-1-11-3l-.7-.4-8.1 2L8.4 38l-.6-.8A21.4 21.4 0 0126 4.4a21.3 21.3 0 0121.4 21.4c0 11.8-9.6 21.4-21.4 21.4M44.2 7.6a25.8 25.8 0 00-40.6 31L0 52l13.7-3.6A2Line truncated
|
|
|
|
|
(self.webpackChunkwhatsapp_web_client=self.webpackChunkwhatsapp_web_client||[]).push([[5617],{307914:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}}},595318:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.default=e.exports,e.exports.__esModule=!0},415227:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=new Error(e);if(void 0===t.stack)try{throw t}catch(e){}return t}},670983:(e,t,r)=>{"use strict";var n=r(307914);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"?";if(null==e)throw(0,o.default)("Unexpected null or undefined: "+t);return e};var o=n(r(415227))},250473:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UNIQUE_UPLOADS_ALLOWED_BEFORE_THROTTLE=t.TICKET_URL=t.CLB_URL=t.CLB_TOKEN=t.CLB_CHECK_URL=void 0;var n=r(508247);t.CLB_CHECK_URL="https://crashlogs.whatsapp.net/wa_fls_upload_check",t.CLB_TOKEN="1063127757113399|745146ffa34413f9dbb5469f5370b7af",t.CLB_URL="https://crashlogs.whatsapp.net/wa_clb_data";const o=n.DYN_ORIGIN+"web-contact-us";t.TICKET_URL=o,t.UNIQUE_UPLOADS_ALLOWED_BEFORE_THROTTLE=0},207024:(e,t,r)=>{"use strict";var n=r(595318);Object.defineProperty(t,"__esModule",{value:!0}),t.getDistribution=function(){let e="unknown";return e="prod","web_prod"},t.getLogUserAgent=function(e){let t,{appVersion:r,browser:n,device:o}=e;return t="Web/"+n,`WhatsApp/${r} ${t} Device/${o}`},n(r(472514)),n(r(556869))},794858:(e,t,r)=>{"use strict";var n=r(595318),o=n(r(670983)),a=r(508247),s=r(250473),c=r(207024),_=n(r(174285)),u=r(425017);function i(e){!function(e,t){const r=window.navigator.userAgent;if(r===p&&e.includes("getElementsByTagName"))return;const n=new FormData,i=new Blob([e],{type:"text/plain"});n.append("from_jid",function(){if(f)return f;try{f=JSON.parse((0,o.default)(_.default,"localStorage").getItem(d.UNKNOWN_ID)),f&&(f=f.replace("-",""))}catch(e){}if(!f){f="unknown"+Math.floor(1e10*Math.random());const e=f;try{(0,o.default)(_.default,"localStorage").setItem(d.UNKNOWN_ID,JSON.stringify(e))}catch(e){}}return(0,o.default)(f,"id")}()),n.append("agent",(0,c.getLogUserAgent)((0,u.parseUASimple)(r,a.VERSION_BASE))),n.append("file",i,"logs.txt"),n.append("tags","load");const l=new XMLHttpRequest,I=s.CLB_URL+"?access_token="+encodeURIComponent(s.CLB_TOKEN);l.open("POST",I,!0),l.send(n)}(e)}function l(e){let{error:t,reason:r,stack:n}=e;const o=(new Date).toISOString();return`${o}: error: ${t}\n${o}: reason for logs: ${r}\n${o}: userAgent: ${window.navigator.userAgent}\n${n}`}null==window.onerror&&(window.onerror=function(e,t,r){const n=t.split("?")[0];return"Uncaught SyntaxError: Unexpected token '<'"===e?(function(e){i(l({error:"failed to load a js or css bundle",reason:`failed to load [${e.split("/")[3].replace(/^\//,"")}]`,stack:""}))}(n),!0):(i(l({error:e,reason:`Error at [${n}:${r}]`,stack:""})),!1)});const d={UNKNOWN_ID:a.UNKNOWN_ID},p="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36";let f},425017:(e,t)=>{"use strict";function r(e){return e.includes("windows")?"Windows":e.includes("mac")?"Mac OS":e.includes("linux")?"Linux":"Unparsed"}Object.defineProperty(t,"__esModule",{value:!0}),t.parseUASimple=function(e,t){const n=e.toLowerCase();return{browser:s(n),device:r(n),appVersion:t}};const n=/(chrome|firefox)\/([\w\.]+)/i,o=/(edge|opr)\/([\w\.]+)/i,a={chrome:"Chrome",edge:"Edge",opr:"Opera",firefox:"Firefox"};function s(e){const t=e.match(o)||e.match(n);return null==t?"Unparsed":`${a[t[1]]} ${t[2]}`}},174285:(e,t)=>{"use strict";let r;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;try{r=window.localStorage}catch(e){}var n=r;t.default=n},508247:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WS_ORIGIN=t.WEB_PUBLIC_PATH=t.VERSION_TERTIARY=t.VERSION_STR=t.VERSION_SECONDARY=t.VERSION_PRIMARY=t.VERSION_BASE=t.USER_TIMINGS=t.UNKNOWN_ID=t.LOCALHOST_ENV_CONFIG=t.HASH_PLACEHOLDER=t.FLB_PLATFORM=t.FB_APP_ID=t.DYN_ORIGIN=t.DIFF_VERSION=t.DIFF_ID=t.BUILD_URL=t.BUILD_TIMESTAMP=t.BUILD_ID=void 0;t.DIFF_ID="";t.DIFF_VERSION="",t.LOCALHOST_ENV_CONFIG=!1,t.HASH_PLACEHOLDER="507042ed75b89fb00e8ef35da3541122cbc261e6",t.VERSION_PRIMARY="2",t.VERSION_SECONDARY="2412",t.VERSION_TERTIARY="54",t.VERSION_BASE="2.2412.54",t.VERSION_STR="2.2412.54",t.DYN_ORIGIN="https://web.whatsapp.com/",t.WS_ORIGIN="",t.FLB_PLATFORM="web",t.FB_APP_ID="",t.UNKNOWN_ID="WAUnknownID",t.BUILD_ID="583059957",t.BUILD_TIMESTAMP="March 29, 2024",t.WEB_PUBLIC_PATH="/",t.BUILD_URL="https://web.whatsapp.com/",t.USER_TIMINGS=!1},472514:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return e.default}},556869:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t){const r=new Error(t);if(void 0===r.stack)try{throw e}catch(e){}return r}}},e=>{"use strict";e(Line truncated
|
|
|
|
|
(self.webpackChunkwhatsapp_web_client=self.webpackChunkwhatsapp_web_client||[]).push([[2143],{363509:(e,t,n)=>{var r={"./f00.png":192256,"./f01.png":107151,"./f02.png":329449,"./f03.png":594719,"./f04.png":783004,"./f05.png":99381,"./f06.png":604893,"./f07.png":761353,"./f08.png":945598,"./f09.png":379575,"./f10.png":105211,"./f11.png":419751,"./f12.png":61294,"./f13.png":970938,"./f14.png":381790,"./f15.png":8669,"./f16.png":130047,"./f17.png":361022,"./f18.png":633295,"./f19.png":299635,"./f20.png":882645,"./f21.png":367083,"./f22.png":755359,"./f23.png":30003,"./f24.png":677659,"./f25.png":81024,"./f26.png":564195,"./f27.png":837704,"./f28.png":393374,"./f29.png":712282,"./f30.png":657894,"./f31.png":353320,"./f32.png":918234,"./f33.png":537426,"./f34.png":37382,"./f35.png":380904,"./f36.png":605193,"./f37.png":838324,"./f38.png":683149,"./f39.png":968480,"./f40.png":235741,"./f41.png":424081,"./f42.png":709062,"./f43.png":951839,"./f44.png":477271,"./f45.png":39622,"./f46.png":148373,"./f47.png":51400,"./f48.png":542720,"./f49.png":243805,"./f50.png":56995,"./f51.png":575688,"./f52.png":131796,"./f53.png":173785,"./f54.png":162521,"./f55.png":471449,"./f56.png":298224,"./f57.png":710601,"./f58.png":972870,"./f59.png":493224,"./f60.png":921564,"./f61.png":93169,"./f62.png":154423,"./f63.png":303491,"./f64.png":886262,"./f65.png":37806,"./f66.png":135049,"./f67.png":704971,"./f68.png":332845,"./f69.png":529664,"./f70.png":29469,"./f71.png":860540,"./f72.png":114364,"./f73.png":34476,"./f74.png":280952,"./f75.png":547236,"./f76.png":991385,"./f77.png":886342,"./f78.png":593828,"./f79.png":407026,"./f80.png":659076,"./f81.png":686555,"./f82.png":215330,"./f83.png":751331,"./f84.png":844780,"./f85.png":902506,"./f86.png":527300,"./f87.png":235074,"./f88.png":583020,"./f89.png":558516,"./f90.png":615707,"./f91.png":871247,"./f92.png":654647,"./f93.png":167517,"./f94.png":383439,"./f95.png":938404,"./f96.png":550273,"./f97.png":312123,"./f98.png":879144,"./f99.png":440594,"./favicon-error.png":172654,"./favicon-error2.png":819528,"./favicon.png":429242};function i(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}i.keys=function(){return Object.keys(r)},i.resolve=a,e.exports=i,i.id=363509},276554:(e,t,n)=>{var r={"./f00.png":211372,"./f01.png":648039,"./f02.png":149519,"./f03.png":298446,"./f04.png":868917,"./f05.png":146454,"./f06.png":580841,"./f07.png":941038,"./f08.png":457522,"./f09.png":604754,"./f10.png":644183,"./f11.png":899233,"./f12.png":800347,"./f13.png":452761,"./f14.png":219754,"./f15.png":318613,"./f16.png":117613,"./f17.png":670322,"./f18.png":55928,"./f19.png":98442,"./f20.png":732677,"./f21.png":664770,"./f22.png":643426,"./f23.png":31644,"./f24.png":106597,"./f25.png":407210,"./f26.png":561890,"./f27.png":258229,"./f28.png":181250,"./f29.png":341431,"./f30.png":60853,"./f31.png":875920,"./f32.png":621202,"./f33.png":523022,"./f34.png":746622,"./f35.png":13683,"./f36.png":945274,"./f37.png":374507,"./f38.png":536466,"./f39.png":855254,"./f40.png":695725,"./f41.png":297585,"./f42.png":175218,"./f43.png":81303,"./f44.png":249465,"./f45.png":55625,"./f46.png":448475,"./f47.png":767848,"./f48.png":658139,"./f49.png":697019,"./f50.png":263744,"./f51.png":814517,"./f52.png":302181,"./f53.png":665405,"./f54.png":661605,"./f55.png":990866,"./f56.png":671888,"./f57.png":435515,"./f58.png":18457,"./f59.png":820009,"./f60.png":63163,"./f61.png":820930,"./f62.png":969341,"./f63.png":108373,"./f64.png":399910,"./f65.png":510127,"./f66.png":134843,"./f67.png":168683,"./f68.png":279587,"./f69.png":481265,"./f70.png":929761,"./f71.png":67156,"./f72.png":14427,"./f73.png":118241,"./f74.png":555948,"./f75.png":305193,"./f76.png":585044,"./f77.png":56746,"./f78.png":973675,"./f79.png":263159,"./f80.png":437160,"./f81.png":331456,"./f82.png":958193,"./f83.png":68436,"./f84.png":15188,"./f85.png":335444,"./f86.png":961218,"./f87.png":712535,"./f88.png":756277,"./f89.png":111847,"./f90.png":83242,"./f91.png":697168,"./f92.png":906763,"./f93.png":169685,"./f94.png":234887,"./f95.png":424111,"./f96.png":271972,"./f97.png":739920,"./f98.png":694784,"./f99.png":760795,"./favicon-error.png":306769,"./favicon-error2.png":477238,"./favicon.png":56216};function i(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}i.keys=function(){return Object.keys(r)},i.resolve=a,e.exports=i,i.id=276554},123098:module=>{var e={},aa={},l;for(l in e)e.hasOwnProperty(l)&&(aa[l]=e[l]);function ba(e){eval.call(null,e)}for(l in e.read=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},"undefined"!=typeof arguments&&(e.arguments=arguments),"undefined"!=typeof console?(e.print||(e.print=function(e){console.log(e)}),e.printErr||(e.printErr=function(e){console.log(e)})):e.print||(e.print=function(){}),void 0===e.setWLine truncated
|
|
|
|
|
/**
|
|
|
|
|
* Apache License
|
|
|
|
|
*
|
|
|
|
|
* Version 2.0, January 2004
|
|
|
|
|
*
|
|
|
|
|
* http://www.apache.org/licenses/
|
|
|
|
|
*
|
|
|
|
|
* TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
|
|
|
*
|
|
|
|
|
* 1. Definitions.
|
|
|
|
|
*
|
|
|
|
|
* "License" shall mean the terms and conditions for use, reproduction, and dist
|
|
|
|
|
* ribution as defined by Sections 1 through 9 of this document.
|
|
|
|
|
*
|
|
|
|
|
* "Licensor" shall mean the copyright owner or entity authorized by the copyrig
|
|
|
|
|
* ht owner that is granting the License.
|
|
|
|
|
*
|
|
|
|
|
* "Legal Entity" shall mean the union of the acting entity and all other entiti
|
|
|
|
|
* es that control, are controlled by, or are under common control with that ent
|
|
|
|
|
* ity. For the purposes of this definition, "control" means (i) the power, dire
|
|
|
|
|
* ct or indirect, to cause the direction or management of such entity, whether
|
|
|
|
|
* by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of
|
|
|
|
|
* the outstanding shares, or (iii) beneficial ownership of such entity.
|
|
|
|
|
*
|
|
|
|
|
* "You" (or "Your") shall mean an individual or Legal Entity exercising permiss
|
|
|
|
|
* ions granted by this License.
|
|
|
|
|
*
|
|
|
|
|
* "Source" form shall mean the preferred form for making modifications, includi
|
|
|
|
|
* ng but not limited to software source code, documentation source, and configu
|
|
|
|
|
* ration files.
|
|
|
|
|
*
|
|
|
|
|
* "Object" form shall mean any form resulting from mechanical transformation or
|
|
|
|
|
* translation of a Source form, including but not limited to compiled object c
|
|
|
|
|
* ode, generated documentation, and conversions to other media types.
|
|
|
|
|
*
|
|
|
|
|
* "Work" shall mean the work of authorship, whether in Source or Object form, m
|
|
|
|
|
* ade available under the License, as indicated by a copyright notice that is i
|
|
|
|
|
* ncluded in or attached to the work (an example is provided in the Appendix be
|
|
|
|
|
* low).
|
|
|
|
|
*
|
|
|
|
|
* "Derivative Works" shall mean any work, whether in Source or Object form, tha
|
|
|
|
|
* t is based on (or derived from) the Work and for which the editorial revision
|
|
|
|
|
* s, annotations, elaborations, or other modifications represent, as a whole, a
|
|
|
|
|
* n original work of authorship. For the purposes of this License, Derivative W
|
|
|
|
|
* orks shall not include works that remain separable from, or merely link (or b
|
|
|
|
|
* ind by name) to the interfaces of, the Work and Derivative Works thereof.
|
|
|
|
|
*
|
|
|
|
|
* "Contribution" shall mean any work of authorship, including the original vers
|
|
|
|
|
* ion of the Work and any modifications or additions to that Work or Derivative
|
|
|
|
|
* Works thereof, that is intentionally submitted to Licensor for inclusion in
|
|
|
|
|
* the Work by the copyright owner or by an individual or Legal Entity authorize
|
|
|
|
|
* d to submit on behalf of the copyright owner. For the purposes of this defini
|
|
|
|
|
* tion, "submitted" means any form of electronic, verbal, or written communicat
|
|
|
|
|
* ion sent to the Licensor or its representatives, including but not limited to
|
|
|
|
|
* communication on electronic mailing lists, source code control systems, and
|
|
|
|
|
* issue tracking systems that are managed by, or on behalf of, the Licensor for
|
|
|
|
|
* the purpose of discussing and improving the Work, but excluding communicatio
|
|
|
|
|
* n that is conspicuously marked or otherwise designated in writing by the copy
|
|
|
|
|
* right owner as "Not a Contribution."
|
|
|
|
|
*
|
|
|
|
|
* "Contributor" shall mean Licensor and any individual or Legal Entity on behal
|
|
|
|
|
* f of whom a Contribution has been received by Licensor and subsequently incor
|
|
|
|
|
* porated within the Work.
|
|
|
|
|
*
|
|
|
|
|
* 2. Grant of Copyright License. Subject to the terms and conditions of this Li
|
|
|
|
|
* cense, each Contributor hereby grants to You a perpetual, worldwide, non-excl
|
|
|
|
|
* usive, no-charge, royalty-free, irrevocable copyright license to reproduce, p
|
|
|
|
|
* repare Derivative Works of, publicly display, publicly perform, sublicense, a
|
|
|
|
|
* nd distribute the Work and such Derivative Works in Source or Object form.
|
|
|
|
|
*
|
|
|
|
|
* 3. Grant of Patent License. Subject to the terms and conditions of this Licen
|
|
|
|
|
* se, each Contributor hereby grants to You a perpetual, worldwide, non-exclusi
|
|
|
|
|
* ve, no-charge, royalty-free, irrevocable (except as stated in this section) p
|
|
|
|
|
* atent license to make, have made, use, offer to sell, sell, import, and other
|
|
|
|
|
* wise transfer the Work, where such license applies only to those patent claim
|
|
|
|
|
* s licensable by such Contributor that are necessarily infringed by their Cont
|
|
|
|
|
* ribution(s) alone or by combination of their Contribution(s) with the Work to
|
|
|
|
|
* which such Contribution(s) was submitted. If You institute patent litigation
|
|
|
|
|
* against any entity (including a cross-claim or counterclaim in a lawsuit) al
|
|
|
|
|
* leging that the Work or a Contribution incorporated within the Work constitut
|
|
|
|
|
* es direct or contributory patent infringement, then any patent licenses grant
|
|
|
|
|
* ed to You under this License for that Work shall terminate as of the date suc
|
|
|
|
|
* h litigation is filed.
|
|
|
|
|
*
|
|
|
|
|
* 4. Redistribution. You may reproduce and distribute copies of the Work or Der
|
|
|
|
|
* ivative Works thereof in any medium, with or without modifications, and in So
|
|
|
|
|
* urce or Object form, provided that You meet the following conditions:
|
|
|
|
|
*
|
|
|
|
|
* (a) You must give any other recipients of the Work or Derivative Works a
|
|
|
|
|
* copy of this License; and
|
|
|
|
|
*
|
|
|
|
|
* (b) You must cause any modified files to carry prominent notices stating
|
|
|
|
|
* that You changed the files; and
|
|
|
|
|
*
|
|
|
|
|
* (c) You must retain, in the Source form of any Derivative Works that You
|
|
|
|
|
* distribute, all copyright, patent, trademark, and attribution notices from t
|
|
|
|
|
* he Source form of the Work, excluding those notices that do not pertain to an
|
|
|
|
|
* y part of the Derivative Works; and
|
|
|
|
|
*
|
|
|
|
|
* (d) If the Work includes a "NOTICE" text file as part of its distributio
|
|
|
|
|
* n, then any Derivative Works that You distribute must include a readable copy
|
|
|
|
|
* of the attribution notices contained within such NOTICE file, excluding thos
|
|
|
|
|
* e notices that do not pertain to any part of the Derivative Works, in at leas
|
|
|
|
|
* t one of the following places: within a NOTICE text file distributed as part
|
|
|
|
|
* of the Derivative Works; within the Source form or documentation, if provided
|
|
|
|
|
* along with the Derivative Works; or, within a display generated by the Deriv
|
|
|
|
|
* ative Works, if and wherever such third-party notices normally appear. The co
|
|
|
|
|
* ntents of the NOTICE file are for informational purposes only and do not modi
|
|
|
|
|
* fy the License. You may add Your own attribution notices within Derivative Wo
|
|
|
|
|
* rks that You distribute, alongside or as an addendum to the NOTICE text from
|
|
|
|
|
* the Work, provided that such additional attribution notices cannot be constru
|
|
|
|
|
* ed as modifying the License.
|
|
|
|
|
*
|
|
|
|
|
* You may add Your own copyright statement to Your modifications and may p
|
|
|
|
|
* rovide additional or different license terms and conditions for use, reproduc
|
|
|
|
|
* tion, or distribution of Your modifications, or for any such Derivative Works
|
|
|
|
|
* as a whole, provided Your use, reproduction, and distribution of the Work ot
|
|
|
|
|
* herwise complies with the conditions stated in this License.
|
|
|
|
|
*
|
|
|
|
|
* 5. Submission of Contributions. Unless You explicitly state otherwise, any Co
|
|
|
|
|
* ntribution intentionally submitted for inclusion in the Work by You to the Li
|
|
|
|
|
* censor shall be under the terms and conditions of this License, without any a
|
|
|
|
|
* dditional terms or conditions. Notwithstanding the above, nothing herein shal
|
|
|
|
|
* l supersede or modify the terms of any separate license agreement you may hav
|
|
|
|
|
* e executed with Licensor regarding such Contributions.
|
|
|
|
|
*
|
|
|
|
|
* 6. Trademarks. This License does not grant permission to use the trade names,
|
|
|
|
|
* trademarks, service marks, or product names of the Licensor, except as requi
|
|
|
|
|
* red for reasonable and customary use in describing the origin of the Work and
|
|
|
|
|
* reproducing the content of the NOTICE file.
|
|
|
|
|
*
|
|
|
|
|
* 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in
|
|
|
|
|
* writing, Licensor provides the Work (and each Contributor provides its Contri
|
|
|
|
|
* butions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, e
|
|
|
|
|
* ither express or implied, including, without limitation, any warranties or co
|
|
|
|
|
* nditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTIC
|
|
|
|
|
* ULAR PURPOSE. You are solely responsible for determining the appropriateness
|
|
|
|
|
* of using or redistributing the Work and assume any risks associated with Your
|
|
|
|
|
* exercise of permissions under this License.
|
|
|
|
|
*
|
|
|
|
|
* 8. Limitation of Liability. In no event and under no legal theory, whether in
|
|
|
|
|
* tort (including negligence), contract, or otherwise, unless required by appl
|
|
|
|
|
* icable law (such as deliberate and grossly negligent acts) or agreed to in wr
|
|
|
|
|
* iting, shall any Contributor be liable to You for damages, including any dire
|
|
|
|
|
* ct, indirect, special, incidental, or consequential damages of any character
|
|
|
|
|
* arising as a result of this License or out of the use or inability to use the
|
|
|
|
|
* Work (including but not limited to damages for loss of goodwill, work stoppa
|
|
|
|
|
* ge, computer failure or malfunction, or any and all other commercial damages
|
|
|
|
|
* or losses), even if such Contributor has been advised of the possibility of s
|
|
|
|
|
* uch damages.
|
|
|
|
|
*
|
|
|
|
|
* 9. Accepting Warranty or Additional Liability. While redistributing the Work
|
|
|
|
|
* or Derivative Works thereof, You may choose to offer, and charge a fee for, a
|
|
|
|
|
* cceptance of support, warranty, indemnity, or other liability obligations and
|
|
|
|
|
* /or rights consistent with this License. However, in accepting such obligatio
|
|
|
|
|
* ns, You may act only on Your own behalf and on Your sole responsibility, not
|
|
|
|
|
* on behalf of any other Contributor, and only if You agree to indemnify, defen
|
|
|
|
|
* d, and hold each Contributor harmless for any liability incurred by, or claim
|
|
|
|
|
* s asserted against, such Contributor by reason of your accepting any such war
|
|
|
|
|
* ranty or additional liability.
|
|
|
|
|
*
|
|
|
|
|
* END OF TERMS AND CONDITIONS
|
|
|
|
|
*
|
|
|
|
|
* APPENDIX: How to apply the Apache License to your work.
|
|
|
|
|
*
|
|
|
|
|
* To apply the Apache License to your work, attach the following boilerplate no
|
|
|
|
|
* tice, with the fields enclosed by brackets "[]" replaced with your own identi
|
|
|
|
|
* fying information. (Don't include the brackets!) The text should be enclosed
|
|
|
|
|
* in the appropriate comment syntax for the file format. We also recommend tha
|
|
|
|
|
* t a file or class name and description of purpose be included on the same "pr
|
|
|
|
|
* inted page" as the copyright notice for easier identification within third-pa
|
|
|
|
|
* rty archives.
|
|
|
|
|
*
|
|
|
|
|
* Copyright [yyyy] [name of copyright owner]
|
|
|
|
|
*
|
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
|
*
|
|
|
|
|
* you may not use this file except in compliance with the License.
|
|
|
|
|
*
|
|
|
|
|
* You may obtain a copy of the License at
|
|
|
|
|
*
|
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
*
|
|
|
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
|
|
|
*
|
|
|
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
|
*
|
|
|
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
|
*
|
|
|
|
|
* See the License for the specific language governing permissions and
|
|
|
|
|
*
|
|
|
|
|
* limitations under the License.
|
|
|
|
|
*
|
|
|
|
|
* THIS FILE HAS BEEN AUTOMATICALLY GENERATED AND IS NOT MEANT TO BE
|
|
|
|
|
* EDITED THROUGH NORMAL MEANS. PLEASE CHECK THE DOCUMENTATION FOR
|
|
|
|
|
* DETAILS AND GUIDANCE: http://fburl.com/js-libs-www
|
|
|
|
|
*
|
|
|
|
|
* @preserve-header
|
|
|
|
|
* @noflow
|
|
|
|
|
* @nolint
|
|
|
|
|
*/var r={},i={exports:r};function a(){var e,t;e=this,t=function(){
|
|
|
|
|
/*! *****************************************************************************
|
|
|
|
|
Copyright (c) Microsoft Corporation.
|
|
|
|
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
|
|
|
purpose with or without fee is hereby granted.
|
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
|
|
|
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
|
|
|
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
|
|
|
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
|
|
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
|
|
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
|
|
|
PERFORMANCE OF THIS SOFTWARE.
|
|
|
|
|
***************************************************************************** */
|
|
|
|
|
var e=function(){return(e=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function t(e,t,n){if(n||2===arguments.length)for(var r,i=0,a=t.length;i<a;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:n.g,i=Object.keys,a=Array.isArray;function o(e,t){return"object"!=typeof t||i(t).forEach((function(n){e[n]=t[n]})),e}"undefined"==typeof Promise||r.Promise||(r.Promise=Promise);var s=Object.getPrototypeOf,l={}.hasOwnProperty;function u(e,t){return l.call(e,t)}function c(e,t){"function"==typeof t&&(t=t(s(e))),("undefined"==typeof Reflect?i:Reflect.ownKeys)(t).forEach((function(n){p(e,n,t[n])}))}var d=Object.defineProperty;function p(e,t,n,r){d(e,t,o(n&&u(n,"get")&&"function"==typeof n.get?{get:n.get,set:n.set,configurable:!0}:{value:n,configurable:!0,writable:!0},r))}function f(e){return{from:function(t){return e.prototype=Object.create(t.prototype),p(e.prototype,"constructor",e),{extend:c.bind(null,e.prototype)}}}}var _=Object.getOwnPropertyDescriptor;function g(e,t){var n;return _(e,t)||(n=s(e))&&g(n,t)}var m=[].slice;function h(e,t,n){return m.call(e,t,n)}function y(e,t){return t(e)}function E(e){if(!e)throw new Error("Assertion Failed")}function S(e){r.setImmediate?setImmediate(e):setTimeout(e,0)}function v(e,t){return e.reduce((function(e,n,r){var i=t(n,r);return i&&(e[i[0]]=i[1]),e}),{})}function T(e,t){if(u(e,t))return e[t];if(!t)return e;if("string"!=typeof t){for(var n=[],r=0,i=t.length;r<i;++r){var a=T(e,t[r]);n.push(a)}return n}var o=t.indexOf(".");if(-1!==o){var s=e[t.substr(0,o)];return void 0===s?void 0:T(s,t.substr(o+1))}}function M(e,t,n){if(e&&void 0!==t&&(!("isFrozen"in Object)||!Object.isFrozen(e)))if("string"!=typeof t&&"length"in t){E("string"!=typeof n&&"length"in n);for(var r=0,i=t.length;r<i;++r)M(e,t[r],n[r])}else{var o=t.indexOf(".");if(-1!==o){var s=t.substr(0,o),l=t.substr(o+1);if(""===l)void 0===n?a(e)&&!isNaN(parseInt(s))?e.splice(s,1):delete e[s]:e[s]=n;else{var c=e[s];c&&u(e,s)||(c=e[s]={}),M(c,l,n)}}else void 0===n?a(e)&&!isNaN(parseInt(t))?e.splice(t,1):delete e[t]:e[t]=n}}function b(e){var t={};for(var n in e)u(e,n)&&(t[n]=e[n]);return t}var A=[].concat;function C(e){return A.apply([],e)}var P="Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(C([8,16,32,64].map((function(e){return["Int","Uint","Float"].map((function(t){return t+e+"Array"}))})))).filter((function(e){return r[e]})),I=P.map((function(e){return r[e]}));v(P,(function(e){return[e,!0]}));var O=null;function R(e){O="undefined"!=typeof WeakMap&&new WeakMap;var t=N(e);return O=null,t}function N(e){if(!e||"object"!=typeof e)return e;var t=O&&O.get(e);if(t)return t;if(a(e)){t=[],O&&O.set(e,t);for(var n=0,r=e.length;n<r;++n)t.push(N(e[n]))}else if(I.indexOf(e.constructor)>=0)t=e;else{var i=s(e);for(var o in t=i===Object.prototype?{}:Object.create(i),O&&O.set(e,t),e)u(e,o)&&(t[o]=N(e[o]))}return t}var D={}.toString;function w(e){return D.call(e).slice(8,-1)}var L="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator",k="symbol"==typeof L?function(e){var t;return null!=e&&(t=e[L])&&t.apply(e)}:function(){return null},G={};function U(e){var t,n,r,i;if(1===arguments.length){if(a(e))return e.slice();if(this===G&&"string"==typeof e)return[e];if(i=k(e)){for(n=[];!(r=i.next()).done;)n.push(r.value);return n}if(null==e)return[e];if("number"==typeof(t=e.length)){for(n=new Array(t);t--;)n[t]=e[t];return n}return[e]}for(t=arguments.length,n=new Array(t);t--;)n[t]=arguments[t];return n}var x="undefined"!=typeof Symbol?function(e){return"AsyncFunction"===e[Symbol.toStringTag]}:function(){return!1},B="undefined"!=typeof location&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);function F(e,t){B=e,j=t}var j=function(){return!0},K=!new Error("").stack;function Y(){if(K)try{throw new Error}catch(e){return e}return new Error}function W(e,t){var n=e.stack;return n?(t=t||0,0===n.indexOf(e.name)&&(t+=(e.name+e.message).split("\n").length),n.split("\n").slice(t).filter(j).map((function(e){return"\n"+e})).join("")):""}var V=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],H=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"].concat(V),$={VersionChanged:"Database version changed by other database connection",DatabaseClosed:"Database has been closed",Abort:"Transaction aborted",TransactionInactive:"Transaction has alreadLine truncated
|
|
|
|
|
/*! modernizr 3.11.8 (Custom Build) | MIT *
|
|
|
|
|
* https://modernizr.com/download/?-adownload-cssanimations-csstransitions-exiforientation-serviceworker-webp-domprefixes-hasevent-prefixed-prefixes-setclasses-testallprops-testprop !*/
|
|
|
|
|
!function(e,t,n,r){function i(e,t){return typeof e===t}function a(e){var t=v.className,n=E._config.classPrefix||"";if(T&&(t=t.baseVal),E._config.enableJSClass){var r=new RegExp("(^|\\s)"+n+"no-js(\\s|$)");t=t.replace(r,"$1"+n+"js$2")}E._config.enableClasses&&(e.length>0&&(t+=" "+n+e.join(" "+n)),T?v.className.baseVal=t:v.className=t)}function o(){return"function"!=typeof n.createElement?n.createElement(arguments[0]):T?n.createElementNS.call(n,"http://www.w3.org/2000/svg",arguments[0]):n.createElement.apply(n,arguments)}function s(e,t){return!!~(""+e).indexOf(t)}function l(e,t,r,i){var a,s,l,u,c="modernizr",d=o("div"),p=function(){var e=n.body;return e||((e=o(T?"svg":"body")).fake=!0),e}();if(parseInt(r,10))for(;r--;)(l=o("div")).id=i?i[r]:c+(r+1),d.appendChild(l);return(a=o("style")).type="text/css",a.id="s"+c,(p.fake?p:d).appendChild(a),p.appendChild(d),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(n.createTextNode(e)),d.id=c,p.fake&&(p.style.background="",p.style.overflow="hidden",u=v.style.overflow,v.style.overflow="hidden",v.appendChild(p)),s=t(d,e),p.fake&&p.parentNode?(p.parentNode.removeChild(p),v.style.overflow=u,v.offsetHeight):d.parentNode.removeChild(d),!!s}function u(e){return e.replace(/([A-Z])/g,(function(e,t){return"-"+t.toLowerCase()})).replace(/^ms-/,"-ms-")}function c(e,n){var i=e.length;if("CSS"in t&&"supports"in t.CSS){for(;i--;)if(t.CSS.supports(u(e[i]),n))return!0;return!1}if("CSSSupportsRule"in t){for(var a=[];i--;)a.push("("+u(e[i])+":"+n+")");return l("@supports ("+(a=a.join(" or "))+") { #modernizr { position: absolute; } }",(function(e){return"absolute"===function(e,n,r){var i;if("getComputedStyle"in t){i=getComputedStyle.call(t,e,n);var a=t.console;null!==i?r&&(i=i.getPropertyValue(r)):a&&a[a.error?"error":"log"].call(a,"getComputedStyle returning null, its possible modernizr test results are inaccurate")}else i=!n&&e.currentStyle&&e.currentStyle[r];return i}(e,null,"position")}))}return r}function d(e){return e.replace(/([a-z])-([a-z])/g,(function(e,t,n){return t+n.toUpperCase()})).replace(/^-/,"")}function p(e,t,n,a){function l(){p&&(delete O.style,delete O.modElem)}if(a=!i(a,"undefined")&&a,!i(n,"undefined")){var u=c(e,n);if(!i(u,"undefined"))return u}for(var p,f,_,g,m,h=["modernizr","tspan","samp"];!O.style&&h.length;)p=!0,O.modElem=o(h.shift()),O.style=O.modElem.style;for(_=e.length,f=0;f<_;f++)if(g=e[f],m=O.style[g],s(g,"-")&&(g=d(g)),O.style[g]!==r){if(a||i(n,"undefined"))return l(),"pfx"!==t||g;try{O.style[g]=n}catch(e){}if(O.style[g]!==m)return l(),"pfx"!==t||g}return l(),!1}function f(e,t){return function(){return e.apply(t,arguments)}}function _(e,t,n,r,a){var o=e.charAt(0).toUpperCase()+e.slice(1),s=(e+" "+P.join(o+" ")+o).split(" ");return i(t,"string")||i(t,"undefined")?p(s,t,r,a):function(e,t,n){var r;for(var a in e)if(e[a]in t)return!1===n?e[a]:i(r=t[e[a]],"function")?f(r,n||t):r;return!1}(s=(e+" "+b.join(o+" ")+o).split(" "),t,n)}function g(e,t,n){return _(e,r,r,t,n)}function m(e,t){if("object"==typeof e)for(var n in e)R(e,n)&&m(n,e[n]);else{var r=(e=e.toLowerCase()).split("."),i=E[r[0]];if(2===r.length&&(i=i[r[1]]),void 0!==i)return E;t="function"==typeof t?t():t,1===r.length?E[r[0]]=t:(!E[r[0]]||E[r[0]]instanceof Boolean||(E[r[0]]=new Boolean(E[r[0]])),E[r[0]][r[1]]=t),a([(t&&!1!==t?"":"no-")+r.join("-")]),E._trigger(e,t)}return E}var h=[],y={_version:"3.11.8",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,t){var n=this;setTimeout((function(){t(n[e])}),0)},addTest:function(e,t,n){h.push({name:e,fn:t,options:n})},addAsyncTest:function(e){h.push({name:null,fn:e})}},E=function(){};E.prototype=y,E=new E;var S=[],v=n.documentElement,T="svg"===v.nodeName.toLowerCase(),M="Moz O ms Webkit",b=y._config.usePrefixes?M.toLowerCase().split(" "):[];y._domPrefixes=b;var A=y._config.usePrefixes?" -webkit- -moz- -o- -ms- ".split(" "):["",""];y._prefixes=A;var C=function(){var e=!("onblur"in v);return function(t,n){var i;return!!t&&(n&&"string"!=typeof n||(n=o(n||"div")),!(i=(t="on"+t)in n)&&e&&(n.setAttribute||(n=o("div")),n.setAttribute(t,""),i="function"==typeof n[t],n[t]!==r&&(n[t]=r),n.removeAttribute(t)),i)}}();y.hasEvent=C;var P=y._config.usePrefixes?M.split(" "):[];y._cssomPrefixes=P;var I={elem:o("modernizr")};E._q.push((function(){delete I.elem}));var O={style:I.elem.style};E._q.unshift((function(){delete O.style})),y.testAllProps=_;var R,N=function(e){var n,i=A.length,a=t.CSSRule;if(void 0===a)return r;if(!e)return!1;if((n=(e=e.replace(/^@/,"")).replace(/-/g,"_").toUpperCase()+"_RULE")in a)return"@"+e;for(var o=0;o<i;o++){var s=A[o];if(s.toUpperCase()+"_"+n in a)return"@-"+s.toLowerCase()+"-"+e}return!1};y.atRule=N,y.prefixed=function(e,t,n){return 0===e.indexOf("@")?N(e):(-1!==e.indexOf("-")&&(e=d(e)),t?_(e,t,n):_(e,"pfx"))},y.testAllProps=g,y.testProp=function(e,t,n){return p([e],r,t,n)},function(){var e={}.hasOwnProperty;R=i(e,"undefined")||i(e.call,"undefined")?function(e,t){return t in e&&i(e.constructor.prototyLine truncated
|
|
|
|
|
\tmoving blocked collections to dirty: [${e}]
|
|
|
|
|
\tadding inflight collections to pending: [${Array.from(T)}]`,w()};var i=r(n(311504)),a=n(819416),o=n(377380),s=n(822144),l=n(986753),u=n(526835),c=(n(522815),r(n(436269))),d=n(122393),p=(n(405057),n(272961)),f=n(36686),_=n(751691),g=n(787685),m=n(998667),h=n(90347),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=E(t);if(n&&n.has(e))return n.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var o=i?Object.getOwnPropertyDescriptor(e,a):null;o&&(o.get||o.set)?Object.defineProperty(r,a,o):r[a]=e[a]}r.default=e,n&&n.set(e,r);return r}(n(123647));function E(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(E=function(e){return e?n:t})(e)}const S=36e5;let v,T=new Set,M=new Set,b=!1,A=0,C=0;function P(){return I.apply(this,arguments)}function I(){return(I=(0,i.default)((function*(e,t){const n=null!=t?yield O(e,t):e;return __LOG__(2)`syncd: marking for sync: ${n}`,n.forEach((e=>{const t=c.default.getCollectionState(e);__LOG__(2)`syncd: ${e} state before sync: ${t}`,t===d.CollectionSyncState.UpToDate?c.default.moveCollectionsToDirty([e]):t===d.CollectionSyncState.Dirty&&(M=new Set([...Array.from(M),e]))})),yield c.default.persistToDb(),w()}))).apply(this,arguments)}function O(){return R.apply(this,arguments)}function R(){return(R=(0,i.default)((function*(e,t){__LOG__(2)`syncd: start filter collections: ${e}`;const n=yield(0,o.bulkGetCollectionVersionsInTransaction)(e),r=new Map(e.map(((e,t)=>{var r;return[e,null===(r=n[t])||void 0===r?void 0:r.version]})));return e.filter((e=>{const n=r.get(e);if(null==n)return __LOG__(2)`syncd: local version for ${e} missing; will mark for sync.`,!0;const i=t.get(e);return null==i?(__LOG__(2)`syncd: server version for ${e} missing; will mark for sync.`,!0):n<i?(__LOG__(2)`syncd: local version (${n}) for ${e} less than server version (${i}); will mark for sync.`,!0):(__LOG__(2)`syncd: local version (${n})for ${e} >= server version (${i}); will not mark for sync.`,!1)}))}))).apply(this,arguments)}function N(){return(N=(0,i.default)((function*(){const e=yield(0,u.countSyncActionsInTransaction)();y.setStoredMutationCount(e);const t=yield(0,u.getSyncActionsByActionStatesInTransaction)([d.SyncActionState.Malformed]);y.setInvalidActionCount(t.length);const n=yield(0,u.getSyncActionsByActionStatesInTransaction)([d.SyncActionState.Unsupported]);y.setUnsupportedActionCount(n.length);const r=yield(0,s.getMissingKeyCountTransaction)();y.setMissingKeyCount(r)}))).apply(this,arguments)}function D(){return(D=(0,i.default)((function*(){}))).apply(this,arguments)}function w(){return L.apply(this,arguments)}function L(){return(L=(0,i.default)((function*(){if((0,p.isSyncdDisabled)())return Promise.resolve();const e=c.default.getCollectionsInStateDirty();__LOG__(2)`syncd: dirty collections: ${e}`;const t=new Set(e.filter((e=>!T.has(e))));if(0===t.size)return __LOG__(2)`syncd: no collections to sync`,Promise.resolve();let n=[];try{T=new Set([...Array.from(T),...Array.from(t)]),__LOG__(2)`syncd: initiate server sync`,n=yield(0,h.serverSync)(Array.from(t)),__LOG__(2)`syncd: server sync successful`;const e=n.filter((e=>e.state===d.CollectionState.ErrorRetry));e.length>0&&(C=e[0].serverBackoff||0,A=0),U(n)}catch(e){__LOG__(2)`syncd: exception during sync(): ${e}`,c.default.moveCollectionsToFiniteRetry(Array.from(t))}finally{__LOG__(2)`syncd: cleanup after sync()`,c.default.persistToDb(),T=new Set(Array.from(T).filter((e=>!t.has(e)))),G(),yield(0,a.getDbImpls)().handleSyncCompleted(n)}}))).apply(this,arguments)}function k(){if((0,p.isSyncdDisabled)())return;const e=new Set(c.default.getCollectionsInStateRetry());var t,n;0!==e.size&&(v=setTimeout((0,i.default)((function*(){try{b=!0,A+=1,__LOG__(2)`syncd: initiate server sync retry`;const t=yield(0,h.serverSync)(Array.from(e));__LOG__(2)`syncd: server sync retry successful`,U(t)}catch(t){__LOG__(2)`syncd: exception during handleRetry(): ${t}`,c.default.moveCollectionsToFiniteRetry(Array.from(e))}finally{__LOG__(2)`syncd: cleanup after handleRetry()`,function(){const e=c.default.getExpiredCollections();e.length>0&&(c.default.moveCollectionsToFatal(e),__LOG__(4,void 0,new Error,!0)`syncd: fatal error: expired collections`,SEND_LOGS("syncd: fatal error: expired collections"),(0,g.reportSyncdFatalError)(g.SyncdFatalErrorType.TOO_MANY_INTERNAL_SERVER_ERRORS_IN_7D))}(),c.default.persistToDb(),b=!1,G()}})),(t=A,n=C,Math.min(Math.max(2**t*1e3,n),S))))}function G(){__LOG__(2)`syncd: state machine tick`,c.default.getCollectionsInStateDirty().length>0&&(M=new Set(Array.from(M).filter((e=>T.has(e)))),w());const e=c.default.getCollectionsInStateRetry();if(e.length>0){if(b)return void __LOG__(2)`syncd: retry is in flight`;null!=v&&clearTimeout(v),M=new Set(Array.from(M).filter((t=>!e.includes(t)))),k()}c.default.getCollectionsInStateFatal().length>0&&(0,a.getDbImplLine truncated
|
|
|
|
|
${e} snapshot macsToAdd:
|
|
|
|
|
${Array.from(l.entries()).map((e=>{let[t,n]=e;return T(t,n)})).join("\n\t")}`;const u=yield o.LT_HASH_ANTI_TAMPERING.add(o.EMPTY_LT_HASH,Array.from(l.values())),{snapshotMacKey:c}=yield(0,f.generateEncryptionKeys)(s),d=(0,_.to64BitNetworkOrder)(r.version),p=(0,_.toUtf8)(e).buffer;return __LOG__(2)`syncd: validating snapshot mac for ${e} snapshot v${r.version}:
|
|
|
|
|
ltHash: ${(0,_.arrayBufferToHexPadded)(u)}
|
|
|
|
|
encoded version: ${(0,_.arrayBufferToHexPadded)(d)}
|
|
|
|
|
encoded collection: ${(0,_.arrayBufferToHexPadded)(p)}
|
|
|
|
|
expected snapshotMAC: ${(0,_.arrayBufferToHexPadded)(n)}`,yield I(e,n,c,u,d,p,!0,a.length,t.version.version,null,null,null,null),u}))).apply(this,arguments)}function A(){return(A=(0,i.default)((function*(e,t,n){__LOG__(2)`syncd: computeLtHashAndValidatePatch for ${e}`;const{version:r,mutations:o,snapshotMac:s,patchMac:u,keyId:c}=t,p=c.id,y=yield(0,m.getKeyData)(p);if(!y)throw new g.SyncdMissingKeyError;const{snapshotMacKey:E,patchMacKey:S}=yield(0,f.generateEncryptionKeys)(y),M=o.map((e=>({operation:e.operation,indexMac:e.record.index.blob,valueMac:(0,f.valueMacFromIndexAndValueCipherText)(e.record.value.blob)}))),b=yield(0,a.runInTransaction)({SyncActionStore:!0},function(){var t=(0,i.default)((function*(t){let{SyncActionStore:n}=t;return yield n.getByCollections([e])}));return function(){return t.apply(this,arguments)}}()),A=(0,a.getConfig)().syncShouldCalculateLtHashFromScratch()&&b&&b.length<1e3;__LOG__(2)`syncd: shouldRecalculateLtHash: ${A}`;const C=A?yield U(b):yield(0,l.getCollectionVersionLtHashInTransaction)(e),P=yield w(e,M,n,t.version.version,v.Incoming,C),O=(0,_.to64BitNetworkOrder)(r.version),N=(0,_.toUtf8)(e).buffer;__LOG__(2)`syncd: validating snapshot and patch mac for ${e} v${r.version}:
|
|
|
|
|
expected snapshotMAC: ${(0,_.arrayBufferToHexPadded)(s)}
|
|
|
|
|
expected patchMAC: ${(0,_.arrayBufferToHexPadded)(u)}
|
|
|
|
|
encoded version: ${(0,_.arrayBufferToHexPadded)(O)}
|
|
|
|
|
encoded collection: ${(0,_.arrayBufferToHexPadded)(N)}
|
|
|
|
|
key ID: ${(0,_.arrayBufferToHexPadded)((0,h.fromSyncKeyId)(p))}`;try{yield R(e,u,S,s,M.map((e=>e.valueMac)),O,N,o.length,r.version),yield I(e,s,E,P.ltHash,O,N,!1,o.length,r.version,t.clientDebugData,C,P,t.deviceIndex)}catch(e){throw yield function(){return D.apply(this,arguments)}(),e}return P.ltHash;function D(){return(D=(0,i.default)((function*(){const t=yield F(e,!1),n=new Map(t.map((e=>{let{indexMac:t,valueMac:n}=e;return[(0,_.arrayBufferToHexPadded)(t),(0,_.arrayBufferToHexPadded)(n)]})));__LOG__(2)`syncd: error on incoming records:
|
|
|
|
|
\t${M.map((e=>{let{operation:t,indexMac:r,valueMac:i}=e;return`${t===d.SyncdMutation$SyncdOperation.SET?"set":"remove"} | ${T(r,i,!1)} | ${n.has((0,_.arrayBufferToHexPadded)(r))?"found":"did not find"} indexMAC in the above logged macs`})).join("\n\t")}`}))).apply(this,arguments)}}))).apply(this,arguments)}function C(){return P.apply(this,arguments)}function P(){return(P=(0,i.default)((function*(e,t){const n=yield(0,l.getCollectionVersionInTransaction)(e).then((e=>{var t;return null!==(t=null==e?void 0:e.version)&&void 0!==t?t:0}));if(n!==t-1){const r=n>t-1?"greater-than-expected":"less-than-expected";throw __LOG__(3,void 0,void 0,!0)`syncd: ${e} received patch v${t} !== latest local version (v${n}) + 1`,SEND_LOGS(`syncd-version-check-error-local-version-${r}`),new g.SyncdRetryableError(`syncd-version-check-error-local-version-${r}`)}const r=yield(0,l.getCollectionVersionLtHashInTransaction)(e);if((0,s.arrayBuffersEqual)(r,o.EMPTY_LT_HASH)&&1!==t)throw __LOG__(3,void 0,void 0,!0)`syncd: empty local lthash found when processing ${e} patch v${t}`,SEND_LOGS("syncd-empty-lthash-on-mac-mismatch"),new g.SyncdRetryableError("empty lthash")}))).apply(this,arguments)}function I(){return O.apply(this,arguments)}function O(){return(O=(0,i.default)((function*(e,t,n,r,i,o,u,c,d,p,_,m,h){var E;const S=(0,a.getConfig)().syncdShouldNotFatalOnSnapshotMacMismatchInPatches()&&!u,v=null!==(E=yield(0,l.getIsCollectionInMacMismatchFatalInTransaction)(e))&&void 0!==E&&E;if(S&&v)return void __LOG__(2)`syncd: collection ${e} is already in snapshot mac mismatch so not checking again`;const T=yield(0,f.generateSnapshotMac)(n,r,i,o);if(!(0,s.arrayBuffersEqual)(T,t)){__LOG__(3,void 0,void 0,!0)`syncd: unable to validate snapshot mac.`,SEND_LOGS("syncd: unable to validate snapshot mac.",.01),u||(yield C(e,d)),yield(0,a.getDbImpls)().writeSyncdLog(e,"failed validate snapshot mac");const{isLtHashConsistent:t,scratchLtHash:n}=yield k(e),f=u?y.SyncdFatalErrorType.SNAPSHOT_MAC_MISMATCH_IN_SNAPSHOT:y.SyncdFatalErrorType.SNAPSHOT_MAC_MISMATCH_IN_PATCH,E=(null==p?void 0:p.collectionName)&&!(0,s.arrayBuffersEqual)(o,null==p?void 0:p.collectionName),v=(null==p?void 0:p.newLthash)&&!(0,s.arrayBuffersEqual)(r,null==p?void 0:p.newLthash),T=(null==p?void 0:p.patchVersion)&&!(0,s.arrayBuffersEqual)(i,null==p?void 0:p.patchVersion),M=(null==p?void 0:p.currentLthash)&&_&&!(0,s.arrayBuffersEqual)(_,null==p?void 0:p.currentLthash),b=(null==p?void 0:p.newLthashSubtract)&&(null==m?void 0:m.subtractResult)&&!(0,s.arrayBuffersEqual)(null==m?void 0:m.subtractResult,null==p?void 0:p.newLthashSubtract),A=null==m?void 0:m.hasOverride,P=null==m?void 0:m.numAdd,I=null==m?void 0:m.numRemove,O=(null==p?void 0:p.currentLthash)&&n&&!(0,s.arrayBuffersEqual)(n,null==p?void 0:p.currentLthash),R=null!=(null==p?void 0:p.numberAdd)&&null!=(null==m?void 0:m.numAdd)&&(null==m?void 0:m.numAdd)!==(null==p?void 0:p.numberAdd),N=null!=(null==p?void 0:p.numberRemove)&&null!=(null==m?void 0:m.numRemove)&&(null==m?void 0:m.numRemove)!==(null==p?void 0:p.numberRemove),D=null==m?void 0:m.didUseFallback,w=null==m?void 0:m.hasMissingRemove,L=yield(0,l.getCollectionVersionInTransaction)(e),G=null==L?void 0:L.didLastPatchFailPostValidation,U=(null==p?void 0:p.currentLthash)&&(null==L?void 0:L.lastPatchNewLtHashFromPatchDebugData)&&!(0,s.arrayBuffersEqual)(null==L?void 0:L.lastPatchNewLtHashFromPatchDebugData,null==p?void 0:p.currentLthash),x=null==L?void 0:L.isLastPatchAnIncomingPatch,B=null==L?void 0:L.isLastPatchSenderAPrimaryDevice,F=null==L?void 0:L.didBootstrapFromSnapshot,j=null!=(null==L?void 0:L.lastPatchSenderDeviceId)&&null!=h&&h===(null==L?void 0:L.lastPatchSenderDeviceId),K=yield(0,a.getConfig)().getAreThereMoreCompanions();if((0,y.reportSyncdFatalError)(f,e,c,d,!S,t,E,M,v,T,b,A,P,I,O,0===h,D,w,R,N,G,U,x,B,j,F,K),S)return yield(0,l.updateIsCollectionInMacMismatchFatalInTransaction)(e),void __LOG__(2)`syncd: skip fatal after snapshot mac mismatch for collection ${e}`;throw new g.SyncdFatalError("unable to validate snapshot mac")}}))).apply(this,arguments)}function R(){return N.apply(this,arguments)}function N(){return(N=(0,i.default)((function*(e,t,n,r,i,o,l,u,c){const d=yield(0,f.generatePatchMac)(n,r,i,o,l);if(!(0,s.arrayBuffersEqual)(d,t))throw yield C(e,c),yield(0,a.getDbImpls)().writeSyncdLog(e,"failed validate patch mac"),(0,y.reportSyncdFatalError)(y.SyncdFatalErrorType.MAC_MISMATCH_PATCH,e,u,c),__LOG__(3,void 0,void 0,!0)`syncd: unable to validate patch mac.`,SEND_LOGS("syncd: unable to validate patch mac."),new g.SyncdFatalError("unable to validate patch mac")}))).apply(this,arguments)}function D(){return(D=(0,i.default)((function*(e,t,n,r){const i=(yield(0,l.getCollectionVersionInTransaction)(e).then((e=>{var t;return null!==(t=null==e?void 0:e.version)&&void 0!==t?t:p.DEFAULT_COLLECTION_VERSION})))+1,{patchMacKey:a,snapshotMacKey:o}=yield(0,f.generateEncryptionKeys)(r),s=(0,_.to64BitNetworkOrder)(i),u=(0,_.toUtf8)(e).buffer,c=yield(0,f.generateSnapshotMac)(o,t,s,u),dLine truncated
|
|
|
|
|
encoded version: ${(0,_.arrayBufferToHexPadded)(s)}
|
|
|
|
|
encoded collection: ${(0,_.arrayBufferToHexPadded)(u)}
|
|
|
|
|
snapshotMAC: ${(0,_.arrayBufferToHexPadded)(c)}
|
|
|
|
|
patchMAC: ${(0,_.arrayBufferToHexPadded)(d)}`,{snapshotMac:c,patchMac:d}}))).apply(this,arguments)}function w(){return L.apply(this,arguments)}function L(){return(L=(0,i.default)((function*(e,t,n,r,s,u){const p=null!=u?u:yield(0,l.getCollectionVersionLtHashInTransaction)(e),f=yield x(t.map((e=>e.indexMac))),g=new Map,m=new Map,h=new Map;let y=!1,S=!1;yield(0,c.promiseEach)(t,function(){var t=(0,i.default)((function*(t){const{indexMac:i,valueMac:o,operation:l}=t,u=M.decode(i),c=f.get(u);if(c)l===d.SyncdMutation$SyncdOperation.REMOVE?m.set((0,_.arrayBufferToHexPadded)(i),c):h.set((0,_.arrayBufferToHexPadded)(i),c);else if(l===d.SyncdMutation$SyncdOperation.REMOVE){const t=yield function(e){if(null==n)return Promise.resolve(null);return n(e)}(i);var p,v;if(null!=t)m.set((0,_.arrayBufferToHexPadded)(i),t),S=!0,__LOG__(3,void 0,void 0,!0,["non-sad"])`syncd: had to use fallbackQueryForValueMac in collection ${e} for platform ${null!==(p=(0,a.getConfig)().primaryPlatform())&&void 0!==p?p:"[empty]"}: ${(0,_.arrayBufferToHexPadded)(i).slice(-16)}
|
|
|
|
|
}`,SEND_LOGS("syncd: fallback query",1,"non-sad");else y=!0,(0,E.reportSyncdCriticalEvent)(E.SyncdCriticalEventType.MISSING_MUTATION_TO_REMOVE,e),__LOG__(4,void 0,new Error,!0)`syncd: missing indexMAC in sync-actions table for REMOVE mutation in collection ${e} version ${r} direction ${s} for platform ${null!==(v=(0,a.getConfig)().primaryPlatform())&&void 0!==v?v:"[empty]"}:
|
|
|
|
|
${(0,_.arrayBufferToHexPadded)(i).slice(-16)}`,SEND_LOGS("syncd: missing indexMAC from REMOVE",.01)}l===d.SyncdMutation$SyncdOperation.SET&&g.set((0,_.arrayBufferToHexPadded)(i),o)}));return function(){return t.apply(this,arguments)}}());const{ltHash:v,subtractResult:b}=yield o.LT_HASH_ANTI_TAMPERING.subtractThenAdd(p,Array.from(g.values()),Array.from(m.values()).concat(Array.from(h.values())));return __LOG__(2)`syncd: computing ltHash for ${e}:
|
|
|
|
|
currentLtHash: ${(0,_.arrayBufferToHexPadded)(p)}
|
|
|
|
|
macsToAdd:
|
|
|
|
|
${Array.from(g.entries()).map((e=>{let[t,n]=e;return T(t,n)})).join("\n\t")}
|
|
|
|
|
macsToRemove:
|
|
|
|
|
${Array.from(m.entries()).map((e=>{let[t,n]=e;return T(t,n)})).join("\n\t")}
|
|
|
|
|
macsToOverwrite (also remove):
|
|
|
|
|
${Array.from(h.entries()).map((e=>{let[t,n]=e;return T(t,n)})).join("\n\t")}
|
|
|
|
|
newLtHash: ${(0,_.arrayBufferToHexPadded)(v)}`,{ltHash:v,numAdd:g.size,numRemove:m.size,hasOverride:h.size>0,subtractResult:b,hasMissingRemove:y,didUseFallback:S}}))).apply(this,arguments)}function k(){return G.apply(this,arguments)}function G(){return(G=(0,i.default)((function*(e,t){const n=yield(0,a.runInTransaction)({SyncActionStore:!0,CollectionVersionStore:!0},function(){var t=(0,i.default)((function*(t){let{SyncActionStore:n,CollectionVersionStore:r}=t;const a=null==e?yield r.getAll():[yield r.get(e)];return Promise.all(a.filter(Boolean).map(function(){var e=(0,i.default)((function*(e){let{collection:t,ltHash:r}=e;return{collection:t,ltHash:r,mutations:yield n.getByCollections([t])}}));return function(){return e.apply(this,arguments)}}()))}));return function(){return t.apply(this,arguments)}}());let r=0;if(n.map((e=>{let{collection:t,ltHash:n,mutations:i}=e;r+=i.length})),void 0!==t&&r>t)return{isLtHashConsistent:void 0,scratchLtHash:void 0,cachedLtHash:void 0};let o=null,l=null,u=!0;return yield Promise.all(n.map(function(){var e=(0,i.default)((function*(e){let{collection:t,ltHash:n,mutations:r}=e;const i=yield U(r);null==o&&(o=i),null==l&&(l=n),(0,s.arrayBuffersEqual)(n,i)||(u=!1,__LOG__(4,!0,new Error,!0)`syncd: failed LtHash check for ${t}`,SEND_LOGS("LtHash check failed",.01))}));return function(){return e.apply(this,arguments)}}())),{isLtHashConsistent:u,scratchLtHash:o,cachedLtHash:l}}))).apply(this,arguments)}function U(e){const t=new Map(e.map((e=>[(0,_.arrayBufferToHexPadded)(e.indexMac),e.valueMac])));return o.LT_HASH_ANTI_TAMPERING.add(o.EMPTY_LT_HASH,Array.from(t.values()))}function x(){return B.apply(this,arguments)}function B(){return(B=(0,i.default)((function*(e){const t=yield(0,u.getSyncActionsByIndexMacsInTransaction)(e);return new Map(t.map((e=>[M.decode(e.indexMac),e.valueMac])))}))).apply(this,arguments)}function F(){return j.apply(this,arguments)}function j(){return(j=(0,i.default)((function*(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const n=t?20:1;__LOG__(2)`syncd: logMacs: ${e}: prepare`;const[r,i]=yield(0,a.runInTransaction)({SyncActionStore:!0,CollectionVersionStore:!0},(t=>{let{SyncActionStore:n,CollectionVersionStore:r}=t;return Promise.all([r.get(e).then((e=>null==e?void 0:e.version)),n.getByCollections([e])])}));if(__LOG__(2)`syncd: current snapshot ${e} v${r} with ${i.length} mutations:`,t&&i.length>100)return i;const o=i.reduce(((e,r,i)=>(i%n==0&&e.push(""),e[e.length-1]+=T(r.indexMac,r.valueMac,t)+" | ",e)),[]);return o.forEach((e=>__LOG__(2)`|${e}`)),i}))).apply(this,arguments)}function K(){return(K=(0,i.default)((function*(e,t){const{isLtHashConsistent:n,scratchLtHash:r,cachedLtHash:i}=yield k(e,300),o=null==r?"":(0,_.arrayBufferToHexPadded)(r).slice(-16),s=null==i?"":(0,_.arrayBufferToHexPadded)(i).slice(-16);if(!0===(yield(0,l.getIsCollectionLthashInconsistentInTransaction)(e)))return yield(0,a.getDbImpls)().writeSyncdLog(e,`lthash already inconsistent. scratchLtHash: ${o}, cachedLtHash: ${s}, context: ${t}`),!0;if(!1===n){yield(0,a.getDbImpls)().writeSyncdLog(e,`lthash first time inconsistent. scratchLtHash: ${o}, cachedLtHash: ${s}, context: ${t}`);const{isLtHashConsistent:n,scratchLtHash:r,cachedLtHash:i}=yield k(e,300),u=null==r?"":(0,_.arrayBufferToHexPadded)(r).slice(-16),c=null==i?"":(0,_.arrayBufferToHexPadded)(i).slice(-16),d=null==n?"[undefined]":(!n).toString();return yield(0,a.getDbImpls)().writeSyncdLog(e,`lthash inconsistency second run. is inconsistent? ${d} scratchLtHash: ${u}, cachedLtHash: ${c}, context: ${t}`),yield(0,a.getDbImpls)().printSyncdLog(),yield(0,l.updateIsCollectionLthashInconsistentInTransaction)(e),__LOG__(4,!0,new Error,!0)`syncd: lthash inconsistent for ${e}`,SEND_LOGS("syncd: lthash inconsistent",.01),!0}if(!0===n)return yield(0,a.getDbImpls)().writeSyncdLog(e,`lthash consistent. scratchLtHash: ${o}, cachedLtHash: ${s}, context: ${t}`),!1;yield(0,a.getDbImpls)().writeSyncdLog(e,`lthash unknown if consistent. scratchLtHash: ${o}, cachedLtHash: ${s}, context: ${t}`)}))).apply(this,arguments)}},122393:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SyncModelType=t.SyncDataType=t.SyncActionState=t.MIN_PATCH_SIZE=t.MIN_INLINE_MUTATIONS=t.MAX_PATCH_SIZE=t.MAX_INLINE_MUTATIONS=t.LABEL_ASSOCIATION_SYNC_VERSION=t.FINITE_FAILURE_EXPIRY_DURATION=t.DEFAULT_COLLECTION_VERSION=t.ConflictResolutionState=t.CollectionSyncState=t.CollectionState=t.CollectionName=t.CHAT_ASSIGNMENT_SYNC_VERSION=t.BACKOFF_MIN_TIMEOUT=t.BACKOFF_MAX_TIMEOUT=t.BACKOFF_BASE=t.Actions=void 0;var r=n(632157);t.BACKOFF_MIN_TIMEOUT=1e3;t.BACKOFF_MAX_TIMEOUT=36e5;t.BACKOFF_BASE=2;const i=2*r.DAY_MILLISECONDS;t.FINITE_FAILURE_EXPIRY_DURATION=i;t.MIN_INLINE_MUTATIONS=100;t.MAX_INLINE_MUTATIONS=2e3;t.MIN_PATCH_SIZE=10;t.MAX_PATCH_SIZE=100;t.DEFAULT_COLLECTION_VERSION=0;t.LABEL_ASSOCIATION_SYNC_VERSION=3;t.CHAT_ASSIGNMENT_SYNC_VERSION=7;const a=n(654302)({Star:"star",Contact:"contact",Mute:"mute",PinDEPRECATED:"pin",Pin:"pin_v1Line truncated
|
|
|
|
|
minPatch: ${e}`,yield x(r,g[0]),yield(0,o.getDbImpls)().printSyncdLog(),yield F(),__LOG__(4,void 0,new Error,!0)`syncd: has missing patches`,SEND_LOGS("syncd: has missing patches"),(0,o.getConfig)().syncdShouldFatalOnMissingPatch())throw(0,A.reportSyncdFatalError)(A.SyncdFatalErrorType.SERVER_DID_NOT_SEND_ALL_PATCHES,r,void 0,null!=t?t:0),new v.SyncdFatalError("syncd: has missing patches")}yield X(r,g,n),__LOG__(2)`syncd: ${r} patches applied successfully`}else null!=i?(yield(0,o.getDbImpls)().writeSyncdLog(r,`start upload patches. version: ${i}. mutation count: ${d.length}`),yield K(r,i,l,d),yield(0,o.getDbImpls)().writeSyncdLog(r,"end upload patches"),__LOG__(2)`syncd: ${r} v${i} uploaded successfully`):((0,y.isBootstrap)(t)&&(yield(0,u.updateCollectionVersionAndLtHashInTransaction)(r,0,k)),__LOG__(2)`syncd: sync ${r} but there are no updates`);const E=Math.floor(performance.now()-h);return __LOG__(2)`syncd: applyAppStateSyncResponse: finished applying ${r} in ${E}ms`,(g||_)&&(0,y.isBootstrap)(t)&&!(0,y.isCriticalCollection)(r)&&(0,C.reportSyncdBootstrapDataApplied)(r,null!=_?C.SyncdBootstrapDataAppliedSnapshotUsed.SNAPSHOT_USED:C.SyncdBootstrapDataAppliedSnapshotUsed.SNAPSHOT_NOT_USED,E),yield(0,m.logMacsInSnapshot)(e.name),e}catch(e){const t=e.message;return yield(0,o.getDbImpls)().writeSyncdLog(r,`error (maybe retryable): ${e}`),e instanceof v.SyncdMissingKeyError?(__LOG__(3)`syncd: key error: ${r} missing keys`,{name:r,state:E.CollectionState.Blocked}):e instanceof v.SyncdFatalError?(__LOG__(4,void 0,new Error,!0)`syncd: fatal error: ${r} throws ${t}`,SEND_LOGS(`syncd: fatal error: ${String(r)} throws ${t}`),{name:r,state:E.CollectionState.ErrorFatal}):(__LOG__(3,void 0,void 0,!0)`syncd: retryable error: ${r} throws ${t}`,SEND_LOGS(`syncd: retryable error: ${String(r)} throws ${t}`),{name:r,state:E.CollectionState.ErrorRetry})}}))).apply(this,arguments)}function x(){return B.apply(this,arguments)}function B(){return(B=(0,a.default)((function*(e,t){try{const n=(yield(0,S.tryDecryptPatch)(e,t)).filter((e=>e.operation===_.SyncdMutation$SyncdOperation.SET)),r=(0,O.validateAndTypeSetMutations)(e,n),i=r.length>0?r[0].timestamp:null,a=null==i?null:(0,D.daysDiff)((0,D.unixTimeMs)(),i);yield(0,o.getDbImpls)().writeSyncdLog(e,`max timestamp in first patch: ${null!=a?a:"n/a"} days ago`)}catch(e){__LOG__(3)`syncd: could not log max timestamp: ${e}`}}))).apply(this,arguments)}function F(){return j.apply(this,arguments)}function j(){return(j=(0,a.default)((function*(){__LOG__(2)`syncd: missing patch info:`;(yield(0,u.getAllCollectionVersionsInTransaction)()).forEach((e=>{var t;const n=(null!==(t=e.lastSyncAttemptStartTimes)&&void 0!==t?t:[]).map((e=>(0,D.daysDiff)((0,D.unixTimeMs)(),e))),r=e.lastSuccessfulSyncEndTime,i=null==r?null:(0,D.daysDiff)((0,D.unixTimeMs)(),r);__LOG__(2)`${e.collection}:
|
|
|
|
|
lastSuccessfulSyncEndTime = ${e.lastSuccessfulSyncEndTime} (${i} days ago))
|
|
|
|
|
lastSyncAttemptStartTimes = ${e.lastSyncAttemptStartTimes}
|
|
|
|
|
lastSyncAttemptStartTimes by days ago: ${n}`}))}))).apply(this,arguments)}function K(){return Y.apply(this,arguments)}function Y(){return(Y=(0,a.default)((function*(e,t,n,r){var i;yield(0,m.logMacsInSnapshot)(e);const s=r.map((e=>({indexMac:e.indexMac,valueMac:e.valueMac,operation:e.operation}))),{ltHash:l}=yield(0,m.computeLtHash)(e,s,null,t,m.SyncdPatchDirection.Outgoing),c=(0,h.encryptedUploadMutationsToSyncActions)(r.filter((e=>e.operation===_.SyncdMutation$SyncdOperation.SET)),E.SyncActionState.Success),d=null!==(i=yield(0,u.getCollectionVersionInTransaction)(e).then((e=>null==e?void 0:e.version)))&&void 0!==i?i:0;t!==d+1&&(__LOG__(4,void 0,new Error,!0)`syncd: _uploadSuccessful: unexpected server version (${t}) after patch upload, expected ${d+1}`,SEND_LOGS("syncd: unexpected server version after patch upload")),__LOG__(2)`syncd: _uploadSuccessful: write to db for ${e}`;const p=(0,o.getConfig)().syncdShouldParsePatchDebugData();if(p&&(yield(0,m.reportCollectionInconsistency)(e,`pre-processing outgoing patch ${t}`)),yield(0,o.runInTransaction)({SyncActionStore:!0,PendingMutationStore:!0,CollectionVersionStore:!0},function(){var r=(0,a.default)((function*(r){let{SyncActionStore:i,PendingMutationStore:a,CollectionVersionStore:o}=r;yield i.bulkSet(c),yield a.bulkRemove(n),yield o.update(e,{version:t,ltHash:l,isLastPatchAnIncomingPatch:!1,lastPatchNewLtHashFromPatchDebugData:void 0,isLastPatchSenderAPrimaryDevice:void 0,didLastPatchFailPostValidation:void 0,lastPatchSenderDeviceId:void 0})}));return function(){return r.apply(this,arguments)}}()),__LOG__(2)`syncd: end _uploadSuccessful for ${e}`,p){const n=yield(0,m.reportCollectionInconsistency)(e,`post-processing outgoing patch ${t}`);yield ne(e,n)}}))).apply(this,arguments)}function W(){return V.apply(this,arguments)}function V(){return(V=(0,a.default)((function*(e,t,n,r){let i=Promise.resolve(),o=0;const s=(0,D.unixTimeMs)();if(null!=n){var l;const t=R.default.validateExternalBlobReference(e,n);o+=(0,p.numberOrThrowIfTooLarge)(null!==(l=t.fileSizeBytes)&&void 0!==l?l:0),__LOG__(2)`syncd: download snapshot for ${e}`,i=(0,P.downloadSnapshot)(e,t)}let u,c,d=Promise.resolve();if(null!=t&&t.length>0){const n=t.map((t=>R.default.validatePatchProtobuf(e,t)));d=Promise.all(n.map(function(){var t=(0,a.default)((function*(t){let n=t.mutations||[];const r=t.externalMutations;var i;r&&(__LOG__(2)`syncd: download patch for ${e}`,n=yield(0,P.downloadExternalPatch)(e,r),__LOG__(2)`syncd: ${e}'s external patch downloaded`,o+=(0,p.numberOrThrowIfTooLarge)(null!==(i=r.fileSizeBytes)&&void 0!==i?i:0));return{mutations:n,version:t.version,snapshotMac:t.snapshotMac,patchMac:t.patchMac,keyId:t.keyId,exitCode:t.exitCode,deviceIndex:t.deviceIndex,clientDebugData:t.clientDebugData}}));return function(){return t.apply(this,arguments)}}()))}try{[u,c]=yield Promise.all([i,d]),(0,y.isBootstrap)(r)&&(0,C.reportSyncdBootstrapAppStateDownloadMetric)({collection:e,downloadStartTs:s,downloadSize:o,isSuccess:"success"})}catch(t){throw(0,y.isBootstrap)(r)&&(0,C.reportSyncdBootstrapAppStateDownloadMetric)({collection:e,downloadStartTs:s,downloadSize:o,isSuccess:"failure"}),t}return[u,c]}))).apply(this,arguments)}function H(e){return{measuredComputeLtHashAndValidateSnapshot:function(){var t=(0,a.default)((function*(t,n){null==e||e.mark("anti_tampering_start",{source:E.SyncDataType.Snapshot});const r=yield(0,m.computeLtHashAndValidateSnapshot)(t,n);return null==e||e.mark("anti_tampering_end",{source:E.SyncDataType.Snapshot}),r}));return function(){return t.apply(this,arguments)}}(),measuredTryDecryptSnapshot:function(){var t=(0,a.default)((function*(t,n){null==e||e.mark("decryption_start",{source:E.SyncDataType.Snapshot});const r=yield(0,S.tryDecryptSnapshot)(t,n);return null==e||e.mark("decryption_end",{source:E.SyncDataType.Snapshot}),r}));return function(){return t.apply(this,arguments)}}()}}function $(e){return{measuredComputeLtHashAndValidatePatch:function(){var t=(0,a.default)((function*(t,n,r){null==e||e.mark("anti_tampering_start",{source:E.SyncDataType.Patch});const i=yield(0,m.computeLtHashAndValidatePatch)(t,n,r);return null==e||e.mark("anti_tampering_end",{source:E.SyncDataType.Patch}),i}));return function(){return t.apply(this,arguments)}}(),measuredTryDecryptPatch:function(){var t=(0,a.default)((function*(t,n){null==e||e.mark("decryption_start",{source:E.SyncDataType.Patch});const r=yield(0,S.tryDecryptPatch)(t,n);return null==e||e.mark("decryption_end",{source:E.SyncDataType.Patch}),r}));return function(){return t.apply(this,arguments)}}()}}function z(){return q.apply(this,arguments)}function q(){return(q=(0,a.default)((function*(e,t,n,r){yield(0,o.getDbImpls)().writeSyncdLog(e,`start _applySnapshotAndPatches. mutation count: ${t.records.length}, version: ${t.version.version}`),yield(0,m.logMacsInSnapshot)(e);try{const{measuredComputeLtHashAndValidateSnapshot:n,measuredTryDecryptSnapshot:i}=H(r);null==r||r.mark("apply_start",{source:E.SyncDataType.Snapshot,snapshotRecordsCounLine truncated
|
|
|
|
|
SET count: ${u}
|
|
|
|
|
REMOVE count: ${c}`,0===u&&0===c&&(__LOG__(3,void 0,void 0,!0)`syncd: ${e}: empty patch found`,SEND_LOGS(`syncd: ${e}: empty patch found`));const{measuredComputeLtHashAndValidatePatch:p,measuredTryDecryptPatch:f}=$(n),g=yield p(e,t,I);__LOG__(2)`syncd: completed computeLtHashAndValidatePatch for ${e} v${t.version.version}`;const h=yield f(e,t);(0,b.reportSyncdDecryptedMutations)(b.SyncdDecryptMutationsType.PATCH_MUTATIONS,h),r&&(yield(0,o.getDbImpls)().writeSyncdLog(e,`after decrypt patch ${t.version.version}`)),N.addMutationCount(h.length),(0,O.validateNoSameIndexForMultipleMutations)(e,h,E.SyncDataType.Patch);const y=ue(h),S=y.filter((e=>e.operation===_.SyncdMutation$SyncdOperation.REMOVE));yield oe(e,S),__LOG__(2)`syncd: completed _applyRemoveMutations for ${e} v${t.version.version}`;const T=y.filter((e=>e.operation===_.SyncdMutation$SyncdOperation.SET)),{setMutationsToPersist:M,pendingMutationsToDrop:C}=yield ie(e,T,E.SyncDataType.Patch,n,r);__LOG__(2)`syncd: processed ${h.length} mutations in patch version ${t.version.version} of collection ${e}`,null==n||n.mark("update_DB_start",{source:E.SyncDataType.Patch,setMutationsToPersistCount:M.length,pendingMutationsToDropCount:C.length});const P=t.version.version;if(yield(0,o.runInTransaction)({SyncActionStore:!0,PendingMutationStore:!0,CollectionVersionStore:!0},function(){var n=(0,a.default)((function*(n){var r;let{SyncActionStore:i,PendingMutationStore:a,CollectionVersionStore:o}=n;yield i.bulkRemove(S.map((e=>e.index))),yield i.bulkSet(M),yield a.bulkRemove(C),yield o.update(e,{version:P,ltHash:g,lastPatchNewLtHashFromPatchDebugData:null===(r=t.clientDebugData)||void 0===r?void 0:r.newLthash,isLastPatchAnIncomingPatch:!0,isLastPatchSenderAPrimaryDevice:0===t.deviceIndex,didLastPatchFailPostValidation:void 0,lastPatchSenderDeviceId:t.deviceIndex})}));return function(){return n.apply(this,arguments)}}()),i){const n=yield(0,m.reportCollectionInconsistency)(e,`post-processing incoming patch ${t.version.version}. has remove: ${(c>0).toString()}`);yield ne(e,n)}function I(){return R.apply(this,arguments)}function R(){return(R=(0,a.default)((function*(t){var n;return null===(n=(yield(0,d.getSyncActionsByCollectionsInTransaction)([e])).filter((e=>(0,s.arrayBuffersEqual)(t,e.indexMac))).pop())||void 0===n?void 0:n.valueMac}))).apply(this,arguments)}null==n||n.mark("update_DB_end",{source:E.SyncDataType.Patch}),__LOG__(2)`syncd: completed final transaction in _applyPatch for ${e} v${t.version.version}`,r&&(yield(0,o.getDbImpls)().writeSyncdLog(e,`after final transaction for patch ${t.version.version}`))}))).apply(this,arguments)}function ne(){return re.apply(this,arguments)}function re(){return(re=(0,a.default)((function*(e,t){yield(0,o.runInTransaction)({CollectionVersionStore:!0},function(){var n=(0,a.default)((function*(n){let{CollectionVersionStore:r}=n;yield r.update(e,{didLastPatchFailPostValidation:t})}));return function(){return n.apply(this,arguments)}}())}))).apply(this,arguments)}function ie(){return ae.apply(this,arguments)}function ae(){return(ae=(0,a.default)((function*(e,t,n,r){let a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];(0,b.reportSyncdCriticalBootstrapStage)(b.SyncdCriticalBootstrapStageType.ABOUT_TO_APPLY_MUTATIONS);const s=n===E.SyncDataType.Local?" (individual mutations)":"",l=[],u=(0,O.validateAndTypeSetMutations)(e,t),{supportedMutations:c,unsupportedMutations:d}=ce(e,u);d.forEach((e=>l.push((0,h.setMutationToSyncAction)(e,E.SyncActionState.Unsupported)))),null==r||r.mark("conflict_resolution_start",{source:n,collectionName:e,count:c.length});const{remoteMutationsToApply:p,pendingMutationsToDrop:_}=yield(0,I.resolveConflict)(e,c),m=c.filter((e=>!p.includes(e)));null==r||r.mark("conflict_resolution_end",{source:n,collectionName:e,apply:p.length,drop:m.length}),m.forEach((e=>l.push((0,h.setMutationToSyncAction)(e,E.SyncActionState.Skipped,e.actionName)))),null==r||r.mark("apply_set_mutations_start",{source:n,collectionName:e,count:p.length});const y=de(p);let S=null;for(let t=0;t<y.length;t++){const n=a&&t<=1,r=y[t][0].actionHandler,i=y[t].map((e=>{let t;return t=e.binarySyncData?(0,f.default)((0,w.decodeProtobuf)(g.SyncActionDataSpec,e.binarySyncData).value,"decodeProtobuf(SyncActionDataSpec, m.binarySyncData).value"):(0,w.decodeProtobuf)(g.SyncActionValueSpec,e.binarySyncAction),(null==S||S<e.timestamp)&&(S=e.timestamp),{operation:"set",indexParts:e.indexArr,value:t,timestamp:e.timestamp}}));n&&(yield(0,o.getDbImpls)().writeSyncdLog(e,`after deserialize. mutationsToApply length: ${i.length}`));let u=[],c=!1;try{__LOG__(2)`syncd: before apply mutation batch for ${e}. mutations count: ${i.length} ${s}`,u=yield r.applyMutations(i,{setMutationsPendingToPersist:l,allSupportedSetMutations:p},n),n&&(yield(0,o.getDbImpls)().writeSyncdLog(e,`after apply. result length: ${u.length}`))}catch(t){if(t instanceof v.SyncdFatalError||e===E.CollectionName.CriticalBlock)throw t;c=!0,__LOG__(3)`synd: catching error during _applySetMutations:Line truncated
|
|
|
|
|
\tkeys with keyData: ${n}
|
|
|
|
|
\tkeys without keyData: ${r}`,(0,o.runInTransaction)({MissingKeyStore:!0},function(){var e=(0,i.default)((function*(e){let{MissingKeyStore:i}=e;if(n.length>0&&(yield i.bulkRemove(n),yield g({MissingKeyStore:i})),r.length>0){const e=(yield i.bulkGet(r)).filter(Boolean);e.forEach((e=>e.deviceResponses.set(t,!1))),__LOG__(2)`syncd: updateMissingKeys: begin updating missing keys from device ${t}
|
|
|
|
|
\tmissingKeys: [${r}]`,yield i.bulkUpdate(e),__LOG__(2)`syncd: updateMissingKeys: finish updating missing keys from device ${t}`,yield v({MissingKeyStore:i})}}));return function(){return e.apply(this,arguments)}}())};var i=r(n(311504)),a=n(138291),o=n(819416),s=n(822144),l=n(522815),u=n(405057),c=n(787685),d=n(632157);let p;function f(){return(f=(0,i.default)((function*(){const e=(yield(0,o.getDbImpls)().getDeviceFingerprint()).deviceIndexes;return(0,o.runInTransaction)({MissingKeyStore:!0},function(){var t=(0,i.default)((function*(t){let{MissingKeyStore:n}=t;const r=yield n.getAll();if(0===r.length)return Promise.resolve();r.forEach((t=>{t.deviceResponses.forEach(((n,r)=>{e.includes(r)||t.deviceResponses.delete(r)}))})),yield n.bulkUpdate(r),yield v({MissingKeyStore:n})}));return function(){return t.apply(this,arguments)}}())}))).apply(this,arguments)}function _(){return(0,o.runInTransaction)({MissingKeyStore:!0},(e=>{let{MissingKeyStore:t}=e;return g({MissingKeyStore:t})}))}function g(){return m.apply(this,arguments)}function m(){return(m=(0,i.default)((function*(e){let{MissingKeyStore:t}=e;clearTimeout(p),p=null;const n=yield t.getAll();if(0===n.length)return;__LOG__(2)`syncd: _setMissingKeyTimeout: missing keys: ${n.map((e=>(0,u.syncKeyIdToHex)(e.keyId)))}`;const r=n.reduce(((e,t)=>e.timestamp<t.timestamp?e:t)),i=(0,o.getConfig)().syncdWaitForKeyTimeoutDays()*d.DAY_MILLISECONDS-(-r.timestamp+(0,d.unixTimeMs)());__LOG__(2)`syncd: earliest missing key: ${(0,u.syncKeyIdToHex)(r.keyId)}, timestamp=${r.timestamp}, timeoutMs=${i}`,p=setTimeout(h,i)}))).apply(this,arguments)}function h(){return y.apply(this,arguments)}function y(){return(y=(0,i.default)((function*(){__LOG__(2)`syncd: _timeoutWhileWaitingForMissingKey`,(yield E())?((0,c.reportSyncdFatalError)(c.SyncdFatalErrorType.TIMEOUT_WHILE_WAITING_FOR_MISSING_KEY),__LOG__(4,void 0,new Error,!0)`syncd: fatal error: timeout while waiting for missing key`,SEND_LOGS("syncd fatal error: timeout while waiting for missing key"),(0,o.getDbImpls)().handleSyncdFatal()):__LOG__(2)`syncd: _timeoutWhileWaitingForMissingKey: no expired keys`}))).apply(this,arguments)}function E(){return S.apply(this,arguments)}function S(){return(S=(0,i.default)((function*(){__LOG__(2)`syncd: check if has expired keys`;const e=(yield(0,l.getAllSyncKeysInTransaction)()).map((e=>(0,u.syncKeyIdToHex)(e.keyId)));__LOG__(2)`syncd: all keys: ${e}`;const t=yield(0,s.getAllMissingKeysInTransaction)();__LOG__(2)`syncd: missing keys: ${t.map((e=>(0,u.syncKeyIdToHex)(e.keyId)))}`;const n=t.filter((t=>!e.includes(t.keyHex)));__LOG__(2)`syncd: actually missing keys: ${t.map((e=>(0,u.syncKeyIdToHex)(e.keyId)))}`;const r=n.filter((e=>(0,o.getConfig)().syncdWaitForKeyTimeoutDays()*d.DAY_MILLISECONDS<(0,d.unixTimeMs)()-e.timestamp));return __LOG__(2)`syncd: expired keys: ${r.map((e=>(0,u.syncKeyIdToHex)(e.keyId)))}`,r.length>0}))).apply(this,arguments)}function v(){return T.apply(this,arguments)}function T(){return(T=(0,i.default)((function*(e){let{MissingKeyStore:t}=e;const n=yield t.getAll();for(const e of n){let t=!0;for(const n of e.deviceResponses.values())if(null==n){t=!1;break}if(t)return __LOG__(4,void 0,new Error,!0)`syncd: fatal error: missing key on all clients`,SEND_LOGS("syncd: fatal error: missing key on all clients"),(0,c.reportSyncdFatalError)(c.SyncdFatalErrorType.MISSING_KEY_ON_ALL_CLIENTS),yield(0,a.asyncSleep)(5e3),void(0,o.getDbImpls)().handleSyncdFatal()}}))).apply(this,arguments)}function M(){return(M=(0,i.default)((function*(e,t){const n=()=>{const e=new Map;return t.forEach((t=>e.set(t,null))),e},r=e.map((e=>({keyHex:(0,u.syncKeyIdToHex)(e),keyId:e,timestamp:(0,d.unixTimeMs)(),deviceResponses:n()})));yield(0,s.bulkUpdateMissingKeysInTransaction)(r),yield _()}))).apply(this,arguments)}},751691:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SyncdDecryptMutationsType=t.SyncdCriticalBootstrapStageType=void 0,t.convertSyncdCriticalBootstrapStageFromAnnotations=function(e){var t;const n=null==e||null===(t=e.string)||void 0===t?void 0:t.criticalBootstrapStage;if(null==n)return __LOG__(4,void 0,new Error)`syncd: missing bootstrap stage for critical bootstrap stage`,null;const r=s.cast(n);if(null==r)return __LOG__(4,void 0,new Error)`syncd: unknown bootstrap stage: ${n} for critical bootstrap stage`,null;return{type:r}},t.convertSyncdDecryptMutationsMetricsFromAnnotations=function(e){var t,n,r,i;const a=null==e||null===(t=e.string)||void 0===t?void 0:t.mutationType,o=null==e||null===(n=e.int)||void 0===n?void 0:n.count,s=null==e||null===(r=e.int)||void 0===r?void 0:r.totalAdditionalMessagesCount,u=null==e||null===(i=e.int_array)||void 0===i?void 0:i.messageRangeLengths;if(null==a)return __LOG__(4,void 0,new Error)`syncd: missing type for DecryptMutations`,null;if(null==o)return __LOG__(4,void 0,new Error)`syncd: missing count for DecryptMutations`,null;if(null==s)return __LOG__(4,void 0,new Error)`syncd: missing totalAdditionalMessagesCount for DecryptMutationLine truncated
|
|
|
|
|
is incomplete`,t.push(e);else{const{patchNode:t,encryptedMutations:r}=yield R(e,n);i=t,a=r}return{collection:e,version:r,patchNode:i,encryptedMutations:a}}));return function(){return e.apply(this,arguments)}}(),r=new Map,a=new Map,o=[];e.forEach(((e,t)=>o.push(n(t,e))));const l=(yield Promise.all(o)).map((e=>{const{collection:t,version:n,patchNode:i,encryptedMutations:o}=e;return o&&a.set(t,o),r.set(t,n),(0,M.wap)("collection",{name:(0,M.CUSTOM_STRING)(t),version:(0,M.INT)(null!=n?n:f.DEFAULT_COLLECTION_VERSION),return_snapshot:void 0===n?"true":"false"},i)}));return __LOG__(2)`syncd: end _buildCollectionNodes`,{collectionNodes:l,collectionWithEncryptedMutations:a,localCollectionVersions:r,collectionsToSkip:t}}))).apply(this,arguments)}function R(){return N.apply(this,arguments)}function N(){return(N=(0,i.default)((function*(e,t){const n=yield(0,m.getActiveKey)(!D(t)),r=(yield B(e,t,n)).map((e=>(0,g.encryptMutation)(e,n))),a=yield Promise.all(r),s=a.map((e=>({indexMac:e.indexMac,valueMac:e.valueMac,operation:e.operation}))),{ltHash:l}=yield(0,p.computeLtHash)(e,s),{snapshotMac:u,patchMac:c}=yield(0,p.computeOutgoingSnapshotAndPatchMacs)(e,l,a,n.keyData),d=a.map((e=>x(e.keyId,e.operation,e.indexMac,e.indexAndValueCipherText))),f=U(d),_=function(){var e=(0,i.default)((function*(){const e=yield(0,o.getDbImpls)().uploadSyncExternalPatch(f);return k(yield w(e,f),n.keyId,u,c)}));return function(){return e.apply(this,arguments)}}();let h;(0,E.exceedInlineMutationCount)(d)?h=yield _():(h=G(d,n.keyId,u,c),(0,E.exceedPatchProtobufSize)(h)&&(h=yield _()));return{patchNode:(0,M.wap)("patch",null,h),encryptedMutations:a}}))).apply(this,arguments)}function D(e){return(0,o.getConfig)().logoutInProgress()&&e.some((e=>JSON.parse(e.index)[0]===f.Actions.Sentinel))}function w(){return L.apply(this,arguments)}function L(){return(L=(0,i.default)((function*(e,t){const{mediaKey:n,directPath:r,encFilehash:i,handle:o}=e,s=yield(0,c.calculateFilehash)(t);return{mediaKey:n,directPath:r,handle:o,fileSizeBytes:t.byteLength,fileSha256:(0,a.decodeB64)(s),fileEncSha256:i}}))).apply(this,arguments)}function k(e,t,n,r){const i=(0,o.getConfig)().syncdPatchDeviceIndexIncluded()?(0,u.extractDeviceId)((0,o.getMyDeviceJid)()):void 0;return(0,v.encodeSyncdPatch)({keyId:{id:(0,y.fromSyncKeyId)(t)},externalMutations:e,snapshotMac:n,patchMac:r,deviceIndex:i})}function G(e,t,n,r){const i=(0,o.getConfig)().syncdPatchDeviceIndexIncluded()?(0,u.extractDeviceId)((0,o.getMyDeviceJid)()):void 0;return(0,v.encodeSyncdPatch)({keyId:{id:(0,y.fromSyncKeyId)(t)},mutations:e,snapshotMac:n,patchMac:r,deviceIndex:i})}function U(e){return(0,v.encodeSyncdMutations)({mutations:e})}function x(e,t,n,r){return{operation:t,record:{keyId:{id:(0,y.fromSyncKeyId)(e)},index:{blob:n},value:{blob:r}}}}function B(){return F.apply(this,arguments)}function F(){return(F=(0,i.default)((function*(e,t,n){const r=yield(0,l.getSyncActionsByCollectionsInTransaction)([e]);let i=t;const a=j(r,t,n.keyId);i=i.concat(a);const o=K(r,i,n.keyId);return T.addKeyRotationRemoveCount(o.length),i=i.concat(o),i}))).apply(this,arguments)}function j(e,t,n){let r=e.filter((e=>!t.map((e=>e.index)).includes(e.index)&&!(0,_.syncKeyIdsEqual)(e.keyId,n)));r=(0,b.default)(r,(e=>(0,h.getKeyEpoch)(e.keyId)));const i=Math.min(5,(0,o.getConfig)().syncdAdditionalMutations());return r=r.slice(0,i),(0,S.syncActionsToPendingMutations)(r,d.SyncdMutation$SyncdOperation.SET)}function K(e,t,n){const r=t.map((e=>e.index)),i=e.filter((e=>r.includes(e.index))).filter((e=>!(0,_.syncKeyIdsEqual)(e.keyId,n)));return(0,S.syncActionsToPendingMutations)(i,d.SyncdMutation$SyncdOperation.REMOVE)}},212309:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.syncActionsToPendingMutations=function(e,t){return e.map((e=>{const n=(0,i.decodeProtobuf)(r.SyncActionDataSpec,e.binarySyncData).value,o=(0,a.encodeProtobuf)(r.SyncActionValueSpec,n).readBuffer();return{collection:e.collection,index:e.index,binarySyncAction:o,operation:t,version:e.version,timestamp:e.timestamp,action:e.action}}))};var r=n(527796),i=n(394629),a=n(385914)},101093:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.compactPatch=function(e){return function(e,t){const n=new Set;return e.filter((e=>{const r=t(e);return!n.has(r)&&(n.add(r),!0)}))}(e.reverse(),(e=>e.index)).reverse()}},507809:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.encodeSyncActionData=function(e){try{return(0,s.encodeProtobuf)(i.SyncActionDataSpec,e).readBuffer()}catch(e){throw(0,o.reportSyncdFatalError)(o.SyncdFatalErrorType.ACTION_DATA_PROTOBUF_SERIALIZATION_FAILED),new a.SyncdFatalError("action data protobuf serialization failed")}},t.encodeSyncdMutations=function(e){try{return(0,s.encodeProtobuf)(r.SyncdMutationsSpec,e).readBuffer()}catch(e){throw(0,o.reportSyncdFatalError)(o.SyncdFatalErrorType.MUTATIONS_PROTOBUF_SERIALIZATION_FAILED),new a.SyncdFatalError("mutations protobuf serialization failed")}},t.encodeSyncdPatch=funLine truncated
|
|
|
|
|
for ${e.from.toString()}`,e.type){case m.SIDE_LIST_CHANGE:{const t=yield(0,d.getContactTable)().equals(["contactHash"],e.hash);if(0===t.length)__LOG__(3)`could not find side contact hash for status update operation`;else{const e=(0,g.createWid)(t[0].id),n=p.StatusCollection.get(e),r=null==n?null:(0,f.getStatus)(e).then((e=>{n.set({status:e.status})}));yield r}break}case m.CHANGE:{const t=e.from;if(!(t instanceof _.default))break;const n=[t];if(t.isLid()){const e=(0,l.getPhoneNumber)(t);null!=e&&n.push(e)}for(const t of n){const n=p.StatusCollection.get(t);n&&null!=e.content?n.status=e.content:__LOG__(3)`handleAboutNotification: get status update for unknown contact ${t.toLogString()}`}break}default:__LOG__(3)`handleAboutNotification: unhandled notification of
|
|
|
|
|
type ${e.type}`}return(0,s.wap)("ack",{id:(0,s.CUSTOM_STRING)(e.stanzaId),to:e.from instanceof _.default?(0,u.JID)(e.from):(0,s.CUSTOM_STRING)(e.from),class:"notification",type:"status"})}))).apply(this,arguments)}},996578:(e,t,n)=>{"use strict";var r=n(595318);Object.defineProperty(t,"__esModule",{value:!0}),t.getAndUpdateStatus=B,t.getDeviceSyncInputs=Y,t.handleAccountSyncNotification=function(){return V.apply(this,arguments)},t.updateMyTextStatusFromServer=j;var i=r(n(348926)),a=r(n(81109)),o=r(n(67062)),s=n(418987),l=n(716358),u=n(696155),c=n(798440),d=n(853670),p=n(359987),f=n(354458),_=n(780549),g=n(355813),m=n(380900),h=n(515309),y=n(256905),E=n(854379),S=n(280464),v=n(359484),T=n(359099),M=n(60370),b=n(755985),A=n(139374),C=n(999821),P=n(326314),I=n(491805),O=n(574892),R=n(622868),N=n(557883),D=n(967910),w=n(129417),L=n(819539),k=n(459857),G=n(669050);const U=e=>{const t=e.maybeChild("key-index-list"),n=null==t?null:{ts:t.attrTime("ts"),signedKeyIndexBytes:t.hasContent()?t.contentBytes():null,expectedTs:t.hasAttr("expected_ts")?t.attrTime("expected_ts"):void 0},r=e.mapChildrenWithTag("device",(e=>{var t;return e.attrDeviceJid("jid"),{id:null!==(t=(0,G.createWid)(e.attrDeviceJid("jid")).device)&&void 0!==t?t:s.DEFAULT_DEVICE_ID,keyIndex:e.hasAttr("key-index")?e.attrInt("key-index"):null}}));return 0===r.length?null:{deviceList:r,keyIndex:n}},x=new o.default("incomingAccountSyncNotification",(e=>{e.assertTag("notification");const t={stanzaId:e.attrString("id"),ts:e.attrTime("t"),from:(0,E.deviceJidToDeviceWid)(e.attrDeviceJid("from"))};if(e.hasChild("status")){const n=e.child("status"),r=n.hasAttr("action")?n.attrString("action"):void 0;return(0,a.default)({type:u.AccountSyncType.STATUS,action:r},t)}if(e.hasChild("text_status")){const n=e.child("text_status"),r=n.hasAttr("action")?n.attrString("action"):void 0,i=n.hasAttr("text")?n.attrString("text"):void 0,o=n.hasChild("emoji")?n.child("emoji"):void 0,s=(null==o?void 0:o.hasAttr("content"))?null==o?void 0:o.attrString("content"):void 0,l=n.hasAttr("ephemeral_duration_sec")?n.attrInt("ephemeral_duration_sec"):void 0,c=n.hasAttr("last_update_time")?n.attrString("last_update_time"):void 0;return(0,a.default)({type:u.AccountSyncType.TEXT_STATUS,action:r,text:i,emoji:s,ephemeralDurationSeconds:l,lastUpdateTime:c},t)}if(e.hasChild("username")){const n=[];if(w.usernameSupported){const t=e.child("username"),r=(null==t?void 0:t.hasAttr("username"))?t.attrString("username"):void 0;n.push({userId:(0,k.getMeUser)(),username:r})}return(0,a.default)({type:u.AccountSyncType.USERNAME,usernames:n},t)}if(e.hasChild("privacy"))return(0,a.default)({type:u.AccountSyncType.PRIVACY},t);if(e.hasChild("devices"))return(0,a.default)({type:u.AccountSyncType.DEVICES,devices:U(e.child("devices"))},t);if(e.hasChild("blocklist")){const n=e.child("blocklist"),r=[];return(0,w.usernameDisplayedEnabled)()&&n.forEachChildWithTag("item",(e=>{const t=e.maybeAttrString("username"),n=(0,E.userJidToUserWid)(e.attrUserJid("jid"));null!=t&&r.push({userId:n,username:t})})),(0,a.default)({type:u.AccountSyncType.BLOCKLIST,usernames:r},t)}if(e.hasChild("picture"))return(0,a.default)({type:u.AccountSyncType.PICTURE},t);if(e.hasChild("tos")){const n=e.child("tos"),r=[];return n.forEachChildWithTag("notice",(e=>{const t="false"!==e.maybeAttrString("state"),n=e.attrString("id");r.push({id:n,state:t})})),(0,a.default)({type:u.AccountSyncType.TOS,notices:r},t)}if(e.hasChild("disappearing_mode")){const n=e.child("disappearing_mode");let r,i,o;return n.hasAttr("action")?r=n.attrString("action"):(i=n.attrInt("duration"),o=n.attrInt("t")),(0,a.default)((0,a.default)({},t),{},{type:u.AccountSyncType.DISAPPEARING_MODE,action:r,disappearingModeDuration:i,disappearingModeSettingTimestamp:o})}if(e.hasChild("notice")){const n=e.child("notice");return(0,a.default)({type:u.AccountSyncType.NOTICE,noticeId:n.attrString("id"),noticeStage:n.maybeAttrString("stage"),noticeVersion:n.maybeAttrString("version")},t)}if(e.hasChild("user")){const n="AI available"===e.child("user").maybeAttrString("state");return(0,a.default)({type:u.AccountSyncType.USER,isAiAvailable:n},t)}throw e.createParseError("notification type not supported")}));function B(){return F.apply(this,arguments)}function F(){return(F=(0,i.default)((function*(){const e=(0,k.assertGetMe)(),t=yield(0,h.getAbout)(e);if(t.error)return __LOG__(3)`getStatus failed for ${e}: failed ${t.error.errorCode} : ${t.error.errorText}`,Promise.reject(t.error.errorText);""!==t.status&&(yield(0,p.frontendSendAndReceive)("setMyStatus",{status:t.status}))}))).apply(this,arguments)}function j(){return K.apply(this,arguments)}function K(){return(K=(0,i.default)((function*(){const e=(0,k.assertGetMe)(),t=yield(0,m.getTextStatus)(e);if(t.error)return __LOG__(3)`getStatus failed for ${e}: failed ${t.error.errorCode} : ${t.error.errorText}`,Promise.reject(t.error.errorText);const{id:n,text:r,emoji:i,ephemeralDurationSeconds:a,lastUpdateTime:o}=t,s=(0,O.parseTextStatusServerResponse)({tLine truncated
|
|
|
|
|
for ${n.toString()}`,yield(0,d.updateDisappearingModeForContact)(n,t,i),(0,s.wap)("ack",{id:(0,s.CUSTOM_STRING)(r),to:(0,l.JID)(n),class:"notification",type:"disappearing_mode"})}))).apply(this,arguments)}},63099:(e,t,n)=>{"use strict";var r=n(595318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return y.apply(this,arguments)};var i=r(n(348926)),a=n(250281),o=r(n(67062)),s=n(780549),l=(n(618422),n(621059)),u=(n(827747),r(n(932325))),c=(r(n(174285)),n(332108)),d=n(95644),p=n(366320),f=n(343343),_=n(233895),g=n(350906),m=r(n(556869));const h=new o.default("failureParser",(e=>(e.assertTag("failure"),{reason:e.attrInt("reason",400,599),location:e.attrString("location"),code:e.hasAttr("code")?e.attrInt("code"):null,expire:e.hasAttr("expire")?e.attrInt("expire"):null,message:e.maybeAttrString("message"),url:e.maybeAttrString("url"),logoutMessageHeader:e.maybeAttrString("logout_message_header"),logoutMessageSubtext:e.maybeAttrString("logout_message_subtext"),logoutMessageLocale:e.maybeAttrString("logout_message_locale")})));function y(){return(y=(0,i.default)((function*(e){const t=h.parse(e);if(t.error)return __LOG__(4,void 0,new Error)`${t.error.toString()} parsing ${e.toString()}`,Promise.reject(t.error);switch(t.success.reason){case l.FAILURE_REASON.REASON_LOCKED:{__LOG__(2)`received failure stanza, reason: ${t.success.reason}, logging out`;const{logoutMessageHeader:e,logoutMessageSubtext:n,logoutMessageLocale:r}=t.success;let i=null;r!==u.default.getNormalizedLocale()||null==e&&null==n||(i={logoutMessageHeader:e,logoutMessageSubtext:n}),yield d.Socket.clearCredentialsAndStoredData(c.LogoutReason.AccountLocked,i),s.Cmd.logout();break}case l.FAILURE_REASON.REASON_NOT_AUTHORIZED:case l.FAILURE_REASON.REASON_BANNED:__LOG__(2)`received failure stanza, reason: ${t.success.reason}, logging out`,yield d.Socket.clearCredentialsAndStoredData(),s.Cmd.logout();break;case l.FAILURE_REASON.REASON_CLIENT_TOO_OLD:case l.FAILURE_REASON.REASON_BAD_USER_AGENT:__LOG__(2)`Client too old or bad user agent, attempting to update the app`;"web"===f.PLATFORMS[(0,g.getWamPlatform)()]?p.Updater.update(_.SANITIZED_VERSION_STR,!1,0):p.Updater.update(void 0,!1,0,!1),(0,a.stopComms)();break;case l.FAILURE_REASON.REASON_TEMP_BANNED:{const{code:e,expire:n,message:r,url:i}=t.success;if(null==e||null==n)throw __LOG__(4,void 0,new Error)`Incorrect temporary ban data ${e} ${n}`,(0,m.default)("handleFailure: wrong temp ban data");s.Cmd.onTemporaryBan({banned:!0,code:e,message:r,url:i,expire:n});break}case l.FAILURE_REASON.REASON_GENERIC_FAILURE:case l.FAILURE_REASON.REASON_INTERNAL_SERVER_ERROR:case l.FAILURE_REASON.REASON_EXPERIMENTAL:__LOG__(3)`handleFailure: got failure code ${t.success.reason}`;break;case l.FAILURE_REASON.REASON_SERVICE_UNAVAILABLE:__LOG__(3)`handleFailure: got failure code ${t.success.reason}`,s.Cmd.showServiceUnavailableError();break;default:return __LOG__(3)`failure reason ${t.success.reason} not implemented yet`,Promise.reject((0,m.default)(`failure reason ${t.success.reason} not implemented yet`))}}))).apply(this,arguments)}},200279:(e,t,n)=>{"use strict";var r=n(595318);Object.defineProperty(t,"__esModule",{value:!0}),t.handleAction=$,t.handleGroupNotification=function(e){const t=e.content;if(null!=t&&Array.isArray(t)&&t.length>0){const n=t[0];if("groups_dirty"===n.tag)return Promise.resolve((0,A.handleGroupsDirtyNotificationJob)(e))}const n=j.parse(e);if(n.error)return __LOG__(4,void 0,new Error)`Parsing Error: ${n.error.toString()}`,Promise.reject(n.error);const r=n.success,a=Boolean(r.offline)&&!O.OfflineMessageHandler.isResumeFromRestartComplete();if(function(){Z.apply(this,arguments)}(r.chatId),(0,b.isGroupNotificationOptimizationEligible)(r,a)&&a)return(0,b.handleGroupNotificationV2)(r,a);return(0,I.handleMessage)(r.chatId.toString(),a,(0,i.default)((function*(){return yield Promise.all(r.actions.map((e=>$(r,e,a)))),(0,l.wap)("ack",{to:(0,p.GROUP_JID)(r.chatId),id:(0,l.CUSTOM_STRING)(r.externalId),class:"notification",type:"w:gp2",participant:r.author?(0,p.USER_JID)(r.author):l.DROP_ATTR})})))};var i=r(n(348926)),a=r(n(81109)),o=r(n(67062)),s=r(n(670983)),l=n(716358),u=n(287461),c=n(827467),d=n(359987),p=n(355813),f=n(174834),_=n(588090),g=n(185212),m=n(800321),h=n(529921),y=n(113269),E=n(429267),S=n(614198),v=n(862159),T=n(143375),M=n(111070),b=n(225390),A=n(961063),C=n(411745),P=n(854379),I=n(412985),O=n(359484),R=n(130207),N=n(61229),D=n(98742),w=n(439446),L=n(193970),k=n(459857);function G(e){return e.mapChildrenWithTag("participant",(e=>{const t=e.attrEnumOrDefault("type",h.GROUP_PARTICIPANT_TYPES,"participant"),n=e.maybeAttrLidUserJid("lid"),r=e.maybeAttrPhoneUserJid("phone_number");return{displayName:e.maybeAttrString("display_name"),id:(0,P.userJidToUserWid)(e.attrUserJid("jid")),isSuperAdmin:t===h.GROUP_PARTICIPANT_TYPES.superadmin,isAdmin:t===h.GROUP_PARTICIPANT_TYPES.admin||t===h.GROUP_PARTICIPANT_TYPES.superadmin,lid:null!=n?(0,P.userJidToUserWid)(n):null,phoneNumber:null!=r?(0,Line truncated
|
|
|
|
|
blindly ack-ing it and doing nothing`,Promise.resolve(t);switch(e.type){case c.LOG:return s.upload({reason:s.SERVER_REQUESTED,immediate:!0,isHighPri:!0}),Promise.resolve(t);case c.PROPS:return(0,l.queryServerProps)().then((()=>t));case c.ABPROPS:return(0,o.syncABPropsTask)(!1).then((()=>t))}}(t.success)};var i=r(n(67062)),a=n(716358),o=n(266485),s=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=u(t);if(n&&n.has(e))return n.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var o=i?Object.getOwnPropertyDescriptor(e,a):null;o&&(o.get||o.set)?Object.defineProperty(r,a,o):r[a]=e[a]}r.default=e,n&&n.set(e,r);return r}(n(996588)),l=n(460148);function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(u=function(e){return e?n:t})(e)}const c=n(76672)({LOG:"log",PROPS:"props",ABPROPS:"abprops"});t.NotificationType=c;const d=new i.default("incomingServerNotificationParser",(e=>{e.assertTag("notification");const t=e.attrString("id"),n=e.attrWapJid("from");return e.hasChild(c.LOG)?{type:c.LOG,stanzaId:t,from:n}:e.hasChild(c.PROPS)?{type:c.PROPS,stanzaId:t,from:n}:e.hasChild(c.ABPROPS)?{type:c.ABPROPS,stanzaId:t,from:n}:{type:null,stanzaId:t,from:n}}))},828104:(e,t,n)=>{"use strict";var r=n(595318);Object.defineProperty(t,"__esModule",{value:!0}),t.handleServerSyncNotification=function(e){const t=p.parse(e);if(t.error)return __LOG__(4,void 0,new Error)`Parsing Error: ${t.error.toString()}`,Promise.reject(t.error);return function(e){if(e.changedCollections){const t=new Map;for(const[n,r]of e.changedCollections){const e=s.CollectionName.cast(n);null!=e?t.set(e,r):__LOG__(3)`syncd: unknown collection name in notification: ${n}`}let n=Array.from(t.keys());e.offline&&n.forEach((e=>{const t=d.get(e);null!=t?d.set(e,t+1):d.set(e,1)})),__LOG__(2)`syncd: incoming sync notification for collections
|
|
|
|
|
${Array.from(t.entries()).map((e=>{let[t,n]=e;return`${t} v${n}`})).join("\n")}`,c.default.isSyncDCriticalDataSyncInProcess()&&(n=n.filter((e=>(0,o.isCriticalCollection)(e))),__LOG__(2)`syncd: filtered non critical collections during bootstrap. new collections: ${n}`),(0,a.markCollectionsForSync)(n,t)}return Promise.resolve((0,l.wap)("ack",{id:(0,l.CUSTOM_STRING)(e.stanzaId),class:"notification",type:"server_sync",to:l.S_WHATSAPP_NET}))}(t.success)},t.reportOfflineNotifications=function(){if(d.size<1)return;let e=0;Array.from(d.entries()).forEach((t=>{let[,n]=t;e+=n-1})),new u.MdAppStateOfflineNotificationsWamEvent({redundantCount:e}).commit(),d.clear()};var i=r(n(67062)),a=n(280015),o=n(411907),s=n(122393),l=n(716358),u=n(600969),c=r(n(775410));const d=new Map,p=new i.default("serverSyncNotification",(e=>{if(e.assertTag("notification"),!e.hasChild("collection"))throw e.createParseError("Server sync notification does not contain any collections");const t=e.attrString("id"),n=new Map(e.mapChildrenWithTag("collection",(e=>[e.attrString("name"),e.attrInt("version")]))),r=e.hasAttr("offline");return e.attrString("from")!==l.S_WHATSAPP_NET.toString()&&__LOG__(4,void 0,new Error)`handleServerSyncNotification: "from" is not domain jid "s.whatsapp.net"`,{changedCollections:n,stanzaId:t,offline:r}}))},657874:(e,t,n)=>{"use strict";var r=n(595318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return g.apply(this,arguments)};var i=r(n(348926)),a=n(250281),o=r(n(67062)),s=n(780549),l=n(400116),u=n(827747),c=n(95644),d=n(581263),p=n(173077),f=n(784898);const _=new o.default("streamErrorParser",(e=>{if(e.assertTag("stream:error"),!e.hasChild("conflict"))return e.hasAttr("code")?{type:"code",code:e.attrInt("code")}:e.hasChild("ack")?{type:"ack",id:e.child("ack").hasAttr("id")?e.child("ack").attrString("id"):null}:e.hasChild("xml-not-well-formed")?{type:"xml-not-well-formed"}:(__LOG__(3)`Unrecognized stream:error: ${e.toString()}`,{type:"other"});switch(e.child("conflict").attrString("type")){case"replaced":return{type:"replaced"};case"device_removed":default:return{type:"device_removed"}}}));function g(){return(g=(0,i.default)((function*(e){const t=_.parse(e);if(t.error)return __LOG__(4,void 0,new Error)`Parsing Error: ${t.error.toString()}`,Promise.reject(t.error);const n=t.success;if("code"===n.type&&n.code>=500&&n.code<600){if(515===n.code)return(0,a.stopComms)(),yield(0,l.startLogin)(),(0,d.startBackend)(),Promise.resolve("NO_ACK");if(516===n.code)return(0,a.stopComms)(),yield(0,f.commitDeviceLinkEvent)(516),yield(0,l.startLogout)(),(0,d.startBackend)(),Promise.resolve("NO_ACK");(0,a.onStreamErrorReceived)()}else{if("device_removed"===n.type)return s.Cmd.onStartingLogout(),(0,a.stopComms)(),yield c.Socket.clearCredentialsAndStoredData(),__LOG__(2)`stream error due to device removed, logging out`,(0,u.maybeLogToJestE2eJSConsole)("stream error due to device removed, logging out"),s.Cmd.logout(),Promise.resolve("NO_ACK");if("replaced"===n.type)return(0,p.currentTabHasMutex)()&&(__LOG__(4,void 0,new Error,!0)`handleStreamError: session replaced while we have a mutex, closing the socket`,SEND_LOGS("invalid-session-replacement",.1)),(0,a.stopComms)(),Promise.resolve("NO_ACK");"xml-not-well-formed"===n.type&&__LOG__(3)`handleStreamError: sent xml not well formed, closing the socket`}return Promise.resolve("CLOSE_SOCKET")}))).apply(this,arguments)}},265927:(e,t,n)=>{"use strict";var r=n(530066).default,i=n(595318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return b.apply(this,arguments)};var a=i(n(348926)),o=n(477689),s=i(n(67062)),l=n(434517),u=n(183660),c=n(266485),d=n(780549),p=n(188472),f=n(659102),_=n(643235),g=n(474465),m=n(588237),h=n(192498),y=n(496956),E=n(460148),S=n(757453),v=n(459857),T=n(669050);const M=new s.default("successParser",(e=>(e.assertTag("success"),{ts:e.attrTime("t"),propsVersion:e.attrInt("props"),companionEncStatic:e.maybeAttrString("companion_enc_static")||"NULL",lid:e.maybeAttrString("lid"),displayName:e.maybeAttrString("display_name"),abpropsRefreshId:e.maybeAttrInt("abprops")})));function b(){return(b=(0,a.default)((function*(e){var t,n;(0,g.addPageLoadQplPoint)("success_received");const r=M.parse(e);if(r.error)return __LOG__(4,void 0,new Error)`handleSuccess: failed to parse ${r.error}`,Promise.reject(r.error);const i=r.success;(0,h.updateClockSkew)(i.ts),(0,y.updateMeLid)(null!=i.lid?(0,T.createWid)(i.lid):null),null!=i.displayName&&(0,v.setMeDisplayName)(i.displayName),d.Cmd.onTemporaryBan({banned:!1}),m.PassiveTaskManager.executePassiveTasks(),(0,S.setOfflinePushDisabled)(!1);const a=i.companionEncStatic;f.DbEncKeyStore.generateFinalDbEncryptionAndFtsKey(a),(0,p.generateFinalDbEncryptionAndFtsKeyForInvoker)(a);const o=yield(0,S.getServerPropsAttributes)();(null!==(t=null==o?void 0:o.version)&&void 0!==t?t:-1)<i.propsVersion&&(yield(0,E.queryServerProps)());const s=null!==(n=i.abpropsRefreshId)&&void 0!==n?n:0;if((0,u.getRefreshId)()<s){(0,Line truncated
|
|
|
|
|
existing length: ${n.length}, new length: ${t.length}`,SEND_LOGS("self-identity-change-from-history-sync",1,"history-sync"))}))).apply(this,arguments)}function U(){return(U=(0,a.default)((function*(e,t){const n=e.syncType===T.HistorySync$HistorySyncType.INITIAL_BOOTSTRAP?P.MD_BOOTSTRAP_PAYLOAD_TYPE.CRITICAL:P.MD_BOOTSTRAP_PAYLOAD_TYPE.NON_CRITICAL,r=(0,f.getMetricHistorySyncPayloadType)(e.syncType),i=yield A.MdSyncFieldStatsMeta.getMdSessionId(),a=yield B(e),o=new S.MdBootstrapHistoryDataStartDownloadingWamEvent({mdBootstrapPayloadType:n,mdBootstrapPayloadSize:e.historySyncPayloadSize,mdBootstrapHistoryPayloadType:r,mdSessionId:i,historySyncStageProgress:a}),s=new E.MdBootstrapHistoryDataDownloadedWamEvent({mdBootstrapPayloadType:n,mdBootstrapPayloadSize:e.historySyncPayloadSize,mdBootstrapHistoryPayloadType:r,mdSessionId:i,historySyncStageProgress:a}),l=new y.MdBootstrapDataAppliedWamEvent({mdBootstrapPayloadType:n,mdBootstrapSource:I.MD_BOOTSTRAP_SOURCE.HISTORY,mdBootstrapHistoryPayloadType:r,mdSessionId:i,sentViaMms:t,historySyncStageProgress:a});null!=e.chunkOrder&&(o.historySyncChunkOrder=e.chunkOrder,s.historySyncChunkOrder=e.chunkOrder,l.historySyncChunkOrder=e.chunkOrder);const u=yield A.MdSyncFieldStatsMeta.getStorageEstimation();return u.mdStorageQuotaBytes!==A.STORAGE_QUOTA_UNAVAILABLE&&(s.mdStorageQuotaUsedBytes=u.mdStorageQuotaUsedBytes,s.mdStorageQuotaBytes=u.mdStorageQuotaBytes),{historySyncStartDownloadingMetric:o,historySyncDownloadedMetric:s,historySyncDataAppliedMetric:l}}))).apply(this,arguments)}function x(){return(x=(0,a.default)((function*(e){e&&(yield new Promise((e=>self.setTimeout(e,1e3))))}))).apply(this,arguments)}function B(){return F.apply(this,arguments)}function F(){return(F=(0,a.default)((function*(e){var t;let n=e.progress;const r=yield(0,C.getChunkCountForEndOfRecentHistorySync)();return(e.syncType===T.HistorySync$HistorySyncType.FULL||e.syncType===T.HistorySync$HistorySyncType.RECENT&&e.chunkOrder===r)&&(n=100),null!==(t=n)&&void 0!==t?t:0}))).apply(this,arguments)}function j(){return(j=(0,a.default)((function*(){return(0,M.getHistorySyncNotificationTable)().equals(["processed","syncType"],[0,T.HistorySync$HistorySyncType.RECENT],{shouldDecrypt:!1}).then((e=>e.filter((e=>!u.inFlightChunk.has(e.msgKey)&&!e.reuploadPending)).sort(((e,t)=>{var n,r;return(null!==(n=e.chunkOrder)&&void 0!==n?n:0)-(null!==(r=t.chunkOrder)&&void 0!==r?r:0)}))))}))).apply(this,arguments)}t.HistorySyncScheduleSource=N},827144:(e,t,n)=>{"use strict";var r=n(595318);Object.defineProperty(t,"__esModule",{value:!0}),t.updateEndOfHistorySync=function(){return u.apply(this,arguments)};var i=r(n(348926)),a=n(359987),o=n(735618),s=n(60370),l=n(61229);function u(){return(u=(0,i.default)((function*(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const r=c(t),i={id:e,endOfHistoryTransferType:r};n&&(i.t=0),yield(0,a.frontendSendAndReceive)("chatCollectionAdd",{things:[i],options:{merge:!0}}),yield(0,l.getChatTable)().merge(e.toString(),{endOfHistoryTransferType:r})}))).apply(this,arguments)}function c(e){switch(e){case s.Conversation$EndOfHistoryTransferType.COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY:return o.ConversationEndOfHistoryTransferModelPropType.COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY;case s.Conversation$EndOfHistoryTransferType.COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY:return o.ConversationEndOfHistoryTransferModelPropType.COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY;case s.Conversation$EndOfHistoryTransferType.COMPLETE_ON_DEMAND_SYNC_BUT_MORE_MSG_REMAIN_ON_PRIMARY:return o.ConversationEndOfHistoryTransferModelPropType.COMPLETE_ON_DEMAND_SYNC_BUT_MORE_MSG_REMAIN_ON_PRIMARY}}},192498:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.updateClockSkew=function(e){const t=Date.now()/1e3,n=Math.round(t-e),s=Math.round(n/r.HOUR_SECONDS);0!==s&&(0,i.getABPropConfigValue)("log_clock_skew")&&new o.ClockSkewDifferenceTWamEvent({clockSkewHourly:-1*s}).commit();(0,r.setClockSkew)(n),(0,a.frontendFireAndForget)("setWebClockSkew",{newClockSkew:n})};var r=n(632157),i=n(287461),a=n(359987),o=n(930711)},496956:(e,t,n)=>{"use strict";var r=n(595318);Object.defineProperty(t,"__esModule",{value:!0}),t.updateMeLid=function(e){const t=(0,a.getMaybeMeLid)(!1);if(null==t&&null==e)return;if(null==t&&null!=e)return void(0,a.setMeLid)(e);if(null!=t&&null==e)return;if((0,i.default)(t,"lid").equals(e))return;(0,a.setMeLid)((0,i.default)(e,"nextLid"))};var i=r(n(670983)),a=n(459857)},730104:(e,t,n)=>{"use strict";var r=n(595318);Object.defineProperty(t,"__esModule",{value:!0}),t.handleCall=function(){return T.apply(this,arguments)};var i=r(n(348926)),a=n(415659),o=r(n(67062)),s=n(716358),l=n(355813),u=(r(n(846870)),r(n(766770))),c=n(281802),d=n(854379),p=n(171612),f=n(487837),_=n(459857),g=r(n(850928)),m=r(n(109037)),h=n(549227),y=n(669050),E=r(n(556869));function S(e){return h.TYPE[e.tag().toUpperCase()]||h.TYPE.NONE}const v=new o.default("callParser",(e=>{e.assertTag("caLine truncated
|
|
|
|
|
${e}`})))):Promise.resolve();yield Promise.all([t,r,a,o])})),u.length>0,i)}))).apply(this,arguments)}function A(){return C.apply(this,arguments)}function C(){return(C=(0,a.default)((function*(e,t){const{notifications:n,chatIds:r}=yield(0,u.bulkGenerateDeviceNotifications)(e);if(!t){const e=yield(0,_.encryptMultipleDBMsgs)(n);return O(n),{chatIds:r,encryptedNotifications:e}}return(0,h.getMessageCache)().addMessages(n.map((e=>({msg:e}))),!1),{chatIds:[],encryptedNotifications:[]}}))).apply(this,arguments)}function P(){return I.apply(this,arguments)}function I(){return(I=(0,a.default)((function*(e){const{deleteDeviceSenderKey:t,deleteRemoteInfo:r}=n(743275);try{yield Promise.all([r(e),t(e)])}catch(t){__LOG__(2)`handleDevicesNotification: failed to clean the signal info for ${e.user}`}}))).apply(this,arguments)}function O(e){return Promise.all(e.map((e=>(0,f.frontendSendAndReceive)("processMultipleMessages",{chatId:e.from,msgObjs:[(0,i.default)((0,i.default)({},e),{},{recvFresh:!0,isNewMsg:!0})],meta:{add:"after",isHistory:!1},processMessagesOrigin:"updateDeviceTableApi"}))))}},76833:(e,t,n)=>{"use strict";var r=n(595318);Object.defineProperty(t,"__esModule",{value:!0}),t.processKeyBundles=function(){return c.apply(this,arguments)};var i=r(n(348926)),a=n(418987),o=n(138706),s=n(999821),l=n(76256),u=r(n(556869));function c(){return(c=(0,i.default)((function*(e){let t=null,n=0,r=0;const i=[],c=[];if(e.forEach((e=>{e instanceof Error?(__LOG__(3)`establishE2ESession: error: ${e}`,t=e):(null!=e.wid.device&&e.wid.device!==a.DEFAULT_DEVICE_ID?c.push(e):i.push(e),e.key||n++)})),0===i.length&&0===c.length)throw(0,u.default)("establishE2ESession: no keys in the response");try{const e=[...i,...c].map((e=>(0,s.createSignalAddress)(e.wid).toString()));yield(0,l.getPersistSignalProtocolStore)().bulkLoadIdentityKey(e),__LOG__(2)`establishE2ESession: warmed up identity cache: ${e.length} records`}catch(e){__LOG__(3)`establishE2ESession: failed to warm up identity cache: ${e}`}const d=e=>o.Session.createSignalSession(e).then((()=>{r++})).catch((t=>{__LOG__(3,void 0,void 0,!0)`createSignalSession: failed for device ${e.wid} with error ${t}`,SEND_LOGS("createSignalSession-fail")}));if(yield Promise.all(i.map(d)),yield Promise.all(c.map(d)),null!=t)throw t;return{depletedPrekeyCount:n,processedPrekeyCount:r}}))).apply(this,arguments)}},944641:(e,t,n)=>{"use strict";var r=n(595318);Object.defineProperty(t,"__esModule",{value:!0}),t.addSecurityCodeChangedNotifications=function(){return h.apply(this,arguments)},t.generateSecurityCodeChangedNotifications=y;var i=r(n(81109)),a=r(n(348926)),o=n(359987),s=n(389293),l=n(890490),u=n(6007),c=n(800321),d=n(61229),p=n(98742),f=n(918475),_=n(117429),g=n(669050),m=r(n(556869));function h(){return(h=(0,a.default)((function*(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e.isBot())return;const n=yield y(e);let r=n.notifications;const a=n.chatIds;if(0!==r.length){if(!t){r=r.map((e=>(0,i.default)((0,i.default)({},e),{},{recvFresh:!0,isNewMsg:!0})));for(const e of r)(0,o.frontendSendAndReceive)("processMultipleMessages",{chatId:e.from,msgObjs:[e],meta:{add:"after",isHistory:!1},processMessagesOrigin:"securityCodeApi"});const e=yield(0,l.encryptMultipleDBMsgs)(r);return(0,u.storeEncryptedDBMessages)(e,a,!1)}(0,c.getMessageCache)().addMessages(r.map((e=>({msg:e}))),!1)}}))).apply(this,arguments)}function y(){return E.apply(this,arguments)}function E(){return(E=(0,a.default)((function*(e){const t={notifications:[],chatIds:[]};if(!(0,_.getGlobalSecurityNotifications)())return t;const n=[];try{const t=yield(0,d.getChatTable)().get(e.toString(),!1);t&&n.push((0,g.createWid)(t.id));const r=yield(0,f.getParticipantTable)().equals(["participants"],String(e)),i=new Map;if(r.length>0){const e=r.map((e=>e.groupId));(yield(0,p.getGroupMetadataTable)().bulkGet(e)).forEach((e=>{null!=e&&i.set(e.id,e)}))}r.forEach((t=>{const r=i.get(t.groupId);!0===Boolean(null==r?void 0:r.defaultSubgroup)&&e.isLid()||n.push((0,g.createWid)(t.groupId))}))}catch(e){throw __LOG__(4,!0,new Error,!0)`get chats failed`,SEND_LOGS("get chats failed when creating device notification"),(0,m.default)("get chats failed")}const r=n.map((t=>(0,s.genSecurityCodeNotificationMsg)(t,e)));return t.notifications=r,t.chatIds=n.map(String),t}))).apply(this,arguments)}},47:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createOutgoingMsgModelProtobuf=t.createOutgoingMessageProtobuf=t.createOutgoingAddonMessageProtobuf=void 0;var r=n(287461),i=n(317851),a=n(21838),o=n(974637),s=n(163755),l=n(177205),u=n(263674),c=n(373070),d=n(619350),p=n(604538),f=n(943037);const _=new Set([c.MSG_TYPE.REACTION,c.MSG_TYPE.REACTION_ENC,c.MSG_TYPE.POLL_CREATION,c.MSG_TYPE.POLL_UPDATE,c.MSG_TYPE.COMMENT,c.MSG_TYPE.IMAGE,c.MSG_TYPE.VIDEO,c.MSG_TYPE.STICKER,c.MSG_TYPE.AUDIO,c.MSG_TYPE.PTT,c.MSG_TYPE.DOCUMENT,c.MSG_TYPE.MULTI_VCARD]),g=(e,t)=>{try{const n=(0,o.getMutableMessageProtobuf)(t);(0,f.verifyProtobufMessageObjectKeys)(n)Line truncated
|
|
|
|
|
played: ${o.played.length}, read: ${o.read.length}, delivery: ${o.delivery.length}`,o.playedRemaining=l-o.played.length,o.readRemaining=o.playedRemaining-o.read.length,o.deliveryRemaining=o.readRemaining-o.delivery.length,t.set(n,o)}return t}function T(e){const t=e.read;null!=t&&(null==e.delivery||e.delivery>t)&&(e.delivery=t)}function M(){return(M=(0,a.default)((function*(e){const t=new Map,n=yield E(e);for(const r of e){const e=n.get(r.toString());if(null==e)continue;let i;0===e.playedRemaining&&e.played.length>0?i=s.ACK.PLAYED:0===e.readRemaining&&e.read.length>0?i=s.ACK.READ:0===e.deliveryRemaining&&e.delivery.length>0&&(i=s.ACK.RECEIVED),null!=i&&t.set(r.toString(),i)}return t}))).apply(this,arguments)}t.RetryEligibilityResult=h},176573:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createOrUpdateOrphanReceipt=function(e,t,n){return(0,r.getStorage)().lock(["orphan-receipt"],(r=>{let[i]=r;return i.bulkGet(n).then((r=>{const a=n.reduce(((n,i,a)=>{let o=r[a];null==o&&(o={msgKey:i});const s=o[e];return(null==s||s>t)&&(o[e]=t,n.push(o)),n}),[]);return i.bulkCreateOrReplace(a)}))}))},t.getOrphanReceipt=function(e){return(0,i.getOrphanReceiptTable)().get(e)},t.removeOrphanReceipt=function(e){return(0,i.getOrphanReceiptTable)().remove(e)};var r=n(732011),i=n(463631)},583464:(e,t,n)=>{"use strict";var r=n(595318);Object.defineProperty(t,"__esModule",{value:!0}),t.addOrphanRevokes=function(e){return f.bulkCreateOrReplaceOrphanRevokes(e)},t.applyOrphanRevokes=function(){return _.apply(this,arguments)};var i=r(n(348926)),a=r(n(670983)),o=n(787742),s=n(373070),l=n(434030),u=r(n(124928)),c=n(669050);let d=new Map,p=!1;const f={reset:()=>{d=new Map,p=!1},bulkRemoveOrphans:e=>(e.forEach((e=>{d.delete(e.msgKey)})),(0,l.getOrphanRevokeTable)().bulkRemove(e.map((e=>e.msgKey)))),bulkCreateOrReplaceOrphanRevokes:e=>(e.forEach((e=>{d.has(e.msgKey)&&d.delete(e.msgKey),d.set(e.msgKey,e)})),(0,l.getOrphanRevokeTable)().bulkCreateOrReplace(e)),getAllOrphanRevokes:()=>(0,i.default)((function*(){if(!p){const e=yield(0,l.getOrphanRevokeTable)().all();d=new Map(e.map((e=>[e.msgKey,e]))),p=!0}return d}))()};function _(){return(_=(0,i.default)((function*(e){const t=yield f.getAllOrphanRevokes(),n=[],r=[];return e.forEach((e=>{const i=e.id.toString();if(t.has(i)){const d=(0,a.default)(t.get(i),"orphanRevokesCache.get(messageId)");var l;if(__LOG__(2)`applyOrphanRevokes: found orphan revoke for message ${e.id.toString()}`,!u.default.isStatusV3(e.id.remote))r.push({id:e.id,to:e.to,author:e.author,revokeSender:(0,c.createWidFromWidLike)(null!==(l=d.sender)&&void 0!==l?l:(0,o.getSender)(e)),type:s.MSG_TYPE.REVOKED,kind:s.MsgKind.RevokedMessage,subtype:"admin_revoke"===d.subtype?"admin":"sender",protocolMessageKey:e.id,from:e.from,t:e.t,broadcast:e.broadcast});n.push(d)}else r.push(e)})),f.bulkRemoveOrphans(n),r}))).apply(this,arguments)}},328329:(e,t,n)=>{"use strict";var r=n(595318);Object.defineProperty(t,"__esModule",{value:!0}),t.createOrUpdateOrphanTcToken=function(e,t){return(0,a.getOrphanTcTokenTable)().createOrMerge(e,(0,i.default)({chatId:e},t))},t.getOrphanTcToken=function(e){return(0,a.getOrphanTcTokenTable)().get(e)},t.removeOrphanTcToken=function(e){return(0,a.getOrphanTcTokenTable)().remove(e)};var i=r(n(81109)),a=n(324862)},827467:(e,t,n)=>{"use strict";var r=n(595318);Object.defineProperty(t,"__esModule",{value:!0}),t.GroupUnSyncedError=void 0,t.clearAdminshipCache=function(e){null!=e?v.delete(e):v.clear()},t.getGroupSenderKeyList=function(){return g.apply(this,arguments)},t.getGroupSenderKeyListFromParticipantRecord=m,t.injectPastParticipantsFromDB=function(){return S.apply(this,arguments)},t.isCurrentUserGroupAdmin=function(){return T.apply(this,arguments)},t.markForgetSenderKey=function(e,t){const n=e.toString();return(0,u.getStorage)().lock(["participant"],function(){var e=(0,a.default)((function*(e){let[r]=e;const i=yield r.get(n);i?yield r.createOrReplace(y(i,t,!1)):__LOG__(2)`markForgetSenderKey: group participant info missing for group ${n}`}));return function(){return e.apply(this,arguments)}}())},t.markHasSenderKey=function(e,t){const n=e.toString();return(0,u.getStorage)().lock(["participant"],function(){var e=(0,a.default)((function*(e){let[r]=e;const i=yield r.get(n);i?yield r.createOrReplace(y(i,t,!0)):__LOG__(2)`markHasSenderKey: group participant info missing for group ${n}`}));return function(){return e.apply(this,arguments)}}())},t.pruneExpiredPastParticipants=function(){return(0,u.getStorage)().lock(["participant"],function(){var e=(0,a.default)((function*(e){let[t]=e;const n=yield(0,c.getParticipantTable)().all(),r=[];return n.forEach((e=>{const t=e.pastParticipants.filter((e=>{const t=(0,o.castToUnixTime)(e.leaveTs);return(0,o.happenedWithin)(t,o.DAY_SECONDS*l.PAST_PARTICIPANT_EXPIRATION_DAYS)}));if(t.length!==e.pastParticipants.length){const n=(0,i.default)((0,i.default)({},e),{},{pastParticipants:t});r.push(n)}})),r.length,t.bulkCreateOrReplace(r)}));return function(){returLine truncated
|
|
|
|
|
This likely indicates a permissions error. Falling back to fake \
|
|
|
|
|
(no-op) storage.`;else{if(e instanceof p.DbOnLogoutAbort)throw e;__LOG__(4,!0,new Error,!0)`Failed to initialize media store! Falling back to fake (no-op) storage. Error:
|
|
|
|
|
${(0,f.default)(e)}`,SEND_LOGS("Failed to initialize media store")}}return new c.default})))}setMaxSize(e){var t=this;return(0,i.default)((function*(){(yield t._getBackingStore()).setMaxSize(e)}))()}get(e){var t=this;return(0,i.default)((function*(){return(yield t._getBackingStore()).get(e)}))()}queryByIndex(e,t){var n=this;return(0,i.default)((function*(){return(yield n._getBackingStore()).queryByIndex(e,t)}))()}getAll(){var e=this;return(0,i.default)((function*(){return(yield e._getBackingStore()).getAll()}))()}put(e,t){var n=this;return(0,i.default)((function*(){return(yield n._getBackingStore()).put(e,t)}))()}del(e){var t=this;return(0,i.default)((function*(){const n=yield t._getBackingStore();yield n.del(e)}))()}count(){var e=this;return(0,i.default)((function*(){return(yield e._getBackingStore()).count()}))()}clear(){var e=this;return(0,i.default)((function*(){const t=yield e._getBackingStore();yield t.clear()}))()}open(){var e=this;return(0,i.default)((function*(){const t=yield e._getBackingStore();yield t.open()}))()}close(){var e=this;return(0,i.default)((function*(){const t=yield e._getBackingStore();yield t.close()}))()}}function m(){return(m=(0,i.default)((function*(){const e=h();if(null==e)return null;const t=(0,u.isStoreQuotaManagerEnabled)()?yield _.storeQuotaManager.getQuotaForStore("lru-media-store"):Number.MAX_SAFE_INTEGER;return new d.default({maxSize:t,arrayBufferStore:e})}))).apply(this,arguments)}function h(){if(null!=o.default){const e=new l.default("media_lru_buffer");return"caches"in self?new s.default("lru-media-array-buffer-cache"):e}return null}t.MediaStore=g;const y=new g;t.LruMediaStore=y},740573:(e,t,n)=>{"use strict";var r=n(595318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(173207));class a extends i.default{get(){return Promise.resolve()}queryByIndex(){return Promise.resolve([])}getAll(){return Promise.resolve([])}put(e,t){return Promise.resolve(t)}del(){return Promise.resolve()}count(){return Promise.resolve(0)}clear(){return Promise.resolve()}setMaxSize(){return Promise.resolve()}}t.default=a},198765:(e,t,n)=>{"use strict";var r=n(595318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(348926)),a=r(n(670983)),o=n(652204),s=r(n(721698)),l=r(n(173207)),u=r(n(495976)),c=n(75421),d=r(n(909520));class p extends l.default{constructor(e){var t;super(),t=this,this._queueMap=new o.PromiseQueueMap,this.updateMaxSizeInterval=null,this._dispose=e=>this._bufferStore.del(e),this.doPut=(e,n)=>this._queueMap.enqueue(e,(0,i.default)((function*(){if(n.byteLength>t.getMaxSize())return n;if(n.byteLength>3e7)return n;const r={id:e,timestamp:(new Date).getTime(),size:n.byteLength};try{return yield t._metaInfoStore.putObject(r),t._bufferStore.put(e,n)}catch(e){if(e instanceof s.default.AbortError&&e.message.includes("QuotaExceededError"))return __LOG__(2)`LruMediaStore: encounter QuotaExceededError, thus shrink the size of LruMediaStore`,void t.setMaxSize((0,a.default)(t.getCurrentSize(),"_this.getCurrentSize()")/2);throw e}}))),this.doDel=e=>this._queueMap.enqueue(e,(()=>this._metaInfoStore.del(e))),this._updateMaxSize=function(){var e=(0,i.default)((function*(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if((0,c.isStoreQuotaManagerEnabled)())return;const n=yield(0,u.default)();if(null==n)return void t._clearStoreForThisSession();const r=t.getCurrentSize();if(null==r)return;const i=n.available,a=t._calculateTargetedBufferSize(n.quota);if(i>a)return void(e&&t.setMaxSize(i));const o=a-i;r<o?t._clearStoreForThisSession():t.setMaxSize(r-o)}));return function(){return e.apply(this,arguments)}}();const{maxSize:n,arrayBufferStore:r}=e;this._bufferStore=r,this._metaInfoStore=new d.default(n,this._dispose),(0,c.isStoreQuotaManagerEnabled)()||(this.updateMaxSizeInterval=self.setInterval(this._updateMaxSize,6e4))}doGet(e){var t=this;return(0,i.default)((function*(){const n=yield t._bufferStore.get(e);return null!=n&&t.put(e,n),n}))()}doClear(){var e=this;return(0,i.default)((function*(){return yield e._bufferStore.clear(),e._metaInfoStore.clear()}))()}doCount(){return this._metaInfoStore.count()}doOpen(){var e=this;return(0,i.default)((function*(){yield Promise.all([e._metaInfoStore.open(),e._bufferStore.open()])}))()}doClose(){var e=this;return(0,i.default)((function*(){yield Promise.all([e._metaInfoStore.close(),e._bufferStore.close()])}))()}getCurrentSize(){return this._metaInfoStore.getCurrentSize()}getMaxSize(){return this._metaInfoStore.getMaxSize()}setMaxSize(e){return this._metaInfoStore.setMaxSize(e)}_calculateTargetedBufferSize(e){const t=Math.floor(.01*e);return t<1e8?1e8:t>5e8?5e8:t}_clearStoreForThisSession(){this.setMaxSize(0),this.updateMaxSizeInterval&&(self.clearInterval(this.updateMaxSizeInterval),this.updateMaxSizeInterval=null)}}t.default=p},909520:(e,t,n)=>{"use strict";var r=n(595318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(840669),a=r(n(24824)),o=n(419272),s=r(n(881205)Line truncated
|
|
|
|
|
============== offline resume perf ================
|
|
|
|
|
message: ${t.offlineMessageCount}
|
|
|
|
|
receipt: ${t.offlineReceiptCount}
|
|
|
|
|
notification: ${t.offlineNotificationCount}
|
|
|
|
|
chatThreadCount: ${t.chatThreadCount}
|
|
|
|
|
offlineSizeBytes: ${t.offlineSizeBytes}
|
|
|
|
|
decryptError: ${t.offlineDecryptErrorCount}
|
|
|
|
|
preackMessageCount: ${t.preackMessageCount}
|
|
|
|
|
preackReceiptCount: ${t.preackReceiptCount}
|
|
|
|
|
lastStanzaT: ${t.lastStanzaT}
|
|
|
|
|
pageLoadT: ${t.pageLoadT}
|
|
|
|
|
connectionT: ${t.socketConnectT}
|
|
|
|
|
passiveModeT: ${t.passiveModeT}
|
|
|
|
|
offlinePreviewT: ${t.offlinePreviewT}
|
|
|
|
|
screenLoadT: ${t.mainScreenLoadT}
|
|
|
|
|
isResumeInForeground: ${t.isResumeInForeground}
|
|
|
|
|
mailboxAge: ${t.mailboxAge}
|
|
|
|
|
===================================================`,e.isInitialSync?e.qpl.drop():(t.commit(),e.qpl.setAnnotations({messageCount:t.offlineMessageCount,receiptCount:t.offlineReceiptCount,notificationCount:t.offlineNotificationCount,chatThreadCount:t.chatThreadCount,decryptErrorCount:t.offlineDecryptErrorCount,sizeBytes:t.offlineSizeBytes}),e.qpl.end(),e.endTableUsageMetric()),e.offlineResume=null,window.document&&document.removeEventListener("visibilitychange",e.logResumeInBackground))}))()}resetEvent(){null==this.offlineResume&&(this._initEvents(E.ResumeFromOpentab),this.logOfflineStartT())}_generateOfflineSessionId(){return`${(0,a.randomHex)(4)}${(0,s.unixTimeWithoutClockSkewCorrection)()}`}};t.OfflineResumeReporter=b},115383:(e,t,n)=>{"use strict";var r=n(595318);Object.defineProperty(t,"__esModule",{value:!0}),t.mainScriptTimer=t.initialScreenTimer=t.exeTimer=t.PageLoad=void 0,t.onInitialRenderComplete=function(){_()},t.saveInitialPanelMountTime=function(e){(0,a.addPageLoadQplPoint)("webc_initial_panel_mount_t"),d=e},t.setInitialScreen=function(e){if(null==p)return;p.set({webcInitialPanel:e})},t.streamInfoChange=function(e,t,n){!function(e){switch(e){case o.StreamInfo.OPENING:(0,a.addPageLoadQplPoint)("webc_ws_opening");break;case o.StreamInfo.PAIRING:(0,a.addPageLoadQplPoint)("webc_ws_pairing");break;case o.StreamInfo.NORMAL:(0,a.addPageLoadQplPoint)("webc_ws_normal")}}(e);const r=Math.floor(self.performance.now());f[e]=r,n&&(f.socketSequence=t,g())};var i=r(n(670983)),a=n(474465),o=n(146044),s=n(154378),l=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=c(t);if(n&&n.has(e))return n.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var o=i?Object.getOwnPropertyDescriptor(e,a):null;o&&(o.get||o.set)?Object.defineProperty(r,a,o):r[a]=e[a]}r.default=e,n&&n.set(e,r);return r}(n(824194)),u=r(n(24650));function c(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(c=function(e){return e?n:t})(e)}let d,p=new(n(453060).WebcPageLoadWamEvent);const f={};let _,g;const m=new Promise((e=>_=e)),h=new Promise((e=>g=e));let y,E=!1;function S(e){return self.performance&&self.performance.timing&&self.performance.timing.navigationStart?e-self.performance.timing.navigationStart:null}function v(){p&&document.hidden&&(y=!1)}function T(){var e;if(!(null===(e=self.performance)||void 0===e?void 0:e.timing)||!self.performance.navigation)return void __LOG__(2)`MetricReporter:logPageLoad metrics not provided by browser!`;if(!p)return;const t=p,n=self.performance.timing,r=self.performance.navigation,i=n.navigationStart,o=n.loadEventEnd-i;if(o<=0)return __LOG__(2)`MetricReporter:logPageLoad delayed`,void self.setTimeout(T,1e4);function s(e){const t=n[e];return t&&S(t)}var l;t.set({webcPageLoadT:o,webcUnloadEventStart:s("unloadEventStart"),webcUnloadEventEnd:s("unloadEventEnd"),webcRedirectStart:s("redirectStart"),webcRedirectEnd:s("redirectEnd"),webcFetchStart:s("fetchStart"),webcDomainLookupStart:s("domainLookupStart"),webcDomainLookupEnd:s("domainLookupEnd"),webcConnectStart:s("connectStart"),webcConnectEnd:s("connectEnd"),webcSecureConnectionStart:s("secureConnectionStart"),webcRequestStart:s("requestStart"),webcResponseStart:s("responseStart"),webcResponseEnd:s("responseEnd"),webcDomLoading:s("domLoading"),webcDomInteractive:s("domInteractive"),webcDomContentLoadedEventStart:s("domContentLoadedEventStart"),webcDomContentLoadedEventEnd:s("domContentLoadedEventEnd"),webcDomComplete:s("domComplete"),webcLoadEventStart:s("loadEventStart"),webcLoadEventEnd:s("loadEventEnd"),webcCached:n.fetchStart===n.domainLookupEnd,webcNavigation:r.type,webcRedirectCount:r.redirectCount,webcWsOpening:f.OPENING,webcWsPairing:f.PAIRING,webcWsSyncing:f.SYNCING,webcWsNormal:f.NORMAL,webcWsAttempts:f.socketSequence,webcQrCode:!f.SYNCING,webcInitialPanelMountT:d-i,webcLoadInForeground:y}),l=t,(0,a.addPageLoadValidationData)("webc_ws_opening",{wam:l.webcWsOpening}),(0,a.addPageLoadValidationData)("webc_ws_pairing",{wam:l.webcWsPairing}),(0,a.addPageLoadValidationData)("webc_ws_normal",{wam:l.webcWsNormal}),(0,a.addPageLoadValidationData)("webc_initial_panel_mount_t",{wam:l.webcInitialPanelMountT}),(0,a.addPageLoadValidationData)("webc_initial_panel_mount_start_t",{wam:l.webcInitialPanelMountStartT}),(0,a.addPageLoadValidationData)("webc_initial_panel_render_t",{wam:l.webcInitialPanelRenderT}),(0,a.setWamCompleteForValidation)(),t.commit(),window.document&&document.removeEventListener("visibilitychange",v),p=null}window.document&&(y=!document.hidden,document.addEventListener("visibilitychange",v)),Promise.all([m,h]).then((()=>{T(),(0,u.default)(),E||(E=!0,s.Wam.resumeJobs())}));class M{constructor(e){this._hasStarted=!1,this._label=e.label,this._startProperty=e.startProperty,this._endProperty=e.endProperty}start(){this._hasStarted=!0,null!=p&&(p.set({[tLine truncated
|
|
|
|
|
======= worker offline processing update ========
|
|
|
|
|
ProcessedMessage: ${this._processedMessageCount}
|
|
|
|
|
ProcessedNotification: ${this._processedNotificationCount}
|
|
|
|
|
currentProcessingT: ${e}
|
|
|
|
|
=================================================`,e>12e4)return __LOG__(4,void 0,new Error,!0)` [offline-resume][worker] worker offline processing takes too long`,void SEND_LOGS("worker-offline-process-takes-too-long");this._commit(f.OFFLINE_PROCESS_STAGES.PROCESSING,e),this._refreshProcessingStage()}))),this._processingStageTimer.onOrAfter(1e4)}_startProcessingStage(){var e;this._currentStage=f.OFFLINE_PROCESS_STAGES.PROCESSING,null===(e=this._processingStageTimer)||void 0===e||e.cancel(),this._refreshProcessingStage()}_printProcessingPerf(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;__LOG__(2)`[offline-resume][worker] worker offline processing ends
|
|
|
|
|
========= worker offline processing perf ==========
|
|
|
|
|
message: ${this._offlineMessageCount}
|
|
|
|
|
receipt: ${this._offlineReceiptCount}
|
|
|
|
|
notification: ${this._offlineNotificationCount}
|
|
|
|
|
ProcessedMessage: ${this._processedMessageCount}
|
|
|
|
|
ProcessedNotification: ${this._processedNotificationCount}
|
|
|
|
|
decryptError: ${this._offlineDecryptErrorCount}
|
|
|
|
|
pageLoadT: 0
|
|
|
|
|
socketConnectT: ${this.socketConnectT}
|
|
|
|
|
offlinePreviewT: ${this.offlinePreviewT}
|
|
|
|
|
processCompleteT: ${this.processCompleteT}
|
|
|
|
|
mailboxAge: ${e}
|
|
|
|
|
isInterrupted: ${this._currentStage===f.OFFLINE_PROCESS_STAGES.PROCESS_INTERRUPTED}
|
|
|
|
|
runReason: ${this._runReason}
|
|
|
|
|
===================================================`}getCurrentStage(){return this._currentStage}updateOldestStanzaTime(e){(null==this._oldestStanzaTs||this._oldestStanzaTs>e)&&(this._oldestStanzaTs=e)}updateOfflineCount(e){this._offlineMessageCount=e.message,this._offlineReceiptCount=e.receipt,this._offlineNotificationCount=e.notification}updateOfflineDecryptionErrorCount(e){this._offlineDecryptErrorCount=e}updateProcessedMessageCount(){(0,u.isWorker)()&&(this._processedMessageCount+=1)}updateProcessedNotificationCount(){(0,u.isWorker)()&&(this._processedNotificationCount+=1)}logWorkerInitialized(e){this._currentStage=f.OFFLINE_PROCESS_STAGES.PAGE_LOAD,this._runReason=e,this._commit(f.OFFLINE_PROCESS_STAGES.PAGE_LOAD,0)}logSocketConnect(){this._currentStage=f.OFFLINE_PROCESS_STAGES.SOCKET_CONNECT;const e=Math.floor(self.performance.now()-this.pageLoadT);this.socketConnectT=e,this._commit(f.OFFLINE_PROCESS_STAGES.SOCKET_CONNECT,e)}logOfflinePreview(){this._currentStage=f.OFFLINE_PROCESS_STAGES.OFFLINE_PREVIEW;const e=Math.floor(self.performance.now()-this.pageLoadT);this.offlinePreviewT=e,this._commit(f.OFFLINE_PROCESS_STAGES.OFFLINE_PREVIEW,e),this._startProcessingStage()}logProcessComplete(){var e=this;return(0,i.default)((function*(){var t;if(e._currentStage===f.OFFLINE_PROCESS_STAGES.PROCESS_COMPLETE||e._currentStage===f.OFFLINE_PROCESS_STAGES.PROCESS_INTERRUPTED)return;e._currentStage=f.OFFLINE_PROCESS_STAGES.PROCESS_COMPLETE,null===(t=e._processingStageTimer)||void 0===t||t.cancel(),e._processingStageTimer=null;const n=(0,_.countDays)(e._oldestStanzaTs);yield(0,d.setRecentMailboxAgeDays)(n);const r=Math.floor(self.performance.now()-e.pageLoadT);e.processCompleteT=r,e._printProcessingPerf(n),e._commit(f.OFFLINE_PROCESS_STAGES.PROCESS_COMPLETE,r),(0,c.setLastPushCompleteTimestamp)((0,s.unixTimeMs)())}))()}logProcessInterrupted(){var e;if(null==this._currentStage||this._currentStage===f.OFFLINE_PROCESS_STAGES.PROCESS_COMPLETE||this._currentStage===f.OFFLINE_PROCESS_STAGES.PROCESS_INTERRUPTED)return;this._currentStage=f.OFFLINE_PROCESS_STAGES.PROCESS_INTERRUPTED,null===(e=this._processingStageTimer)||void 0===e||e.cancel(),this._processingStageTimer=null;const t=Math.floor(self.performance.now()-this.pageLoadT);this.processCompleteT=t,this._printProcessingPerf(),this._commit(f.OFFLINE_PROCESS_STAGES.PROCESS_INTERRUPTED,t)}};t.WorkerOfflineResumeReporter=m},550660:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(121955);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}))},130945:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PrivateStatsAllIds=t.Global=void 0;var r=n(901032),i=n(181548),a=n(524400),o=n(300571),s=n(519237),l=n(97288);const{BOOLEAN:u,INTEGER:c,STRING:d}=r.TYPES,p=(0,r.defineGlobal)({abKey2:[4473,d,["regular"]],appBuild:[1657,i.APP_BUILD_TYPE,["regular","private"]],appIsBetaRelease:[21,u,["regular","private"]],appVersion:[17,d,["regular","private"]],browser:[779,d,["regular"]],browserVersion:[295,d,["regular"]],datacenter:[2795,d,["regular"]],deviceClassification:[14507,a.DEVICE_CLASSIFICATION,["regular"]],deviceName:[13,d,["regular","private"]],deviceVersion:[4505,d,["regular"]],expoKey:[5029,d,["regular","private"]],mcc:[5,c,["regular","private"]],memClass:[655,c,["regular","private"]],mnc:[3,c,["regular","private"]],networkIsWifi:[23,u,["regular"]],ocVersion:[6251,c,["regular","private"]],osVersion:[15,d,["regular","private"]],platform:[11,o.PLATFORM_TYPE,["regular","private"]],psCountryCode:[6833,d,["private"]],psId:[6005,d,["private"]],serviceImprovementOptOut:[13293,u,["regular","private"]],streamId:[3543,c,["regular","private"]],wametaLoggerTestFilter:[15881,d,["regular","private"]],webcBucket:[875,d,["regular"]],webcEnv:[633,s.WEBC_ENV_CODE,["regular"]],webcNativeAutolaunch:[1009,u,["regular"]],webcNativeBetaUpdates:[1007,u,["regular"]],webcPhoneAppVersion:[1005,d,["regular"]],webcPhoneCharging:[783,u,["regular"]],webcPhoneDeviceManufacturer:[829,d,["regular"]],webcPhoneDeviceModel:[831,d,["regular"]],webcPhoneOsBuildNumber:[833,d,["regular"]],webcPhoneOsVersion:[835,d,["regular"]],webcPhonePlatform:[707,o.PLATFORM_TYPE,["regular"]],webcTabId:[3727,d,["regular"]],webcWebArch:[6605,d,["regular"]],webcWebDeviceManufacturer:[6599,d,["regular"]],webcWebDeviceModel:[6601,d,["regular"]],webcWebOsReleaseNumber:[6603,d,["regular"]],webcWebPlatform:[899,l.WEBC_WEB_PLATFORM_TYPE,["regular","private"]],yearClass:[689,c,["regular","private"]],yearClass2016:[2617,c,["regular","private"]]});t.Global=p;t.PrivateStatsAllIds=[{key:"DefaultPsId",keyHashInt:113760892,rotationPeriodDays:-1},{key:"IdPreMetrics",keyHashInt:56300709,rotationPeriodDays:-1},{key:"IdTtl90Days",keyHashInt:37887164,rotationPeriodDays:90},{key:"IdTtlDaily",keyHashInt:248614979,rotationPeriodDays:1},{key:"IdTtlMonthly",keyHashInt:191000728,rotationPeriodDays:30Line truncated
|
|
|
|
|
Header as expected? ${String("BEGIN:VCARD"===i)}
|
|
|
|
|
Version as expected? ${String(c)}
|
|
|
|
|
Footer as expected? ${String("END:VCARD"===u)}
|
|
|
|
|
Lines: ${t.length}`,void SEND_LOGS("vcard-fault");for(let e=2;e<t.length-1;e++){var d;const i=t[e],a=i.match(/item(\d+)\.(.*)/),o=a?a[2]:i,l=null===(d=o.match(/([^:;]*)[:;].*/))||void 0===d?void 0:d[1];if(null==l)continue;const u=a?f:_;let c,y,E=l,S=l;if(u[E]){const[e,t]=u[E],n=o.match(e);n&&(c=h(n[1]),y=1===t?y=n[2]:n.slice(2,2+t))}else{const e=o.match(p);e&&(S="SERVICE",E=e[1],y=e[2],c={})}if((Array.isArray(y)?y:[y]).some((e=>e&&(0,s.isString)(e)&&e.trim())))if(a){const t=a[1];r[t]?r[t].fields.push(new g(E,null,c,y)):r[t]={type:E,index:e,key:S,properties:c,value:y,fields:[]}}else m(n,S,new g(E,e,c,y))}return Object.keys(r).forEach((e=>{const{key:t,index:i,type:a,value:o,properties:s,fields:l}=r[e];l.forEach((e=>{s[e.type]=e.value})),m(n,t,new g(a,i,s,o))})),function(e){const t={};return(0,o.default)(e,((e,n)=>{t[n]=(0,a.default)(e,(e=>e.index))})),t}(n)}t.Field=g},366202:(e,t,n)=>{"use strict";var r=n(595318);Object.defineProperty(t,"__esModule",{value:!0}),t.getAgentId=function(e){if(null!=e.agentId||!(0,l.canUserSeeMessageAttribution)())return e.agentId;const t=(0,m.getMe)();if(null!=t){const e=s.AgentCollection.getByDeviceId(t.getDeviceId());if(null!=e)return e.id}},t.initializeAgentLog=function(){if(!(0,u.isMultiDeviceAgentsLoggingEnabled)())return;const e=(0,m.assertGetMe)().getDeviceId(),t=p.default.persistentExpiringId();c.Cmd.on("logout",(()=>{T({browserId:t,companionMdId:e,logoutTimestamp:(0,o.unixTimeWithoutClockSkewCorrection)(),multideviceAction:h.MULTIDEVICE_ACTION_TYPE.LOGOUT},!0)})),document.addEventListener("visibilitychange",(()=>{document.hidden||T({browserId:t,companionMdId:e,multideviceAction:h.MULTIDEVICE_ACTION_TYPE.ACTIVE})}));const n=s.AgentCollection.getByDeviceId(e);null!=n?(S=n.id,M({browserId:t,companionMdId:e})):c.Cmd.on(c.APP_STATE_SYNC_COMPLETED,(()=>{const n=s.AgentCollection.getByDeviceId(e);null!=(null==n?void 0:n.id)&&null==S&&(S=n.id,M({browserId:t,companionMdId:e}))}))},t.logMessageInfo=function(e){const t=null!=e?s.AgentCollection.get(e):void 0;T({browserId:p.default.persistentExpiringId(),agentId:null==t?void 0:t.id,companionMdId:null==t?void 0:t.deviceId,multideviceAction:h.MULTIDEVICE_ACTION_TYPE.MESSAGE_INFO})},t.setShouldLogAgentLogin=function(e){v=e},t.updateUnattributedMessages=function(){return E.apply(this,arguments)};var i=r(n(81109)),a=r(n(348926)),o=n(632157),s=n(919833),l=n(86417),u=n(72696),c=n(780549),d=n(447714),p=r(n(524173)),f=n(61113),_=n(851698),g=n(645485),m=n(459857),h=n(926723);function y(e){var t;return e.author.user!==(null===(t=(0,m.getMaybeMeUser)())||void 0===t?void 0:t.user)}function E(){return(E=(0,a.default)((function*(e,t){if(y(e)||!(0,l.canUserSeeMessageAttribution)())return;const n=e.author.getDeviceId(),r=s.AgentCollection.getByDeviceId(n);if(null==r){const e=t.map((e=>({id:e.id.toString(),deviceId:n})));return g.UnattributedMessageCollection.add(e),void e.forEach((()=>{}))}const i=t.map((e=>f.MsgCollection.get(e.id))).filter(Boolean).filter((e=>null==e.agentId)),a=String(r.id);i.forEach((e=>{e.agentId=a}));const o=i.map((e=>({id:e.id.toString(),agentId:a})));yield(0,_.getMessageTable)().bulkCreateOrMerge(o)}))).apply(this,arguments)}let S,v;function T(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];(0,u.isMultiDeviceAgentsLoggingEnabled)()&&new d.MdExpansionAgentBrowserMdIdWamEvent((0,i.default)({agentId:S},e)).commitAndWaitForFlush(t)}function M(e){null!=v&&T((0,i.default)((0,i.default)((0,i.default)({},e),v),{},{multideviceAction:h.MULTIDEVICE_ACTION_TYPE.LOGIN}))}},446426:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.handleBusinessChange=void 0;var r=n(324729),i=n(660666),a=n(163139);t.handleBusinessChange=e=>{const t=(0,a.unproxy)(e),{businessProfile:o,id:s}=t,l=t.isBusiness||(0,i.getIsMe)(t)&&r.Conn.isSMB;l&&!o?t.addChild("businessProfile",n(778945).BusinessProfileCollection.gadd(s)):!l&&o&&(t.stopListening(o),t.businessProfile=void 0,o.delete())}},724472:(e,t,n)=>{"use strict";var r=n(595318);Object.defineProperty(t,"__esModule",{value:!0}),t.queryBusinessCategories=function(e){if(e===a.BUSINESS_CATEGORY_EMPTY_STR_ID)return(0,o.queryBusinessCategories)("");return(0,o.queryBusinessCategories)(e)},t.queryBusinessProfile=function(){return p.apply(this,arguments)},t.queryBusinessPublicKey=function(e){return(0,n(628905).getJobManager)().waitUntilCompleted(l.jobSerializers.getPublicKey(e))},t.querySignedUserInfo=function(){return _.apply(this,arguments)},t.updateCartEnabled=function(){return f.apply(this,arguments)};r(n(81109));var i=r(n(348926)),a=(n(8304),n(431307)),o=n(954439),s=n(761849),l=n(323829),u=n(228733),c=n(459857),d=r(n(556869));function p(){return(p=(0,i.default)((function*(e,t){return yield(0,u.queryBusinessProfile)(e,t)}))).apply(this,arguments)}function f(){return(f=(0,i.default)((function*(e){const t=n(778945).BusinessProfileCollection,r=yield(0,s.updateCartEnabled)(e),i=t.getValid((0,c.getMeUser)()),a=null==i?void 0:i.profileOptions;i&&a&&(a.cartEnabled=r,t.add(i,{mergLine truncated
|
|
|
|
|
formattedName:${ee},
|
|
|
|
|
name:${ae},
|
|
|
|
|
formattedShortName:${te},
|
|
|
|
|
formattedUser:${Z}`,SEND_LOGS("display name is null or undefined"),"";const _e=O.default.createElement(O.default.Fragment,null,O.default.createElement(g.EmojiText,{text:(0,s.default)(de.toString()),ariaLabel:null!=pe?(0,s.default)(pe.toString()):void 0,element:n,className:(0,d.classnamesConvertMeToStylexPlease)(null,e.className),formatters:ce,titlify:i,ellipsify:a,breakWord:u,direction:"auto",selectable:T,inlineblock:!0,onClick:R,xstyle:B,testid:H}),V&&O.default.createElement(g.EmojiText,{testid:"you-label",text:I.fbt._("(You)",null,{hk:"1CQza2"}),xstyle:j.spaceBefore}),fe?O.default.createElement("span",{className:v.default.lidDebugLabel},"LID"):null),ge=e.labels||ie;(null==ge?void 0:ge.length)&&null!=x&&(0,o.default)(ge,x);const me=!0===w&&(null==ge?void 0:ge.length)?O.default.createElement(E.Labels,{labels:ge,showName:!1}):null,he=!W&&(J||Q||X||Boolean(L)||$),ye=F?K(Y):null;if(!0===he){let e;if((0,S.isBlueEnabled)()){const t=q?24:20;e=z&&R?O.default.createElement(C.default,{height:t,width:t,Icon:b.PsaVerifiedBlueIcon,"aria-label":I.fbt._("Verified Information",null,{hk:"XGzuI"}),onClick:R}):O.default.createElement(b.PsaVerifiedBlueIcon,{height:t,width:t})}else e=O.default.createElement(A.PsaVerifiedIcon,null);return O.default.createElement("div",{className:(0,d.classnamesConvertMeToStylexPlease)(v.default.verified,v.default.disableGrow)},_e,O.default.createElement("div",{className:!0===$?v.default.newsletterIcon:v.default.icon},e),O.default.createElement("div",{className:v.default.labels},ye,me))}return ye||me?O.default.createElement("div",{className:(0,d.classnamesConvertMeToStylexPlease)({[v.default.verified]:!0,[v.default.hasLabels]:!!me&&!V})},_e,O.default.createElement("div",{className:v.default.labels},ye,me)):O.default.createElement("div",{className:(0,d.classnamesConvertMeToStylexPlease)(v.default.disableGrow,v.default.verified)},_e)}function W(e){const{element:t,highlightText:n,titlify:r,ellipsify:i,breakWord:a,onClick:u,showLabel:c,firstLabel:p,className:f,xstyle:_,showChatAssignmentIcon:h=!1,assignedAgents:T=[],testid:C,overrideCommunityAnnouncementGroupName:P=!1,checkmarkLarge:N=!1}=e;let D;const G=(0,k.useModelValues)(e.chat,["formattedTitle","labels"]),U=(0,k.useModelValues)(e.groupMetadata,["support","isUnnamed","participants","groupType"]),x=(0,w.default)();(0,L.useListener)(U.participants,"bulk_add bulk_remove reset sort change:isAdmin change:isSuperAdmin remove add",x),null!=n&&""!==n&&(D=m.SearchName({terms:[n]}));const B=e.labels||G.labels;(null==B?void 0:B.length)&&null!=p&&(0,o.default)(B,p);const F=!0===c&&(null==B?void 0:B.length)?O.default.createElement(E.Labels,{labels:B,showName:!1}):null,Y=P&&U.groupType===y.GroupType.LINKED_ANNOUNCEMENT_GROUP?I.fbt._("Announcements",null,{hk:"GNIKa"}):(0,s.default)((null==U?void 0:U.isUnnamed)&&(0,l.getABPropConfigValue)("ugr_enabled")?(0,M.calculateUnnamedGroupFullParticipantsList)(U,!0):G.title()),W=O.default.createElement(g.EmojiText,{text:Y,element:t,className:f,xstyle:_,formatters:D,titlify:r,ellipsify:i,breakWord:a,direction:"auto",inlineblock:!0,onClick:u,testid:C});if(U.support){const e=N?24:20;return O.default.createElement("div",{className:(0,d.classnamesConvertMeToStylexPlease)({[v.default.verified]:!0,[v.default.hasLabels]:!!F})},W,O.default.createElement("div",{className:v.default.icon},(0,S.isBlueEnabled)()?O.default.createElement(b.PsaVerifiedBlueIcon,{width:e,height:e}):O.default.createElement(A.PsaVerifiedIcon,null)),O.default.createElement("div",{className:v.default.labels},F))}const V=h?K(T):null;return V||F?O.default.createElement("span",{className:v.default.hasLabels},O.default.createElement("span",{className:(0,R.default)(j.disableGrow)},W),O.default.createElement("div",{className:v.default.labels},V,F)):W}function V(e){if(e.chat&&!e.chat.isUser&&!e.chat.isNewsletter){const{chat:t}=e,n=(0,a.default)(e,G);return O.default.createElement(W,(0,i.default)({chat:t,groupMetadata:t.groupMetadata},n))}if(e.chat&&!e.chat.isUser&&e.chat.isNewsletter){const{chat:t}=e,n=(0,a.default)(e,U);return O.default.createElement(T.NewsletterName,(0,i.default)({chat:t},n))}let t,n;if(e.chat){const{chat:r}=e,i=(0,a.default)(e,x);t=r.contact,n=i}else{const{contact:r}=e;t=r,n=(0,a.default)(e,B)}return O.default.createElement(Y,(0,i.default)({contact:t},n))}function H(e){const{chat:t,contact:n,xstyle:r}=e;return O.default.createElement("span",{className:(0,R.default)(r)},O.default.createElement(V,{contact:n,useShortName:Boolean(n.shortName),showNotifyName:!0,elevatedPushNamesEnabled:!0}),O.default.createElement("span",null," • "),O.default.createElement(W,{chat:t,groupMetadata:t.groupMetadata}))}Y.displayName="ContactName",W.displayName="GroupName",H.displayName="ContactAndGroupName"},783301:(e,t,n)=>{"use strict";var r=n(595318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=E;var i=n(396574),a=n(306703),o=n(220584),s=n(676345),l=r(n(625903)),u=n(376331),c=n(922760),d=n(548360),p=function(e,t){if(!t&&e&&e.__esModule)return e;if(nulLine truncated
|
|
|
|
|
</script><script data-binary-transparency-hash-key="inline-js-9c8cd3d0f4d5af8c7f5cd1c45208edd308bfe472e353a50e4cbacbf6cb58627c">(i => {const l = document.getElementById(i); l &&fetch(l.href).then(b => b.text()).then(code => {const script = document.createElement('script');script.id = 'binary-transparency-manifest';script.type = 'application/json';script.innerHTML = code;document.body.append(script);});})('binary-transparency-manifest-preload');</script></body></html>
|